|
|
@@ -4,6 +4,7 @@ import cn.dev33.satoken.secure.BCrypt;
|
|
|
import cn.dev33.satoken.session.SaSession;
|
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.convert.Convert;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
@@ -17,6 +18,7 @@ import com.xjrsoft.common.enums.DeleteMark;
|
|
|
import com.xjrsoft.common.enums.EnabledMark;
|
|
|
import com.xjrsoft.common.enums.GenderDictionaryEnum;
|
|
|
import com.xjrsoft.common.enums.RoleEnum;
|
|
|
+import com.xjrsoft.common.enums.WorkflowIsRecycleType;
|
|
|
import com.xjrsoft.common.exception.MyException;
|
|
|
import com.xjrsoft.common.model.result.R;
|
|
|
import com.xjrsoft.common.model.result.RT;
|
|
|
@@ -75,10 +77,16 @@ import com.xjrsoft.module.oss.factory.OssFactory;
|
|
|
import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
|
|
|
import com.xjrsoft.module.system.entity.File;
|
|
|
import com.xjrsoft.module.system.service.IFileService;
|
|
|
+import com.xjrsoft.module.workflow.constant.WorkflowConstant;
|
|
|
+import com.xjrsoft.module.workflow.entity.WorkflowExtra;
|
|
|
+import com.xjrsoft.module.workflow.mapper.WorkflowExtraMapper;
|
|
|
import com.xjrsoft.module.workflow.service.IWorkflowExecuteService;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
+import org.camunda.bpm.engine.HistoryService;
|
|
|
+import org.camunda.bpm.engine.history.HistoricProcessInstance;
|
|
|
+import org.camunda.bpm.engine.history.HistoricProcessInstanceQuery;
|
|
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
@@ -126,6 +134,8 @@ public class UserController {
|
|
|
|
|
|
private final CommonPropertiesConfig propertiesConfig;
|
|
|
|
|
|
+ private final WorkflowExtraMapper workflowExtraMapper;
|
|
|
+
|
|
|
private final RedisUtil redisUtil;
|
|
|
|
|
|
private final IFileService fileService;
|
|
|
@@ -136,6 +146,8 @@ public class UserController {
|
|
|
private final IBaseClassService baseClassService;
|
|
|
private final IWorkflowExecuteService workflowExecuteService;
|
|
|
|
|
|
+ private final HistoryService historyService;
|
|
|
+
|
|
|
|
|
|
@GetMapping(value = "/list")
|
|
|
@ApiOperation(value = "用户列表(不分页)")
|
|
|
@@ -347,6 +359,21 @@ public class UserController {
|
|
|
PendingCountDto pendingCountDto = new PendingCountDto();
|
|
|
pendingCountDto.setWfPendingCount(workflowExecuteService.pendingCount());
|
|
|
|
|
|
+ HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery()
|
|
|
+ .variableValueEquals(WorkflowConstant.PROCESS_START_USER_ID_KEY, StpUtil.getLoginIdAsLong())
|
|
|
+ .variableValueEquals(WorkflowConstant.PROCESS_ISRECYCLE_FLAG_KEY, WorkflowIsRecycleType.NO.getCode());
|
|
|
+ List<HistoricProcessInstance> historicProcessInstances = historicProcessInstanceQuery.orderByProcessInstanceStartTime().desc().list();
|
|
|
+
|
|
|
+ //获取到所有流程id
|
|
|
+ List<String> processIds = historicProcessInstances.stream().map(HistoricProcessInstance::getId).collect(Collectors.toList());
|
|
|
+ int myApplicationCount = 0;
|
|
|
+ for (HistoricProcessInstance historicProcessInstance : historicProcessInstances) {
|
|
|
+ if (ObjectUtil.isNotNull(historicProcessInstance.getEndTime())) {
|
|
|
+ myApplicationCount ++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ pendingCountDto.setMyApplicationCount(myApplicationCount);
|
|
|
+
|
|
|
return RT.ok(pendingCountDto);
|
|
|
}
|
|
|
|
|
|
@@ -647,7 +674,7 @@ public class UserController {
|
|
|
long loginIdAsLong = StpUtil.getLoginIdAsLong();
|
|
|
User user = userService.getById(loginIdAsLong);
|
|
|
user.setSignFolderId(dto.getFolderId());
|
|
|
- user.setSignPassword(BCrypt.hashpw(dto.getSignPassword(), BCrypt.gensalt()));
|
|
|
+ user.setSignPassword(BCrypt.hashpw(dto.getPassword(), BCrypt.gensalt()));
|
|
|
|
|
|
return RT.ok(userService.updateById(user));
|
|
|
}
|
|
|
@@ -667,15 +694,12 @@ public class UserController {
|
|
|
return RT.ok(list.get(0).getFileUrl());
|
|
|
}
|
|
|
|
|
|
- @GetMapping("/check-signpassword")
|
|
|
- @ApiOperation(value = "验证登录者的签名密码")
|
|
|
- public RT<Boolean> checkSignpassword(@Valid @RequestBody UploadSignDto dto) {
|
|
|
+ @GetMapping("/check-password")
|
|
|
+ @ApiOperation(value = "验证登录者的密码")
|
|
|
+ public RT<Boolean> checkSignpassword(@RequestParam String password) {
|
|
|
long loginIdAsLong = StpUtil.getLoginIdAsLong();
|
|
|
User user = userService.getById(loginIdAsLong);
|
|
|
- if(user.getSignFolderId() != null && user.getSignFolderId() != dto.getFolderId()){
|
|
|
- return RT.error("未上传签名");
|
|
|
- }
|
|
|
- if (!BCrypt.checkpw(dto.getSignPassword(), user.getSignPassword())) {
|
|
|
+ if (!BCrypt.checkpw(password, user.getPassword())) {
|
|
|
return RT.error("密码填写错误!");
|
|
|
}
|
|
|
return RT.ok(true);
|