From f974bf528f0fd1f7316bdb3f06be8004e8db9f15 Mon Sep 17 00:00:00 2001
From: wangwh <2397901735@qq.com>
Date: Wed, 21 Aug 2024 17:24:07 +0800
Subject: [PATCH] 用户中心部分迁移1

---
 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java |   76 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 76 insertions(+), 0 deletions(-)

diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java
index 89b9369..80c5f99 100644
--- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java
+++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java
@@ -8,13 +8,16 @@
 import cn.huge.module.client.api.impl.UtilsClientImpl;
 import cn.huge.module.constant.BaseConsts;
 import cn.huge.module.ctuser.dao.mapper.CtUserMapper;
+import cn.huge.module.ctuser.domain.po.CtUnit;
 import cn.huge.module.ctuser.domain.po.CtUser;
 import cn.huge.module.cust.constant.UserBaseConsts;
+import cn.huge.module.cust.dto.CtUserDTO;
 import cn.huge.module.redis.constant.RedisKeyConsts;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
@@ -30,6 +33,7 @@
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @title: 客户用户表业务逻辑处理
@@ -52,6 +56,12 @@
 
     @Autowired
     private UtilsClientImpl utilsClient;
+
+    @Autowired
+    private CtUnitService ctUnitService;
+
+    @Autowired
+    private CtUseroleService ctUseroleService;
 
     /**
     * 更新对象
@@ -194,4 +204,70 @@
         }
     }
 
+    /**
+     * 重写根据id获取用户
+     * @param userId 登录用户编号
+     * @return Object
+     */
+    public CtUser getById(String userId) {
+        String loginUserId = "";
+        if (userId.indexOf(BaseConsts.AND) != -1){
+            String[] userIds = userId.split(BaseConsts.AND);
+            loginUserId = userIds[0];
+        }else {
+            loginUserId = userId;
+        }
+        return mapper.selectById(loginUserId);
+    }
+
+    /**
+     * 按条件分页查询
+     *
+     * @param page  分页对象
+     * @param terms 条件
+     * @return Page
+     */
+    public Page<CtUser> pageUserAndRole(PageRequest page, Map<String, Object> terms) {
+        long total = mapper.countQueryCtUser(terms);
+        List<CtUser> content = mapper.pageQueryCtUser(page, terms);
+        return new PageImpl<CtUser>(content, page, total);
+    }
+
+    /**
+     * 获取当前登录用户,获取用户所有信息(用户信息、角色等)
+     * @param userId 登录用户编号
+     * @return Object
+     */
+    public CtUserDTO clientGetUserAll(String userId) {
+        String loginUserId = "";
+        String loginRoleCode = "";
+        if (userId.indexOf(BaseConsts.AND) != -1){
+            String[] userIds = userId.split(BaseConsts.AND);
+            loginUserId = userIds[0];
+            loginRoleCode = userIds[1];
+        }else {
+            loginUserId = userId;
+        }
+        // 用户信息
+        CtUser ctUser = mapper.selectById(loginUserId);
+        if (ObjectUtils.isNotEmpty(ctUser)){
+            CtUnit ctUnit = ctUnitService.getById(ctUser.getUnitId());
+            CtUserDTO ctUserDTO = new CtUserDTO();
+            BeanUtils.copyProperties(ctUser, ctUserDTO);
+            if(ObjectUtils.isNotEmpty(ctUnit)){
+                ctUserDTO.setUnitType(ctUnit.getUnitType());
+            }
+            // 角色代码
+            if (StringUtils.isEmpty(loginRoleCode)) {
+                List<String>  roleCodeList = ctUseroleService.listRoleCode(loginUserId);
+                String userRole = roleCodeList.stream().map(String::valueOf).collect(Collectors.joining(","));
+                ctUserDTO.setRoleCodes(userRole);
+            }else {
+                ctUserDTO.setRoleCodes(loginRoleCode);
+            }
+            return ctUserDTO;
+        }else {
+            return null;
+        }
+    }
 }

--
Gitblit v1.8.0