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 | 79 +++++++++++++++++++++++++++++++++++++++
1 files changed, 78 insertions(+), 1 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 fe6248e..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<>();
@@ -141,13 +194,37 @@
return userDeptService.saveBatch(userDeptList);
}
+ /**
+ * 自定义分页查询
+ * @param page
+ * @param user
+ * @param deptId
+ * @param tenantId
+ * @return
+ */
@Override
public IPage<UserVO> selectUserPage(IPage<UserVO> page, UserVO user, Long deptId, String tenantId) {
- List<Long> deptIdList = SysCache.getDeptChildIds(deptId);
+ List<Long> deptIdList = new ArrayList<>();
+ if (null!=user.getIsDept()) {
+ deptIdList.add(deptId);
+ }else {
+ deptIdList = SysCache.getDeptChildIds(deptId);
+ }
return page.setRecords(baseMapper.selectUserPage(page, user, deptIdList, tenantId));
}
@Override
+ public List<UserVO> getAllUser(UserVO user, Long deptId, String tenantId) {
+ List<Long> deptIdList = new ArrayList<>();
+ if (null!=user.getIsDept()) {
+ deptIdList.add(deptId);
+ }else {
+ deptIdList = SysCache.getDeptChildIds(deptId);
+ }
+ return baseMapper.getAllUser(user, deptIdList, tenantId);
+ }
+
+ @Override
public IPage<UserVO> selectUserSearch(UserVO user, Query query) {
LambdaQueryWrapper<User> queryWrapper = Wrappers.<User>query().lambda();
String tenantId = AuthUtil.getTenantId();
--
Gitblit v1.9.3