Browse Source

Merge branch 'master' of http://101.36.160.140:21044/delivery-warehouse-java/delivery-depot-admin into liuj_pc_dev

liujing-123 2 weeks ago
parent
commit
8cfc1ed95f
18 changed files with 340 additions and 81 deletions
  1. 2 1
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/task/vo/TaskDkxxRespVO.java
  2. 2 1
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/task/vo/TaskDkxxSaveVO.java
  3. 22 0
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/task/vo/TaskKqxxRespVO.java
  4. 6 0
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/task/vo/TaskRespVO.java
  5. 8 2
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/dal/dataobject/dk/DkDO.java
  6. 19 0
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/dal/dataobject/spxx/SpxxDO.java
  7. 12 0
      delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/service/task/TaskServiceImpl.java
  8. 8 6
      delivery-module-core/delivery-module-core-biz/src/main/resources/mapper/dk/DkMapper.xml
  9. 1 1
      delivery-module-core/delivery-module-core-biz/src/main/resources/mapper/kshzs/KshzsMapper.xml
  10. 2 2
      delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/controller/admin/arealevel/AreaLevelController.java
  11. 22 0
      delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java
  12. 38 2
      delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/controller/admin/user/UserController.java
  13. 5 4
      delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/controller/admin/user/vo/user/UserSaveReqVO.java
  14. 3 0
      delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/dal/mysql/user/AdminUserMapper.java
  15. 2 2
      delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/service/arealevel/AreaLevelService.java
  16. 170 46
      delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/service/arealevel/AreaLevelServiceImpl.java
  17. 10 3
      delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/service/user/AdminUserService.java
  18. 8 11
      delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/service/user/AdminUserServiceImpl.java

+ 2 - 1
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/task/vo/TaskDkxxRespVO.java

@@ -7,6 +7,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
7
 import lombok.Data;
7
 import lombok.Data;
8
 
8
 
9
 import java.time.LocalDateTime;
9
 import java.time.LocalDateTime;
10
+import java.util.List;
10
 
11
 
11
 @Schema(description = "APP - 打卡信息 Response VO")
12
 @Schema(description = "APP - 打卡信息 Response VO")
12
 @Data
13
 @Data
@@ -30,6 +31,6 @@ public class TaskDkxxRespVO {
30
     private String dkdd;
31
     private String dkdd;
31
 
32
 
32
     @Schema(description = "拍照信息多个逗号分隔','(INFRA_FILE.ID)")
33
     @Schema(description = "拍照信息多个逗号分隔','(INFRA_FILE.ID)")
33
-    private String pzxx;
34
+    private List<Long> pzxx;
34
 
35
 
35
 }
36
 }

+ 2 - 1
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/task/vo/TaskDkxxSaveVO.java

@@ -5,6 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
5
 import lombok.Data;
5
 import lombok.Data;
6
 
6
 
7
 import java.time.LocalDateTime;
7
 import java.time.LocalDateTime;
8
+import java.util.List;
8
 
9
 
9
 @Schema(description = "APP - 打卡信息 Response VO")
10
 @Schema(description = "APP - 打卡信息 Response VO")
10
 @Data
11
 @Data
@@ -28,7 +29,7 @@ public class TaskDkxxSaveVO {
28
     private String dkdd;
29
     private String dkdd;
29
 
30
 
30
     @Schema(description = "拍照信息多个逗号分隔','(INFRA_FILE.ID)")
31
     @Schema(description = "拍照信息多个逗号分隔','(INFRA_FILE.ID)")
31
-    private String pzxx;
32
+    private List<Long> pzxx;
32
 
33
 
33
     @Schema(description = "打卡类型:1:省核验人,2:银行核验人")
34
     @Schema(description = "打卡类型:1:省核验人,2:银行核验人")
34
     private Integer dkType;
35
     private Integer dkType;

+ 22 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/task/vo/TaskKqxxRespVO.java

@@ -3,6 +3,7 @@ package com.unis.module.coding.controller.admin.task.vo;
3
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
3
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
4
 import io.swagger.v3.oas.annotations.media.Schema;
4
 import io.swagger.v3.oas.annotations.media.Schema;
5
 import lombok.Data;
5
 import lombok.Data;
6
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
6
 
7
 
7
 import java.math.BigDecimal;
8
 import java.math.BigDecimal;
8
 
9
 
@@ -43,4 +44,25 @@ public class TaskKqxxRespVO {
43
 
44
 
44
     @Schema(description = "库区图")
45
     @Schema(description = "库区图")
45
     private String resid;
46
     private String resid;
47
+
48
+    @Schema(description = "社会信用代码")
49
+    private String shxydm;
50
+
51
+    @Schema(description = "库区编码")
52
+    private String kqbm;
53
+
54
+    @Schema(description = "库区地址-省")
55
+    private String sheng;
56
+
57
+    private Long userId;
58
+    /**
59
+     * 用户账号
60
+     */
61
+    private String username;
62
+    /**
63
+     * 加密后的密码
64
+     *
65
+     * 因为目前使用 {@link BCryptPasswordEncoder} 加密器,所以无需自己处理 salt 盐
66
+     */
67
+    private String password;
46
 }
68
 }

+ 6 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/controller/admin/task/vo/TaskRespVO.java

@@ -51,4 +51,10 @@ public class TaskRespVO {
51
     @Schema(description = "核验数量")
51
     @Schema(description = "核验数量")
52
     private Integer hyNum;
52
     private Integer hyNum;
53
 
53
 
54
+    @Schema(description = "社会信用代码")
55
+    private String shxydm;
56
+
57
+    @Schema(description = "库区编码")
58
+    private String kqbm;
59
+
54
 }
60
 }

+ 8 - 2
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/dal/dataobject/dk/DkDO.java

@@ -1,19 +1,23 @@
1
 package com.unis.module.coding.dal.dataobject.dk;
1
 package com.unis.module.coding.dal.dataobject.dk;
2
 
2
 
3
 import com.baomidou.mybatisplus.annotation.KeySequence;
3
 import com.baomidou.mybatisplus.annotation.KeySequence;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import com.baomidou.mybatisplus.annotation.TableName;
6
 import com.baomidou.mybatisplus.annotation.TableName;
6
 import com.unis.framework.mybatis.core.dataobject.BaseDO;
7
 import com.unis.framework.mybatis.core.dataobject.BaseDO;
8
+import com.unis.framework.mybatis.core.type.LongListTypeHandler;
9
+import io.swagger.v3.oas.annotations.media.Schema;
7
 import lombok.*;
10
 import lombok.*;
8
 
11
 
9
 import java.time.LocalDateTime;
12
 import java.time.LocalDateTime;
13
+import java.util.List;
10
 
14
 
11
 /**
15
 /**
12
  * 打卡信息 DO
16
  * 打卡信息 DO
13
  *
17
  *
14
  * @author 超级管理员
18
  * @author 超级管理员
15
  */
19
  */
16
-@TableName("delivery_dk")
20
+@TableName(value = "delivery_dk",autoResultMap = true)
17
 @KeySequence("delivery_dk_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
21
 @KeySequence("delivery_dk_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
18
 @Data
22
 @Data
19
 @EqualsAndHashCode(callSuper = true)
23
 @EqualsAndHashCode(callSuper = true)
@@ -47,7 +51,9 @@ public class DkDO extends BaseDO {
47
     /**
51
     /**
48
      * 拍照信息多个逗号分隔','(INFRA_FILE.ID)
52
      * 拍照信息多个逗号分隔','(INFRA_FILE.ID)
49
      */
53
      */
50
-    private String pzxx;
54
+    @TableField(typeHandler = LongListTypeHandler.class)
55
+    @Schema(description = "拍照信息多个逗号分隔','(INFRA_FILE.ID)")
56
+    private List<Long> pzxx;
51
     /** 打卡类型:1:省核验人,2:银行核验人 */
57
     /** 打卡类型:1:省核验人,2:银行核验人 */
52
     private Integer dkType;
58
     private Integer dkType;
53
 
59
 

+ 19 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/dal/dataobject/spxx/SpxxDO.java

@@ -52,5 +52,24 @@ public class SpxxDO {
52
      * 是否在线
52
      * 是否在线
53
      */
53
      */
54
     private Integer sfzx;
54
     private Integer sfzx;
55
+    /**
56
+     * 监控点类型
57
+     */
58
+    private Integer jkdlx;
59
+    /**
60
+     * 所属区域路径
61
+     */
62
+    private String ssqylj;
63
+    /**
64
+     * 区域路径名称
65
+     */
66
+    private String qyljmc;
67
+    /**
68
+     * 所属区域路径名称
69
+     */
70
+    private String ssqyljmc;
71
+
72
+
73
+
55
 
74
 
56
 }
75
 }

+ 12 - 0
delivery-module-core/delivery-module-core-biz/src/main/java/com/unis/module/coding/service/task/TaskServiceImpl.java

@@ -32,6 +32,7 @@ import com.unis.module.core.enums.ErrorCodeConstants;
32
 import com.unis.module.core.enums.project.DeliveryHyState;
32
 import com.unis.module.core.enums.project.DeliveryHyState;
33
 import com.unis.module.system.api.permission.PermissionApi;
33
 import com.unis.module.system.api.permission.PermissionApi;
34
 import com.unis.module.system.enums.permission.RoleCodeEnum;
34
 import com.unis.module.system.enums.permission.RoleCodeEnum;
35
+import com.unis.module.system.service.user.AdminUserService;
35
 import lombok.extern.slf4j.Slf4j;
36
 import lombok.extern.slf4j.Slf4j;
36
 import org.jetbrains.annotations.NotNull;
37
 import org.jetbrains.annotations.NotNull;
37
 import org.springframework.stereotype.Service;
38
 import org.springframework.stereotype.Service;
@@ -77,6 +78,8 @@ public class TaskServiceImpl implements TaskService {
77
     private BankMapper bankMapper;
78
     private BankMapper bankMapper;
78
     @Resource
79
     @Resource
79
     private UsersMapper usersMapper;
80
     private UsersMapper usersMapper;
81
+    @Resource
82
+    private AdminUserService userService;
80
 
83
 
81
     @Override
84
     @Override
82
     public IPage<TaskRespVO> getTaskList(TaskPageReqVO pageReqVO) {
85
     public IPage<TaskRespVO> getTaskList(TaskPageReqVO pageReqVO) {
@@ -210,6 +213,7 @@ public class TaskServiceImpl implements TaskService {
210
 
213
 
211
         if(ObjectUtils.isNotEmpty(kqxxDO)) {
214
         if(ObjectUtils.isNotEmpty(kqxxDO)) {
212
 
215
 
216
+            //单位信息
213
             DwxxDO dwxxDO = dwxxMapper.selectById(kqxxDO.getDwid());
217
             DwxxDO dwxxDO = dwxxMapper.selectById(kqxxDO.getDwid());
214
 
218
 
215
             TaskKqxxRespVO kqxx = BeanUtils.toBean(kqxxDO, TaskKqxxRespVO.class);
219
             TaskKqxxRespVO kqxx = BeanUtils.toBean(kqxxDO, TaskKqxxRespVO.class);
@@ -218,6 +222,14 @@ public class TaskServiceImpl implements TaskService {
218
             kqxx.setQyxz(dwxxDO.getQyxz());
222
             kqxx.setQyxz(dwxxDO.getQyxz());
219
             kqxx.setJd(dwxxDO.getJd());
223
             kqxx.setJd(dwxxDO.getJd());
220
             kqxx.setWd(dwxxDO.getWd());
224
             kqxx.setWd(dwxxDO.getWd());
225
+
226
+            // 账号信息
227
+//            AdminUserDO user = userService.getUserByKqbm(kqxxDO.getKqbm());
228
+//            if(ObjectUtils.isNotEmpty(user)){
229
+//                kqxx.setUserId(user.getId());
230
+//                kqxx.setUsername(user.getUsername());
231
+//                kqxx.setPassword(user.getPassword());
232
+//            }
221
             return kqxx;
233
             return kqxx;
222
         }
234
         }
223
 
235
 

+ 8 - 6
delivery-module-core/delivery-module-core-biz/src/main/resources/mapper/dk/DkMapper.xml

@@ -13,13 +13,15 @@
13
             dp.HYRY_ID ,
13
             dp.HYRY_ID ,
14
             dp.HYRY_NAME ,
14
             dp.HYRY_NAME ,
15
             dp.HY_STATE ,
15
             dp.HY_STATE ,
16
+            dk.SHXYDM ,
17
+            dk.KQBM ,
16
             COUNT(distinct dc.ID) AS HY_NUM
18
             COUNT(distinct dc.ID) AS HY_NUM
17
         FROM
19
         FROM
18
             ${pageReqVO.tableName} dp
20
             ${pageReqVO.tableName} dp
21
+        LEFT JOIN DELIVERY_CAXX dc ON dp.CA_ID = dc.ID
19
         LEFT JOIN DELIVERY_KQXX dk ON dp.KQ_ID = dk.ID
22
         LEFT JOIN DELIVERY_KQXX dk ON dp.KQ_ID = dk.ID
20
-        LEFT JOIN DELIVERY_CAXX dc ON dk.ID = dc.KQID AND dc.DELETED = 0
21
         WHERE
23
         WHERE
22
-            dk.DELETED = 0 AND dk.SFZX = 0 and dp.DELETED = 0
24
+            dk.DELETED = 0 AND dk.SFZX = 0 and dp.DELETED = 0 AND dc.DELETED = 0
23
         <if test="pageReqVO.sheng != null and pageReqVO.sheng != ''">
25
         <if test="pageReqVO.sheng != null and pageReqVO.sheng != ''">
24
             AND dk.SHENG = #{pageReqVO.sheng}
26
             AND dk.SHENG = #{pageReqVO.sheng}
25
         </if>
27
         </if>
@@ -60,9 +62,9 @@
60
         COUNT(distinct dc.ID) AS HY_NUM
62
         COUNT(distinct dc.ID) AS HY_NUM
61
         FROM
63
         FROM
62
         DELIVERY_USERS du
64
         DELIVERY_USERS du
65
+        LEFT JOIN DELIVERY_CAXX dc ON du.CA_ID = dc.ID
63
         LEFT JOIN DELIVERY_KQXX dk ON du.KQ_ID = dk.ID
66
         LEFT JOIN DELIVERY_KQXX dk ON du.KQ_ID = dk.ID
64
-        LEFT JOIN DELIVERY_CAXX dc ON dk.ID = dc.KQID AND dc.DELETED = 0
65
-        WHERE dk.DELETED = 0 AND dk.SFZX = 0 and du.DELETED = 0
67
+        WHERE dk.DELETED = 0 AND dk.SFZX = 0 and du.DELETED = 0 AND dc.DELETED = 0
66
             <if test="pageReqVO.sheng != null and pageReqVO.sheng != ''">
68
             <if test="pageReqVO.sheng != null and pageReqVO.sheng != ''">
67
                 AND dk.SHENG = #{pageReqVO.sheng}
69
                 AND dk.SHENG = #{pageReqVO.sheng}
68
             </if>
70
             </if>
@@ -94,8 +96,8 @@
94
         COUNT(distinct dc.ID) AS HY_NUM
96
         COUNT(distinct dc.ID) AS HY_NUM
95
         FROM
97
         FROM
96
         DELIVERY_BANK dp
98
         DELIVERY_BANK dp
99
+        LEFT JOIN DELIVERY_CAXX dc ON dp.CA_ID = dc.ID
97
         LEFT JOIN DELIVERY_KQXX dk ON dp.KQ_ID = dk.ID
100
         LEFT JOIN DELIVERY_KQXX dk ON dp.KQ_ID = dk.ID
98
-        LEFT JOIN DELIVERY_CAXX dc ON dk.ID = dc.KQID
99
         LEFT JOIN DELIVERY_USERS du ON dc.ID = du.CA_ID AND du.DELETED = 0
101
         LEFT JOIN DELIVERY_USERS du ON dc.ID = du.CA_ID AND du.DELETED = 0
100
         WHERE
102
         WHERE
101
         dk.DELETED = 0 AND dk.SFZX = 0 and dp.DELETED = 0 AND dc.DELETED = 0
103
         dk.DELETED = 0 AND dk.SFZX = 0 and dp.DELETED = 0 AND dc.DELETED = 0
@@ -143,7 +145,7 @@
143
         FROM
145
         FROM
144
             DELIVERY_KQXX dk
146
             DELIVERY_KQXX dk
145
         LEFT JOIN DELIVERY_CAXX dc ON dk.ID = dc.KQID
147
         LEFT JOIN DELIVERY_CAXX dc ON dk.ID = dc.KQID
146
-        left join DELIVERY_BANK db on dk.ID = db.KQ_ID and db.deleted = 0
148
+        left join DELIVERY_BANK db on DC.ID = db.CA_ID and db.deleted = 0
147
         LEFT JOIN DELIVERY_USERS du ON dc.ID = du.CA_ID and du.deleted = 0
149
         LEFT JOIN DELIVERY_USERS du ON dc.ID = du.CA_ID and du.deleted = 0
148
         WHERE
150
         WHERE
149
             dk.DELETED =0 AND dc.DELETED = 0 AND dk.SFZX = 0
151
             dk.DELETED =0 AND dc.DELETED = 0 AND dk.SFZX = 0

+ 1 - 1
delivery-module-core/delivery-module-core-biz/src/main/resources/mapper/kshzs/KshzsMapper.xml

@@ -35,7 +35,7 @@
35
     </select>
35
     </select>
36
 
36
 
37
     <select id="selectSpList" parameterType="com.unis.module.coding.controller.admin.kshzs.vo.paramVo" resultType="map">
37
     <select id="selectSpList" parameterType="com.unis.module.coding.controller.admin.kshzs.vo.paramVo" resultType="map">
38
-        select jkdbm,jkdmc,url from DELIVERY_SPXX;
38
+        select jkdbm,jkdmc,url from DELIVERY_SPXX
39
         <where>
39
         <where>
40
             <if test="kqdm!= null and kqdm!= ''">
40
             <if test="kqdm!= null and kqdm!= ''">
41
                 and kqdm = #{kqdm}
41
                 and kqdm = #{kqdm}

+ 2 - 2
delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/controller/admin/arealevel/AreaLevelController.java

@@ -77,7 +77,7 @@ public class AreaLevelController {
77
     @Operation(summary = "获得行政区划")
77
     @Operation(summary = "获得行政区划")
78
     @Parameter(name = "id", description = "编号", required = true, example = "1024")
78
     @Parameter(name = "id", description = "编号", required = true, example = "1024")
79
     @PreAuthorize("@ss.hasPermission('system:area-level:query')")
79
     @PreAuthorize("@ss.hasPermission('system:area-level:query')")
80
-    public CommonResult<AreaLevelRespVO> getAreaLevel(@RequestParam("id") Integer id) {
80
+    public CommonResult<AreaLevelRespVO> getAreaLevel(@RequestParam("id") Long id) {
81
         AreaLevelDO areaLevel = areaLevelService.getAreaLevel(id);
81
         AreaLevelDO areaLevel = areaLevelService.getAreaLevel(id);
82
         return success(BeanUtils.toBean(areaLevel, AreaLevelRespVO.class));
82
         return success(BeanUtils.toBean(areaLevel, AreaLevelRespVO.class));
83
     }
83
     }
@@ -146,7 +146,7 @@ public class AreaLevelController {
146
             return error(400, "无此用户");
146
             return error(400, "无此用户");
147
         }
147
         }
148
 
148
 
149
-        return success(areaLevelService.getLoginUserXzqhConcise(user.getAreaCode(),user));
149
+        return success(areaLevelService.getLoginUserXzqhConcise(user.getAreaCode()));
150
 
150
 
151
     }
151
     }
152
 
152
 

+ 22 - 0
delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java

@@ -50,6 +50,28 @@ public class AuthPermissionInfoRespVO {
50
         @Schema(description = "行政区域编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
50
         @Schema(description = "行政区域编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
51
         private String uCode;
51
         private String uCode;
52
 
52
 
53
+
54
+        /**行政区域编码(已选择)*/
55
+        private String areaCode;
56
+
57
+        /**行政区域等级 1-省 2-市 3-区县 4-街道镇 5-村*/
58
+        private Integer areaLevel;
59
+
60
+        /**行政区域编码(省)*/
61
+        private String shengCode;
62
+
63
+        /**行政区域编码(市)*/
64
+        private String shiCode;
65
+
66
+        /**行政区域编码(区县)*/
67
+        private String xianCode;
68
+
69
+        /**银行类型*/
70
+        private String bankType;
71
+
72
+        /**库区编码,库区角色非空(CODING_FMXX.KQDM)*/
73
+        private String kqbm;
74
+
53
     }
75
     }
54
 
76
 
55
     @Schema(description = "管理后台 - 登录用户的菜单信息 Response VO")
77
     @Schema(description = "管理后台 - 登录用户的菜单信息 Response VO")

+ 38 - 2
delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/controller/admin/user/UserController.java

@@ -1,17 +1,22 @@
1
 package com.unis.module.system.controller.admin.user;
1
 package com.unis.module.system.controller.admin.user;
2
 
2
 
3
 import cn.hutool.core.collection.CollUtil;
3
 import cn.hutool.core.collection.CollUtil;
4
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
5
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
4
 import com.unis.framework.apilog.core.annotation.ApiAccessLog;
6
 import com.unis.framework.apilog.core.annotation.ApiAccessLog;
5
 import com.unis.framework.common.enums.CommonStatusEnum;
7
 import com.unis.framework.common.enums.CommonStatusEnum;
6
 import com.unis.framework.common.pojo.CommonResult;
8
 import com.unis.framework.common.pojo.CommonResult;
7
 import com.unis.framework.common.pojo.PageParam;
9
 import com.unis.framework.common.pojo.PageParam;
8
 import com.unis.framework.common.pojo.PageResult;
10
 import com.unis.framework.common.pojo.PageResult;
9
 import com.unis.framework.excel.core.util.ExcelUtils;
11
 import com.unis.framework.excel.core.util.ExcelUtils;
12
+import com.unis.framework.security.core.LoginUser;
13
+import com.unis.framework.security.core.util.SecurityFrameworkUtils;
10
 import com.unis.module.system.controller.admin.user.vo.user.*;
14
 import com.unis.module.system.controller.admin.user.vo.user.*;
11
 import com.unis.module.system.convert.user.UserConvert;
15
 import com.unis.module.system.convert.user.UserConvert;
12
 import com.unis.module.system.dal.dataobject.dept.DeptDO;
16
 import com.unis.module.system.dal.dataobject.dept.DeptDO;
13
 import com.unis.module.system.dal.dataobject.user.AdminUserDO;
17
 import com.unis.module.system.dal.dataobject.user.AdminUserDO;
14
 import com.unis.module.system.enums.common.SexEnum;
18
 import com.unis.module.system.enums.common.SexEnum;
19
+import com.unis.module.system.enums.permission.RoleIdEnum;
15
 import com.unis.module.system.service.dept.DeptService;
20
 import com.unis.module.system.service.dept.DeptService;
16
 import com.unis.module.system.service.permission.RoleService;
21
 import com.unis.module.system.service.permission.RoleService;
17
 import com.unis.module.system.service.user.AdminUserService;
22
 import com.unis.module.system.service.user.AdminUserService;
@@ -28,12 +33,17 @@ import javax.annotation.Resource;
28
 import javax.servlet.http.HttpServletResponse;
33
 import javax.servlet.http.HttpServletResponse;
29
 import javax.validation.Valid;
34
 import javax.validation.Valid;
30
 import java.io.IOException;
35
 import java.io.IOException;
31
-import java.util.*;
36
+import java.util.Arrays;
37
+import java.util.List;
38
+import java.util.Map;
39
+import java.util.Set;
32
 
40
 
33
 import static com.unis.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
41
 import static com.unis.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
42
+import static com.unis.framework.common.exception.util.ServiceExceptionUtil.exception;
34
 import static com.unis.framework.common.pojo.CommonResult.error;
43
 import static com.unis.framework.common.pojo.CommonResult.error;
35
 import static com.unis.framework.common.pojo.CommonResult.success;
44
 import static com.unis.framework.common.pojo.CommonResult.success;
36
 import static com.unis.framework.common.util.collection.CollectionUtils.convertList;
45
 import static com.unis.framework.common.util.collection.CollectionUtils.convertList;
46
+import static com.unis.module.infra.enums.ErrorCodeConstants.ERROR;
37
 
47
 
38
 @Tag(name = "管理后台 - 用户")
48
 @Tag(name = "管理后台 - 用户")
39
 @RestController
49
 @RestController
@@ -67,7 +77,26 @@ public class UserController {
67
                 && (reqVO.getBankType() == null || reqVO.getBankType().isEmpty())) {
77
                 && (reqVO.getBankType() == null || reqVO.getBankType().isEmpty())) {
68
             return error(400, "请选择银行类型");
78
             return error(400, "请选择银行类型");
69
         }
79
         }
70
-
80
+        LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
81
+        if (ObjectUtils.isEmpty(loginUser)) {
82
+            throw exception(ERROR, "不存在用户信息");
83
+        }
84
+        String roles = loginUser.getInfo().get("roleIds");
85
+        if (ObjectUtils.isEmpty(roles)) {
86
+            throw exception(ERROR, "当前用户不存在角色信息");
87
+        }
88
+        if (roles.contains("[") && roles.contains("]")) {
89
+            String roleIdsReal = roles.substring(1, roles.length() - 1);
90
+            String[] items = roleIdsReal.split(",");
91
+            List<String> roleIdList = Arrays.asList(items);
92
+            if (roleIdList.contains(RoleIdEnum.BANK_ADMIN.getRoleId())) {
93
+                String bankType = loginUser.getInfo().get("bankType");
94
+                if (StringUtils.isBlank(bankType)) {
95
+                    throw exception(ERROR, "当前银行用户不存在银行信息");
96
+                }
97
+                reqVO.setBankType(bankType);
98
+            }
99
+        }
71
         Long id = userService.createUser(reqVO);
100
         Long id = userService.createUser(reqVO);
72
         return success(id);
101
         return success(id);
73
     }
102
     }
@@ -198,4 +227,11 @@ public class UserController {
198
         return success(userService.importUserList(list, updateSupport));
227
         return success(userService.importUserList(list, updateSupport));
199
     }
228
     }
200
 
229
 
230
+    @PostMapping("/createUserForKq")
231
+    @Operation(summary = "新增用户")
232
+    public CommonResult<Long> createUserForKq(@Valid @RequestBody UserSaveReqVO reqVO) {
233
+
234
+        Long id = userService.createUser(reqVO);
235
+        return success(id);
236
+    }
201
 }
237
 }

+ 5 - 4
delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/controller/admin/user/vo/user/UserSaveReqVO.java

@@ -1,17 +1,15 @@
1
 package com.unis.module.system.controller.admin.user.vo.user;
1
 package com.unis.module.system.controller.admin.user.vo.user;
2
 
2
 
3
 import cn.hutool.core.util.ObjectUtil;
3
 import cn.hutool.core.util.ObjectUtil;
4
+import com.fasterxml.jackson.annotation.JsonIgnore;
4
 import com.fasterxml.jackson.annotation.JsonProperty;
5
 import com.fasterxml.jackson.annotation.JsonProperty;
6
+import com.mzt.logapi.starter.annotation.DiffLogField;
5
 import com.unis.framework.common.validation.Mobile;
7
 import com.unis.framework.common.validation.Mobile;
6
 import com.unis.module.system.framework.operatelog.core.DeptParseFunction;
8
 import com.unis.module.system.framework.operatelog.core.DeptParseFunction;
7
 import com.unis.module.system.framework.operatelog.core.PostParseFunction;
9
 import com.unis.module.system.framework.operatelog.core.PostParseFunction;
8
 import com.unis.module.system.framework.operatelog.core.SexParseFunction;
10
 import com.unis.module.system.framework.operatelog.core.SexParseFunction;
9
-import com.fasterxml.jackson.annotation.JsonIgnore;
10
-import com.mzt.logapi.starter.annotation.DiffLogField;
11
 import io.swagger.v3.oas.annotations.media.Schema;
11
 import io.swagger.v3.oas.annotations.media.Schema;
12
 import lombok.Data;
12
 import lombok.Data;
13
-import lombok.Getter;
14
-import lombok.Setter;
15
 import org.hibernate.validator.constraints.Length;
13
 import org.hibernate.validator.constraints.Length;
16
 
14
 
17
 import javax.validation.constraints.*;
15
 import javax.validation.constraints.*;
@@ -119,6 +117,9 @@ public class UserSaveReqVO implements Serializable {
119
     @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
117
     @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
120
     private String password;
118
     private String password;
121
 
119
 
120
+    @Schema(description = "库区编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
121
+    private String kqbm;
122
+
122
     @AssertTrue(message = "密码不能为空")
123
     @AssertTrue(message = "密码不能为空")
123
     @JsonIgnore
124
     @JsonIgnore
124
     public boolean isPasswordValid() {
125
     public boolean isPasswordValid() {

+ 3 - 0
delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/dal/mysql/user/AdminUserMapper.java

@@ -49,4 +49,7 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
49
         return selectList(AdminUserDO::getDeptId, deptIds);
49
         return selectList(AdminUserDO::getDeptId, deptIds);
50
     }
50
     }
51
 
51
 
52
+    default AdminUserDO getUserByKqbm(String kqbm){
53
+        return selectOne(AdminUserDO::getKqbm, kqbm);
54
+    }
52
 }
55
 }

+ 2 - 2
delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/service/arealevel/AreaLevelService.java

@@ -45,7 +45,7 @@ public interface AreaLevelService {
45
      * @return 行政区划
45
      * @return 行政区划
46
      */
46
      */
47
 
47
 
48
-    AreaLevelDO getAreaLevel(Integer id);
48
+    AreaLevelDO getAreaLevel(Long id);
49
 
49
 
50
 
50
 
51
     /**
51
     /**
@@ -68,5 +68,5 @@ public interface AreaLevelService {
68
     List<AreaLevelDO> getAreaListByParentCode(String parentCode);
68
     List<AreaLevelDO> getAreaListByParentCode(String parentCode);
69
 
69
 
70
     List<AreaLevelDO> getAreaLevelListAll(AdminUserDO user);
70
     List<AreaLevelDO> getAreaLevelListAll(AdminUserDO user);
71
-    List<AreaLevelDO> getLoginUserXzqhConcise(String areaCode,AdminUserDO user);
71
+    List<AreaLevelDO> getLoginUserXzqhConcise(String areaCode);
72
 }
72
 }

+ 170 - 46
delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/service/arealevel/AreaLevelServiceImpl.java

@@ -6,6 +6,7 @@ import com.unis.framework.security.core.LoginUser;
6
 import com.unis.framework.security.core.util.SecurityFrameworkUtils;
6
 import com.unis.framework.security.core.util.SecurityFrameworkUtils;
7
 import com.unis.module.system.dal.dataobject.user.AdminUserDO;
7
 import com.unis.module.system.dal.dataobject.user.AdminUserDO;
8
 import lombok.extern.slf4j.Slf4j;
8
 import lombok.extern.slf4j.Slf4j;
9
+import org.springframework.data.redis.core.RedisTemplate;
9
 import org.springframework.stereotype.Service;
10
 import org.springframework.stereotype.Service;
10
 
11
 
11
 import javax.annotation.Resource;
12
 import javax.annotation.Resource;
@@ -14,6 +15,7 @@ import org.springframework.validation.annotation.Validated;
14
 import org.springframework.transaction.annotation.Transactional;
15
 import org.springframework.transaction.annotation.Transactional;
15
 
16
 
16
 import java.util.*;
17
 import java.util.*;
18
+import java.util.stream.Collectors;
17
 
19
 
18
 import com.unis.module.system.controller.admin.arealevel.vo.*;
20
 import com.unis.module.system.controller.admin.arealevel.vo.*;
19
 import com.unis.module.system.dal.dataobject.arealevel.AreaLevelDO;
21
 import com.unis.module.system.dal.dataobject.arealevel.AreaLevelDO;
@@ -39,31 +41,97 @@ public class AreaLevelServiceImpl implements AreaLevelService {
39
     @Resource
41
     @Resource
40
     private AreaLevelMapper areaLevelMapper;
42
     private AreaLevelMapper areaLevelMapper;
41
 
43
 
44
+    @Resource
45
+    private RedisTemplate<String, Object> redisTemplate;
46
+
47
+    private static final String ALL_AREA_LEVEL_KEY = "all_area_levels";
48
+
42
     @Override
49
     @Override
50
+    @Transactional(rollbackFor = Exception.class)
43
     public Long createAreaLevel(AreaLevelSaveReqVO createReqVO) {
51
     public Long createAreaLevel(AreaLevelSaveReqVO createReqVO) {
44
-        // 插入
45
-        AreaLevelDO areaLevel = BeanUtils.toBean(createReqVO, AreaLevelDO.class);
46
-        areaLevel.setId(YitIdHelper.nextId());
47
-        areaLevelMapper.insert(areaLevel);
48
-        // 返回
49
-        return areaLevel.getId();
52
+        try {
53
+            // 插入
54
+            AreaLevelDO areaLevel = BeanUtils.toBean(createReqVO, AreaLevelDO.class);
55
+            areaLevel.setId(YitIdHelper.nextId());
56
+            areaLevelMapper.insert(areaLevel);
57
+
58
+            // 删除缓存
59
+            redisTemplate.delete(ALL_AREA_LEVEL_KEY);
60
+
61
+            // 重新获取并设置缓存
62
+            List<AreaLevelDO> allAreaLevels = areaLevelMapper.selectList();
63
+            // 将数据存入 Redis,设置过期时间为不过期
64
+            AreaLevelDO areaLevelDO = new AreaLevelDO();
65
+            areaLevelDO.setAreaLevel(0);
66
+            areaLevelDO.setAreaCode("0");
67
+            areaLevelDO.setAreaName("国家粮食交易中心");
68
+            areaLevelDO.setId(0L);
69
+            allAreaLevels.add(areaLevelDO);
70
+            redisTemplate.opsForValue().set(ALL_AREA_LEVEL_KEY, allAreaLevels);
71
+
72
+            // 返回
73
+            return areaLevel.getId();
74
+        } catch (Exception e) {
75
+            // 发生异常时回滚数据库事务
76
+            throw e;
77
+        }
50
     }
78
     }
51
 
79
 
52
     @Override
80
     @Override
81
+    @Transactional(rollbackFor = Exception.class)
53
     public void updateAreaLevel(AreaLevelSaveReqVO updateReqVO) {
82
     public void updateAreaLevel(AreaLevelSaveReqVO updateReqVO) {
54
-        // 校验存在
55
-        validateAreaLevelExists(updateReqVO.getId());
56
-        // 更新
57
-        AreaLevelDO updateObj = BeanUtils.toBean(updateReqVO, AreaLevelDO.class);
58
-        areaLevelMapper.updateById(updateObj);
83
+        try {
84
+            // 校验存在
85
+            validateAreaLevelExists(updateReqVO.getId());
86
+            // 更新
87
+            AreaLevelDO updateObj = BeanUtils.toBean(updateReqVO, AreaLevelDO.class);
88
+            areaLevelMapper.updateById(updateObj);
89
+
90
+            // 删除缓存
91
+            redisTemplate.delete(ALL_AREA_LEVEL_KEY);
92
+
93
+            // 重新获取并设置缓存
94
+            List<AreaLevelDO> allAreaLevels = areaLevelMapper.selectList();
95
+            // 将数据存入 Redis,设置过期时间为不过期
96
+            AreaLevelDO areaLevelDO = new AreaLevelDO();
97
+            areaLevelDO.setAreaLevel(0);
98
+            areaLevelDO.setAreaCode("0");
99
+            areaLevelDO.setAreaName("国家粮食交易中心");
100
+            areaLevelDO.setId(0L);
101
+            allAreaLevels.add(areaLevelDO);
102
+            redisTemplate.opsForValue().set(ALL_AREA_LEVEL_KEY, allAreaLevels);
103
+        } catch (Exception e) {
104
+            // 发生异常时回滚数据库事务
105
+            throw e;
106
+        }
59
     }
107
     }
60
 
108
 
61
     @Override
109
     @Override
110
+    @Transactional(rollbackFor = Exception.class)
62
     public void deleteAreaLevel(Long id) {
111
     public void deleteAreaLevel(Long id) {
63
-        // 校验存在
64
-        validateAreaLevelExists(id);
65
-        // 删除
66
-        areaLevelMapper.deleteById(id);
112
+        try {
113
+            // 校验存在
114
+            validateAreaLevelExists(id);
115
+            // 删除
116
+            areaLevelMapper.deleteById(id);
117
+
118
+            // 删除缓存
119
+            redisTemplate.delete(ALL_AREA_LEVEL_KEY);
120
+
121
+            // 重新获取并设置缓存
122
+            List<AreaLevelDO> allAreaLevels = areaLevelMapper.selectList();
123
+            // 将数据存入 Redis,设置过期时间为不过期
124
+            AreaLevelDO areaLevelDO = new AreaLevelDO();
125
+            areaLevelDO.setAreaLevel(0);
126
+            areaLevelDO.setAreaCode("0");
127
+            areaLevelDO.setAreaName("国家粮食交易中心");
128
+            areaLevelDO.setId(0L);
129
+            allAreaLevels.add(areaLevelDO);
130
+            redisTemplate.opsForValue().set(ALL_AREA_LEVEL_KEY, allAreaLevels);
131
+        } catch (Exception e) {
132
+            // 发生异常时回滚数据库事务
133
+            throw e;
134
+        }
67
     }
135
     }
68
 
136
 
69
     private void validateAreaLevelExists(Long id) {
137
     private void validateAreaLevelExists(Long id) {
@@ -73,77 +141,133 @@ public class AreaLevelServiceImpl implements AreaLevelService {
73
     }
141
     }
74
 
142
 
75
     @Override
143
     @Override
76
-    public AreaLevelDO getAreaLevel(Integer id) {
77
-        return areaLevelMapper.selectById(id);
144
+    public AreaLevelDO getAreaLevel(Long id) {
145
+        AreaLevelDO resp = new AreaLevelDO();
146
+
147
+        List<AreaLevelDO> allAreaLevels = (List<AreaLevelDO>) redisTemplate.opsForValue().get(ALL_AREA_LEVEL_KEY);
148
+        if (allAreaLevels != null) {
149
+            for (AreaLevelDO allAreaLevel : allAreaLevels) {
150
+                if (Objects.equals(id, allAreaLevel.getId())) {
151
+                    resp = allAreaLevel;
152
+                    break;
153
+                }
154
+            }
155
+        }else {
156
+            resp = areaLevelMapper.selectById(id);
157
+        }
158
+        return resp;
78
     }
159
     }
79
 
160
 
80
     @Override
161
     @Override
81
     public List<AreaLevelDO> getAreaShengLevel() {
162
     public List<AreaLevelDO> getAreaShengLevel() {
82
-        return areaLevelMapper.selectShengLevel();
163
+        List<AreaLevelDO> respList;
164
+
165
+        List<AreaLevelDO> allAreaLevels = (List<AreaLevelDO>) redisTemplate.opsForValue().get(ALL_AREA_LEVEL_KEY);
166
+        if (allAreaLevels != null) {
167
+            respList = allAreaLevels.stream().filter(areaLevelDO -> areaLevelDO.getAreaLevel() == 1).collect(Collectors.toList());
168
+        }else {
169
+            respList = areaLevelMapper.selectShengLevel();
170
+        }
171
+        return respList;
83
 
172
 
84
     }
173
     }
85
 
174
 
86
     @Override
175
     @Override
87
     public List<AreaLevelDO> getAreaListByParentCode(String parentCode) {
176
     public List<AreaLevelDO> getAreaListByParentCode(String parentCode) {
88
-        return areaLevelMapper.selectListByParentCode(parentCode);
177
+        List<AreaLevelDO> respList;
178
+
179
+        List<AreaLevelDO> allAreaLevels = (List<AreaLevelDO>) redisTemplate.opsForValue().get(ALL_AREA_LEVEL_KEY);
180
+        if (allAreaLevels != null) {
181
+            respList = allAreaLevels.stream().filter(areaLevelDO -> parentCode.equals(areaLevelDO.getParentCode())).collect(Collectors.toList());
182
+        }else {
183
+            respList = areaLevelMapper.selectListByParentCode(parentCode);
184
+        }
185
+        return respList;
89
     }
186
     }
90
 
187
 
91
     @Override
188
     @Override
92
     public List<AreaLevelDO> getAreaLevelListAll(AdminUserDO user) {
189
     public List<AreaLevelDO> getAreaLevelListAll(AdminUserDO user) {
93
-        log.info("user: {}", user);
94
-        //国家局或者管理员
95
-        if (ObjectUtil.isEmpty(user.getAreaLevel()) || user.getAreaLevel() == 0) {
190
+        // 尝试从 Redis 中获取所有行政区划数据
191
+        List<AreaLevelDO> allAreaLevels = (List<AreaLevelDO>) redisTemplate.opsForValue().get(ALL_AREA_LEVEL_KEY);
192
+        if (allAreaLevels == null) {
193
+            // 如果 Redis 中没有数据,则从数据库中获取
194
+            allAreaLevels = areaLevelMapper.selectList();
195
+            // 将数据存入 Redis,设置过期时间为不过期
96
             AreaLevelDO areaLevelDO = new AreaLevelDO();
196
             AreaLevelDO areaLevelDO = new AreaLevelDO();
97
             areaLevelDO.setAreaLevel(0);
197
             areaLevelDO.setAreaLevel(0);
98
             areaLevelDO.setAreaCode("0");
198
             areaLevelDO.setAreaCode("0");
99
             areaLevelDO.setAreaName("国家粮食交易中心");
199
             areaLevelDO.setAreaName("国家粮食交易中心");
100
             areaLevelDO.setId(0L);
200
             areaLevelDO.setId(0L);
101
-            List<AreaLevelDO> temp = areaLevelMapper.selectList();
102
-            temp.add(areaLevelDO);
103
-            return  temp;
201
+            allAreaLevels.add(areaLevelDO);
202
+            redisTemplate.opsForValue().set(ALL_AREA_LEVEL_KEY, allAreaLevels);
203
+        }
104
 
204
 
205
+        // 国家局或者管理员
206
+        if (ObjectUtil.isEmpty(user.getAreaLevel()) || user.getAreaLevel() == 0) {
207
+            return allAreaLevels;
105
         }
208
         }
106
         // 省一级用户
209
         // 省一级用户
107
         else if (user.getAreaLevel() == 1) {
210
         else if (user.getAreaLevel() == 1) {
108
-            AreaLevelDO areaLevelDO = areaLevelMapper.selectListByAreaCode(user.getAreaCode());
109
-            List<AreaLevelDO> temp = getSubAreasRecursively(user.getAreaCode());
110
-            temp.add(areaLevelDO);
211
+            AreaLevelDO areaLevelDO = getAreaLevelFromList(allAreaLevels, user.getAreaCode());
212
+            List<AreaLevelDO> temp = getSubAreasRecursivelyFromList(allAreaLevels, user.getAreaCode());
213
+            if (areaLevelDO != null) {
214
+                temp.add(areaLevelDO);
215
+            }
111
             return temp;
216
             return temp;
112
         }
217
         }
113
         // 市一级用户
218
         // 市一级用户
114
         else if (user.getAreaLevel() == 2) {
219
         else if (user.getAreaLevel() == 2) {
115
-            AreaLevelDO areaLevelDO = areaLevelMapper.selectListByAreaCode(user.getAreaCode());
116
-            List<AreaLevelDO> temp = getSubAreasRecursively(user.getAreaCode());
117
-            temp.add(areaLevelDO);
220
+            AreaLevelDO areaLevelDO = getAreaLevelFromList(allAreaLevels, user.getAreaCode());
221
+            List<AreaLevelDO> temp = getSubAreasRecursivelyFromList(allAreaLevels, user.getAreaCode());
222
+            if (areaLevelDO != null) {
223
+                temp.add(areaLevelDO);
224
+            }
118
             return temp;
225
             return temp;
119
         }
226
         }
120
         // 县一级用户
227
         // 县一级用户
121
         else if (user.getAreaLevel() == 3) {
228
         else if (user.getAreaLevel() == 3) {
122
             // 县级是最低级别,只返回自身
229
             // 县级是最低级别,只返回自身
123
-            AreaLevelDO areaLevelDO = areaLevelMapper.selectListByAreaCode(user.getAreaCode());
124
-            return Collections.singletonList(areaLevelDO);
230
+            AreaLevelDO areaLevelDO = getAreaLevelFromList(allAreaLevels, user.getAreaCode());
231
+            if (areaLevelDO != null) {
232
+                return Collections.singletonList(areaLevelDO);
233
+            }
125
         }
234
         }
126
         // 返回空列表或其他默认行为
235
         // 返回空列表或其他默认行为
127
         return Collections.emptyList();
236
         return Collections.emptyList();
128
     }
237
     }
129
 
238
 
130
-    @Override
131
-    public List<AreaLevelDO> getLoginUserXzqhConcise(String areaCode,AdminUserDO user) {
132
-//        AreaLevelDO areaLevelDO = new AreaLevelDO();
133
-
134
-        return areaLevelMapper.selectListByParentCode(areaCode);
239
+    private AreaLevelDO getAreaLevelFromList(List<AreaLevelDO> allAreaLevels, String areaCode) {
240
+        for (AreaLevelDO areaLevel : allAreaLevels) {
241
+            if (areaCode.equals(areaLevel.getAreaCode())) {
242
+                return areaLevel;
243
+            }
244
+        }
245
+        return null;
135
     }
246
     }
136
 
247
 
137
-    private List<AreaLevelDO> getSubAreasRecursively(String parentCode) {
138
-        List<AreaLevelDO> subAreas = areaLevelMapper.selectListByParentCode(parentCode);
139
-        if (ObjectUtil.isEmpty(subAreas) || subAreas.isEmpty()) {
140
-            return subAreas;
248
+    private List<AreaLevelDO> getSubAreasRecursivelyFromList(List<AreaLevelDO> allAreaLevels, String parentCode) {
249
+        List<AreaLevelDO> subAreas = new ArrayList<>();
250
+        for (AreaLevelDO areaLevel : allAreaLevels) {
251
+            if (parentCode.equals(areaLevel.getParentCode())) {
252
+                subAreas.add(areaLevel);
253
+                subAreas.addAll(getSubAreasRecursivelyFromList(allAreaLevels, areaLevel.getAreaCode()));
254
+            }
141
         }
255
         }
142
-        List<AreaLevelDO> allSubAreas = new ArrayList<>(subAreas);
143
-        for (AreaLevelDO area : subAreas) {
144
-            allSubAreas.addAll(getSubAreasRecursively(area.getAreaCode()));
256
+        return subAreas;
257
+    }
258
+
259
+    @Override
260
+    public List<AreaLevelDO> getLoginUserXzqhConcise(String areaCode) {
261
+        List<AreaLevelDO> respList;
262
+
263
+        List<AreaLevelDO> allAreaLevels = (List<AreaLevelDO>) redisTemplate.opsForValue().get(ALL_AREA_LEVEL_KEY);
264
+        if (allAreaLevels != null) {
265
+            respList = allAreaLevels.stream().filter(areaLevelDO -> areaCode.equals(areaLevelDO.getParentCode())).collect(Collectors.toList());
266
+        }else {
267
+            respList = areaLevelMapper.selectListByParentCode(areaCode);
145
         }
268
         }
146
-        return allSubAreas;
269
+
270
+        return respList;
147
     }
271
     }
148
 
272
 
149
     @Override
273
     @Override

+ 10 - 3
delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/service/user/AdminUserService.java

@@ -1,16 +1,22 @@
1
 package com.unis.module.system.service.user;
1
 package com.unis.module.system.service.user;
2
 
2
 
3
 import cn.hutool.core.collection.CollUtil;
3
 import cn.hutool.core.collection.CollUtil;
4
+import com.unis.framework.common.pojo.PageResult;
4
 import com.unis.framework.common.util.collection.CollectionUtils;
5
 import com.unis.framework.common.util.collection.CollectionUtils;
5
 import com.unis.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
6
 import com.unis.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
6
 import com.unis.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
7
 import com.unis.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
7
-import com.unis.module.system.controller.admin.user.vo.user.*;
8
-import com.unis.framework.common.pojo.PageResult;
8
+import com.unis.module.system.controller.admin.user.vo.user.UserImportExcelVO;
9
+import com.unis.module.system.controller.admin.user.vo.user.UserImportRespVO;
10
+import com.unis.module.system.controller.admin.user.vo.user.UserPageReqVO;
11
+import com.unis.module.system.controller.admin.user.vo.user.UserSaveReqVO;
9
 import com.unis.module.system.dal.dataobject.user.AdminUserDO;
12
 import com.unis.module.system.dal.dataobject.user.AdminUserDO;
10
 
13
 
11
 import javax.validation.Valid;
14
 import javax.validation.Valid;
12
 import java.io.InputStream;
15
 import java.io.InputStream;
13
-import java.util.*;
16
+import java.util.Collection;
17
+import java.util.HashMap;
18
+import java.util.List;
19
+import java.util.Map;
14
 
20
 
15
 /**
21
 /**
16
  * 后台用户 Service 接口
22
  * 后台用户 Service 接口
@@ -201,4 +207,5 @@ public interface AdminUserService {
201
      */
207
      */
202
     boolean isPasswordMatch(String rawPassword, String encodedPassword);
208
     boolean isPasswordMatch(String rawPassword, String encodedPassword);
203
 
209
 
210
+    AdminUserDO getUserByKqbm(String kqbm);
204
 }
211
 }

+ 8 - 11
delivery-module-system/delivery-module-system-biz/src/main/java/com/unis/module/system/service/user/AdminUserServiceImpl.java

@@ -4,19 +4,18 @@ import cn.hutool.core.collection.CollUtil;
4
 import cn.hutool.core.collection.CollectionUtil;
4
 import cn.hutool.core.collection.CollectionUtil;
5
 import cn.hutool.core.io.IoUtil;
5
 import cn.hutool.core.io.IoUtil;
6
 import cn.hutool.core.util.StrUtil;
6
 import cn.hutool.core.util.StrUtil;
7
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
8
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
9
 import com.github.yitter.idgen.YitIdHelper;
7
 import com.github.yitter.idgen.YitIdHelper;
8
+import com.google.common.annotations.VisibleForTesting;
9
+import com.mzt.logapi.context.LogRecordContext;
10
+import com.mzt.logapi.service.impl.DiffParseFunction;
11
+import com.mzt.logapi.starter.annotation.LogRecord;
10
 import com.unis.framework.common.enums.CommonStatusEnum;
12
 import com.unis.framework.common.enums.CommonStatusEnum;
11
 import com.unis.framework.common.exception.ServiceException;
13
 import com.unis.framework.common.exception.ServiceException;
12
 import com.unis.framework.common.pojo.PageResult;
14
 import com.unis.framework.common.pojo.PageResult;
13
-import com.unis.framework.common.util.business.PermissionUtils;
14
 import com.unis.framework.common.util.collection.CollectionUtils;
15
 import com.unis.framework.common.util.collection.CollectionUtils;
15
 import com.unis.framework.common.util.object.BeanUtils;
16
 import com.unis.framework.common.util.object.BeanUtils;
16
 import com.unis.framework.datapermission.core.util.DataPermissionUtils;
17
 import com.unis.framework.datapermission.core.util.DataPermissionUtils;
17
-import com.unis.framework.security.core.LoginUser;
18
 import com.unis.framework.security.core.util.AreaUtils;
18
 import com.unis.framework.security.core.util.AreaUtils;
19
-import com.unis.framework.security.core.util.SecurityFrameworkUtils;
20
 import com.unis.module.infra.api.file.FileApi;
19
 import com.unis.module.infra.api.file.FileApi;
21
 import com.unis.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
20
 import com.unis.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
22
 import com.unis.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
21
 import com.unis.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
@@ -26,19 +25,13 @@ import com.unis.module.system.controller.admin.user.vo.user.UserPageReqVO;
26
 import com.unis.module.system.controller.admin.user.vo.user.UserSaveReqVO;
25
 import com.unis.module.system.controller.admin.user.vo.user.UserSaveReqVO;
27
 import com.unis.module.system.dal.dataobject.dept.DeptDO;
26
 import com.unis.module.system.dal.dataobject.dept.DeptDO;
28
 import com.unis.module.system.dal.dataobject.dept.UserPostDO;
27
 import com.unis.module.system.dal.dataobject.dept.UserPostDO;
29
-import com.unis.module.system.dal.dataobject.permission.UserRoleDO;
30
 import com.unis.module.system.dal.dataobject.user.AdminUserDO;
28
 import com.unis.module.system.dal.dataobject.user.AdminUserDO;
31
 import com.unis.module.system.dal.mysql.dept.UserPostMapper;
29
 import com.unis.module.system.dal.mysql.dept.UserPostMapper;
32
-import com.unis.module.system.dal.mysql.permission.UserRoleMapper;
33
 import com.unis.module.system.dal.mysql.user.AdminUserMapper;
30
 import com.unis.module.system.dal.mysql.user.AdminUserMapper;
34
 import com.unis.module.system.service.dept.DeptService;
31
 import com.unis.module.system.service.dept.DeptService;
35
 import com.unis.module.system.service.dept.PostService;
32
 import com.unis.module.system.service.dept.PostService;
36
 import com.unis.module.system.service.permission.PermissionService;
33
 import com.unis.module.system.service.permission.PermissionService;
37
 import com.unis.module.system.service.tenant.TenantService;
34
 import com.unis.module.system.service.tenant.TenantService;
38
-import com.google.common.annotations.VisibleForTesting;
39
-import com.mzt.logapi.context.LogRecordContext;
40
-import com.mzt.logapi.service.impl.DiffParseFunction;
41
-import com.mzt.logapi.starter.annotation.LogRecord;
42
 import lombok.extern.slf4j.Slf4j;
35
 import lombok.extern.slf4j.Slf4j;
43
 import org.springframework.beans.factory.annotation.Value;
36
 import org.springframework.beans.factory.annotation.Value;
44
 import org.springframework.context.annotation.Lazy;
37
 import org.springframework.context.annotation.Lazy;
@@ -506,4 +499,8 @@ public class AdminUserServiceImpl implements AdminUserService {
506
         return passwordEncoder.encode(password);
499
         return passwordEncoder.encode(password);
507
     }
500
     }
508
 
501
 
502
+    @Override
503
+    public AdminUserDO getUserByKqbm(String kqbm) {
504
+        return userMapper.getUserByKqbm(kqbm);
505
+    }
509
 }
506
 }