作者:Eddy 历史版本:1 更新时间:2024-11-20 15:41
适用版本:所有版本;
适用哪些服务?
- platform服务
- business服务
- 通过business或skeleton创建的服务
如何获取用户上下文信息?
用户上下文工具类
com.lc.ibps.base.web.context.ContextUtil
可获取数据
- 获取当前用户ID:
ContextUtil.getCurrentUserId()
- 获取当前用户名:
ContextUtil.getCurrentUserAccount()
- 获取当前用户姓名:
ContextUtil.getCurrentUserFullName()
- 获取当前用户客户端IP:
ContextUtil.getCurrentUserIp()
- 获取当前用户请求接口地址:
ContextUtil.getCurrentUri()
- 获取当前用户令牌:
ContextUtil.getCurrentAccessToken()
- 获取当前用户接入凭证标识:
ContextUtil.getCurrentClientId()
- 获取当前用户对象:
ContextUtil.getCurrentUser()
- 获取当前用户是否管理员:
ContextUtil.isSuper()
- 获取当前用户组织对象:
ContextUtil.getCurrentOrg()
- 获取当前用户组织ID:
ContextUtil.getCurrentOrgId()
- 获取当前用户组织名称:
ContextUtil.getCurrentOrgName()
- 获取当前用户岗位:
ContextUtil.getCurrentPosition()
- 获取当前用户岗位ID:
ContextUtil.getCurrentPositionId()
- 获取当前用户岗位名称:
ContextUtil.getCurrentPositionName()
- 获取当前用户角色集合:
ContextUtil.getCurrentRole()
- 获取当前用户国际化语言:
ContextUtil.getLocale()
- 获取当前用户ID:
示例
com.lc.ibps.platform.script.script.BpmnScript.getBpmTaskIds(String, String)
代码
public String getBpmTaskIds(String bizId, String userId) { if(StringUtil.isBlank(userId)) { userId = ContextUtil.getCurrentUserId();// 使用位置,关注这行即可 } List<String> taskIds = new ArrayList<>(); APIRequest request = new APIRequest(); request.setRequestPage(null); request.addParameters("Q^BIZ_KEY_^S", bizId); APIResult<APIPageList<BpmInstPo>> instResult = bpmInstService.query(request); if(instResult.isSuccess() && BeanUtils.isNotEmpty(instResult.getData())) { if(instResult.getData().getDataResult().size() > 1) { throw new BpmnNotUniqueException(StateEnum.ERROR_BPMN_INSTANCE_NO_UNIQUE.getText()); } if(instResult.getData().getDataResult().size() == 0) { throw new BpmnNotTaskException(StateEnum.ERROR_BPMN_INSTANCE_NO_TASK.getText()); } BpmInstPo inst = instResult.getData().getDataResult().get(0); IBpmTaskService bpmTaskService = AppUtil.getBean(IBpmTaskService.class); request.clear(); request.addParameters("userId", userId); request.addParameters("Q^PROC_INST_ID_^S", inst.getId()); APIResult<APIPageList<BpmTaskPo>> taskResult = bpmTaskService.queryByUserId(request); if(taskResult.isSuccess() && BeanUtils.isNotEmpty(taskResult.getData())) { List<BpmTaskPo> tasks = taskResult.getData().getDataResult(); for(BpmTaskPo task : tasks) { taskIds.add(task.getId()); } } else if(taskResult.isFailed()) { throw new NotRequiredI18nException(taskResult.getState(),taskResult.getCause()); } } else if(instResult.isFailed()) { throw new NotRequiredI18nException(instResult.getState(),instResult.getCause()); } return String.join(StringPool.COMMA, taskIds); }