change - 用户信息增加、编辑接口增加数据源ID保存

master
Wen JY 2 years ago
parent 2695d48d31
commit ff6a81e774

@ -17,8 +17,10 @@ import com.ruoyi.system.api.domain.SysDept;
import com.ruoyi.system.api.domain.SysRole;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.model.LoginUser;
import com.ruoyi.system.domain.SysUserDatasource;
import com.ruoyi.system.service.*;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.math3.analysis.function.Add;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
@ -62,6 +64,9 @@ public class SysUserController extends BaseController {
@Autowired
private RedisService redisService;
@Autowired
private ISysUserDatasourceService sysUserDatasourceService;
/**
*
*/
@ -180,6 +185,9 @@ public class SysUserController extends BaseController {
ajax.put("posts", postService.selectPostAll());
if (StringUtils.isNotNull(userId)) {
SysUser sysUser = userService.selectUserById(userId);
//获取用户匹配的数据源ID
String s = GetDataSourceIdByUserId(sysUser);
sysUser.setDatasourceId(s);
ajax.put(AjaxResult.DATA_TAG, sysUser);
ajax.put("postIds", postService.selectPostListByUserId(userId));
ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()));
@ -204,9 +212,19 @@ public class SysUserController extends BaseController {
return error("新增用户'" + user.getUserName() + "'失败,用户数据源不可为空");
}
System.out.println("用户:"+user.getUserName()+"数据源ID"+user.getDatasourceId());
user.setCreateBy(SecurityUtils.getUsername());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
return toAjax(userService.insertUser(user));
try {
user.setCreateBy(SecurityUtils.getUsername());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
int i = userService.insertUser(user);
if(i>0){
//获取用户ID
SysUser sysUser = userService.selectUserByUserName(user.getUserName());
AddDataSourceByUserId(sysUser.getUserId(), user.getDatasourceId());
}
return AjaxResult.success();
}catch (Exception ex){
return AjaxResult.error(ex.getMessage());
}
}
/**
@ -228,6 +246,9 @@ public class SysUserController extends BaseController {
return error("修改用户'" + user.getUserName() + "'失败,用户数据源不可为空");
}
System.out.println("用户:"+user.getUserName()+"数据源ID"+user.getDatasourceId());
if(DeleteDataSourceByUserId(user.getUserId())){
AddDataSourceByUserId(user.getUserId(),user.getDatasourceId());
}
user.setUpdateBy(SecurityUtils.getUsername());
return toAjax(userService.updateUser(user));
}
@ -321,4 +342,75 @@ public class SysUserController extends BaseController {
CacheConstants.REFRESH_TIME, TimeUnit.MINUTES);
return success();
}
/**
* IDID
* @param sysUser
* @return
*/
public String GetDataSourceIdByUserId(SysUser sysUser){
try {
//获取用户数据源
SysUserDatasource sysUserDatasource = new SysUserDatasource();
sysUserDatasource.setUserId(sysUser.getUserId().toString());
List<SysUserDatasource> sysUserDatasources = sysUserDatasourceService.selectSysUserDatasourceList(sysUserDatasource);
Set<String> dataSourceSet = sysUserDatasources.stream()
.map(SysUserDatasource::getDatasourceId)
.collect(Collectors.toSet());
String dataSourceStr = dataSourceSet.stream()
.map(String::valueOf)
.collect(Collectors.joining(","));
return dataSourceStr;
}catch (Exception ex){
logger.error("根据用户ID获取数据源ID异常"+ex.getMessage());
return "";
}
}
/**
* IDID
* @param userId
*/
public boolean DeleteDataSourceByUserId(Long userId){
boolean result = false;
try{
SysUserDatasource sysUserDatasource = new SysUserDatasource();
sysUserDatasource.setUserId(userId.toString());
List<SysUserDatasource> sysUserDatasources = sysUserDatasourceService.selectSysUserDatasourceList(sysUserDatasource);
if(sysUserDatasources!=null){
Long[] ageArray = sysUserDatasources.stream()
.map(SysUserDatasource::getId)
.toArray(Long[]::new);
int i = sysUserDatasourceService.deleteSysUserDatasourceByIds(ageArray);
if (i>0){
result = true;
}
}
}catch (Exception ex){
logger.error("用户数据源清除异常:"+ex.getMessage());
}
return result;
}
/**
* ID
* @param userId
* @param dataSourceIds
*/
public void AddDataSourceByUserId(Long userId,String dataSourceIds){
try{
String[] split = dataSourceIds.split(",");
for (String dataSourceId : split) {
SysUserDatasource sysUserDatasource = new SysUserDatasource();
sysUserDatasource.setDatasourceId(dataSourceId);
sysUserDatasource.setUserId(userId.toString());
int i = sysUserDatasourceService.insertSysUserDatasource(sysUserDatasource);
}
}catch (Exception ex){
logger.error("保存用户数据源异常:"+ex.getMessage());
}
}
}

@ -242,24 +242,10 @@ public class SysUserServiceImpl implements ISysUserService {
insertUserPost(user);
// 新增用户与角色管理
insertUserRole(user);
// 加园区权限
insertUserDB(user);
return rows;
}
public void insertUserDB(SysUser user) {
// 新增用户与园区数据源
SysDatasource qo = new SysDatasource();
qo.setDeptId(user.getDeptId());//
List<SysDatasource> dbs = sysDatasourceMapper.selectDBListByDept(qo);
List<SysDatasource> list = new ArrayList<SysDatasource>();
for (SysDatasource db : dbs) {
SysDatasource ur = new SysDatasource();
ur.setUserId(user.getUserId().toString());
ur.setDatasourceId(db.getId());
list.add(ur);
}
sysDatasourceMapper.batchUserDB(list);
}
/**
*
*
@ -292,7 +278,7 @@ public class SysUserServiceImpl implements ISysUserService {
// 删除用户与数据源关联
userPostMapper.deleteUserDBByUserId(userId);
// 加园区权限
insertUserDB(user);
//insertUserDB(user);
return userMapper.updateUser(user);
}

Loading…
Cancel
Save