package com.ld.igds.basic.controller;
|
|
import com.bstek.bdf2.core.business.IUser;
|
import com.bstek.bdf2.core.model.DefaultDept;
|
import com.bstek.bdf2.core.model.DefaultUser;
|
import com.bstek.bdf2.core.model.Role;
|
import com.bstek.bdf2.core.security.SecurityUtils;
|
import com.ld.igds.constant.Constant;
|
import com.ld.igds.constant.RespCodeEnum;
|
import com.ld.igds.data.BaseParam;
|
import com.ld.igds.data.PageResponse;
|
import com.ld.igds.sys.data.SysUserData;
|
import com.ld.igds.sys.service.SysDeptService;
|
import com.ld.igds.sys.service.SysRoleService;
|
import com.ld.igds.sys.service.SysUserService;
|
import com.ld.igds.util.ContextUtil;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.servlet.ModelAndView;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @Desc: 系统管理,用户、权限、角色等
|
* @author: Andy
|
* @update-time: 2023/3/31
|
*/
|
@Slf4j
|
@RestController
|
@RequestMapping("basic/sys")
|
public class SysController {
|
|
@Resource
|
private SysDeptService deptService;
|
@Resource
|
private SysRoleService roleService;
|
@Resource
|
private SysUserService sysUserService;
|
|
|
/**
|
* 用户列表
|
*
|
* @param deptId
|
* @return
|
*/
|
@RequestMapping("/user-list")
|
public ModelAndView userList(
|
@RequestParam(value = "deptId", required = false) String deptId) {
|
ModelAndView view = new ModelAndView();
|
|
IUser user = ContextUtil.getLoginUser();
|
view.addObject(Constant.MODEL_KEY_LOGIN_USER, user);
|
|
if (StringUtils.isEmpty(deptId)) {
|
deptId = ContextUtil.subDeptId(user);
|
}
|
|
//获取所有角色
|
List<Role> roles = roleService.loadRoles(user.getCompanyId());
|
if (null == roles) roles = new ArrayList<>();
|
view.addObject("roles", roles);
|
|
//获取所有的部门
|
List<DefaultDept> depts = deptService.getCacheDept(user.getCompanyId());
|
if (null == depts) depts = new ArrayList<>();
|
view.addObject("depts", depts);
|
|
|
view.setViewName("admin/system/user-list");
|
return view;
|
}
|
|
/**
|
* 用户中心
|
*
|
* @return
|
*/
|
@RequestMapping("/user-center")
|
public ModelAndView userCenter() {
|
ModelAndView view = new ModelAndView();
|
|
IUser user = ContextUtil.getLoginUser();
|
|
DefaultUser loginUser = sysUserService.loadUser(user.getUsername());
|
|
if (null == loginUser) {
|
loginUser = new DefaultUser();
|
loginUser.setUsername("未登陆");
|
loginUser.setCname("未登陆");
|
} else {
|
DefaultDept defaultDept = deptService.loadUserDept(loginUser.getUsername());
|
if (null != defaultDept) {
|
loginUser.setDeptName(defaultDept.getName());
|
loginUser.setDeptId(defaultDept.getId());
|
}
|
Role role = roleService.getRoleByUsername(loginUser.getUsername());
|
if (null != role) {
|
loginUser.setRoleName(role.getName());
|
loginUser.setRoleId(role.getId());
|
}
|
}
|
|
view.addObject(Constant.MODEL_KEY_LOGIN_USER, loginUser);
|
|
view.setViewName("admin/system/user-setting");
|
|
return view;
|
}
|
|
/**
|
* 默认获取用户列表
|
*
|
* @return
|
*/
|
@RequestMapping("/query-user-list")
|
public PageResponse<List<SysUserData>> queryUserList() {
|
|
BaseParam param = new BaseParam();
|
param.setCompanyId(ContextUtil.getCompanyId());
|
|
List<SysUserData> listAll = sysUserService.queryUserList(param);
|
|
if (null == listAll || listAll.isEmpty()) {
|
return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(),
|
"根据条件获取数据为空");
|
}
|
|
|
DefaultDept defaultDept;
|
Role role;
|
for (SysUserData userData : listAll) {
|
defaultDept = deptService.loadUserDept(userData.getUsername());
|
if (null != defaultDept) {
|
userData.setDeptName(defaultDept.getName());
|
userData.setDeptId(defaultDept.getId());
|
}
|
role = roleService.getRoleByUsername(userData.getUsername());
|
if (null != role) {
|
userData.setRoleName(role.getName());
|
userData.setRoleId(role.getId());
|
}
|
}
|
|
return new PageResponse<>(RespCodeEnum.CODE_0000, listAll);
|
}
|
|
|
/**
|
* 默认获取用户列表
|
*
|
* @return
|
*/
|
@RequestMapping("/add-user")
|
public PageResponse<String> addUser(@RequestBody SysUserData userData) {
|
|
log.info("-----------addUser----------------------{}", userData);
|
|
DefaultUser user = new DefaultUser();
|
BeanUtils.copyProperties(userData, user);
|
user.setCompanyId(ContextUtil.getCompanyId());
|
|
|
String msg = sysUserService.addUser(user);
|
|
if (null != msg) {
|
new PageResponse<>(RespCodeEnum.CODE_1111, msg);
|
}
|
|
// 更新用户的权限信息
|
if (null != user.getRoleId()) {
|
roleService.updateUserRole(user.getUsername(), user.getRoleId());
|
}
|
|
if (null != user.getDeptId()) {
|
deptService.updateUserDept(user.getUsername(), user.getDeptId());
|
}
|
|
return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "SUCCESS");
|
}
|
|
|
/**
|
* 调整用户信息
|
*
|
* @return
|
*/
|
@RequestMapping("/update-user")
|
public PageResponse<String> updateUser(@RequestBody SysUserData userData) {
|
|
log.info("-----------updateUser----------------------{}", userData);
|
|
DefaultUser user = sysUserService.loadUser(userData.getUsername());
|
String msg = null;
|
if (null == user) {
|
msg = "系统不存在当前用户";
|
new PageResponse<>(RespCodeEnum.CODE_1111, msg);
|
}
|
|
user.setCname(userData.getCname());
|
user.setEnabled(userData.isEnabled());
|
user.setMale(userData.isMale());
|
user.setMobile(userData.getMobile());
|
|
if(null != userData.getDeptId()){
|
user.setDeptId(userData.getDeptId());
|
}
|
if(null != userData.getRoleId()){
|
user.setRoleId(userData.getRoleId());
|
}
|
|
msg = sysUserService.updateUser(user);
|
if (null != msg) {
|
new PageResponse<>(RespCodeEnum.CODE_1111, msg);
|
}
|
|
// 更新用户的权限信息
|
if (null != user.getRoleId()) {
|
roleService.updateUserRole(user.getUsername(), user.getRoleId());
|
}
|
|
if (null != user.getDeptId()) {
|
deptService.updateUserDept(user.getUsername(), user.getDeptId());
|
}
|
|
return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "SUCCESS");
|
}
|
|
|
/**
|
* 重置用户密码
|
*
|
* @return
|
*/
|
@RequestMapping("reset-pwd")
|
public PageResponse<String> resetPwd(@RequestBody SysUserData userData) {
|
|
log.info("-----------resetPwd----------------------{}", userData);
|
|
if (null == userData.getCompanyId()) {
|
userData.setCompanyId(ContextUtil.getCompanyId());
|
}
|
|
String msg = sysUserService.resetPwd(userData.getCompanyId(), userData.getUsername(),
|
null);
|
|
return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), msg);
|
}
|
|
/**
|
* 刷新用户角色配置
|
*
|
* @return
|
*/
|
@RequestMapping("/flush-role")
|
public PageResponse<String> flushRole() {
|
|
SecurityUtils.refreshUrlSecurityMetadata();
|
SecurityUtils.refreshComponentSecurityMetadata();
|
|
roleService.updateCacheRoleUrl(ContextUtil.getCompanyId());
|
|
roleService.updateCacheRoleUser(ContextUtil.getCompanyId());
|
|
return new PageResponse<>(RespCodeEnum.CODE_0000, "SUCCESS");
|
}
|
|
|
/**
|
* 用户更改个人密码
|
*
|
* @return
|
*/
|
@RequestMapping("/update-pwd")
|
public PageResponse<String> updatePwd(@RequestBody SysUserData userData) {
|
|
log.info("-----------updatePwd----------------------{}", userData);
|
|
|
Map<String, Object> params = new HashMap<>();
|
params.put("username", userData.getUsername());
|
params.put("password", userData.getPassword());
|
params.put("newPassword", userData.getNewPassword());
|
params.put("confirmPassword", userData.getConfirmPassword());
|
|
|
String msg = sysUserService.updatePwd(params);
|
|
if (null != msg) {
|
new PageResponse<>(RespCodeEnum.CODE_1111, msg);
|
}
|
|
return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "SUCCESS");
|
}
|
|
|
}
|