From e33cc6968e5c7c57013413b077421b77714ed69b Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Tue, 20 Aug 2024 14:48:17 +0800
Subject: [PATCH] 1、修改代码生成器 2、优化网关解析token信息 3、web端登录授权操作 4、web端修改密码操作

---
 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java |   88 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 76 insertions(+), 12 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 ad899a4..89b9369 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
@@ -1,13 +1,22 @@
 package cn.huge.module.ctuser.service;
 
+import cn.huge.base.common.exception.MethodException;
 import cn.huge.base.common.exception.ServiceException;
 import cn.huge.base.common.utils.DateUtils;
 import cn.huge.base.common.utils.IdUtils;
+import cn.huge.base.common.utils.ObjectUtils;
 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.CtUser;
+import cn.huge.module.cust.constant.UserBaseConsts;
+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.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -15,6 +24,7 @@
 import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.DigestUtils;
 
 import javax.annotation.PostConstruct;
 import java.util.Date;
@@ -33,6 +43,9 @@
 @Service
 @Transactional(rollbackFor = Exception.class)
 public class CtUserService extends ServiceImpl<CtUserMapper, CtUser>{
+
+    @Autowired
+    private RedisTemplate<String, Object> redisTemplate;
 
     @Autowired
     private CtUserMapper mapper;
@@ -111,23 +124,74 @@
     }
 
     /**
-    * 新增或更新对象
-    * @param ctUser 实体对象
-    */
-    public void saveCtUser(CtUser ctUser){
+     * 新增对象
+     * @param ctUser 实体对象
+     */
+    public void saveToRedis(CtUser ctUser){
         try{
-            Date nowDate = DateUtils.getMowDate();
-            // 判断是否新增
-            if (IdUtils.checkNewId(ctUser.getId())){
-                ctUser.setId(utilsClient.getNewTimeId());
-                ctUser.setCreateTime(nowDate);
-            }
-            ctUser.setUpdateTime(nowDate);
-            this.saveOrUpdate(ctUser);
+            mapper.insert(ctUser);
+            // 清楚redis缓存
+            String key = RedisKeyConsts.CTUSER + ctUser.getId();
+            redisTemplate.delete(key);
+            // 重新set
+            redisTemplate.opsForValue().set(key, ctUser);
         }catch (Exception e){
             log.error("[CtUserService.saveCtUser]调用失败,异常信息:"+e, e);
             throw new ServiceException("CtUserService.saveCtUser", e);
         }
     }
 
+    /**
+     * 更新对象
+     * @param ctUser 实体对象
+     */
+    public void updateToRedis(CtUser ctUser){
+        try{
+            mapper.updateById(ctUser);
+            // 清楚redis缓存
+            String key = RedisKeyConsts.CTUSER + ctUser.getId();
+            redisTemplate.delete(key);
+            // 重新set
+            redisTemplate.opsForValue().set(key, ctUser);
+        }catch (Exception e){
+            log.error("[CtUserService.saveCtUser]调用失败,异常信息:"+e, e);
+            throw new ServiceException("CtUserService.saveCtUser", e);
+        }
+    }
+
+    /**
+     * 根据id查询
+     * @param id 编号
+     * @return
+     */
+    public CtUser getByIdFromRedis(String id){
+        String key = RedisKeyConsts.CTUSER + id;
+        // 从redis获取
+        CtUser ctUser = (CtUser) redisTemplate.opsForValue().get(key);
+        if (ObjectUtils.isEmpty(ctUser)){
+            ctUser = mapper.selectById(id);
+            if (ObjectUtils.isNotEmpty(ctUser)){
+                redisTemplate.opsForValue().set(key, ctUser);
+            }
+        }
+        return ctUser;
+    }
+
+    /**
+     * web端-人员信息管理-新增/新用户信息
+     * @param ctUser
+     * @param userId
+     */
+    public void webSaveCtUser(CtUser ctUser, String userId) {
+        try {
+            // 获取当前登录用户
+            CtUser loginUser = this.getByIdFromRedis(userId);
+            Date nowDate = DateUtils.getNowDate();
+
+        } catch (Exception e) {
+            log.error("service方法[CtUserService.webSaveCtUser]调用异常:" + e, e);
+            throw new MethodException(e.getMessage());
+        }
+    }
+
 }

--
Gitblit v1.8.0