From 2d02dee9812ff906c0a5db97a5d04154bf54fa3f Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期三, 13 十二月 2023 17:39:58 +0800
Subject: [PATCH] 修改用户角色关联

---
 admin-web/src/views/systemManger/server/user/index.vue                                  |    2 
 consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java    |   48 +++++----------
 consum-base/src/main/java/com/consum/base/pojo/FinSysTenantUserSearchParam.java         |    3 +
 consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantUserVO.java         |   60 +++++++++++++++++++
 consum-base/src/main/java/com/consum/base/service/FinSysTenantUserService.java          |    7 +-
 consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantUserServiceImpl.java |   46 +++++++++------
 6 files changed, 111 insertions(+), 55 deletions(-)

diff --git a/admin-web/src/views/systemManger/server/user/index.vue b/admin-web/src/views/systemManger/server/user/index.vue
index 04e3997..0a651d3 100644
--- a/admin-web/src/views/systemManger/server/user/index.vue
+++ b/admin-web/src/views/systemManger/server/user/index.vue
@@ -109,7 +109,7 @@
           { title: '缂栧彿', field: 'userCode', align: 'left' },
           { title: '鐢ㄦ埛濮撳悕', field: 'userName', align: 'left' },
           { title: '鐧诲綍鍚�', field: 'userPhone', align: 'center' },
-          { title: '鎵�灞炴満鏋�', field: 'userPhone', align: 'center', width: 150 },
+          { title: '鎵�灞炴満鏋�', field: 'tenantName', align: 'center', width: 150 },
           { title: '閮ㄩ棬', field: 'sysDeptName', align: 'center' },
           {
             field: 'status',
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 25d05a3..7ee165a 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
@@ -12,7 +12,6 @@
 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;
@@ -29,6 +28,7 @@
 import com.consum.base.BaseController;
 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;
@@ -51,7 +51,6 @@
 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;
@@ -59,7 +58,6 @@
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.web.ResponseValue;
 
-import cn.hutool.core.util.ReflectUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -119,32 +117,20 @@
                 param.setTenantCode(Long.valueOf(finSysTenant.getCode()));
             }
         }
-        GenericPager<FinSysTenantUser> pager = this.finSysTenantUserService.queryAllPageUser(param);
-
-        List<FinSysTenantUserVO> resultList = new ArrayList<>();
-        for (FinSysTenantUser finSysTenantUser : pager.getDatas()) {
-            FinSysTenantUserVO userVO = new FinSysTenantUserVO();
+        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<S_role> list = finSysTenantUserService.getByUserId(finSysTenantUser.getSysUserId());
+            // 鍒楄〃涓嶉渶瑕佹煡璇㈣鑹诧紝鍙樉绀哄垪琛ㄦ墍闇�瑕佺殑淇℃伅
+            /*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 ? "鏄�" : "鍚�");*/
 
-            finSysTenantUser.setIsSupplier(finSysTenantUser.getSupplierId() != null ? "鏄�" : "鍚�");
-
-            BeanUtils.copyProperties(finSysTenantUser, userVO);
-            FinSysTenantDepartment department = finSysTenantDepartmentService.getById(finSysTenantUser.getSysDeptId());
-            if (Objects.nonNull(department)) {
-                userVO.setSysDeptName(department.getName());
-            }
-            resultList.add(userVO);
         }
-
-        ReflectUtil.setFieldValue(pager, "datas", resultList);
-
         return ResponseValue.success(pager);
     }
 
@@ -450,14 +436,14 @@
         // 1. 鏍规嵁 user.getSysUserId() 鏌ヨ
         // 宸叉湁鐨勬潈闄�
         Long sysUserId = user.getSysUserId();
-        List<S_role> list = finSysTenantUserService.getByUserId(sysUserId);
+        List<S_role> list = finSysTenantUserService.getRoleBySysUserId(sysUserId);
         // 閫夋嫨鐨勬潈闄�
         List<Long> roleList = user.getRoleList();
         // 鍏堝垹闄ゅ啀娣诲姞
-        if (list != null && list.size() > 0) {
+        if (!CollectionUtils.isEmpty(list)) {
             finSysTenantUserService.execDelRoleUserList(sysUserId);
         }
-        if (roleList != null && roleList.size() > 0) {
+        if (!CollectionUtils.isEmpty(roleList)) {
             finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId);
         }
         this.getFinSysTenantUserCache().remove(sysUserId.toString());
@@ -558,13 +544,12 @@
         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);
         HashMap<String, Object> map = new HashMap<>();
-        map.put("list", list);
+        map.put("list", roleList);
         map.put("data", finSysTenantUser);
         return ResponseValue.success(map);
     }
@@ -587,10 +572,11 @@
                 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);
                 }
@@ -633,7 +619,7 @@
         }
         // 1. 鏍规嵁 user.getSysUserId() 鏌ヨ
         // 宸叉湁鐨勬潈闄�
-        List<S_role> list = finSysTenantUserService.getByUserId(user.getSysUserId());
+        List<S_role> list = finSysTenantUserService.getRoleBySysUserId(user.getSysUserId());
         // 閫夋嫨鐨勬潈闄�
         List<Long> roleList = user.getRoleList();
         // 鍏堝垹闄ゅ啀娣诲姞
diff --git a/consum-base/src/main/java/com/consum/base/pojo/FinSysTenantUserSearchParam.java b/consum-base/src/main/java/com/consum/base/pojo/FinSysTenantUserSearchParam.java
index d0327fc..20bee83 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/FinSysTenantUserSearchParam.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/FinSysTenantUserSearchParam.java
@@ -39,4 +39,7 @@
 
     private Long sysUserId;
 
+    private Integer pageNum;
+
+    private Integer pageSize;
 }
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantUserVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantUserVO.java
index df9b90c..5e6bc2f 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantUserVO.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantUserVO.java
@@ -1,7 +1,7 @@
 package com.consum.base.pojo.response;
 
-import com.consum.model.po.FinSysTenantUser;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -12,7 +12,63 @@
  */
 @Data
 @ApiModel(value = "FinSysTenantUserVO", description = "鏈烘瀯鐢ㄦ埛淇℃伅")
-public class FinSysTenantUserVO extends FinSysTenantUser {
+public class FinSysTenantUserVO {
 
+    // 涓婚敭
+    @ApiModelProperty(value = "涓婚敭")
+    private Long id;
+
+    @ApiModelProperty(value = "鐢ㄦ埛缂栫爜")
+    private String userCode;
+
+    @ApiModelProperty(value = "鐢ㄦ埛濮撳悕")
+    private String userName;
+
+    @ApiModelProperty(value = "鐢ㄦ埛鐧诲綍鍚�")
+    private String userPhone;
+
+    @ApiModelProperty(value = "鏈烘瀯id")
+    private String tenantId;
+
+    @ApiModelProperty(value = "鏈烘瀯鍚嶇О")
+    private String tenantName;
+
+    @ApiModelProperty(value = "閮ㄩ棬鍚嶇О")
     private String sysDeptName;
+
+    @ApiModelProperty(value = "鐘舵�� (0绂佺敤1鍚敤)")
+    private Integer status;
+
+    // private String createBy;
+    //
+    // private Long createTime;
+    //
+    // private String updateBy;
+    //
+    // private Long updateTime;
+    //
+    // private Integer sex;
+    //
+    // private Long seq;
+    //
+    // private Long sysUserId;
+    //
+    // private Long sysDeptId;
+    //
+    // private String tenantCode;
+    //
+    // private Integer isDelete;
+    //
+    // private Long supplierId;
+    //
+    //
+    //
+    // private String roleStr;
+    //
+    // private List<Long> roleList;
+    //
+    // // 鏄惁涓鸿繍缁村晢 濡傛灉鏈夎繍缁村晢id 鍒欎唬琛ㄦ槸锛屽弽涔嬩笉鏄�
+    // private String isSupplier;
+
+
 }
diff --git a/consum-base/src/main/java/com/consum/base/service/FinSysTenantUserService.java b/consum-base/src/main/java/com/consum/base/service/FinSysTenantUserService.java
index 8143561..5104777 100644
--- a/consum-base/src/main/java/com/consum/base/service/FinSysTenantUserService.java
+++ b/consum-base/src/main/java/com/consum/base/service/FinSysTenantUserService.java
@@ -1,12 +1,13 @@
 package com.consum.base.service;
 
+import com.consum.base.pojo.response.FinSysTenantUserVO;
 import java.util.List;
 
+import com.consum.base.core.utils.PageUtil;
 import com.consum.base.pojo.FinSysTenantUserSearchParam;
 import com.consum.model.po.FinSysTenantUser;
 import com.iplatform.model.po.S_dept;
 import com.iplatform.model.po.S_role;
-import com.walker.db.page.GenericPager;
 import com.walker.jdbc.service.BaseService;
 
 /**
@@ -17,7 +18,7 @@
  **/
 public interface FinSysTenantUserService extends BaseService {
 
-    GenericPager<FinSysTenantUser> queryAllPageUser(FinSysTenantUserSearchParam param);
+    PageUtil<FinSysTenantUserVO> queryAllPageUser(FinSysTenantUserSearchParam param);
 
     FinSysTenantUser queryOneById(String id);
 
@@ -33,7 +34,7 @@
 
     FinSysTenantUser getByUserCode(String userCode);
 
-    List<S_role> getByUserId(Long userId);
+    List<S_role> getRoleBySysUserId(Long userId);
 
     List<S_role> getRoleAll();
 
diff --git a/consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantUserServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantUserServiceImpl.java
index eaf3dad..5a6a9fe 100644
--- a/consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantUserServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantUserServiceImpl.java
@@ -5,9 +5,14 @@
 import java.util.List;
 import java.util.Map;
 
+import org.apache.commons.compress.utils.Lists;
 import org.springframework.stereotype.Service;
 
+import com.consum.base.core.utils.MapUtils;
+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.response.FinSysTenantUserVO;
 import com.consum.base.service.FinSysTenantUserService;
 import com.consum.model.po.FinSysTenantUser;
 import com.iplatform.base.util.PlatformRSAUtils;
@@ -24,7 +29,9 @@
     private static final String SQL_GET_USER =
         "SELECT * FROM fin_sys_tenant_user WHERE IS_DELETE = 0 AND `STATUS` = 1 AND TENANT_ID = ?";
     private static final String SQL_QH_PAGE_USER_PREFIX =
-        "select fstu.* from FIN_SYS_TENANT_USER fstu where fstu.IS_DELETE = 0 ";
+        "select fstu.id,fstu.USER_CODE,fstu.USER_NAME,fstu.USER_PHONE,fst.name tenantName,fstd.name sysDeptName,fst.STATUS from FIN_SYS_TENANT_USER fstu "
+            + "left join fin_sys_tenant fst on fst.id =fstu.TENANT_ID "
+            + "left join fin_sys_tenant_department fstd on fstd.id = fstu.SYS_DEPT_ID where fstu.IS_DELETE = 0 ";
 
     private static final String SQL_TENANT_USER =
         "select fstu.*, fst.TENANT_NAME, fst.LV from FIN_SYS_TENANT_USER fstu\n"
@@ -47,8 +54,8 @@
      * @Date 2023/7/17 14:26
      */
     @Override
-    public GenericPager<FinSysTenantUser> queryAllPageUser(FinSysTenantUserSearchParam param) {
-        Map<String, Object> parameter = new HashMap<>(5);
+    public PageUtil<FinSysTenantUserVO> queryAllPageUser(FinSysTenantUserSearchParam param) {
+        Map<String, Object> parameter = new HashMap<>(10);
         StringBuilder sql = new StringBuilder(SQL_QH_PAGE_USER_PREFIX);
         if (param.getTenantCode() > 0) {
             sql.append(" and fstu.TENANT_CODE =:tenantCode");
@@ -66,19 +73,11 @@
             sql.append(" and USER_CODE like :USER_CODE");
             parameter.put("USER_CODE", StringUtils.CHAR_PERCENT + param.getUserCode() + StringUtils.CHAR_PERCENT);
         }
-        // if(StringUtils.isNotEmpty(param.getUserCode())){
-        // sql.append(" and user_code like :user_code");
-        // parameter.put("user_code", StringUtils.CHAR_PERCENT + param.getUserCode() + StringUtils.CHAR_PERCENT);
-        // }
+
         if (param.getStatus() != null) {
-            sql.append(" and status =:status");
+            sql.append(" and fstu.status =:status");
             parameter.put("status", param.getStatus());
         }
-
-        // if(param.getRoleId()!=null &&!param.getRoleId().equals("")){
-        // sql.append(" and fstu.SYS_USER_ID in (select user_id from s_role_user where role_id = :role_id)");
-        // parameter.put("role_id", param.getRoleId());
-        // }
 
         if (StringUtils.isNotEmpty(param.getUserPhone())) {
             sql.append(" and USER_PHONE =:userPhone");
@@ -111,8 +110,19 @@
                 sql.append(" and fstu.AGENT_JID is null ");
             }
         }
-        sql.append(" ORDER BY SEQ asc ,CREATE_TIME desc");
-        return this.selectSplit(sql.toString(), parameter, new FinSysTenantUser());
+        sql.append(" ORDER BY SEQ asc ,fstu.CREATE_TIME desc");
+
+        GenericPager<Map<String, Object>> mapGenericPager =
+            this.selectSplit(sql.toString(), parameter, param.getPageNum(), param.getPageSize(), new MapperUtil());
+        PageUtil pageUtil = new PageUtil(mapGenericPager);
+
+        List<FinSysTenantUserVO> result = Lists.newArrayList();
+        mapGenericPager.getDatas().forEach(map -> {
+            FinSysTenantUserVO finSysTenantUserVO = MapUtils.convertMapToObj(map, FinSysTenantUserVO.class);
+            result.add(finSysTenantUserVO);
+        });
+        pageUtil.setDatas(result);
+        return pageUtil;
     }
 
     @Override
@@ -218,10 +228,10 @@
      * @return
      */
     @Override
-    public List<S_role> getByUserId(Long userId) {
+    public List<S_role> getRoleBySysUserId(Long userId) {
         Map<String, Object> parameter = new HashMap<>();
-        StringBuilder sql = new StringBuilder(SQL_SELECT_USER_ID);
-        sql.append("and ROLE_ID IN (SELECT DISTINCT(ROLE_ID) FROM S_ROLE_USER WHERE USER_ID= :userId )");
+        StringBuilder sql = new StringBuilder("SELECT * FROM S_ROLE where ");
+        sql.append("ROLE_ID IN (SELECT DISTINCT(ROLE_ID) FROM S_ROLE_USER WHERE USER_ID= :userId )");
         parameter.put("userId", userId);
         List<S_role> select = this.select(sql.toString(), parameter, new S_role());
         return select;

--
Gitblit v1.9.1