From 186f6eb07df6934d2e28330ba39dcfce30c0063a Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期六, 09 十二月 2023 10:55:52 +0800
Subject: [PATCH] 修复库管员角色问题

---
 consum-base/src/main/java/com/consum/base/core/type/MixType.java                            |    2 
 consum-base/src/main/java/com/consum/base/controller/BaseWarehouseManagerController.java    |   40 ++++++++++++--------
 consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerService.java          |    3 +
 consum-base/src/main/java/com/consum/base/service/impl/BaseGoodsTemplateServiceImpl.java    |    1 
 consum-base/src/main/java/com/consum/base/service/impl/BaseWarehouseManagerServiceImpl.java |   42 ++++++++++++--------
 consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java      |    4 +-
 6 files changed, 54 insertions(+), 38 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseManagerController.java b/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseManagerController.java
index 2d72106..88c1f20 100644
--- a/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseManagerController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseManagerController.java
@@ -1,5 +1,14 @@
 package com.consum.base.controller;
 
+import java.util.List;
+import java.util.Set;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
 import com.consum.base.BaseController;
 import com.consum.base.core.utils.CommonUtil;
 import com.consum.base.pojo.request.WarehouseManagerParam;
@@ -7,22 +16,17 @@
 import com.consum.model.po.BaseWarehouseManager;
 import com.consum.model.po.FinSysTenantUser;
 import com.walker.web.ResponseValue;
+
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-import java.util.List;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
 
 /**
  * @Description 搴撶鍛�
  * @Author 鍗㈠簡闃�
  * @Date 2023/10/26
- * <p>
+ *       <p>
  */
 @Api(value = "搴撶鍛�", tags = "搴撶鍛�")
 @RestController
@@ -38,7 +42,8 @@
      * @Date 2023/10/26
      */
     @ApiOperation(value = "鏂板", notes = "鏂板")
-    @ApiImplicitParam(name = "warehouseManagerParam", value = "搴撶鍛樹俊鎭�", required = true, dataType = "WarehouseManagerParam", paramType = "body")
+    @ApiImplicitParam(name = "warehouseManagerParam", value = "搴撶鍛樹俊鎭�", required = true,
+        dataType = "WarehouseManagerParam", paramType = "body")
     @PostMapping("/save")
     public ResponseValue add() throws Exception {
         WarehouseManagerParam param = CommonUtil.getObjFromReqBody(WarehouseManagerParam.class);
@@ -50,7 +55,11 @@
         if (sysInfo == null) {
             return ResponseValue.error("璇峰厛鐧诲綍");
         }
-        baseWarehouseManagerService.add(param);
+        Set<Long> userIds = baseWarehouseManagerService.add(param);
+        for (Long userId : userIds) {
+            this.getFinSysTenantUserCache().remove(String.valueOf(userId));
+            this.getUserCacheProvider().removeUser(userId);
+        }
         return ResponseValue.success();
     }
 
@@ -58,20 +67,19 @@
     @ApiImplicitParam(name = "warehouseId", value = "浠撳簱id", required = true, dataType = "Long")
     @GetMapping("/list")
     public ResponseValue select(Long warehouseId) {
-        List<BaseWarehouseManager> baseWarehouseManagerList = baseWarehouseManagerService.selectWarehouseManager(warehouseId);
+        List<BaseWarehouseManager> baseWarehouseManagerList =
+            baseWarehouseManagerService.selectWarehouseManager(warehouseId);
         return ResponseValue.success(baseWarehouseManagerList);
     }
 
     @ApiOperation(value = "鏍规嵁浠撳簱,鏈烘瀯id鏌ヨ搴撶鍛�", notes = "鏍规嵁浠撳簱,鏈烘瀯id鏌ヨ搴撶鍛�")
-    @ApiImplicitParams({
-        @ApiImplicitParam(name = "warehouseId", value = "浠撳簱id", required = true, dataType = "Long"),
-        @ApiImplicitParam(name = "agencyId", value = "鏈烘瀯id", required = true, dataType = "Long")
-    })
+    @ApiImplicitParams({@ApiImplicitParam(name = "warehouseId", value = "浠撳簱id", required = true, dataType = "Long"),
+        @ApiImplicitParam(name = "agencyId", value = "鏈烘瀯id", required = true, dataType = "Long")})
     @GetMapping("/query")
     public ResponseValue selectManagerList(Long warehouseId, Long agencyId) {
-        List<BaseWarehouseManager> baseWarehouseManagerList = baseWarehouseManagerService.selectManagerList(warehouseId, agencyId);
+        List<BaseWarehouseManager> baseWarehouseManagerList =
+            baseWarehouseManagerService.selectManagerList(warehouseId, agencyId);
         return ResponseValue.success(baseWarehouseManagerList);
     }
 
 }
-
diff --git a/consum-base/src/main/java/com/consum/base/core/type/MixType.java b/consum-base/src/main/java/com/consum/base/core/type/MixType.java
index ed2968c..7174114 100644
--- a/consum-base/src/main/java/com/consum/base/core/type/MixType.java
+++ b/consum-base/src/main/java/com/consum/base/core/type/MixType.java
@@ -14,7 +14,7 @@
     private final static Map<String, String> map = new HashMap<>();
 
     static {
-        // 鍗曟嵁绫诲瀷 1 閲囪喘2 璋冩嫧 3鍑哄簱4閮ㄩ棬鍒嗗彂
+        // 鍗曟嵁绫诲瀷 1閲囪喘2璋冩嫧3鍑哄簱4閮ㄩ棬鍒嗗彂5鎶ュ簾
         // 1=璋冨锛�2=璋冨噺
         //1閲囪喘鍏ュ簱
         map.put("1" + "1", "1");
diff --git a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerService.java b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerService.java
index 809d450..2e49b94 100644
--- a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerService.java
+++ b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerService.java
@@ -4,10 +4,11 @@
 import com.consum.model.po.BaseWarehouseManager;
 import com.walker.jdbc.service.BaseService;
 import java.util.List;
+import java.util.Set;
 
 public interface BaseWarehouseManagerService extends BaseService {
 
-    void add(WarehouseManagerParam list) throws Exception;
+    Set<Long> add(WarehouseManagerParam list) throws Exception;
 
     List<BaseWarehouseManager> selectWarehouseManager(Long warehouseId);
 
diff --git a/consum-base/src/main/java/com/consum/base/service/impl/BaseGoodsTemplateServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/BaseGoodsTemplateServiceImpl.java
index ef29012..9a063c0 100644
--- a/consum-base/src/main/java/com/consum/base/service/impl/BaseGoodsTemplateServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/impl/BaseGoodsTemplateServiceImpl.java
@@ -72,7 +72,6 @@
         BeanUtils.copyProperties(param, baseGoodsTemplate);
         long goodsTemplatesId = IdUtil.generateId();
         baseGoodsTemplate.setId(goodsTemplatesId);
-        //NumberGenerator.getLongSequenceNumber()
         //鏍规嵁鍒嗙被id鏌ヨ鍒嗙被
         BaseCategory baseCategory = this.baseCategoryService.get(new BaseCategory(param.getCategoryId()));
         if (baseCategory != null) {
diff --git a/consum-base/src/main/java/com/consum/base/service/impl/BaseWarehouseManagerServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/BaseWarehouseManagerServiceImpl.java
index a3951e3..2268ac2 100644
--- a/consum-base/src/main/java/com/consum/base/service/impl/BaseWarehouseManagerServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/impl/BaseWarehouseManagerServiceImpl.java
@@ -1,5 +1,15 @@
 package com.consum.base.service.impl;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.commons.compress.utils.Sets;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
 import com.consum.base.core.utils.IdUtil;
 import com.consum.base.pojo.WarehouseManagerInfo;
 import com.consum.base.pojo.request.WarehouseManagerParam;
@@ -10,13 +20,6 @@
 import com.iplatform.model.po.S_role;
 import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
 
 /**
  * @Description 鐗╁搧鍒嗙被
@@ -29,23 +32,24 @@
     @Autowired
     private FinSysTenantUserServiceImpl finSysTenantUserService;
 
-
     /**
+     * @return
      * @Description 鏂板
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/26
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void add(WarehouseManagerParam list) throws Exception {
+    public Set<Long> add(WarehouseManagerParam list) throws Exception {
 
+        Set<Long> sysUserIds = Sets.newHashSet();
         Long warehouseId = list.getWarehouseId();
-
         // 瑙掕壊id
         Long roleId = null;
         List<S_role> roleAll = finSysTenantUserService.getRoleAll();
         if (!CollectionUtils.isEmpty(roleAll)) {
-            S_role sRole = roleAll.stream().filter(item -> item.getRole_name().equals("浠撳簱绠$悊鍛�")).findFirst().orElse(null);
+            S_role sRole =
+                roleAll.stream().filter(item -> item.getRole_name().equals("浠撳簱绠$悊鍛�")).findFirst().orElse(null);
             if (sRole != null) {
                 roleId = sRole.getRole_id();
             }
@@ -66,14 +70,16 @@
             params.put("managerId", finSysTenantUser.getSysUserId());
             params.put("roleId", roleId);
             this.execute(deleteRoleSql, params);
+
+            sysUserIds.add(finSysTenantUser.getSysUserId());
         }
 
-        //鍒犻櫎搴撶璁板綍
+        // 鍒犻櫎搴撶璁板綍
         String sql = "delete from base_warehouse_manager where base_warehouse_id =:warehouseId";
         Map<String, Object> params = new HashMap<>();
         params.put("warehouseId", warehouseId);
         this.execute(sql, params);
-        //閲嶆柊淇濆瓨
+        // 閲嶆柊淇濆瓨
         List<WarehouseManagerInfo> warehouseManagerInfoList = list.getWarehouseManagerInfoList();
         if (!CollectionUtils.isEmpty(warehouseManagerInfoList)) {
             for (WarehouseManagerInfo warehouseManagerInfo : warehouseManagerInfoList) {
@@ -92,7 +98,8 @@
                 }
                 Long sysUserId = finSysTenantUser.getSysUserId();
                 // 鍏堝垽鏂槸鍚︽嫢鏈夎瑙掕壊
-                String isHasRole = "select count(1) from s_role_user where org_id=0 and role_id=" + roleId + " and user_id=" + sysUserId;
+                String isHasRole = "select * from s_role_user where org_id=0 and role_id=" + roleId
+                    + " and user_id=" + sysUserId;
                 List<Map<String, Object>> isHasRoleList = this.select(isHasRole, new HashMap<>());
                 if (!CollectionUtils.isEmpty(isHasRoleList)) {
                     continue;
@@ -103,9 +110,10 @@
                 userRoleParam.put("roleId", roleId);
                 this.execute(saveUserRole, userRoleParam);
 
+                sysUserIds.add(finSysTenantUser.getSysUserId());
             }
         }
-
+        return sysUserIds;
     }
 
     @Override
@@ -118,7 +126,8 @@
 
     @Override
     public List<BaseWarehouseManager> selectManagerList(Long warehouseId, Long agencyId) {
-        StringBuilder sql = new StringBuilder("select * from base_warehouse_manager bwm left join base_warehouse bw on bwm.base_warehouse_id = bw.id "
+        StringBuilder sql = new StringBuilder(
+            "select * from base_warehouse_manager bwm left join base_warehouse bw on bwm.base_warehouse_id = bw.id "
                 + "where 1=1 ");
         Map<String, Object> param = new HashMap<>();
         if (warehouseId != null) {
@@ -132,6 +141,5 @@
         List<BaseWarehouseManager> select = this.select(sql.toString(), param, new BaseWarehouseManager());
         return select;
     }
-
 
 }
diff --git a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java
index 5dd5968..c333fa9 100644
--- a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java
@@ -132,9 +132,9 @@
             // 浠庡綋鍓嶇櫥褰曞簱绠′汉浠庡簱涓嚭搴擄紝鍏ュ埌鎵�閫夐儴闂ㄧ殑涓�
 
             // 鏌ヨ搴撶鍛樹俊鎭拰鐩稿叧浠撳簱
-            Long id = sysInfo.getId();
+            Long sysUserId = sysInfo.getSysUserId();
             BaseWarehouseManager manager = new BaseWarehouseManager();
-            manager.setManagerId(id);
+            manager.setManagerId(sysUserId);
             List<BaseWarehouseManager> managerList = baseWarehouseManagerService.select(manager);
             if (CollectionUtils.isEmpty(managerList)) {
                 log.error("璇ョ敤鎴蜂笉鏄簱绠″憳");

--
Gitblit v1.9.1