From 1dd5d8f8a616f5cf3caa7828d46989c7d3dcafc4 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Thu, 19 Oct 2023 15:01:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev
---
skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/service/impl/UserServiceImpl.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 53 insertions(+), 0 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/service/impl/UserServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/service/impl/UserServiceImpl.java
index f6607be..a4cea02 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/service/impl/UserServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/service/impl/UserServiceImpl.java
@@ -17,6 +17,9 @@
package cn.gistack.system.user.service.impl;
+import cn.gistack.pwd.dto.CBCResultDTO;
+import cn.gistack.pwd.dto.ResultDTO;
+import cn.gistack.pwd.fegin.IPwdClient;
import cn.gistack.system.cache.DictCache;
import cn.gistack.system.cache.ParamCache;
import cn.gistack.system.cache.SysCache;
@@ -31,7 +34,9 @@
import cn.gistack.system.user.service.IUserDeptService;
import cn.gistack.system.user.service.IUserOauthService;
import cn.gistack.system.user.service.IUserService;
+import cn.gistack.system.user.supo.UserSUPO;
import cn.gistack.system.user.vo.UserVO;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -76,6 +81,8 @@
private final ISysClient sysClient;
private final BladeTenantProperties tenantProperties;
+ private final IPwdClient pwdClient;
+
@Override
@Transactional(rollbackFor = Exception.class)
public boolean submit(User user) {
@@ -106,6 +113,44 @@
return save(user) && submitUserDept(user);
}
+ public Boolean encryptUserInfo(User user){
+ UserSUPO userSUPO = new UserSUPO();
+ userSUPO.setPhone(user.getPhone());
+ userSUPO.setRoleId(user.getRoleId());
+ userSUPO.setDeptId(user.getDeptId());
+
+ String message = JSONObject.toJSONString(userSUPO);
+
+ R<CBCResultDTO> cbcRres = pwdClient.getCBCMacEncipher(message);
+ if (cbcRres.getCode() != 200){
+ return false;
+ }
+ CBCResultDTO data = cbcRres.getData();
+ String keyIndex = data.getKeyIndex();
+ String maced = data.getMaced();
+ String sm4IV = data.getSm4IV();
+
+ user.setKeyindexs(keyIndex);
+ user.setMaced(maced);
+ user.setSm4iv(sm4IV);
+
+ R<ResultDTO> encryptRes = pwdClient.getEncrypt(sm4IV, keyIndex, message);
+ if (encryptRes.getCode() != 200){
+ return false;
+ }
+ user.setEncdata(encryptRes.getData().getData());
+
+ return true;
+ }
+
+
+ @Override
+ public boolean save(User entity) {
+ //对User进行加密
+ encryptUserInfo(entity);
+ return super.save(entity);
+ }
+
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updateUser(User user) {
@@ -128,6 +173,14 @@
return updateById(user);
}
+ @Override
+ public boolean updateById(User entity) {
+
+ encryptUserInfo(entity);
+
+ return super.updateById(entity);
+ }
+
private boolean submitUserDept(User user) {
List<Long> deptIdList = Func.toLongList(user.getDeptId());
List<UserDept> userDeptList = new ArrayList<>();
--
Gitblit v1.9.3