From de8d31cf46ffcf9dfec10da915d1e1c14b07c031 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 13 Mar 2025 21:08:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BA=BA=E8=84=B8=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E5=AE=A1=E6=89=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/constant/CommonRoleConstant.java | 2 + .../pjcloud/admin/api/dto/SysUserFaceDto.java | 2 + .../bsd/pjcloud/admin/api/dto/UserDTO.java | 5 + .../pjcloud/admin/api/vo/SysUserFaceVo.java | 3 + .../com/bsd/pjcloud/admin/api/vo/UserVO.java | 5 + .../admin/controller/SysUserController.java | 21 +-- .../controller/SysUserFaceController.java | 2 +- .../admin/mapper/SysUserFaceMapper.java | 5 +- .../service/impl/SysUserFaceServiceImpl.java | 43 +++-- .../service/impl/SysUserServiceImpl.java | 177 +++++++----------- .../pjcloud/admin/utils/flow/FlowUtil.java | 5 +- .../utils/flow/dto/UserApplyFlowDto.java | 1 + .../utils/flow/dto/UserFaceApplyFlowDto.java | 4 +- .../main/resources/mapper/SysUserMapper.xml | 2 +- .../WalletRechargeApplyServiceImpl.java | 66 ++----- 15 files changed, 150 insertions(+), 193 deletions(-) diff --git a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/CommonRoleConstant.java b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/CommonRoleConstant.java index 2e611d3a9..0fdb41a12 100644 --- a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/CommonRoleConstant.java +++ b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/CommonRoleConstant.java @@ -6,4 +6,6 @@ public interface CommonRoleConstant { String DEPT_ADMIN = "DEPT_ADMIN"; + String AUTO_CREATE_WALLET = "WALLET_AUTO_CREATE"; + } diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/SysUserFaceDto.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/SysUserFaceDto.java index 83b967915..c4d9eddc9 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/SysUserFaceDto.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/SysUserFaceDto.java @@ -27,4 +27,6 @@ public class SysUserFaceDto extends SysUserFaceEntity implements BaseIsIncludeTr * 是否包含部门ids */ private Boolean isInclude; + + private Boolean isFindCheckUser = false; } diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java index bfec27d8a..fb5730555 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java @@ -82,4 +82,9 @@ public class UserDTO extends SysUser implements BaseIsIncludeTreeInterface { */ private Boolean isInclude; + /** + * 是否是审批用户 + */ + private Boolean isFindCheckUser = false; + } diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/SysUserFaceVo.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/SysUserFaceVo.java index 68a2a1312..98bed8b11 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/SysUserFaceVo.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/SysUserFaceVo.java @@ -3,6 +3,7 @@ package com.bsd.pjcloud.admin.api.vo; import com.bsd.pjcloud.admin.api.entity.SysUserFaceEntity; import com.bsd.pjcloud.admin.api.vo.base.BaseDeptInterface; import com.bsd.pjcloud.admin.api.vo.base.BaseUserInterface; + import lombok.Data; @Data @@ -28,4 +29,6 @@ public class SysUserFaceVo extends SysUserFaceEntity implements BaseUserInterfac private Long deptId; private String deptName; + + private Boolean isCheckUser = false; } diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserVO.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserVO.java index c518b672e..7afd2238e 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserVO.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserVO.java @@ -232,4 +232,9 @@ public class UserVO implements BaseFacesInterface, Serializable { @Schema(description = "是否为全局人脸") private String isGlobalFace; + /** + * 是否是审核用户 + */ + private Boolean isCheckUser = false; + } diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java index 572400057..3796ea6f7 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java @@ -104,10 +104,8 @@ public class SysUserController { @Inner @GetMapping("/get-name-and-mobile") - public R getUserByNameAndMobile(@RequestParam("name") String name, - @RequestParam("mobile") String mobile) { - SysUser user = userService.getOne( - Wrappers.query().lambda().eq(SysUser::getName, name).eq(SysUser::getPhone, mobile)); + public R getUserByNameAndMobile(@RequestParam("name") String name, @RequestParam("mobile") String mobile) { + SysUser user = userService.getOne(Wrappers.query().lambda().eq(SysUser::getName, name).eq(SysUser::getPhone, mobile)); if (user == null) { return R.failed(MsgUtils.getMessage(ErrorCodes.SYS_USER_USERINFO_EMPTY, name, mobile)); } @@ -208,6 +206,7 @@ public class SysUserController { */ @GetMapping("/page") public R getUserPage(@ParameterObject Page page, @ParameterObject UserDTO userDTO) { + userDTO.setIsFindCheckUser(true); return R.ok(userService.getUsersWithRolePage(page, userDTO)); } @@ -286,8 +285,7 @@ public class SysUserController { @PostMapping("/import-face") @HasPermission("sys_user_export") - public R importUserFace(@RequestParam("file") MultipartFile file, @RequestExcel List excelList, - BindingResult bindingResult) { + public R importUserFace(@RequestParam("file") MultipartFile file, @RequestExcel List excelList, BindingResult bindingResult) { return userService.importUserFace(file, excelList, bindingResult); } @@ -385,11 +383,8 @@ public class SysUserController { */ @GetMapping("/getUserByMobileOrEmployeeCode") @Inner - public R> getUserByMobileOrEmployeeCode(@RequestParam("employeeCode") String employeeCode, - @RequestParam("mobile") String mobile) { - return R.ok(userService.list( - Wrappers.lambdaQuery().eq(SysUser::getDingtalkEmployeeCode, employeeCode).or() - .eq(SysUser::getPhone, mobile))); + public R> getUserByMobileOrEmployeeCode(@RequestParam("employeeCode") String employeeCode, @RequestParam("mobile") String mobile) { + return R.ok(userService.list(Wrappers.lambdaQuery().eq(SysUser::getDingtalkEmployeeCode, employeeCode).or().eq(SysUser::getPhone, mobile))); } @GetMapping("/getUserByMobile") @@ -401,9 +396,7 @@ public class SysUserController { @GetMapping("/getSimpleUserAll") @Schema(description = "简要用户信息") - public R> getSimpleUserAllList( - @RequestParam(value = "mobile", required = false) String mobile, - @RequestParam(value = "name", required = false) String name) { + public R> getSimpleUserAllList(@RequestParam(value = "mobile", required = false) String mobile, @RequestParam(value = "name", required = false) String name) { LambdaQueryWrapper sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); sysUserLambdaQueryWrapper.like(StringUtils.isNotBlank(mobile), SysUser::getPhone, mobile); sysUserLambdaQueryWrapper.like(StringUtils.isNotBlank(name), SysUser::getName, name); diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserFaceController.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserFaceController.java index 0709cab8c..51b17e34e 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserFaceController.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserFaceController.java @@ -139,7 +139,7 @@ public class SysUserFaceController { @Operation(summary = "查询人脸审核列表", description = "查询人脸审核列表") @PostMapping("/page-check-join") public R> appPageCheckJoin(@ParameterObject Page page, @RequestBody SysUserFaceDto dto) { - dto.setIsProcessIdNotNull(true); + dto.setIsFindCheckUser(true); return R.ok(sysUserFaceService.pageJoin(page, dto)); } diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/mapper/SysUserFaceMapper.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/mapper/SysUserFaceMapper.java index ee20eef85..a5a996461 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/mapper/SysUserFaceMapper.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/mapper/SysUserFaceMapper.java @@ -53,10 +53,7 @@ public interface SysUserFaceMapper extends PjcloudBaseMapper .orderByDesc(SysUserFaceEntity::getCreateTime) .orderByDesc(SysUserFaceEntity::getUserId); if (ObjectUtil.isNotEmpty(dto.getMerchantDeptIdOrGlobal()) && ObjectUtil.isNotEmpty(dto.getDeptIds())) { - wrapper.and(v -> v.in(ObjectUtil.isNotEmpty(dto.getDeptIds()), SysUser::getDeptId, dto.getDeptIds()).or() - .eq(SysUser::getIsGlobalFace, YesNoEnum.YES.getCode())); - } else { - wrapper.in(ObjectUtil.isNotEmpty(dto.getDeptIds()), SysUser::getDeptId, dto.getDeptIds()); + wrapper.and(v -> v.in(ObjectUtil.isNotEmpty(dto.getDeptIds()), SysUser::getDeptId, dto.getDeptIds()).or().eq(SysUser::getIsGlobalFace, YesNoEnum.YES.getCode())); } if (dto.getIsProcessIdNotNull()) { wrapper.isNotNull(SysUserFaceEntity::getProcessId); diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserFaceServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserFaceServiceImpl.java index 0d53481b8..c5d9cb264 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserFaceServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserFaceServiceImpl.java @@ -11,6 +11,7 @@ import com.bsd.pjcloud.admin.api.entity.SysDept; import com.bsd.pjcloud.admin.api.entity.SysUser; import com.bsd.pjcloud.admin.api.entity.SysUserFaceEntity; import com.bsd.pjcloud.admin.api.vo.SysUserFaceVo; +import com.bsd.pjcloud.admin.api.vo.UserVO; import com.bsd.pjcloud.admin.mapper.SysUserFaceMapper; import com.bsd.pjcloud.admin.service.SysDeptService; import com.bsd.pjcloud.admin.service.SysRoleService; @@ -20,12 +21,14 @@ import com.bsd.pjcloud.admin.utils.flow.FlowUtil; import com.bsd.pjcloud.admin.utils.flow.dto.UserFaceApplyFlowDto; import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum; import com.bsd.pjcloud.common.core.exception.CheckedException; +import com.bsd.pjcloud.common.core.util.CollectionUtils; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.security.service.PjcloudUser; import com.bsd.pjcloud.common.security.util.SecurityUtils; import com.bsd.pjcloud.flow.task.api.feign.RemoteFlowEngineService; import com.bsd.pjcloud.flow.task.constant.TaskCheckStatusEnum; import com.bsd.pjcloud.flow.task.dto.ProcessNodeRecordAssignUserParamDto; +import com.bsd.pjcloud.flow.task.dto.TaskDto; import com.bsd.pjcloud.flow.task.dto.TaskParamDto; import com.bsd.pjcloud.mqtt.api.feign.RemoteMqttEventService; import com.bsd.pjcloud.wallet.api.entity.WalletFreezeEntity; @@ -42,6 +45,7 @@ import org.springframework.validation.annotation.Validated; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * 人脸样本表 @@ -53,8 +57,7 @@ import java.util.List; @Slf4j @RequiredArgsConstructor @Service -public class SysUserFaceServiceImpl extends ServiceImpl - implements SysUserFaceService { +public class SysUserFaceServiceImpl extends ServiceImpl implements SysUserFaceService { static private final String TAG = "用户人脸"; @@ -131,9 +134,7 @@ public class SysUserFaceServiceImpl extends ServiceImpl faceList = baseMapper.selectList(new LambdaQueryWrapper() - .in(SysUserFaceEntity::getId, list) - ); + List faceList = baseMapper.selectList(new LambdaQueryWrapper().in(SysUserFaceEntity::getId, list)); if (ObjectUtil.isNotEmpty(faceList)) { sendFaceMq(faceList.stream().map(SysUserFaceEntity::getUserId).toList(), null); } @@ -158,7 +159,25 @@ public class SysUserFaceServiceImpl extends ServiceImpl list = baseMapper.pageJoin(page, dto); + // 审批流程 + if (dto.getIsFindCheckUser()) { + List processInstanceIds = list.getRecords().stream().map(SysUserFaceVo::getProcessId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + if (ObjectUtil.isNotEmpty(processInstanceIds)) { + List taskList = flowUtil.queryProcessInstanceList(SecurityUtils.getUser().getId().toString(), processInstanceIds); + if (ObjectUtil.isNotEmpty(taskList)) { + Map taskMap = CollectionUtils.convertMap(taskList, TaskDto::getProcessInstanceId); + CollectionUtils.convertList(list.getRecords(), v -> { + TaskDto task = taskMap.get(v.getProcessId()); + if (ObjectUtil.isNotEmpty(task)) { + v.setIsCheckUser(true); + } + return v; + }); + } + } + } + return list; } @Override @@ -202,9 +221,7 @@ public class SysUserFaceServiceImpl extends ServiceImpl() - .eq(SysUserFaceEntity::getProcessId, processId) - ); + SysUserFaceEntity detail = baseMapper.selectOne(new LambdaQueryWrapper().eq(SysUserFaceEntity::getProcessId, processId)); if (ObjectUtil.isEmpty(detail)) { return; } @@ -214,8 +231,7 @@ public class SysUserFaceServiceImpl extends ServiceImpl() - .eq(SysUserFaceEntity::getUserId, userId) - .eq(SysUserFaceEntity::getProcessStatus, TaskCheckStatusEnum.RESULT.getCode()) - ); + Long count = baseMapper.selectCount(new LambdaQueryWrapper().eq(SysUserFaceEntity::getUserId, userId).eq(SysUserFaceEntity::getProcessStatus, TaskCheckStatusEnum.RESULT.getCode())); return count >= 3; } diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java index 92e8e7890..caeb3829a 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java @@ -47,6 +47,7 @@ import com.bsd.pjcloud.admin.mapper.SysUserRoleMapper; import com.bsd.pjcloud.admin.service.*; import com.bsd.pjcloud.admin.utils.excel.ExcelTool; import com.bsd.pjcloud.admin.utils.flow.FlowUtil; +import com.bsd.pjcloud.admin.utils.flow.dto.UserApplyFlowDto; import com.bsd.pjcloud.admin.utils.flow.dto.UserFaceApplyFlowDto; import com.bsd.pjcloud.common.audit.annotation.Audit; import com.bsd.pjcloud.common.core.constant.CacheConstants; @@ -63,7 +64,9 @@ import com.bsd.pjcloud.common.security.service.PjcloudUser; import com.bsd.pjcloud.common.security.util.SecurityUtils; import com.bsd.pjcloud.flow.task.constant.TaskCheckStatusEnum; import com.bsd.pjcloud.flow.task.dto.ProcessNodeRecordAssignUserParamDto; +import com.bsd.pjcloud.flow.task.dto.TaskDto; import com.bsd.pjcloud.wallet.api.feign.RemoteWalletService; +import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargeApplyVo; import cn.hutool.extra.spring.SpringUtil; import lombok.AllArgsConstructor; @@ -136,28 +139,24 @@ public class SysUserServiceImpl extends ServiceImpl impl @Transactional(rollbackFor = Exception.class) public Long saveUser(UserDTO userDto) { SysUser sysUser = new SysUser(); + BeanUtils.copyProperties(userDto, sysUser); // 判断是否为部门管理员 PjcloudUser applyUser = SecurityUtils.getUser(); boolean isDeptAdmin = sysRoleService.isDeptAdmin(applyUser.getId()); if (isDeptAdmin) { - List defaultRoles = sysRoleService.findRolesByCodes( - List.of(CommonRoleConstant.DEFAULT_USER, CommonRoleConstant.DEPT_ADMIN)); + List defaultRoles = sysRoleService.findRolesByCodes(List.of(CommonRoleConstant.DEFAULT_USER, CommonRoleConstant.AUTO_CREATE_WALLET)); if (ObjectUtil.isEmpty(defaultRoles)) { userDto.setRole(null); } else { userDto.setRole(defaultRoles.stream().map(SysRole::getRoleId).toList()); } userDto.setDeptIds(null); - userDto.setRole(List.of()); sysUser.setProcessStatus(TaskCheckStatusEnum.PADDING.getCode()); } else { sysUser.setProcessStatus(TaskCheckStatusEnum.RESULT.getCode()); sysUser.setProcessTime(LocalDateTime.now()); } - BeanUtils.copyProperties(userDto, sysUser); - sysUser.setLockFlag( - StrUtil.isBlank(userDto.getLockFlag()) ? UserStateEnum.NORMAL.getCode() : userDto.getLockFlag() - ); + sysUser.setLockFlag(StrUtil.isBlank(userDto.getLockFlag()) ? UserStateEnum.NORMAL.getCode() : userDto.getLockFlag()); sysUser.setCreateBy(userDto.getUsername()); sysUser.setUpdateBy(userDto.getUsername()); sysUser.setPassword(ENCODER.encode(userDto.getPassword())); @@ -178,8 +177,7 @@ public class SysUserServiceImpl extends ServiceImpl impl // 获取默认角色编码 String defaultRole = ParamResolver.getStr("USER_DEFAULT_ROLE"); // 默认角色 - SysRole sysRole = sysRoleService - .getOne(Wrappers.lambdaQuery().eq(SysRole::getRoleCode, defaultRole)); + SysRole sysRole = sysRoleService.getOne(Wrappers.lambdaQuery().eq(SysRole::getRoleCode, defaultRole)); userDto.setRole(Collections.singletonList(sysRole.getRoleId())); } @@ -216,27 +214,17 @@ public class SysUserServiceImpl extends ServiceImpl impl UserInfo userInfo = new UserInfo(); userInfo.setSysUser(sysUser); // 设置角色列表 (ID) - List roleIds = sysRoleService.findRolesByUserId(sysUser.getUserId()) - .stream() - .map(SysRole::getRoleId) - .collect(Collectors.toList()); + List roleIds = sysRoleService.findRolesByUserId(sysUser.getUserId()).stream().map(SysRole::getRoleId).collect(Collectors.toList()); userInfo.setRoles(ArrayUtil.toArray(roleIds, Long.class)); // 设置角色列表 (CODE) - List roleCodes = sysRoleService.findRolesByUserId(sysUser.getUserId()) - .stream() - .map(SysRole::getRoleCode) - .collect(Collectors.toList()); + List roleCodes = sysRoleService.findRolesByUserId(sysUser.getUserId()).stream().map(SysRole::getRoleCode).collect(Collectors.toList()); userInfo.setRoleCodes(ArrayUtil.toArray(roleCodes, String.class)); // 设置权限列表(menu.permission) Set permissions = new HashSet<>(); roleIds.forEach(roleId -> { - List permissionList = sysMenuService.findMenuByRoleId(roleId) - .stream() - .filter(menu -> StrUtil.isNotEmpty(menu.getPermission())) - .map(SysMenu::getPermission) - .collect(Collectors.toList()); + List permissionList = sysMenuService.findMenuByRoleId(roleId).stream().filter(menu -> StrUtil.isNotEmpty(menu.getPermission())).map(SysMenu::getPermission).collect(Collectors.toList()); permissions.addAll(permissionList); }); userInfo.setPermissions(ArrayUtil.toArray(permissions, String.class)); @@ -258,8 +246,24 @@ public class SysUserServiceImpl extends ServiceImpl impl if (ObjectUtil.isNotEmpty(userIds)) { SysUserFaceDto faceDto = new SysUserFaceDto(); List faceList = sysUserFaceMapper.groupConcatFaces(faceDto); - DataUtil.convertFacesList(list.getRecords(), - CollectionUtils.convertMap(faceList, SysUserFaceVo::getUserId)); + DataUtil.convertFacesList(list.getRecords(), CollectionUtils.convertMap(faceList, SysUserFaceVo::getUserId)); + } + // 审批流程 + if (userDTO.getIsFindCheckUser()) { + List processInstanceIds = list.getRecords().stream().map(UserVO::getProcessId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + if (ObjectUtil.isNotEmpty(processInstanceIds)) { + List taskList = flowUtil.queryProcessInstanceList(SecurityUtils.getUser().getId().toString(), processInstanceIds); + if (ObjectUtil.isNotEmpty(taskList)) { + Map taskMap = CollectionUtils.convertMap(taskList, TaskDto::getProcessInstanceId); + CollectionUtils.convertList(list.getRecords(), v -> { + TaskDto task = taskMap.get(v.getProcessId()); + if (ObjectUtil.isNotEmpty(task)) { + v.setIsCheckUser(true); + } + return v; + }); + } + } } } return list; @@ -338,8 +342,7 @@ public class SysUserServiceImpl extends ServiceImpl impl // 更新用户角色表 if (userDto.getRole() != null) { - sysUserRoleMapper - .delete(Wrappers.lambdaQuery().eq(SysUserRole::getUserId, userDto.getUserId())); + sysUserRoleMapper.delete(Wrappers.lambdaQuery().eq(SysUserRole::getUserId, userDto.getUserId())); userDto.getRole().stream().map(roleId -> { SysUserRole userRole = new SysUserRole(); userRole.setUserId(sysUser.getUserId()); @@ -350,8 +353,7 @@ public class SysUserServiceImpl extends ServiceImpl impl // 更新用户岗位表 if (userDto.getPost() != null) { - sysUserPostMapper - .delete(Wrappers.lambdaQuery().eq(SysUserPost::getUserId, userDto.getUserId())); + sysUserPostMapper.delete(Wrappers.lambdaQuery().eq(SysUserPost::getUserId, userDto.getUserId())); userDto.getPost().stream().map(postId -> { SysUserPost userPost = new SysUserPost(); userPost.setUserId(sysUser.getUserId()); @@ -403,15 +405,9 @@ public class SysUserServiceImpl extends ServiceImpl impl List userExcelVOList = voList.stream().map(userVO -> { UserExcelVO excelVO = new UserExcelVO(); BeanUtils.copyProperties(userVO, excelVO); - String roleNameList = userVO.getRoleList() - .stream() - .map(SysRole::getRoleName) - .collect(Collectors.joining(StrUtil.COMMA)); + String roleNameList = userVO.getRoleList().stream().map(SysRole::getRoleName).collect(Collectors.joining(StrUtil.COMMA)); excelVO.setRoleNameList(roleNameList); - String postNameList = userVO.getPostList() - .stream() - .map(SysPost::getPostName) - .collect(Collectors.joining(StrUtil.COMMA)); + String postNameList = userVO.getPostList().stream().map(SysPost::getPostName).collect(Collectors.joining(StrUtil.COMMA)); excelVO.setPostNameList(postNameList); return excelVO; }).collect(Collectors.toList()); @@ -442,26 +438,21 @@ public class SysUserServiceImpl extends ServiceImpl impl Set errorMsg = new HashSet<>(); // 校验用户名是否存在 - boolean exsitUserName = userList.stream() - .anyMatch(sysUser -> excel.getUsername().equals(sysUser.getUsername())); + boolean exsitUserName = userList.stream().anyMatch(sysUser -> excel.getUsername().equals(sysUser.getUsername())); if (exsitUserName) { errorMsg.add(MsgUtils.getMessage(ErrorCodes.SYS_USER_USERNAME_EXISTING, excel.getUsername())); } // 判断输入的部门名称列表是否合法 - Optional deptOptional = deptList.stream() - .filter(dept -> excel.getDeptName().equals(dept.getName())) - .findFirst(); + Optional deptOptional = deptList.stream().filter(dept -> excel.getDeptName().equals(dept.getName())).findFirst(); if (!deptOptional.isPresent()) { errorMsg.add(MsgUtils.getMessage(ErrorCodes.SYS_DEPT_DEPTNAME_INEXISTENCE, excel.getDeptName())); } // 判断输入的角色名称列表是否合法 List roleNameList = StrUtil.split(excel.getRoleNameList(), StrUtil.COMMA); - List roleCollList = roleList.stream() - .filter(role -> roleNameList.stream().anyMatch(name -> role.getRoleName().equals(name))) - .collect(Collectors.toList()); + List roleCollList = roleList.stream().filter(role -> roleNameList.stream().anyMatch(name -> role.getRoleName().equals(name))).collect(Collectors.toList()); if (roleCollList.size() != roleNameList.size()) { errorMsg.add(MsgUtils.getMessage(ErrorCodes.SYS_ROLE_ROLENAME_INEXISTENCE, excel.getRoleNameList())); @@ -469,9 +460,7 @@ public class SysUserServiceImpl extends ServiceImpl impl // 判断输入的部门名称列表是否合法 List postNameList = StrUtil.split(excel.getPostNameList(), StrUtil.COMMA); - List postCollList = postList.stream() - .filter(post -> postNameList.stream().anyMatch(name -> post.getPostName().equals(name))) - .collect(Collectors.toList()); + List postCollList = postList.stream().filter(post -> postNameList.stream().anyMatch(name -> post.getPostName().equals(name))).collect(Collectors.toList()); if (postCollList.size() != postNameList.size()) { errorMsg.add(MsgUtils.getMessage(ErrorCodes.SYS_POST_POSTNAME_INEXISTENCE, excel.getPostNameList())); @@ -501,9 +490,7 @@ public class SysUserServiceImpl extends ServiceImpl impl } // 校验导入的内容 List errorMessageList = (List) bindingResult.getTarget(); - List deptNames = - excelList.stream().map(UserExcelFaceVo::getDeptName).distinct().filter(ObjectUtil::isNotEmpty) - .toList(); + List deptNames = excelList.stream().map(UserExcelFaceVo::getDeptName).distinct().filter(ObjectUtil::isNotEmpty).toList(); // 部门 List sysDeptList = sysDeptService.selectByNames(deptNames); // 角色 @@ -512,16 +499,13 @@ public class SysUserServiceImpl extends ServiceImpl impl List userList = this.list(); String walletAutoCreate = ParamResolver.getStr("WALLET_AUTO_CREATE"); String userDefaultRole = ParamResolver.getStr("USER_DEFAULT_ROLE"); - List roleIds = roleList.stream() - .filter(v -> ObjectUtil.equals(v.getRoleCode(), walletAutoCreate) || ObjectUtil.equals( - v.getRoleCode(), userDefaultRole)).map(SysRole::getRoleId).toList(); + List roleIds = roleList.stream().filter(v -> ObjectUtil.equals(v.getRoleCode(), walletAutoCreate) || ObjectUtil.equals(v.getRoleCode(), userDefaultRole)).map(SysRole::getRoleId).toList(); // 读取图片 Map images = ExcelTool.getPictureFromExcel(file, 1); for (UserExcelFaceVo v : excelList) { Long deptId = null; Set errorMsg = new HashSet<>(); - String username = v.getUsername(), name = v.getName(), mobile = v.getMobile(), sex = v.getSex(), - deptName = v.getDeptName(); + String username = v.getUsername(), name = v.getName(), mobile = v.getMobile(), sex = v.getSex(), deptName = v.getDeptName(); if (ObjectUtil.isEmpty(name)) { errorMsg.add("用户昵称为空"); } @@ -531,8 +515,7 @@ public class SysUserServiceImpl extends ServiceImpl impl errorMsg.add("手机号码格式不正确"); } else { // 校验用户名是否存在 - boolean existMobile = - userList.stream().anyMatch(i -> ObjectUtil.equals(i.getPhone(), mobile.trim())); + boolean existMobile = userList.stream().anyMatch(i -> ObjectUtil.equals(i.getPhone(), mobile.trim())); if (existMobile) { errorMsg.add("手机号已存在"); } @@ -540,8 +523,7 @@ public class SysUserServiceImpl extends ServiceImpl impl if (ObjectUtil.isEmpty(deptName)) { errorMsg.add("部门名称为空"); } else { - Optional targetDept = - sysDeptList.stream().filter(i -> ObjectUtil.equals(i.getName(), deptName)).findFirst(); + Optional targetDept = sysDeptList.stream().filter(i -> ObjectUtil.equals(i.getName(), deptName)).findFirst(); if (targetDept.isEmpty()) { errorMsg.add("没有该部门"); } else { @@ -576,8 +558,7 @@ public class SysUserServiceImpl extends ServiceImpl impl /** * 插入excel User */ - private void insertExcelUser(UserExcelVO excel, Optional deptOptional, List roleCollList, - List postCollList, PjcloudUser user) { + private void insertExcelUser(UserExcelVO excel, Optional deptOptional, List roleCollList, List postCollList, PjcloudUser user) { UserDTO userDTO = new UserDTO(); userDTO.setUsername(excel.getUsername()); userDTO.setPhone(excel.getPhone()); @@ -622,8 +603,7 @@ public class SysUserServiceImpl extends ServiceImpl impl public void insertExcelFace(UserDTO user, PictureData face) { try { // 查询用户 - MultipartFile multipartFile = new MockMultipartFile("file", UUID.randomUUID() + "_face.png", "image/png", - new ByteArrayInputStream(face.getData())); + MultipartFile multipartFile = new MockMultipartFile("file", UUID.randomUUID() + "_face.png", "image/png", new ByteArrayInputStream(face.getData())); Map data = (Map) sysFileService.uploadFile(multipartFile, null, null, null).getData(); String url = data.get("url").toString(); SysUserFaceEntity updateObj = new SysUserFaceEntity(); @@ -646,16 +626,14 @@ public class SysUserServiceImpl extends ServiceImpl impl @Transactional(rollbackFor = Exception.class) public R registerUser(UserDTO userDto) { // 判断用户名是否存在 - boolean usernameExists = this.exists(Wrappers.lambdaQuery() - .eq(SysUser::getUsername, userDto.getUsername())); + boolean usernameExists = this.exists(Wrappers.lambdaQuery().eq(SysUser::getUsername, userDto.getUsername())); if (usernameExists) { String message = MsgUtils.getMessage(ErrorCodes.SYS_USER_USERNAME_EXISTING, userDto.getUsername()); return R.failed(message); } // 判断手机号是否存在 - boolean phoneExists = this.exists(Wrappers.lambdaQuery() - .eq(SysUser::getPhone, userDto.getPhone())); + boolean phoneExists = this.exists(Wrappers.lambdaQuery().eq(SysUser::getPhone, userDto.getPhone())); if (phoneExists) { String message = MsgUtils.getMessage(ErrorCodes.SYS_USER_PHONE_EXISTING, userDto.getPhone()); return R.failed(message); @@ -700,10 +678,7 @@ public class SysUserServiceImpl extends ServiceImpl impl } String password = ENCODER.encode(userDto.getNewpassword1()); - this.update(Wrappers.lambdaUpdate() - .set(SysUser::getPassword, password) - .set(SysUser::getPasswordModifyTime, LocalDateTime.now()) - .eq(SysUser::getUserId, user.getUserId())); + this.update(Wrappers.lambdaUpdate().set(SysUser::getPassword, password).set(SysUser::getPasswordModifyTime, LocalDateTime.now()).eq(SysUser::getUserId, user.getUserId())); return R.ok(); } @@ -712,29 +687,17 @@ public class SysUserServiceImpl extends ServiceImpl impl PjcloudUser user = SecurityUtils.getUser(); LambdaUpdateWrapper wrapper = null; if (type.equals("wechat")) { - wrapper = Wrappers.lambdaUpdate() - .set(SysUser::getWxOpenid, null) - .eq(SysUser::getUserId, user.getId()); + wrapper = Wrappers.lambdaUpdate().set(SysUser::getWxOpenid, null).eq(SysUser::getUserId, user.getId()); } else if (type.equals("gitee")) { - wrapper = Wrappers.lambdaUpdate() - .set(SysUser::getGiteeLogin, null) - .eq(SysUser::getUserId, user.getId()); + wrapper = Wrappers.lambdaUpdate().set(SysUser::getGiteeLogin, null).eq(SysUser::getUserId, user.getId()); } else if (type.equals("osc")) { - wrapper = Wrappers.lambdaUpdate() - .set(SysUser::getOscId, null) - .eq(SysUser::getUserId, user.getId()); + wrapper = Wrappers.lambdaUpdate().set(SysUser::getOscId, null).eq(SysUser::getUserId, user.getId()); } else if (type.equals("tencent")) { - wrapper = Wrappers.lambdaUpdate() - .set(SysUser::getQqOpenid, null) - .eq(SysUser::getUserId, user.getId()); + wrapper = Wrappers.lambdaUpdate().set(SysUser::getQqOpenid, null).eq(SysUser::getUserId, user.getId()); } else if (type.equals("cp")) { - wrapper = Wrappers.lambdaUpdate() - .set(SysUser::getWxCpUserid, null) - .eq(SysUser::getUserId, user.getId()); + wrapper = Wrappers.lambdaUpdate().set(SysUser::getWxCpUserid, null).eq(SysUser::getUserId, user.getId()); } else if (type.equals("dingding")) { - wrapper = Wrappers.lambdaUpdate() - .set(SysUser::getWxDingUserid, null) - .eq(SysUser::getUserId, user.getId()); + wrapper = Wrappers.lambdaUpdate().set(SysUser::getWxDingUserid, null).eq(SysUser::getUserId, user.getId()); } if (wrapper == null) { return R.failed("解绑账号类型不存在"); @@ -779,20 +742,13 @@ public class SysUserServiceImpl extends ServiceImpl impl // 重置密码 String password = ENCODER.encode(userDto.getNewpassword1()); - this.update(Wrappers.lambdaUpdate() - .set(SysUser::getPassword, password) - .set(SysUser::getPasswordModifyTime, LocalDateTime.now()) - .set(SysUser::getPasswordExpireFlag, CommonConstants.STATUS_NORMAL) - .eq(SysUser::getUsername, userDto.getUsername())); + this.update(Wrappers.lambdaUpdate().set(SysUser::getPassword, password).set(SysUser::getPasswordModifyTime, LocalDateTime.now()).set(SysUser::getPasswordExpireFlag, CommonConstants.STATUS_NORMAL).eq(SysUser::getUsername, userDto.getUsername())); return R.ok(); } @Override public List listUserIdByRoleIds(List roleIdList) { - return sysUserRoleMapper.selectList(Wrappers.lambdaQuery().in(SysUserRole::getRoleId, roleIdList)) - .stream() - .map(SysUserRole::getUserId) - .collect(Collectors.toList()); + return sysUserRoleMapper.selectList(Wrappers.lambdaQuery().in(SysUserRole::getRoleId, roleIdList)).stream().map(SysUserRole::getUserId).collect(Collectors.toList()); } /** @@ -834,9 +790,7 @@ public class SysUserServiceImpl extends ServiceImpl impl return; } String processId = dto.getProcessInstanceId(); - SysUser detail = baseMapper.selectOne(new LambdaQueryWrapper() - .eq(SysUser::getProcessId, processId) - ); + SysUser detail = baseMapper.selectOne(new LambdaQueryWrapper().eq(SysUser::getProcessId, processId)); if (ObjectUtil.isEmpty(detail)) { return; } @@ -846,12 +800,11 @@ public class SysUserServiceImpl extends ServiceImpl impl } try { Boolean isConsent = flowUtil.isConsent(dto); - String processStatus = - isConsent ? TaskCheckStatusEnum.RESULT.getCode() : TaskCheckStatusEnum.REJECT.getCode(); + String processStatus = isConsent ? TaskCheckStatusEnum.RESULT.getCode() : TaskCheckStatusEnum.REJECT.getCode(); SysUser updateUser = new SysUser(); updateUser.setUserId(detail.getUserId()); updateUser.setProcessStatus(processStatus); - updateUser.setPasswordModifyTime(LocalDateTime.now()); + updateUser.setProcessTime(LocalDateTime.now()); baseMapper.updateById(updateUser); } catch (Exception e) { e.printStackTrace(); @@ -866,8 +819,20 @@ public class SysUserServiceImpl extends ServiceImpl impl @Override @Transactional(rollbackFor = Exception.class) public void applyFlow(SysUser user) { - UserFaceApplyFlowDto flowDto = new UserFaceApplyFlowDto(); - String processId = flowUtil.startFlow("ADD_USER_FLOW", user, user.getUserId(), flowDto); + // 查询发起用户 + SysUser applyUser = baseMapper.selectById(SecurityUtils.getUser().getId()); + if (ObjectUtil.isEmpty(applyUser)) { + return; + } + SysDept applyDept = sysDeptService.getById(applyUser.getDeptId()); + if (ObjectUtil.isEmpty(applyDept)) { + return; + } + + UserApplyFlowDto flowDto = new UserApplyFlowDto(); + flowDto.setApplyDeptName(applyDept.getName()); + + String processId = flowUtil.startFlow("ADD_USER_FLOW", applyUser, user.getUserId(), flowDto); SysUser updateObj = new SysUser(); updateObj.setUserId(user.getUserId()); updateObj.setProcessId(processId); diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/utils/flow/FlowUtil.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/utils/flow/FlowUtil.java index b04294cc8..e3c042dc5 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/utils/flow/FlowUtil.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/utils/flow/FlowUtil.java @@ -14,7 +14,6 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.admin.api.entity.SysUser; -import com.bsd.pjcloud.admin.utils.flow.dto.UserApplyFlowDto; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.resolver.ParamResolver; import com.bsd.pjcloud.flow.task.api.feign.RemoteFlowApiFlowService; @@ -24,13 +23,13 @@ import com.bsd.pjcloud.flow.task.dto.ProcessInstanceParamDto; import com.bsd.pjcloud.flow.task.dto.ProcessNodeRecordAssignUserParamDto; import com.bsd.pjcloud.flow.task.dto.TaskDto; import com.bsd.pjcloud.flow.task.dto.TaskQueryParamDto; +import com.bsd.pjcloud.flow.task.dto.base.FlowBaseDto; import com.bsd.pjcloud.flow.task.entity.Process; import com.bsd.pjcloud.flow.task.vo.ProcessVO; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.lang.Dict; import cn.hutool.core.util.ObjectUtil; @@ -52,7 +51,7 @@ public class FlowUtil { return startFlow(flowIdKey, user, businessId, null); } - public String startFlow(String flowIdKey, SysUser user, Long businessId, T dto) { + public String startFlow(String flowIdKey, SysUser user, Long businessId, T dto) { // 发起工作流 String defaultRole = ParamResolver.getStr(flowIdKey); if (ObjectUtil.isEmpty(defaultRole)) { diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/utils/flow/dto/UserApplyFlowDto.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/utils/flow/dto/UserApplyFlowDto.java index 39d57e4db..7f61fa253 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/utils/flow/dto/UserApplyFlowDto.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/utils/flow/dto/UserApplyFlowDto.java @@ -7,4 +7,5 @@ import lombok.Data; @Data public class UserApplyFlowDto extends FlowBaseDto { + } diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/utils/flow/dto/UserFaceApplyFlowDto.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/utils/flow/dto/UserFaceApplyFlowDto.java index a5f493296..d095ec6f3 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/utils/flow/dto/UserFaceApplyFlowDto.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/utils/flow/dto/UserFaceApplyFlowDto.java @@ -1,9 +1,11 @@ package com.bsd.pjcloud.admin.utils.flow.dto; +import com.bsd.pjcloud.flow.task.dto.base.FlowBaseDto; + import lombok.Data; @Data -public class UserFaceApplyFlowDto extends UserApplyFlowDto { +public class UserFaceApplyFlowDto extends FlowBaseDto { private String username; diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml b/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml index 5eb1d7820..22b807bd7 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml @@ -179,7 +179,7 @@ AND u.user_id = #{query.userId} - + AND u.process_status = #{query.processStatus} diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeApplyServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeApplyServiceImpl.java index b891de460..df85ed468 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeApplyServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeApplyServiceImpl.java @@ -77,8 +77,7 @@ import java.util.*; @Slf4j @RequiredArgsConstructor @Service -public class WalletRechargeApplyServiceImpl extends ServiceImpl - implements WalletRechargeApplyService { +public class WalletRechargeApplyServiceImpl extends ServiceImpl implements WalletRechargeApplyService { static private final String TAG = "充值/扣款申请"; @@ -126,8 +125,7 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl> userList = userService.getUserById(new ArrayList<>(userIds)); if (ObjectUtil.isNotEmpty(userList.getData())) { - DataUtil.convertUserList(list.getRecords(), - CollectionUtils.convertMap(userList.getData(), SysUser::getUserId)); + DataUtil.convertUserList(list.getRecords(), CollectionUtils.convertMap(userList.getData(), SysUser::getUserId)); } } // 部门 @@ -239,8 +237,7 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl !ObjectUtil.isAllEmpty(v.getUsername(), v.getUserMobile(), v.getPrice())) - .toList(); + list = list.stream().filter(v -> !ObjectUtil.isAllEmpty(v.getUsername(), v.getUserMobile(), v.getPrice())).toList(); if (ObjectUtil.isEmpty(list)) { return R.failed(); } @@ -303,9 +300,7 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl batchSaveList = list.stream() - .map(v -> WalletRechargeImportEntity.builder().price(v.getPriceNumber()).userId(v.getUserId()) - .userDeptId(v.getUserDeptId()).build()).toList(); + List batchSaveList = list.stream().map(v -> WalletRechargeImportEntity.builder().price(v.getPriceNumber()).userId(v.getUserId()).userDeptId(v.getUserDeptId()).build()).toList(); batchSaveList.forEach(v -> v.setApplyId(insertObj.getId())); rechargeImportService.saveBatch(batchSaveList); return R.ok(null, MsgUtils.getMessage(ErrorCodes.SYS_USER_IMPORT_SUCCEED)); @@ -320,9 +315,7 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl() - .eq(WalletRechargeApplyEntity::getProcessId, processId) - ); + WalletRechargeApplyEntity detail = baseMapper.selectOne(new LambdaQueryWrapper().eq(WalletRechargeApplyEntity::getProcessId, processId)); if (ObjectUtil.isEmpty(detail)) { return; } @@ -332,16 +325,10 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl importList = - rechargeImportService.list(new LambdaQueryWrapper() - .eq(WalletRechargeImportEntity::getApplyId, detail.getId()) - ); + List importList = rechargeImportService.list(new LambdaQueryWrapper().eq(WalletRechargeImportEntity::getApplyId, detail.getId())); if (ObjectUtil.isEmpty(importList)) { return; } @@ -355,8 +342,7 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl importList = - rechargeImportService.list(new LambdaQueryWrapper() - .eq(WalletRechargeImportEntity::getApplyId, detail.getId()) - ); + List importList = rechargeImportService.list(new LambdaQueryWrapper().eq(WalletRechargeImportEntity::getApplyId, detail.getId())); if (ObjectUtil.isEmpty(importList)) { return; } @@ -395,8 +377,7 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl walletTypeList = walletTypeMapper.list(walletTypeDto); if (ObjectUtil.isNotEmpty(walletTypeList)) { - WalletDataUtil.convertWalletTypeList(list, - CollectionUtils.convertMap(walletTypeList, WalletTypeEntity::getId)); + WalletDataUtil.convertWalletTypeList(list, CollectionUtils.convertMap(walletTypeList, WalletTypeEntity::getId)); } } // 审批流程 if (dto.getIsFindCheckUser()) { - List processInstanceIds = - list.stream().map(WalletRechargeApplyVo::getProcessId).filter(ObjectUtil::isNotEmpty).distinct() - .toList(); + List processInstanceIds = list.stream().map(WalletRechargeApplyVo::getProcessId).filter(ObjectUtil::isNotEmpty).distinct().toList(); if (ObjectUtil.isNotEmpty(processInstanceIds)) { - List taskList = - flowUtil.queryProcessInstanceList(SecurityUtils.getUser().getId().toString(), - processInstanceIds); + List taskList = flowUtil.queryProcessInstanceList(SecurityUtils.getUser().getId().toString(), processInstanceIds); if (ObjectUtil.isNotEmpty(taskList)) { - Map taskMap = - CollectionUtils.convertMap(taskList, TaskDto::getProcessInstanceId); + Map taskMap = CollectionUtils.convertMap(taskList, TaskDto::getProcessInstanceId); CollectionUtils.convertList(list, v -> { TaskDto task = taskMap.get(v.getProcessId()); if (ObjectUtil.isNotEmpty(task)) { @@ -483,10 +456,7 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl() - .eq(WalletRechargeApplyEntity::getUserId, walletId) - .eq(WalletRechargeApplyEntity::getProcessStatus, NodeStatusEnum.JXZ.getCode()) - ); + Long count = baseMapper.selectCount(new LambdaQueryWrapper().eq(WalletRechargeApplyEntity::getUserId, walletId).eq(WalletRechargeApplyEntity::getProcessStatus, NodeStatusEnum.JXZ.getCode())); return count >= 3; }