From a4273f1a1a6e63b7543acb2472b2af806fe44f41 Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期四, 21 十二月 2023 14:28:08 +0800
Subject: [PATCH] 库管员设置过滤禁用部门与用户

---
 consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java |  854 +++++++++++++++++++++++---------------------------------
 1 files changed, 358 insertions(+), 496 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java
index d687248..3052027 100644
--- a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java
@@ -1,103 +1,104 @@
 package com.consum.base.controller;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.Set;
+
+import org.apache.commons.compress.utils.Lists;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+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.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
 import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.context.AnalysisContext;
 import com.alibaba.excel.event.AnalysisEventListener;
 import com.alibaba.excel.exception.ExcelDataConvertException;
 import com.consum.base.BaseController;
+import com.consum.base.core.type.StatesType;
+import com.consum.base.core.utils.CommonUtil;
+import com.consum.base.core.utils.MapperUtil;
+import com.consum.base.core.utils.PageUtil;
 import com.consum.base.pojo.FinSysTenantUserSearchParam;
 import com.consum.base.pojo.FinSysTenantUserUpdParam;
+import com.consum.base.pojo.ImportUserParam;
+import com.consum.base.pojo.request.FinSysTenantUserParam;
 import com.consum.base.pojo.response.DepartmentVO;
 import com.consum.base.pojo.response.FinSysTenantUserVO;
 import com.consum.base.pojo.response.FinSysTenantVO;
 import com.consum.base.pojo.response.UserVO;
-import com.consum.base.service.FinSysTenantDepartmentServiceImpl;
-import com.consum.base.service.FinSysTenantServiceImpl;
-import com.consum.base.service.FinSysTenantUserServiceImpl;
+import com.consum.base.service.BaseWarehouseManagerService;
+import com.consum.base.service.FinSysTenantDepartmentService;
+import com.consum.base.service.FinSysTenantService;
+import com.consum.base.service.FinSysTenantUserService;
 import com.consum.model.po.FinSysTenant;
 import com.consum.model.po.FinSysTenantDepartment;
 import com.consum.model.po.FinSysTenantUser;
 import com.iplatform.base.ArgumentsConstants;
-import com.iplatform.base.service.DeptServiceImpl;
 import com.iplatform.base.service.RoleServiceImpl;
 import com.iplatform.base.service.UserServiceImpl;
 import com.iplatform.base.util.PlatformRSAUtils;
 import com.iplatform.core.util.AESUtils;
-import com.iplatform.model.po.S_config;
 import com.iplatform.model.po.S_dept;
 import com.iplatform.model.po.S_role;
 import com.iplatform.model.po.S_user_core;
-import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.infrastructure.utils.DateUtils;
 import com.walker.infrastructure.utils.NumberGenerator;
 import com.walker.infrastructure.utils.PhoneNumberUtils;
 import com.walker.infrastructure.utils.StringUtils;
 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.io.IOException;
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.Set;
-import org.apache.commons.compress.utils.Lists;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
 
 /**
  * @Description 绯荤粺鐢ㄦ埛
  * @Author wh
  * @Date 2023/7/17 14:16
  */
+@Api(value = "鏈烘瀯鐢ㄦ埛淇℃伅", tags = "鏈烘瀯鐢ㄦ埛淇℃伅")
 @RestController
 @RequestMapping("/pc/fin/sys/tenant/user")
 public class FinSysTenantUserController extends BaseController {
 
     private String roleName;
 
-    private FinSysTenantUserServiceImpl finSysTenantUserService;
+    private FinSysTenantUserService finSysTenantUserService;
 
     private UserServiceImpl userService;
 
-    private DeptServiceImpl deptService;
-
-    private FinSysTenantServiceImpl finSysTenantService;
+    private FinSysTenantService finSysTenantService;
 
     private RoleServiceImpl roleService;
 
     @Autowired
-    private FinSysTenantDepartmentServiceImpl finSysTenantDepartmentService;
-
+    private FinSysTenantDepartmentService finSysTenantDepartmentService;
 
     @Autowired
-    public void setUserService(UserServiceImpl userService) {
-        this.userService = userService;
-    }
-
-    private S_config sConfig;
+    private BaseWarehouseManagerService baseWarehouseManagerService;
 
     @Autowired
-    public FinSysTenantUserController(FinSysTenantServiceImpl finSysTenantService, FinSysTenantUserServiceImpl finSysTenantUserService,
-        RoleServiceImpl roleService) {
+    public FinSysTenantUserController(FinSysTenantService finSysTenantService,
+        FinSysTenantUserService finSysTenantUserService, RoleServiceImpl roleService, UserServiceImpl userService) {
         this.finSysTenantUserService = finSysTenantUserService;
         this.finSysTenantService = finSysTenantService;
         this.roleService = roleService;
+        this.userService = userService;
     }
 
     /**
@@ -106,78 +107,45 @@
      * @Date 2023/7/11 13:59
      */
     @RequestMapping("/select/list")
-    public ResponseValue allocatedList(FinSysTenantUserSearchParam param) {
+    public ResponseValue allocatedList() {
+        FinSysTenantUserSearchParam param = CommonUtil.getObjFromReq(FinSysTenantUserSearchParam.class);
+        FinSysTenantUserSearchParam param2 = new FinSysTenantUserSearchParam();
+        CommonUtil.copyProperties(param, param2);
+        param = param2;
         if (param.getTenantCode() == 0) {
-            FinSysTenantUser user = new FinSysTenantUser();
-            Long id = this.getCurrentUser().getId();
-            user.setSysUserId(id);
-            List<FinSysTenantUser> select = finSysTenantUserService.select(user);
-            if (select.size() > 0) {
-                param.setTenantCode(new Long(select.get(0).getTenantCode()));
+            String tenantId = this.getSysInfo().getTenantId();
+            FinSysTenant finSysTenant = finSysTenantService.selectById(Long.valueOf(tenantId));
+            if (finSysTenant != null) {
+                param.setTenantCode(Long.valueOf(finSysTenant.getCode()));
             }
         }
-        GenericPager<FinSysTenantUser> pager = this.finSysTenantUserService.queryAllPageUser(param);
+        PageUtil<FinSysTenantUserVO> pager = this.finSysTenantUserService.queryAllPageUser(param);
+        for (FinSysTenantUserVO finSysTenantUser : pager.getDatas()) {
+            String tel = finSysTenantUser.getUserPhone() != null
+                ? AESUtils.decryptStrAES(finSysTenantUser.getUserPhone(), PlatformRSAUtils.AES_KEY) : null;
+            finSysTenantUser.setUserPhone(StringUtils.isNotEmpty(tel) ? PhoneNumberUtils.maskMobile(tel) : "");
 
-        List<FinSysTenantUserVO> resultList = Lists.newArrayList();
-        List<FinSysTenantUser> datas = pager.getDatas();
-        if (datas.size() > 0) {
-            for (FinSysTenantUser finSysTenantUser : datas) {
-                FinSysTenantUserVO userVO = new FinSysTenantUserVO();
-                if (finSysTenantUser.getUserPhone() != null) {
-                    // 瑙e瘑骞惰劚鏁�
-                    String tel = null;
-                    try {
-                        tel = AESUtils.decryptStrAES(finSysTenantUser.getUserPhone(), PlatformRSAUtils.AES_KEY);
-                    } catch (Exception e) {
-                        logger.error("瑙e瘑鎵嬫満鍙峰け璐ワ紝鍘熷洜锛�" + e);
-                        tel = null;
-                    }
-                    if (StringUtils.isNotEmpty(tel)) {
-                        finSysTenantUser.setUserPhone(PhoneNumberUtils.maskMobile(tel));
-                    } else {
-                        finSysTenantUser.setUserPhone("");
-                    }
-                } else {
-                    finSysTenantUser.setUserPhone("");
-                }
+            // 鍒楄〃涓嶉渶瑕佹煡璇㈣鑹诧紝鍙樉绀哄垪琛ㄦ墍闇�瑕佺殑淇℃伅
+            /*List<S_role> list = finSysTenantUserService.getByUserId(finSysTenantUser.getSysUserId());
+            StringBuilder roleStr = new StringBuilder();
+            list.forEach(s_role -> roleStr.append(s_role.getRole_name()).append(" "));
+            finSysTenantUser.setRoleStr(roleStr.toString());
+            finSysTenantUser.setIsSupplier(finSysTenantUser.getSupplierId() != null ? "鏄�" : "鍚�");*/
 
-                // 寰幆鍘绘煡瑙掕壊
-                Long sysUserId = finSysTenantUser.getSysUserId();
-                if (sysUserId != null) {
-                    List<S_role> list = finSysTenantUserService.getByUserId(sysUserId);
-                    String roleStr = "";
-                    for (S_role s_role : list) {
-                        roleStr = roleStr + s_role.getRole_name() + "  ";
-                    }
-                    finSysTenantUser.setRoleStr(roleStr);
-                }
-
-                //寰幆鏌ヨ杩愮淮鍟唅d
-                if (finSysTenantUser.getSupplierId() != null) {
-                    finSysTenantUser.setIsSupplier("鏄�");
-                } else {
-                    finSysTenantUser.setIsSupplier("鍚�");
-                }
-                BeanUtils.copyProperties(finSysTenantUser, userVO);
-                Long sysDeptId = finSysTenantUser.getSysDeptId();
-                FinSysTenantDepartment department = finSysTenantDepartmentService.getById(sysDeptId);
-                if (Objects.nonNull(department)) {
-                    userVO.setSysDeptName(department.getName());
-                }
-                resultList.add(userVO);
-            }
-        }
-
-        try {
-            Field fieldDatas = GenericPager.class.getDeclaredField("datas");
-            fieldDatas.setAccessible(true);
-            fieldDatas.set(pager, resultList);
-        } catch (Exception e) {
-            e.printStackTrace();
         }
         return ResponseValue.success(pager);
     }
 
+    @ApiOperation(value = "鏍规嵁鏈烘瀯id鏌ヨ鐢ㄦ埛", notes = "鏍规嵁鏈烘瀯id鏌ヨ鐢ㄦ埛")
+    @ApiImplicitParam(name = "tenantId", value = "鏈烘瀯id", required = true, dataType = "Long", paramType = "query")
+    @GetMapping("/query/user")
+    public ResponseValue queryUserByTenantId(Long tenantId) {
+
+        FinSysTenantUser finSysTenantUser = new FinSysTenantUser();
+        finSysTenantUser.setTenantId(String.valueOf(tenantId));
+        List<FinSysTenantUser> result = finSysTenantUserService.select(finSysTenantUser);
+        return ResponseValue.success(result);
+    }
 
     /**
      * @Description 鏂板
@@ -186,65 +154,107 @@
      */
     @PostMapping("/add")
     @Transactional(rollbackFor = Exception.class)
-    public ResponseValue add(@RequestBody FinSysTenantUser user) {
-        if (user == null) {
+    public ResponseValue add() {
+        FinSysTenantUser user = CommonUtil.getObjFromReqBody(FinSysTenantUser.class);
+        FinSysTenantUser tenantUser = new FinSysTenantUser();
+        CommonUtil.copyProperties(user, tenantUser);
+
+        if (tenantUser == null) {
             return ResponseValue.error("鍙傛暟涓虹┖");
         }
-        //鏍规嵁鍛樺伐缂栧彿鏌ヨ锛屽鏋滃瓨鍦ㄥ垯鎻愮ず
-        if (finSysTenantUserService.getByUserCode(user.getUserCode()) != null && finSysTenantUserService.getByUserCode(user.getUserCode()) > 0) {
+        // 鏍规嵁鍛樺伐缂栧彿鏌ヨ锛屽鏋滃瓨鍦ㄥ垯鎻愮ず
+        FinSysTenantUser userCode = finSysTenantUserService.getByUserCode(tenantUser.getUserCode());
+        if (userCode != null) {
             return ResponseValue.error("鍛樺伐缂栧彿閲嶅");
         }
-        if (user.getTenantId() == null || "".equals(user.getTenantId()) || new Integer(user.getTenantId()) == 0) {
+        if (StringUtils.isEmpty(tenantUser.getTenantId()) || "0".equals(tenantUser.getTenantId())) {
             return ResponseValue.error("娣诲姞鏃惰閫夋嫨鍖哄幙");
         }
-        if (user.getTenantCode() == null || "".equals(user.getTenantCode()) || new Integer(user.getTenantCode()) == 0) {
-            return ResponseValue.error("娣诲姞鏃惰閫夋嫨鍖哄幙");
+
+        // 鎻掑叆绯荤粺鐢ㄦ埛
+        buildTenantUser(tenantUser, null);
+        this.finSysTenantUserService.insert(tenantUser);
+
+        // 鎻掑叆骞冲彴鐢ㄦ埛
+        S_user_core userCore = getsUserCore(tenantUser);
+        this.userService.insert(userCore);
+        // 鎻掑叆骞冲彴鏈烘瀯
+        // 灏戣鑹瞚d
+        // 鏈烘瀯id 澶氫釜
+        List<Long> roleList = user.getRoleList();
+        if (!CollectionUtils.isEmpty(roleList)) {
+            // 鐢ㄦ埛id
+            Long sysUserId = tenantUser.getSysUserId();
+            this.finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId);
         }
-        //鎻掑叆绯荤粺鐢ㄦ埛
-        user.setId(NumberGenerator.getLongSequenceNumber());
-        user.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
-        user.setCreateBy(this.getCurrentUser().getUser_name());
-        user.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
-        user.setUpdateBy(this.getCurrentUser().getUser_name());
-        //user.setStatus(1);// 0绂佺敤 1鍚敤
-        user.setIsDelete(0);
-        user.setSysUserId(NumberGenerator.getLongSequenceNumber());
+        // this.getFinCustomerCache().remove();
+        return ResponseValue.success(1);
+    }
+
+    private void buildTenantUser(FinSysTenantUser tenantUser, FinSysTenantUser sysInfo) {
+        tenantUser.setId(NumberGenerator.getLongSequenceNumber());
+        tenantUser.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
+        tenantUser.setCreateBy(this.getCurrentUser().getUser_name());
+        tenantUser.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
+        tenantUser.setUpdateBy(this.getCurrentUser().getUser_name());
+        // 鏄惁鍒犻櫎 0鏄� 1鍚�
+        tenantUser.setIsDelete(0);
+        tenantUser.setSysUserId(NumberGenerator.getLongSequenceNumber());
+        setUserPhone(tenantUser, tenantUser.getUserPhone());
+        String tenantId = tenantUser.getTenantId();
+        FinSysTenant finSysTenant = finSysTenantService.selectById(Long.valueOf(tenantId));
+        tenantUser.setTenantCode(finSysTenant.getCode());
+
+        // 澶勭悊鏂规硶addSupplier
+        if (sysInfo != null) {
+            tenantUser.setIsDelete(1);
+            tenantUser.setLv(sysInfo.getLv());
+            tenantUser.setTenantCode(sysInfo.getTenantCode());
+            tenantUser.setTenantId(sysInfo.getTenantId());
+            // 杩愮淮绠$悊
+            tenantUser.setSysDeptId(2L);
+        }
+
+    }
+
+    private void setUserPhone(FinSysTenantUser tenantUser, String userPhone) {
         // 鍔犲瘑鎵嬫満鍙�
         String key = PlatformRSAUtils.AES_KEY;
-        String pwdPhone = "";
-        if (user.getUserPhone() != null) {
-            pwdPhone = AESUtils.encryptStrAES(user.getUserPhone(), key);
+        String encPhone = "";
+        if (StringUtils.isNotEmpty(userPhone)) {
+            encPhone = AESUtils.encryptStrAES(userPhone, key);
         }
-        user.setUserPhone(pwdPhone);
-        //鎬庝箞鑾峰彇宸︿晶鏈烘瀯鏍戞暟鎹�
-        user.setSysDeptId(3L); //瀵瑰簲骞冲彴鏈烘瀯id  榛樿涓哄钩鍙扮鐞�
-        this.finSysTenantUserService.insert(user);
-        // 鎻掑叆骞冲彴鐢ㄦ埛
+        tenantUser.setUserPhone(encPhone);
+    }
+
+    private S_user_core getsUserCore(FinSysTenantUser tenantUser) {
         S_user_core userCore = new S_user_core();
-        userCore.setId(user.getSysUserId());
-        userCore.setDept_id(3L); //閮ㄩ棬id锛岀洰鍓嶅啓姝�
-        userCore.setOrg_id(user.getSysDeptId()); //鏈烘瀯id
+        userCore.setId(tenantUser.getSysUserId());
+        // 閮ㄩ棬id 閮ㄩ棬淇℃伅鏈悓姝ワ紝鍙~鍏呮暟鎹�
+        userCore.setDept_id(tenantUser.getSysDeptId());
+        // 鏈烘瀯id
+        userCore.setOrg_id(tenantUser.getSysDeptId());
         userCore.setOrg_id(1L);
-        userCore.setUser_name(user.getUserCode());  //鐢ㄦ埛璐﹀彿
-        userCore.setNick_name(user.getUserName());
-        //鐢ㄦ埛绫诲瀷 鍏堥粯璁よ缃负2
+        // 鐢ㄦ埛璐﹀彿
+        userCore.setUser_name(tenantUser.getUserCode());
+        userCore.setNick_name(tenantUser.getUserName());
+        // 鐢ㄦ埛绫诲瀷 鍏堥粯璁よ缃负2
         userCore.setUser_type(2);
-        userCore.setPhonenumber(pwdPhone);
-        userCore.setSex(user.getSex().toString());
-        //鍒濆鍖栧瘑鐮� 123456
+        userCore.setPhonenumber(tenantUser.getUserPhone());
+        userCore.setSex(tenantUser.getSex().toString());
+        // 鍒濆鍖栧瘑鐮� 123456
         String pws = this.getArgumentVariable(ArgumentsConstants.KEY_SECURITY_PASSWORD_INIT).getStringValue();
         userCore.setPassword(pws);
         // 骞冲彴鐢ㄦ埛琛ㄥ拰绯荤粺鐢ㄦ埛 琛ㄧ姸鎬佺浉鍙�
-        if (user.getStatus() == 0) {
-            user.setStatus(1);
+        if (tenantUser.getStatus() == 0) {
+            userCore.setStatus(1);
         } else {
-            user.setStatus(0);
+            userCore.setStatus(0);
         }
-        userCore.setStatus(user.getStatus());
         userCore.setDel_flag(0);
         userCore.setCreate_by(this.getCurrentUser().getUser_name());
         userCore.setCreate_time(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
-        userCore.setRemark(user.getRemark());
+        userCore.setRemark(tenantUser.getRemark());
         userCore.setType(1);
         userCore.setBind_client_id("0");
         userCore.setBind_wechat(0);
@@ -259,95 +269,11 @@
         userCore.setIs_logoff(0);
         userCore.setLogoff_time(0L);
         userCore.setIs_sms(0);
-        //绠$悊鍛樼被鍨嬶細1= 骞冲彴瓒呯, 2=鍟嗘埛瓒呯, 3=绯荤粺绠$悊鍛橈紝4=鍟嗘埛绠$悊鍛�
+        // 绠$悊鍛樼被鍨嬶細1= 骞冲彴瓒呯, 2=鍟嗘埛瓒呯, 3=绯荤粺绠$悊鍛橈紝4=鍟嗘埛绠$悊鍛�
         userCore.setType(1);
-        //鍟嗘埛id锛�0-骞冲彴
+        // 鍟嗘埛id锛�0-骞冲彴
         userCore.setMer_id(0L);
-        this.userService.insert(userCore);
-        // 鎻掑叆骞冲彴鏈烘瀯
-        //灏戣鑹瞚d
-        List<Long> roleList = user.getRoleList(); //鏈烘瀯id  澶氫釜
-        if (!CollectionUtils.isEmpty(roleList)) {
-            Long sysUserId = user.getSysUserId();    //鐢ㄦ埛id
-            this.finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId);
-        }
-//        this.getFinCustomerCache().remove();
-        return ResponseValue.success(1);
-    }
-
-
-    public static class ImportUserParam {
-
-        @ExcelProperty("鐢ㄦ埛濮撳悕")
-        private String userName;
-        @ExcelProperty("鐢ㄦ埛缂栧彿")
-        private String userCode;
-        @ExcelProperty("鎵嬫満鍙�")
-        private String userPhone;
-        @ExcelProperty("鎬у埆(1鐢凤紝2濂�)")
-        private Integer sex;
-        @ExcelProperty("鐢靛瓙閭")
-        private String email;
-        @ExcelProperty("椤哄簭鍙�")
-        private Long seq;
-        @ExcelProperty("瑙掕壊鍚嶇О")
-        private String roleName;
-
-        public String getUserName() {
-            return userName;
-        }
-
-        public void setUserName(String userName) {
-            this.userName = userName;
-        }
-
-        public String getUserCode() {
-            return userCode;
-        }
-
-        public void setUserCode(String userCode) {
-            this.userCode = userCode;
-        }
-
-        public String getUserPhone() {
-            return userPhone;
-        }
-
-        public void setUserPhone(String userPhone) {
-            this.userPhone = userPhone;
-        }
-
-        public Integer getSex() {
-            return sex;
-        }
-
-        public void setSex(Integer sex) {
-            this.sex = sex;
-        }
-
-        public String getEmail() {
-            return email;
-        }
-
-        public void setEmail(String email) {
-            this.email = email;
-        }
-
-        public Long getSeq() {
-            return seq;
-        }
-
-        public void setSeq(Long seq) {
-            this.seq = seq;
-        }
-
-        public String getRoleName() {
-            return roleName;
-        }
-
-        public void setRoleName(String roleName) {
-            this.roleName = roleName;
-        }
+        return userCore;
     }
 
     /**
@@ -356,9 +282,10 @@
      * @Date 2023/10/12 15:56
      */
     @PostMapping("/import")
-    public ResponseValue importUser(@RequestParam String tenantId, @RequestParam String tenantCode, MultipartFile file) throws IOException {
+    public ResponseValue importUser(@RequestParam String tenantId, @RequestParam String tenantCode, MultipartFile file)
+        throws IOException {
         String originalFilename = file.getOriginalFilename();
-        if (!"xls".equals(originalFilename.substring(originalFilename.lastIndexOf(".") + 1))) {
+        if (!originalFilename.endsWith("xls")) {
             return ResponseValue.error("鏂囦欢鏍煎紡鏈夎!");
         }
         S_user_core currentUser = this.getCurrentUser();
@@ -376,12 +303,14 @@
         EasyExcel.read(file.getInputStream(), ImportUserParam.class, new AnalysisEventListener<ImportUserParam>() {
             @Override
             public void invoke(ImportUserParam data, AnalysisContext context) {
-                if (StringUtils.isEmpty(data.getUserName()) || StringUtils.isEmpty(data.getUserCode()) || StringUtils.isEmpty(data.getUserPhone())
-                    || null == data.getSex() || StringUtils.isEmpty(data.getEmail()) || null == data.getSeq() || StringUtils.isEmpty(data.getRoleName())) {
+                if (StringUtils.isEmpty(data.getUserName()) || StringUtils.isEmpty(data.getUserCode())
+                    || StringUtils.isEmpty(data.getUserPhone()) || null == data.getSex()
+                    || StringUtils.isEmpty(data.getEmail()) || null == data.getSeq()
+                    || StringUtils.isEmpty(data.getRoleName())) {
                     throw new ImportUserParamVerifyException("鍗曞厓鏍间笉鑳戒负绌�!");
                 }
-                //鏍规嵁鍛樺伐缂栧彿鏌ヨ锛屽鏋滃瓨鍦ㄥ垯鎻愮ず
-                if (finSysTenantUserService.getByUserCode(data.getUserCode()) > 0) {
+                // 鏍规嵁鍛樺伐缂栧彿鏌ヨ锛屽鏋滃瓨鍦ㄥ垯鎻愮ず
+                if (finSysTenantUserService.getByUserCode(data.getUserCode()) != null) {
                     throw new ImportUserParamVerifyException("鍛樺伐缂栧彿涓虹┖鎴栧凡瀛樺湪!");
                 }
                 if (data.getSex() < 1 && data.getSex() > 0) {
@@ -396,8 +325,9 @@
                 user.setSeq(data.getSeq());
                 user.setTenantId(tenantId);
                 user.setTenantCode(tenantCode);
-                //璁剧疆瑙掕壊
-                Optional<S_role> sRole = roles.stream().filter(role -> role.getRole_name().equals(data.getRoleName())).findFirst();
+                // 璁剧疆瑙掕壊
+                Optional<S_role> sRole =
+                    roles.stream().filter(role -> role.getRole_name().equals(data.getRoleName())).findFirst();
                 user.setRoleList(Arrays.asList(sRole.orElse(new S_role()).getRole_id()));
 
                 user.setId(NumberGenerator.getLongSequenceNumber());
@@ -410,13 +340,11 @@
                 user.setSysUserId(NumberGenerator.getLongSequenceNumber());
                 user.setRemark("鎵归噺瀵煎叆");
                 // 鍔犲瘑鎵嬫満鍙�
-                String key = PlatformRSAUtils.AES_KEY;
-                String pwdPhone = AESUtils.encryptStrAES(data.getUserPhone(), key);
-                user.setUserPhone(pwdPhone);
+                setUserPhone(user, data.getUserPhone());
 
                 user.setIsDelete(1);
-                //鎬庝箞鑾峰彇宸︿晶鏈烘瀯鏍戞暟鎹�
-                user.setSysDeptId(3L); //瀵瑰簲骞冲彴鏈烘瀯id  榛樿涓哄钩鍙扮鐞�
+                // 鎬庝箞鑾峰彇宸︿晶鏈烘瀯鏍戞暟鎹�
+                user.setSysDeptId(3L); // 瀵瑰簲骞冲彴鏈烘瀯id 榛樿涓哄钩鍙扮鐞�
                 finSysTenantUsers.add(user);
             }
 
@@ -430,15 +358,17 @@
                 if (exception != null) {
                     // 濡傛灉鏄煇涓�涓崟鍏冩牸鐨勮浆鎹㈠紓甯� 鑳借幏鍙栧埌鍏蜂綋琛屽彿 灏佽鏃跺紓甯�
                     if (exception instanceof ExcelDataConvertException) {
-                        ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException) exception;
-                        logger.error("绗瑊}琛岋紝绗瑊}鍒楄В鏋愬紓甯革紝鏁版嵁涓�:{}", excelDataConvertException.getRowIndex(), excelDataConvertException.getColumnIndex() + 1,
+                        ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException)exception;
+                        logger.error("绗瑊}琛岋紝绗瑊}鍒楄В鏋愬紓甯革紝鏁版嵁涓�:{}", excelDataConvertException.getRowIndex(),
+                            excelDataConvertException.getColumnIndex() + 1,
                             excelDataConvertException.getCellData().getStringValue());
-                        throw new IllegalStateException(
-                            "绗�" + (excelDataConvertException.getRowIndex() + 1) + "琛岋紝绗�" + (excelDataConvertException.getColumnIndex() + 1) + "鍒楄В鏋愬紓甯革紝寮傚父鏁版嵁涓�:[ "
-                                + excelDataConvertException.getCellData().getStringValue() + " ]");
+                        throw new IllegalStateException("绗�" + (excelDataConvertException.getRowIndex() + 1) + "琛岋紝绗�"
+                            + (excelDataConvertException.getColumnIndex() + 1) + "鍒楄В鏋愬紓甯革紝寮傚父鏁版嵁涓�:[ "
+                            + excelDataConvertException.getCellData().getStringValue() + " ]");
                     }
                     if (exception instanceof ImportUserParamVerifyException) {
-                        throw new IllegalStateException("绗�" + context.readSheetHolder().getRowIndex() + "琛�, 瑙f瀽閿欒:[ " + exception.getMessage() + " ]");
+                        throw new IllegalStateException("绗�" + context.readSheetHolder().getRowIndex() + "琛�, 瑙f瀽閿欒:[ "
+                            + exception.getMessage() + " ]");
                     }
                     throw exception;
                 }
@@ -458,56 +388,14 @@
         ArrayList<S_user_core> sUserCores = new ArrayList<>();
         for (FinSysTenantUser user : finSysTenantUsers) {
             // 鎻掑叆骞冲彴鐢ㄦ埛
-            S_user_core userCore = new S_user_core();
-            userCore.setId(user.getSysUserId());
-            userCore.setDept_id(3L); //閮ㄩ棬id锛岀洰鍓嶅啓姝�
-            userCore.setOrg_id(user.getSysDeptId()); //鏈烘瀯id
-            userCore.setOrg_id(1L);
-            userCore.setUser_name(user.getUserCode());  //鐢ㄦ埛璐﹀彿
-            userCore.setNick_name(user.getUserName());
-            //鐢ㄦ埛绫诲瀷 鍏堥粯璁よ缃负2
-            userCore.setUser_type(2);
-            userCore.setPhonenumber(user.getUserPhone());
-            userCore.setSex(user.getSex().toString());
-            //鍒濆鍖栧瘑鐮� 123456
-            String pws = this.getArgumentVariable(ArgumentsConstants.KEY_SECURITY_PASSWORD_INIT).getStringValue();
-            userCore.setPassword(pws);
-            // 骞冲彴鐢ㄦ埛琛ㄥ拰绯荤粺鐢ㄦ埛 琛ㄧ姸鎬佺浉鍙�
-            if (user.getStatus() == 0) {
-                user.setStatus(1);
-            } else {
-                user.setStatus(0);
-            }
-            userCore.setStatus(user.getStatus());
-            userCore.setDel_flag(0);
-            userCore.setCreate_by(this.getCurrentUser().getUser_name());
-            userCore.setCreate_time(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
-            userCore.setRemark(user.getRemark());
-            userCore.setType(1);
-            userCore.setBind_client_id("0");
-            userCore.setBind_wechat(0);
-            userCore.setModify_pwd(0);
-            userCore.setBind_mobile(0);
-            userCore.setBind_mail(0);
-            userCore.setProfile_id(0L);
-            userCore.setIs_wechat_public(0);
-            userCore.setIs_wechat_routine(0);
-            userCore.setIs_wechat_ios(0);
-            userCore.setIs_wechat_android(0);
-            userCore.setIs_logoff(0);
-            userCore.setLogoff_time(0L);
-            userCore.setIs_sms(0);
-            //绠$悊鍛樼被鍨嬶細1= 骞冲彴瓒呯, 2=鍟嗘埛瓒呯, 3=绯荤粺绠$悊鍛橈紝4=鍟嗘埛绠$悊鍛�
-            userCore.setType(1);
-            //鍟嗘埛id锛�0-骞冲彴
-            userCore.setMer_id(0L);
+            S_user_core userCore = getsUserCore(user);
             sUserCores.add(userCore);
         }
-        //淇濆瓨鐢ㄦ埛淇℃伅
+        // 淇濆瓨鐢ㄦ埛淇℃伅
         this.finSysTenantUserService.insertBatch(finSysTenantUsers);
-        //淇濆瓨骞冲彴鐢ㄦ埛淇℃伅
+        // 淇濆瓨骞冲彴鐢ㄦ埛淇℃伅
         this.userService.insertBatch(sUserCores);
-        //淇濆瓨瑙掕壊鏉冮檺淇℃伅
+        // 淇濆瓨瑙掕壊鏉冮檺淇℃伅
         this.finSysTenantUserService.execInsertRoleUserList(finSysTenantUsers);
     }
 
@@ -522,7 +410,6 @@
         }
     }
 
-
     /**
      * @Description 缂栬緫
      * @Author wh
@@ -530,30 +417,53 @@
      */
     @PostMapping("/update")
     @Transactional(rollbackFor = Exception.class)
-    public ResponseValue update(@RequestBody FinSysTenantUser user) {
-        if (user == null) {
+    public ResponseValue update() {
+        FinSysTenantUser user = CommonUtil.getObjFromReqBody(FinSysTenantUser.class);
+        FinSysTenantUser tenantUser = new FinSysTenantUser();
+        CommonUtil.copyProperties(user, tenantUser);
+
+        if (tenantUser == null) {
             return ResponseValue.error("鍙傛暟涓虹┖");
         }
-        String key = PlatformRSAUtils.AES_KEY;
-        String pwdPhone = "";
-        if (user.getUserPhone() != null) {
-            pwdPhone = AESUtils.encryptStrAES(user.getUserPhone(), key);
+        setUserPhone(tenantUser, tenantUser.getUserPhone());
+        // 1.鏇存柊绯荤粺鐢ㄦ埛 FIN_SYS_TENANT_USER
+        finSysTenantUserService.update(tenantUser);
+        // 2.鏇存柊骞冲彴鐢ㄦ埛 S_USER_CORE
+        S_user_core userCore = buildUpdateUserCore(user);
+        this.userService.update(userCore);
+        // 3. 鏇存柊瑙掕壊閰嶇疆 S_ROLE_USER
+        // 1. 鏍规嵁 user.getSysUserId() 鏌ヨ
+        // 宸叉湁鐨勬潈闄�
+        Long sysUserId = user.getSysUserId();
+        List<S_role> list = finSysTenantUserService.getRoleBySysUserId(sysUserId);
+        // 閫夋嫨鐨勬潈闄�
+        List<Long> roleList = user.getRoleList();
+        // 鍏堝垹闄ゅ啀娣诲姞
+        if (!CollectionUtils.isEmpty(list)) {
+            finSysTenantUserService.execDelRoleUserList(sysUserId);
+            // 鍒犻櫎搴撶鍛樹俊鎭褰�
+            list.stream().filter(item -> "浠撳簱绠$悊鍛�".equals(item.getRole_name())).findFirst()
+                .ifPresent(item -> baseWarehouseManagerService.deleteMangerBySysUserId(sysUserId));
         }
-        user.setUserPhone(pwdPhone);
-        // 1.鏇存柊绯荤粺鐢ㄦ埛   FIN_SYS_TENANT_USER
-        finSysTenantUserService.update(user);
-        // 2.鏇存柊骞冲彴鐢ㄦ埛  S_USER_CORE
+        if (!CollectionUtils.isEmpty(roleList)) {
+            // 鍥犱负涓嶇煡閬撹鐢ㄦ埛闇�瑕佺鐞嗛偅涓粨搴� 鏁呬笉鏂板浠撳簱绠$悊鍛樹俊鎭紝鍙坊鍔犺鑹�
+            finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId);
+        }
+        this.getFinSysTenantUserCache().remove(sysUserId.toString());
+        return ResponseValue.success(1);
+    }
+
+    private S_user_core buildUpdateUserCore(FinSysTenantUser user) {
         S_user_core userCore = new S_user_core();
         userCore.setId(user.getSysUserId());
         userCore.setUpdate_by(this.getCurrentUser().getUser_name());
         userCore.setUpdate_time(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
         // 骞冲彴鐢ㄦ埛琛ㄥ拰绯荤粺鐢ㄦ埛 琛ㄧ姸鎬佺浉鍙�
         if (user.getStatus() == 0) {
-            user.setStatus(1);
+            userCore.setStatus(1);
         } else {
-            user.setStatus(0);
+            userCore.setStatus(0);
         }
-        userCore.setStatus(user.getStatus());
         if (user.getSex() != null) {
             userCore.setSex(user.getSex().toString());
         }
@@ -561,20 +471,8 @@
         userCore.setNick_name(user.getUserName());
         // 鍔犲瘑鎵嬫満鍙�
         userCore.setPhonenumber(user.getUserPhone());
-        this.userService.update(userCore);
-        // 3. 鏇存柊瑙掕壊閰嶇疆  S_ROLE_USER
-        // 1. 鏍规嵁  user.getSysUserId() 鏌ヨ
-        List<S_role> list = finSysTenantUserService.getByUserId(user.getSysUserId());  //宸叉湁鐨勬潈闄�
-        List<Long> roleList = user.getRoleList(); //閫夋嫨鐨勬潈闄�
-        //鍏堝垹闄ゅ啀娣诲姞
-        if (list != null && list.size() > 0) {
-            finSysTenantUserService.execDelRoleUserList(user.getSysUserId());
-        }
-        if (roleList != null && roleList.size() > 0) {
-            finSysTenantUserService.execInsertRoleUserList(roleList, user.getSysUserId());
-        }
-        this.getFinSysTenantUserCache().remove(user.getSysUserId() + "");
-        return ResponseValue.success(1);
+
+        return userCore;
     }
 
     /**
@@ -584,30 +482,22 @@
      */
     @PostMapping("/updateStatus")
     @Transactional(rollbackFor = Exception.class)
-    public ResponseValue updateStatus(@RequestBody FinSysTenantUser user) {
-        if (user == null) {
+    public ResponseValue updateStatus() {
+        FinSysTenantUserParam user = CommonUtil.getObjFromReqBody(FinSysTenantUserParam.class);
+        FinSysTenantUser tenantUser = new FinSysTenantUser();
+        CommonUtil.copyProperties(user, tenantUser);
+        if (tenantUser == null) {
             return ResponseValue.error("鍙傛暟涓虹┖");
         }
-        // 1.鏇存柊绯荤粺鐢ㄦ埛   FIN_SYS_TENANT_USER   搴旇鏄煡璇�  鐒跺悗鍙敼鐘舵��
-        List<FinSysTenantUser> select = finSysTenantUserService.select(new FinSysTenantUser(user.getId()));
-        if (select == null || select.size() == 0) {
+        // 1.鏇存柊绯荤粺鐢ㄦ埛 FIN_SYS_TENANT_USER 搴旇鏄煡璇� 鐒跺悗鍙敼鐘舵��
+        FinSysTenantUser finSysTenantUser = finSysTenantUserService.queryOneById(tenantUser.getId().toString());
+        if (finSysTenantUser == null) {
             return ResponseValue.error("鐢ㄦ埛涓嶅瓨鍦�");
         }
-        FinSysTenantUser finSysTenantUser = select.get(0);
         finSysTenantUser.setStatus(user.getStatus());
         finSysTenantUserService.update(finSysTenantUser);
-        // 2.鏇存柊骞冲彴鐢ㄦ埛  S_USER_CORE
-        S_user_core userCore = new S_user_core();
-        userCore.setId(user.getSysUserId());
-        userCore.setUpdate_by(this.getCurrentUser().getUser_name());
-        userCore.setUpdate_time(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
-        // 骞冲彴鐢ㄦ埛琛ㄥ拰绯荤粺鐢ㄦ埛 琛ㄧ姸鎬佺浉鍙�
-        if (user.getStatus() == 0) {
-            user.setStatus(1);
-        } else {
-            user.setStatus(0);
-        }
-        userCore.setStatus(user.getStatus());
+        // 2.鏇存柊骞冲彴鐢ㄦ埛 S_USER_CORE
+        S_user_core userCore = buildUpdateUserCore(finSysTenantUser);
         this.userService.update(userCore);
         return ResponseValue.success(1);
     }
@@ -618,18 +508,24 @@
      * @Date 2023/7/17 14:36
      */
     @PostMapping("/defaultPassword")
-    public ResponseValue defaultPassword(@RequestBody FinSysTenantUser finSysTenantUser) {
-        if (finSysTenantUser == null) {
+    public ResponseValue defaultPassword() {
+        FinSysTenantUserParam user = CommonUtil.getObjFromReqBody(FinSysTenantUserParam.class);
+        FinSysTenantUserParam tenantUser = new FinSysTenantUserParam();
+        CommonUtil.copyProperties(user, tenantUser);
+        user = tenantUser;
+
+        if (Objects.isNull(user)) {
             return ResponseValue.error("鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
-        //鍒濆鍖栧瘑鐮� 123456
-        String stringValue = this.getArgumentVariable(ArgumentsConstants.KEY_SECURITY_PASSWORD_INIT).getStringValue();// 瀵嗘枃
+        // 鍒濆鍖栧瘑鐮� 123456
+        // 瀵嗘枃
+        String password = this.getArgumentVariable(ArgumentsConstants.KEY_SECURITY_PASSWORD_INIT).getStringValue();
         // 1. 淇敼鐢ㄦ埛琛�
-        //鐢ㄦ埛琛╥d
-        Long sysUserId = finSysTenantUser.getSysUserId();
+        // 鐢ㄦ埛琛╥d
+        Long sysUserId = user.getSysUserId();
         S_user_core userCore = new S_user_core();
         userCore.setId(sysUserId);
-        userCore.setPassword(stringValue);
+        userCore.setPassword(password);
         userCore.setModify_pwd(0);
         userService.update(userCore);
         // 2. 淇敼骞冲彴鐢ㄦ埛锛堜笉鐢ㄤ慨鏀癸級
@@ -651,13 +547,15 @@
         if (finSysTenantUser == null) {
             return ResponseValue.error("鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
-        String s = AESUtils.decryptStrAES(finSysTenantUser.getUserPhone(), PlatformRSAUtils.AES_KEY);
-
-        finSysTenantUser.setUserPhone(s);
+        String phone = AESUtils.decryptStrAES(finSysTenantUser.getUserPhone(), PlatformRSAUtils.AES_KEY);
+        finSysTenantUser.setUserPhone(phone);
         Long sysUserId = finSysTenantUser.getSysUserId();
-        List<S_role> list = finSysTenantUserService.getByUserId(sysUserId);
+        List<S_role> roleList = finSysTenantUserService.getRoleBySysUserId(sysUserId);
+        // 杩囨护浠撳簱绠$悊鍛樼殑鏄剧ず
+        roleList.removeIf(role -> role.getRole_name().equals("浠撳簱绠$悊鍛�"));
+
         HashMap<String, Object> map = new HashMap<>();
-        map.put("list", list);
+        map.put("list", roleList);
         map.put("data", finSysTenantUser);
         return ResponseValue.success(map);
     }
@@ -680,58 +578,65 @@
                 sysInfo.setUserPhone(AESUtils.decryptStrAES(userPhone, key));
             }
 
-            // 鏌ヨ 鐢ㄦ埛瑙掕壊 TODO 涓存椂瑙e喅 灏嗘潵鏀鹃厤缃枃浠朵腑
-            List<S_role> list = finSysTenantUserService.getByUserId(sysInfo.getSysUserId());  //宸叉湁鐨勬潈闄�
+            // 鏌ヨ 鐢ㄦ埛瑙掕壊
+            // 宸叉湁鐨勬潈闄�
+            List<S_role> list = finSysTenantUserService.getRoleBySysUserId(sysInfo.getSysUserId());
             for (S_role s_role : list) {
+                // TODO 涓存椂瑙e喅 灏嗘潵鏀鹃厤缃枃浠朵腑
                 if (s_role.getRole_id() != null && s_role.getRole_id().equals(1690961420053L)) {
                     sysInfo.setKfStatus(1);
                 }
             }
 
-            // 鏌ヨ鐖剁被鐨刼rgcode  闇�瑕佸皢鑷繁鐨刼rg鍏堟煡鍑烘潵  鍐嶆牴鎹畃arentid 鏌ョ埗绫�
+            // 鏌ヨ鐖剁被鐨刼rgcode 闇�瑕佸皢鑷繁鐨刼rg鍏堟煡鍑烘潵 鍐嶆牴鎹畃arentid 鏌ョ埗绫�
             String tenantId = sysInfo.getTenantId();
-            if (tenantId != null && !tenantId.equals("")) {
-                List<FinSysTenant> select = finSysTenantService.select(new FinSysTenant(Long.valueOf(tenantId)));
-                if (select != null && select.size() > 0) {
-                    FinSysTenant finSysTenant = select.get(0);
-                    if (finSysTenant != null && finSysTenant.getParentId() != null) {
-                        List<FinSysTenant> parents = finSysTenantService.select(new FinSysTenant(finSysTenant.getParentId()));
-                        if (parents != null && parents.size() > 0) {
-                            sysInfo.setParentCode(parents.get(0).getCode());
-                        }
+            if (StringUtils.isNotEmpty(tenantId)) {
+                FinSysTenant finSysTenant = finSysTenantService.get(new FinSysTenant(Long.valueOf(tenantId)));
+                if (finSysTenant != null && finSysTenant.getParentId() != null) {
+                    FinSysTenant parentTenant = finSysTenantService.get(new FinSysTenant(finSysTenant.getParentId()));
+                    if (ObjectUtils.isNotEmpty(parentTenant)) {
+                        sysInfo.setParentCode(parentTenant.getCode());
                     }
-
                 }
+
             }
         }
         return ResponseValue.success(sysInfo);
     }
 
-
     /**
      * 鏇存柊瑙掕壊鏉冮檺
      *
-     * @param user
      * @return
      */
     @PostMapping("/updRole")
-    public ResponseValue updRole(@RequestBody FinSysTenantUser user) {
+    public ResponseValue updRole() {
+        FinSysTenantUser user = CommonUtil.getObjFromReqBody(FinSysTenantUser.class);
+        FinSysTenantUser tenantUser = new FinSysTenantUser();
+        CommonUtil.copyProperties(user, tenantUser);
+        user = tenantUser;
+
         if (user == null) {
             return ResponseValue.error("鍙傛暟涓虹┖");
         }
-        // 1. 鏍规嵁  user.getSysUserId() 鏌ヨ
-        List<S_role> list = finSysTenantUserService.getByUserId(user.getSysUserId());  //宸叉湁鐨勬潈闄�
-        List<Long> roleList = user.getRoleList(); //閫夋嫨鐨勬潈闄�
-        //鍏堝垹闄ゅ啀娣诲姞
-        if (list != null && list.size() > 0) {
-            finSysTenantUserService.execDelRoleUserList(user.getSysUserId());
+        // 1. 鏍规嵁 user.getSysUserId() 鏌ヨ
+        // 宸叉湁鐨勬潈闄�
+        List<S_role> list = finSysTenantUserService.getRoleBySysUserId(user.getSysUserId());
+        // 閫夋嫨鐨勬潈闄�
+        List<Long> roleList = user.getRoleList();
+        // 鍏堝垹闄ゅ啀娣诲姞
+        if (!CollectionUtils.isEmpty(list)) {
+            Long sysUserId = user.getSysUserId();
+            finSysTenantUserService.execDelRoleUserList(sysUserId);
+            // 鍒犻櫎搴撶鍛樹俊鎭褰�
+            list.stream().filter(item -> "浠撳簱绠$悊鍛�".equals(item.getRole_name())).findFirst()
+                .ifPresent(item -> baseWarehouseManagerService.deleteMangerBySysUserId(sysUserId));
         }
-        if (roleList != null && roleList.size() > 0) {
+        if (!CollectionUtils.isEmpty(roleList)) {
             finSysTenantUserService.execInsertRoleUserList(roleList, user.getSysUserId());
         }
         return ResponseValue.success(1);
     }
-
 
     /**
      * @Description 鏂板
@@ -740,142 +645,90 @@
      */
     @PostMapping("/addSupplier")
     @Transactional(rollbackFor = Exception.class)
-    public ResponseValue addSupplier(@RequestBody FinSysTenantUser user) {
+    public ResponseValue addSupplier() {
+        FinSysTenantUserParam userParam = CommonUtil.getObjFromReqBody(FinSysTenantUserParam.class);
+        FinSysTenantUser user = new FinSysTenantUser();
+        CommonUtil.copyProperties(userParam, user);
+
         if (user == null) {
             return ResponseValue.error("鍙傛暟涓虹┖");
         }
         // 鑾峰彇杩愮淮绠$悊
         List<S_dept> depts = this.finSysTenantUserService.selectDept(roleName);
-        if (depts == null || depts.size() == 0) {
+        if (CollectionUtils.isEmpty(depts)) {
             return ResponseValue.error(roleName + "鐨勮鑹蹭笉瀛樺湪");
         }
-        //鏍规嵁鍛樺伐缂栧彿鏌ヨ锛屽鏋滃瓨鍦ㄥ垯鎻愮ず
-        if (finSysTenantUserService.getByUserCode(user.getUserCode()) != null && finSysTenantUserService.getByUserCode(user.getUserCode()) > 0) {
+        // 鏍规嵁鍛樺伐缂栧彿鏌ヨ锛屽鏋滃瓨鍦ㄥ垯鎻愮ず
+        if (finSysTenantUserService.getByUserCode(user.getUserCode()) != null) {
             return ResponseValue.error("鍛樺伐缂栧彿閲嶅");
         }
         FinSysTenantUser sysInfo = this.getSysInfo();
-        //鎻掑叆绯荤粺鐢ㄦ埛
-        user.setId(NumberGenerator.getLongSequenceNumber());
-        user.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
-        user.setCreateBy(this.getCurrentUser().getUser_name());
-        user.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
-        user.setUpdateBy(this.getCurrentUser().getUser_name());
-        user.setIsDelete(0);// 鏄惁鍒犻櫎 0鏄� 1鍚�
-        user.setSysUserId(NumberGenerator.getLongSequenceNumber());
-        user.setIsDelete(1);
-        user.setLv(sysInfo.getLv());
-        user.setTenantCode(sysInfo.getTenantCode());
-        user.setTenantId(sysInfo.getTenantId());
-        user.setSysDeptId(2l); //杩愮淮绠$悊
-        // 鍔犲瘑鎵嬫満鍙�
-        String key = PlatformRSAUtils.AES_KEY;
-        String userPhone = user.getUserPhone();
-        String pwdPhone = "";
-        if (userPhone != null) {
-            pwdPhone = AESUtils.encryptStrAES(userPhone, key);
-            user.setUserPhone(pwdPhone);
-        }
-
+        // 鎻掑叆绯荤粺鐢ㄦ埛
+        buildTenantUser(user, sysInfo);
         this.finSysTenantUserService.insert(user);
         // 鎻掑叆骞冲彴鐢ㄦ埛
-        S_user_core userCore = new S_user_core();
-        userCore.setId(user.getSysUserId());
-        userCore.setDept_id(depts.get(0).getId()); //閮ㄩ棬
-        userCore.setOrg_id(1L);
-        //userCore.setUser_name();  //鐢ㄦ埛璐﹀彿
-        userCore.setUser_name(user.getUserCode());  //鐢ㄦ埛璐﹀彿
-        userCore.setNick_name(user.getUserName());
-        //鐢ㄦ埛绫诲瀷 鍏堥粯璁よ缃负2
-        userCore.setUser_type(2);
-
-        userCore.setPhonenumber(userPhone);
-        //鍒濆鍖栧瘑鐮� 123456
-        String pws = this.getArgumentVariable(ArgumentsConstants.KEY_SECURITY_PASSWORD_INIT).getStringValue();
-        userCore.setPassword(pws);
-        if (user.getStatus() == 0) {
-            userCore.setStatus(1);
-        } else {
-            userCore.setStatus(0);
-        }
-        userCore.setDel_flag(0);
-        userCore.setCreate_by(this.getCurrentUser().getCreate_by());
-        userCore.setCreate_time(DateUtils.getDateTimeNumber());
-        userCore.setRemark(user.getRemark());
-        userCore.setType(1);
-        userCore.setBind_client_id("0");
-        userCore.setBind_wechat(0);
-        userCore.setModify_pwd(0);
-        userCore.setBind_mobile(0);
-        userCore.setBind_mail(0);
-        userCore.setProfile_id(0L);
-        userCore.setIs_wechat_public(0);
-        userCore.setIs_wechat_routine(0);
-        userCore.setIs_wechat_ios(0);
-        userCore.setIs_wechat_android(0);
-        userCore.setIs_logoff(0);
-        userCore.setLogoff_time(0L);
-        userCore.setIs_sms(0);
-        //绠$悊鍛樼被鍨嬶細1= 骞冲彴瓒呯, 2=鍟嗘埛瓒呯, 3=绯荤粺绠$悊鍛橈紝4=鍟嗘埛绠$悊鍛�
+        S_user_core userCore = buildUpdateUserCore(user);
+        // 閮ㄩ棬
+        userCore.setDept_id(depts.get(0).getId());
         userCore.setType(2);
-        //鍟嗘埛id锛�0-骞冲彴
-        userCore.setMer_id(0L);
         this.userService.insert(userCore);
         // 鎻掑叆骞冲彴鏈烘瀯
-        //灏戣鑹瞚d
-        List<Long> roleList = user.getRoleList(); //鏈烘瀯id  澶氫釜
-        Long sysUserId = user.getSysUserId();    //鐢ㄦ埛id
+        // 灏戣鑹瞚d
+        List<Long> roleList = user.getRoleList(); // 鏈烘瀯id 澶氫釜
+        Long sysUserId = user.getSysUserId(); // 鐢ㄦ埛id
         this.finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId);
         return ResponseValue.success(1);
     }
 
-    private Set<String> picFormatArr = new HashSet<String>() {{
-        add(".pjp");
-        add(".svgz");
-        add(".jxl");
-        add(".jpeg");
-        add(".ico");
-        add(".avif");
-        add(".tif");
-        add(".gif");
-        add(".jfif");
-        add(".jpg");
-        add(".svg");
-        add(".png");
-        add(".xbm");
-        add(".pjpeg");
-        add(".bmp");
-        add(".webp");
-    }};
+    private Set<String> picFormatArr = new HashSet<String>() {
+        {
+            add(".pjp");
+            add(".svgz");
+            add(".jxl");
+            add(".jpeg");
+            add(".ico");
+            add(".avif");
+            add(".tif");
+            add(".gif");
+            add(".jfif");
+            add(".jpg");
+            add(".svg");
+            add(".png");
+            add(".xbm");
+            add(".pjpeg");
+            add(".bmp");
+            add(".webp");
+        }
+    };
 
     @PostMapping("/updatePerson")
     @Transactional(rollbackFor = Exception.class)
-    public ResponseValue updatePerson(@RequestBody FinSysTenantUser user) {
-        if (user == null) {
+    public ResponseValue updatePerson() {
+        FinSysTenantUserParam userParam = CommonUtil.getObjFromReqBody(FinSysTenantUserParam.class);
+        FinSysTenantUserParam tenantUser = new FinSysTenantUserParam();
+        CommonUtil.copyProperties(userParam, tenantUser);
+        userParam = tenantUser;
+        if (userParam == null) {
             return ResponseValue.error("鍙傛暟涓虹┖");
         }
         FinSysTenantUser sysInfo = getSysInfo();
         if (sysInfo == null) {
             return ResponseValue.error("鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
-        String avatar = user.getAvatar();
-        if (!picFormatArr.contains(avatar.substring(avatar.lastIndexOf(".")))) {
+        String avatar = userParam.getAvatar();
+        if (StringUtils.isNotEmpty(avatar) && !picFormatArr.contains(avatar.substring(avatar.lastIndexOf(".")))) {
             return ResponseValue.error("澶村儚鏍煎紡涓嶅厑璁�");
         }
         FinSysTenantUser updUser = new FinSysTenantUser();
         updUser.setId(sysInfo.getId());
-        updUser.setAvatar(user.getAvatar());
-        updUser.setEmail(user.getEmail());
-        updUser.setUserName(user.getUserName());
-        updUser.setSex(user.getSex());
-        String pwdPhone = "";
-        if (user.getUserPhone() != null) {
-            String key = PlatformRSAUtils.AES_KEY;
-            pwdPhone = AESUtils.encryptStrAES(user.getUserPhone(), key);
-        }
-        updUser.setUserPhone(pwdPhone);
-        // 1.鏇存柊绯荤粺鐢ㄦ埛   FIN_SYS_TENANT_USER
+        updUser.setAvatar(avatar);
+        updUser.setEmail(userParam.getEmail());
+        updUser.setUserName(userParam.getUserName());
+        updUser.setSex(userParam.getSex());
+        setUserPhone(updUser, userParam.getUserPhone());
+        // 1.鏇存柊绯荤粺鐢ㄦ埛 FIN_SYS_TENANT_USER
         finSysTenantUserService.update(updUser);
-        // 2.鏇存柊骞冲彴鐢ㄦ埛  S_USER_CORE
+        // 2.鏇存柊骞冲彴鐢ㄦ埛 S_USER_CORE
         S_user_core userCore = new S_user_core();
         userCore.setId(sysInfo.getSysUserId());
         userCore.setUpdate_by(this.getCurrentUser().getUser_name());
@@ -894,11 +747,16 @@
      * @Description 淇敼瀵嗙爜
      */
     @PostMapping("/updatePassword")
-    public ResponseValue updatePassword(@RequestBody FinSysTenantUserUpdParam param) {
+    public ResponseValue updatePassword() {
+        FinSysTenantUserUpdParam param = CommonUtil.getObjFromReqBody(FinSysTenantUserUpdParam.class);
+        FinSysTenantUserUpdParam finSysTenantParam = new FinSysTenantUserUpdParam();
+        CommonUtil.copyProperties(param, finSysTenantParam);
+        param = finSysTenantParam;
+
         String oldMixPd = param.getOldMixPd();
         String newMixPd = param.getNewMixPd();
         String btnMixPd = param.getBtnMixPd();
-        //鏍¢獙鍙傛暟
+        // 鏍¢獙鍙傛暟
         if (StringUtils.isEmpty(oldMixPd) || StringUtils.isEmpty(newMixPd) || StringUtils.isEmpty(btnMixPd)) {
             return ResponseValue.error("淇℃伅涓嶈兘涓虹┖锛�");
         }
@@ -906,7 +764,7 @@
         if (sysInfo == null) {
             return ResponseValue.error("鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
-        //鏍¢獙淇╂杈撳叆鐨勫瘑鐮�
+        // 鏍¢獙淇╂杈撳叆鐨勫瘑鐮�
         btnMixPd = PlatformRSAUtils.getRsaDecryptValue(btnMixPd, PlatformRSAUtils.PRIK);
         newMixPd = PlatformRSAUtils.getRsaDecryptValue(newMixPd, PlatformRSAUtils.PRIK);
         if (!newMixPd.equals(btnMixPd)) {
@@ -920,7 +778,7 @@
         if (validatePasswordRule != null) {
             return ResponseValue.error(validatePasswordRule);
         }
-        //鐢ㄦ埛琛╥d
+        // 鐢ㄦ埛琛╥d
         Long sysUserId = sysInfo.getSysUserId();
         S_user_core queryU = new S_user_core();
         queryU.setId(sysUserId);
@@ -929,14 +787,14 @@
             return ResponseValue.error("鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
         oldMixPd = PlatformRSAUtils.getRsaDecryptValue(oldMixPd, PlatformRSAUtils.PRIK);
-        //鏍¢獙鑰佸瘑鐮�
+        // 鏍¢獙鑰佸瘑鐮�
         if (!this.matchesPassword(oldMixPd, queryUserInfo.getPassword())) {
             return ResponseValue.error("鏃у瘑鐮佽緭鍏ユ湁璇紒");
         }
         if (oldMixPd.equalsIgnoreCase(btnMixPd)) {
             return ResponseValue.error("鏂板瘑鐮佷笉鑳戒笌鏃у瘑鐮佺浉鍚岋紒");
         }
-        //鏇存柊鏁版嵁搴�
+        // 鏇存柊鏁版嵁搴�
         // 1. 淇敼鐢ㄦ埛琛�
         queryU.setPassword(this.encryptPassword(btnMixPd));
         queryU.setModify_pwd(1);
@@ -947,8 +805,7 @@
 
     @ApiOperation(value = "鏍规嵁鏈烘瀯id鏌ヨ閮ㄩ棬涓殑鐢ㄦ埛", notes = "鏍规嵁鏈烘瀯id鏌ヨ閮ㄩ棬涓殑鐢ㄦ埛")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "agencyId", value = "鏈烘瀯id", required = true, dataType = "Long", paramType = "query")
-    })
+        @ApiImplicitParam(name = "agencyId", value = "鏈烘瀯id", required = true, dataType = "Long", paramType = "query")})
     @GetMapping("/select/department")
     public ResponseValue selectDepartment(Long agencyId) {
         FinSysTenantVO finSysTenantVO = new FinSysTenantVO();
@@ -962,23 +819,29 @@
         // 閮ㄩ棬
         FinSysTenantDepartment finSysTenantDepartment = new FinSysTenantDepartment();
         finSysTenantDepartment.setTenantId(agencyId);
-        List<FinSysTenantDepartment> tenantDepartmentList = finSysTenantDepartmentService.select(finSysTenantDepartment);
+        finSysTenantDepartment.setStatus(StatesType.NORMAL.getValue());
+        finSysTenantDepartment.setIsDelete(0);
+        List<FinSysTenantDepartment> tenantDepartmentList =
+            finSysTenantDepartmentService.select(finSysTenantDepartment);
         List<DepartmentVO> departmentVOList = Lists.newArrayList();
         tenantDepartmentList.forEach(department -> {
             DepartmentVO departmentVO = new DepartmentVO();
-            //鐢ㄦ埛
+            // 鐢ㄦ埛
             Long id = department.getId();
             departmentVO.setId(id);
             departmentVO.setName(department.getName());
             departmentVO.setType("department");
-            FinSysTenantUser finSysTenantUser = new FinSysTenantUser();
-            finSysTenantUser.setSysDeptId(id);
-            List<FinSysTenantUser> tenantUserList = finSysTenantUserService.select(finSysTenantUser);
+
+            String sql = "SELECT SYS_USER_ID,USER_NAME FROM fin_sys_tenant_user "
+                + "WHERE STATUS =1 and SYS_DEPT_ID =:deptId AND SYS_USER_ID NOT IN(SELECT MANAGER_ID FROM base_warehouse_manager)";
+            Map<String, Object> param = new HashMap<>();
+            param.put("deptId", id);
+            List<Map<String, Object>> select = finSysTenantUserService.select(sql, param, new MapperUtil());
             List<UserVO> userVOList = Lists.newArrayList();
-            tenantUserList.forEach(user -> {
+            select.forEach(user -> {
                 UserVO userVO = new UserVO();
-                userVO.setId(user.getId());
-                userVO.setName(user.getUserName());
+                userVO.setId((Long)user.get("sysUserId"));
+                userVO.setName(user.get("userName").toString());
                 userVO.setType("user");
                 userVOList.add(userVO);
             });
@@ -989,6 +852,5 @@
 
         return ResponseValue.success(finSysTenantVO);
     }
-
 
 }

--
Gitblit v1.9.1