Commit 7835e7684f3d35a2bdf6a46cb3b1d9116f7f922f

Authored by 谢茂盛
1 parent 580848c0

fix: 审批管理/待审批/已审批列表查询接口

src/main/java/com/order/erp/controller/AuditController.java
@@ -2,6 +2,7 @@ package com.order.erp.controller; @@ -2,6 +2,7 @@ package com.order.erp.controller;
2 2
3 import com.order.erp.common.annotation.AnonymousAccess; 3 import com.order.erp.common.annotation.AnonymousAccess;
4 import com.order.erp.common.constant.ServerResult; 4 import com.order.erp.common.constant.ServerResult;
  5 +import com.order.erp.domain.AuditStatusEnum;
5 import com.order.erp.domain.vo.order.AuditVO; 6 import com.order.erp.domain.vo.order.AuditVO;
6 import com.order.erp.domain.vo.order.OrderFieldLockApplyQueryVO; 7 import com.order.erp.domain.vo.order.OrderFieldLockApplyQueryVO;
7 import com.order.erp.service.order.OrderFieldLockApplyService; 8 import com.order.erp.service.order.OrderFieldLockApplyService;
@@ -41,6 +42,32 @@ public class AuditController { @@ -41,6 +42,32 @@ public class AuditController {
41 } 42 }
42 43
43 /** 44 /**
  45 + * 待审批列表
  46 + *
  47 + * @param queryVO 查询条件
  48 + * @return 查询结果
  49 + */
  50 + @PostMapping("/wait_audit_list")
  51 + @AnonymousAccess
  52 + public ServerResult waitAuditList(@RequestBody @Validated OrderFieldLockApplyQueryVO queryVO) {
  53 + queryVO.setStatus(AuditStatusEnum.WAIT_AUDIT.getStatus());
  54 + return applyService.listByPage(queryVO);
  55 + }
  56 +
  57 + /**
  58 + * 已审批列表
  59 + *
  60 + * @param queryVO 查询条件
  61 + * @return 查询结果
  62 + */
  63 + @PostMapping("/audit_list")
  64 + @AnonymousAccess
  65 + public ServerResult auditList(@RequestBody @Validated OrderFieldLockApplyQueryVO queryVO) {
  66 + queryVO.setStatusList(AuditStatusEnum.auditList);
  67 + return applyService.listByPage(queryVO);
  68 + }
  69 +
  70 + /**
44 * 审核 71 * 审核
45 * 72 *
46 * @param auditVO 查询条件 73 * @param auditVO 查询条件
src/main/java/com/order/erp/domain/AuditStatusEnum.java 0 → 100644
  1 +package com.order.erp.domain;
  2 +
  3 +import cn.hutool.core.collection.CollUtil;
  4 +import lombok.AllArgsConstructor;
  5 +import lombok.Getter;
  6 +
  7 +import java.util.List;
  8 +
  9 +/**
  10 + * @author: xms
  11 + * @description: TODO
  12 + * @date: 2023/9/13 18:05
  13 + * @version: 1.0
  14 + */
  15 +@Getter
  16 +@AllArgsConstructor
  17 +public enum AuditStatusEnum {
  18 +
  19 + WAIT_AUDIT(0, "待审批"),
  20 +
  21 + AUDIT_PASS(10, "已通过"),
  22 +
  23 + AUDIT_REFUSE(20, "已驳回"),
  24 + ;
  25 + private Integer status;
  26 +
  27 + private String desc;
  28 +
  29 + public static List<Integer> auditList = CollUtil.newArrayList(AUDIT_PASS.status, AUDIT_REFUSE.status);
  30 +
  31 + public static List<Integer> waitAuditList = CollUtil.newArrayList(WAIT_AUDIT.status);
  32 +}
src/main/java/com/order/erp/domain/vo/admin/AdminUserResultVO.java
@@ -77,5 +77,19 @@ public class AdminUserResultVO implements Serializable { @@ -77,5 +77,19 @@ public class AdminUserResultVO implements Serializable {
77 */ 77 */
78 private LocalDateTime pwdResetTime; 78 private LocalDateTime pwdResetTime;
79 79
  80 + /**
  81 + * 角色id
  82 + */
  83 + private Long roleId;
  84 +
  85 + /**
  86 + * 角色code
  87 + */
  88 + private String roleCode;
  89 +
  90 + /**
  91 + * 角色名称
  92 + */
  93 + private String roleName;
80 94
81 } 95 }
src/main/java/com/order/erp/domain/vo/admin/AdminUserVO.java
@@ -79,4 +79,8 @@ public class AdminUserVO implements Serializable { @@ -79,4 +79,8 @@ public class AdminUserVO implements Serializable {
79 private LocalDateTime pwdResetTime; 79 private LocalDateTime pwdResetTime;
80 80
81 81
  82 + /**
  83 + * 角色id
  84 + */
  85 + private Long roleId;
82 } 86 }
src/main/java/com/order/erp/domain/vo/order/OrderFieldLockApplyQueryVO.java
@@ -43,10 +43,15 @@ public class OrderFieldLockApplyQueryVO extends BasePageVO implements Serializab @@ -43,10 +43,15 @@ public class OrderFieldLockApplyQueryVO extends BasePageVO implements Serializab
43 */ 43 */
44 private String fields; 44 private String fields;
45 /** 45 /**
46 - * 状态:0 待审批,1 通过,2 拒绝 46 + * 状态:0 待审批,10 通过,20 拒绝
47 */ 47 */
48 private Integer status; 48 private Integer status;
49 49
  50 + /**
  51 + *
  52 + */
  53 + private List<Integer> statusList;
  54 +
50 55
51 } 56 }
52 57
src/main/java/com/order/erp/service/admin/impl/AdminUserServiceImpl.java
@@ -9,13 +9,14 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; @@ -9,13 +9,14 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
9 import com.baomidou.mybatisplus.core.toolkit.StringUtils; 9 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
10 import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 10 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
11 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 11 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
12 -import com.order.erp.common.constant.ServerResultCode;  
13 import com.order.erp.common.constant.Constant; 12 import com.order.erp.common.constant.Constant;
14 import com.order.erp.common.constant.ServerResult; 13 import com.order.erp.common.constant.ServerResult;
  14 +import com.order.erp.common.constant.ServerResultCode;
15 import com.order.erp.common.exception.BusinessException; 15 import com.order.erp.common.exception.BusinessException;
16 import com.order.erp.common.utils.ImgCaptchaUtils; 16 import com.order.erp.common.utils.ImgCaptchaUtils;
17 import com.order.erp.common.utils.RedisUtil; 17 import com.order.erp.common.utils.RedisUtil;
18 import com.order.erp.common.utils.TransactionHelper; 18 import com.order.erp.common.utils.TransactionHelper;
  19 +import com.order.erp.domain.RoleEnum;
19 import com.order.erp.domain.dto.BaseDO; 20 import com.order.erp.domain.dto.BaseDO;
20 import com.order.erp.domain.dto.admin.*; 21 import com.order.erp.domain.dto.admin.*;
21 import com.order.erp.domain.vo.UserVO; 22 import com.order.erp.domain.vo.UserVO;
@@ -38,6 +39,7 @@ import org.springframework.stereotype.Service; @@ -38,6 +39,7 @@ import org.springframework.stereotype.Service;
38 import javax.annotation.Resource; 39 import javax.annotation.Resource;
39 import java.time.LocalDateTime; 40 import java.time.LocalDateTime;
40 import java.util.*; 41 import java.util.*;
  42 +import java.util.function.Function;
41 import java.util.stream.Collectors; 43 import java.util.stream.Collectors;
42 44
43 /** 45 /**
@@ -124,10 +126,24 @@ public class AdminUserServiceImpl extends ServiceImpl&lt;AdminUserMapper, AdminUser @@ -124,10 +126,24 @@ public class AdminUserServiceImpl extends ServiceImpl&lt;AdminUserMapper, AdminUser
124 126
125 Page<AdminUserResultVO> webVOPage = new Page<>(); 127 Page<AdminUserResultVO> webVOPage = new Page<>();
126 List<AdminUserDO> adminDeptDOS = iPage.getRecords(); 128 List<AdminUserDO> adminDeptDOS = iPage.getRecords();
  129 + Map<Long, AdminUserRoleDO> userRoleDOMap = new HashMap<>();
127 if (CollectionUtils.isNotEmpty(adminDeptDOS)) { 130 if (CollectionUtils.isNotEmpty(adminDeptDOS)) {
  131 + Set<Long> userIds = adminDeptDOS.stream().map(AdminUserDO::getId).collect(Collectors.toSet());
  132 + List<AdminUserRoleDO> userRoleDOList = userRoleService.list(new LambdaQueryWrapper<AdminUserRoleDO>()
  133 + .in(AdminUserRoleDO::getUserId, userIds));
  134 + if (CollectionUtils.isNotEmpty(userRoleDOList)) {
  135 + userRoleDOMap = userRoleDOList.stream().collect(Collectors.toMap(AdminUserRoleDO::getUserId, Function.identity()));
  136 + }
  137 + Map<Long, AdminUserRoleDO> finalUserRoleDOMap = userRoleDOMap;
128 List<AdminUserResultVO> queryVos = adminDeptDOS.stream().map(x -> { 138 List<AdminUserResultVO> queryVos = adminDeptDOS.stream().map(x -> {
129 AdminUserResultVO resultVO = new AdminUserResultVO(); 139 AdminUserResultVO resultVO = new AdminUserResultVO();
130 BeanUtils.copyProperties(x, resultVO); 140 BeanUtils.copyProperties(x, resultVO);
  141 + if (finalUserRoleDOMap.containsKey(x.getId())) {
  142 + AdminUserRoleDO userRoleDO = finalUserRoleDOMap.get(x.getId());
  143 + resultVO.setRoleId(userRoleDO.getRoleId());
  144 + resultVO.setRoleCode(RoleEnum.getCodeById(userRoleDO.getRoleId()));
  145 + resultVO.setRoleName(RoleEnum.getNameById(userRoleDO.getRoleId()));
  146 + }
131 return resultVO; 147 return resultVO;
132 }).collect(Collectors.toList()); 148 }).collect(Collectors.toList());
133 webVOPage.setRecords(queryVos); 149 webVOPage.setRecords(queryVos);
@@ -164,9 +180,15 @@ public class AdminUserServiceImpl extends ServiceImpl&lt;AdminUserMapper, AdminUser @@ -164,9 +180,15 @@ public class AdminUserServiceImpl extends ServiceImpl&lt;AdminUserMapper, AdminUser
164 if (Objects.isNull(adminUserDo.getDeptId())) { 180 if (Objects.isNull(adminUserDo.getDeptId())) {
165 adminUserDo.setDeptId(1L); 181 adminUserDo.setDeptId(1L);
166 } 182 }
  183 + adminUserDo.setIsAdmin(false);
167 adminUserDo.setPassword(passwordEncoder.encode("123456")); 184 adminUserDo.setPassword(passwordEncoder.encode("123456"));
168 save(adminUserDo); 185 save(adminUserDo);
169 186
  187 + if (Objects.nonNull(adminUserVO.getRoleId())) {
  188 + Set<Long> roleIds = new HashSet<>();
  189 + roleIds.add(adminUserVO.getRoleId());
  190 + authRole(AdminAuthUserVO.builder().userId(adminUserDo.getId()).roleIds(roleIds).build());
  191 + }
170 return ServerResult.success(); 192 return ServerResult.success();
171 } 193 }
172 194
src/main/java/com/order/erp/service/order/impl/OrderFieldLockApplyServiceImpl.java
@@ -10,9 +10,9 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; @@ -10,9 +10,9 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
10 import com.baomidou.mybatisplus.core.toolkit.StringUtils; 10 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
11 import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 11 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
12 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 12 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
13 -import com.order.erp.common.constant.ServerResultCode;  
14 import com.order.erp.common.constant.Constant; 13 import com.order.erp.common.constant.Constant;
15 import com.order.erp.common.constant.ServerResult; 14 import com.order.erp.common.constant.ServerResult;
  15 +import com.order.erp.common.constant.ServerResultCode;
16 import com.order.erp.common.exception.BusinessException; 16 import com.order.erp.common.exception.BusinessException;
17 import com.order.erp.config.DataScope; 17 import com.order.erp.config.DataScope;
18 import com.order.erp.domain.ApplyStatusEnum; 18 import com.order.erp.domain.ApplyStatusEnum;
@@ -122,7 +122,8 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl&lt;OrderFieldLockAp @@ -122,7 +122,8 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl&lt;OrderFieldLockAp
122 return new LambdaQueryWrapper<OrderFieldLockApplyDO>() 122 return new LambdaQueryWrapper<OrderFieldLockApplyDO>()
123 .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) 123 .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN)
124 .eq(Objects.nonNull(queryVO.getApplyUserId()), OrderFieldLockApplyDO::getApplyUserId, queryVO.getApplyUserId()) 124 .eq(Objects.nonNull(queryVO.getApplyUserId()), OrderFieldLockApplyDO::getApplyUserId, queryVO.getApplyUserId())
125 - .eq(Objects.nonNull(queryVO.getStatus()), OrderFieldLockApplyDO::getStatus, queryVO.getStatus()); 125 + .eq(Objects.nonNull(queryVO.getStatus()), OrderFieldLockApplyDO::getStatus, queryVO.getStatus())
  126 + .in(CollectionUtils.isNotEmpty(queryVO.getStatusList()), OrderFieldLockApplyDO::getStatus, queryVO.getStatusList());
126 } 127 }
127 128
128 /** 129 /**