Merge remote-tracking branch 'origin/fix-bug-202303' into fix-bug-202303

This commit is contained in:
zhaoxiao
2023-03-06 16:07:15 +08:00
3 changed files with 249 additions and 199 deletions
@@ -11,9 +11,11 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
@@ -51,6 +53,8 @@ import java.io.IOException;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.sun.activation.registries.LogSupport.log;
/** /**
* <p> * <p>
* 用户表 前端控制器 * 用户表 前端控制器
@@ -87,6 +91,20 @@ public class SysUserController {
@Resource @Resource
private BaseCommonService baseCommonService; private BaseCommonService baseCommonService;
private static String SELECTED_ROLES ="selectedroles";
private static String RSA_PUBLIC_KEY ="rsaPublicKey";
private static String OPTION_SUCCESS = "操作成功!";
private static String INEXISTENCE = "未找到对应实体";
private static String USER_ERROR_MSG = "用户不存在!";
private static final String USER_NAME = "username";
private static final String USER_ID = "user_id";
private static String ROLE_ID = "role_id";
private static String DEL_SUCCESS = "删除成功!";
private static String DEL_FAILE = "删除失败!";
private static String DEP_ID = "dep_id";
private static String PHONE = "phone";
private static String SMSCODE = "smscode";
/** /**
* 获取用户列表数据 * 获取用户列表数据
* @param user * @param user
@@ -97,17 +115,18 @@ public class SysUserController {
*/ */
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
@PermissionData(pageComponent = "system/UserList") @PermissionData(pageComponent = "system/UserList")
@RequestMapping(value = "/page", method = RequestMethod.GET) // @RequestMapping(value = "/page", method = RequestMethod.GET)
@GetMapping("/page")
public Result<IPage<SysUser>> queryPageList(SysUser user, public Result<IPage<SysUser>> queryPageList(SysUser user,
@RequestParam(name="departId", required = false) String departId, @RequestParam(name="departId", required = false) String departId,
@RequestParam(name="roleId", required = false) String roleId, @RequestParam(name="roleId", required = false) String roleId,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req) { @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req) {
Result<IPage<SysUser>> result = new Result<IPage<SysUser>>(); Result<IPage<SysUser>> result = new Result<>();
QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap()); QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap());
Page<SysUser> page = new Page<SysUser>(pageNo, pageSize); Page<SysUser> page = new Page<>(pageNo, pageSize);
List<String> subDepIds = null; List<String> subDepIds = null;
if (StrUtil.isNotEmpty(departId)){ if (StrUtil.isNotEmpty(departId)){
subDepIds = sysDepartService.getSubDepIdsByDepId(departId); subDepIds = sysDepartService.getSubDepIdsByDepId(departId);
@@ -119,7 +138,7 @@ public class SysUserController {
//批量查询用户的所属部门 //批量查询用户的所属部门
//step.1 先拿到全部的 useids //step.1 先拿到全部的 useids
List<String> userIds = pageList.getRecords().stream().map(SysUser::getId).collect(Collectors.toList()); List<String> userIds = pageList.getRecords().stream().map(SysUser::getId).collect(Collectors.toList());
if(userIds!=null && userIds.size()>0){ if(userIds!=null && !userIds.isEmpty()){
//step.2 通过 useids,一次性查询用户的所属部门名字 //step.2 通过 useids,一次性查询用户的所属部门名字
Map<String,String> useDepNames = sysUserService.getDepNamesByUserIds(userIds); Map<String,String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
//step.3 通过 useids,一次性查询用户的角色名字 //step.3 通过 useids,一次性查询用户的角色名字
@@ -133,17 +152,18 @@ public class SysUserController {
result.setSuccess(true); result.setSuccess(true);
result.setResult(pageList); result.setResult(pageList);
log.info(pageList.toString()); SysUserController.log.info(pageList.toString());
return result; return result;
} }
@RequiresPermissions("user:add") @RequiresPermissions("user:add")
@RequestMapping(value = "/add", method = RequestMethod.POST) // @RequestMapping(value = "/add", method = RequestMethod.POST)
@PostMapping("/add")
public Result<Object> add(@RequestBody JSONObject jsonObject) { public Result<Object> add(@RequestBody JSONObject jsonObject) {
try { try {
String selectedRoles = jsonObject.getString("selectedroles"); String selectedRoles = jsonObject.getString(SELECTED_ROLES);
String selectedDeparts = jsonObject.getString("selecteddeparts"); String selectedDeparts = jsonObject.getString("selecteddeparts");
String rsaPublicKey = jsonObject.getString("rsaPublicKey"); String rsaPublicKey = jsonObject.getString(RSA_PUBLIC_KEY);
String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey)); String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey));
SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class); SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class);
@@ -173,25 +193,26 @@ public class SysUserController {
// 保存用户走一个service 保证事务 // 保存用户走一个service 保证事务
sysUserService.saveUser(user, selectedRoles, selectedDeparts); sysUserService.saveUser(user, selectedRoles, selectedDeparts);
return Result.OK("操作成功!"); return Result.OK(OPTION_SUCCESS);
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
return Result.error("操作失败"); return Result.error("操作失败");
} }
} }
@RequiresPermissions("user:edit") @RequiresPermissions("user:edit")
@RequestMapping(value = "/edit", method = RequestMethod.PUT) // @RequestMapping(value = "/edit", method = RequestMethod.PUT)
@PutMapping("/edit")
public Result<SysUser> edit(@RequestBody JSONObject jsonObject) { public Result<SysUser> edit(@RequestBody JSONObject jsonObject) {
String rsaPublicKey = jsonObject.getString("rsaPublicKey"); String rsaPublicKey = jsonObject.getString(RSA_PUBLIC_KEY);
String roles = jsonObject.getString("selectedroles"); String roles = jsonObject.getString(SELECTED_ROLES);
String departs = jsonObject.getString("selecteddeparts"); String departs = jsonObject.getString("selecteddeparts");
String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey)); String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey));
try { try {
SysUser sysUser = sysUserService.getById(jsonObject.getString("id")); SysUser sysUser = sysUserService.getById(jsonObject.getString("id"));
baseCommonService.addLog("编辑用户,id " +jsonObject.getString("id") ,CommonConstant.LOG_TYPE_2, 2); baseCommonService.addLog("编辑用户,id " +jsonObject.getString("id") ,CommonConstant.LOG_TYPE_2, 2);
if(sysUser==null) { if(sysUser==null) {
return Result.error("未找到对应实体"); return Result.error(INEXISTENCE);
}else { }else {
SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class); SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class);
String email = null; String email = null;
@@ -215,23 +236,25 @@ public class SysUserController {
user.setPassword(sysUser.getPassword()); user.setPassword(sysUser.getPassword());
// 修改用户走一个service 保证事务 // 修改用户走一个service 保证事务
sysUserService.editUser(user, roles, departs); sysUserService.editUser(user, roles, departs);
return Result.OK("操作成功!"); return Result.OK(OPTION_SUCCESS);
} }
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
return Result.error("操作失败"); return Result.error("操作失败");
} }
} }
@RequestMapping(value = "/delete", method = RequestMethod.DELETE) // @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
public Result<?> delete(@RequestParam(name="id",required=true) String id) { @DeleteMapping("/delete")
public Result<T> delete(@RequestParam(name="id",required=true) String id) {
baseCommonService.addLog("删除用户,id " +id ,CommonConstant.LOG_TYPE_2, 3); baseCommonService.addLog("删除用户,id " +id ,CommonConstant.LOG_TYPE_2, 3);
this.sysUserService.deleteUser(id); this.sysUserService.deleteUser(id);
return Result.OK("删除用户成功"); return Result.OK("删除用户成功");
} }
@RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE) // @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE)
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) { @DeleteMapping("/deleteBatch")
public Result<T> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
baseCommonService.addLog("批量删除用户, ids " +ids ,CommonConstant.LOG_TYPE_2, 3); baseCommonService.addLog("批量删除用户, ids " +ids ,CommonConstant.LOG_TYPE_2, 3);
this.sysUserService.deleteBatchUsers(ids); this.sysUserService.deleteBatchUsers(ids);
return Result.OK("批量删除用户成功"); return Result.OK("批量删除用户成功");
@@ -239,7 +262,8 @@ public class SysUserController {
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
@RequestMapping(value = "/frozenBatch", method = RequestMethod.PUT) // @RequestMapping(value = "/frozenBatch", method = RequestMethod.PUT)
@PutMapping("/frozenBatch")
public Result<Object> frozenBatch(@RequestBody JSONObject jsonObject) { public Result<Object> frozenBatch(@RequestBody JSONObject jsonObject) {
try { try {
String ids = jsonObject.getString("ids"); String ids = jsonObject.getString("ids");
@@ -252,29 +276,31 @@ public class SysUserController {
} }
} }
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
return Result.error("操作失败"+e.getMessage()); return Result.error("操作失败"+e.getMessage());
} }
return Result.OK("操作成功!"); return Result.OK(OPTION_SUCCESS);
} }
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
@RequestMapping(value = "/queryById", method = RequestMethod.GET) // @RequestMapping(value = "/queryById", method = RequestMethod.GET)
@GetMapping("/queryById")
public Result<SysUser> queryById(@RequestParam(name = "id", required = true) String id) { public Result<SysUser> queryById(@RequestParam(name = "id", required = true) String id) {
SysUser sysUser = sysUserService.getById(id); SysUser sysUser = sysUserService.getById(id);
if (sysUser == null) { if (sysUser == null) {
return Result.error("未找到对应实体"); return Result.error(INEXISTENCE);
} else { } else {
return Result.OK(sysUser); return Result.OK(sysUser);
} }
} }
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
@RequestMapping(value = "/queryUserRole", method = RequestMethod.GET) // @RequestMapping(value = "/queryUserRole", method = RequestMethod.GET)
@GetMapping("/queryUserRole")
public Result<List<String>> queryUserRole(@RequestParam(name = "userid", required = true) String userid) { public Result<List<String>> queryUserRole(@RequestParam(name = "userid", required = true) String userid) {
List<String> list = new ArrayList<String>(); List<String> list = new ArrayList<>();
List<SysUserRole> userRole = sysUserRoleService.list(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, userid)); List<SysUserRole> userRole = sysUserRoleService.list(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, userid));
if (userRole == null || userRole.size() <= 0) { if (userRole == null || userRole.isEmpty()) {
return Result.error("未找到用户相关角色信息"); return Result.error("未找到用户相关角色信息");
} else { } else {
for (SysUserRole sysUserRole : userRole) { for (SysUserRole sysUserRole : userRole) {
@@ -293,7 +319,8 @@ public class SysUserController {
* @return * @return
*/ */
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
@RequestMapping(value = "/checkOnlyUser", method = RequestMethod.GET) // @RequestMapping(value = "/checkOnlyUser", method = RequestMethod.GET)
@GetMapping("/checkOnlyUser")
public Result<Boolean> checkOnlyUser(SysUser sysUser) { public Result<Boolean> checkOnlyUser(SysUser sysUser) {
Result<Boolean> result = new Result<>(); Result<Boolean> result = new Result<>();
//如果此参数为false则程序发生异常 //如果此参数为false则程序发生异常
@@ -301,7 +328,7 @@ public class SysUserController {
try { try {
//通过传入信息查询新的用户信息 //通过传入信息查询新的用户信息
sysUser.setPassword(null); sysUser.setPassword(null);
SysUser user = sysUserService.getOne(new QueryWrapper<SysUser>(sysUser)); SysUser user = sysUserService.getOne(new QueryWrapper<>(sysUser));
if (user != null) { if (user != null) {
result.setSuccess(false); result.setSuccess(false);
result.setMessage("用户账号已存在"); result.setMessage("用户账号已存在");
@@ -320,11 +347,12 @@ public class SysUserController {
/** /**
* 修改密码 * 修改密码
*/ */
@RequestMapping(value = "/changePassword", method = RequestMethod.PUT) // @RequestMapping(value = "/changePassword", method = RequestMethod.PUT)
public Result<?> changePassword(@RequestBody SysUser sysUser) { @PutMapping("/changePassword")
public Result<T> changePassword(@RequestBody SysUser sysUser) {
SysUser u = this.sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, sysUser.getUsername())); SysUser u = this.sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, sysUser.getUsername()));
if (u == null) { if (u == null) {
return Result.error("用户不存在!"); return Result.error(USER_ERROR_MSG);
} }
sysUser.setId(u.getId()); sysUser.setId(u.getId());
return sysUserService.changePassword(sysUser); return sysUserService.changePassword(sysUser);
@@ -337,12 +365,13 @@ public class SysUserController {
* @return * @return
*/ */
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
@RequestMapping(value = "/userDepartList", method = RequestMethod.GET) // @RequestMapping(value = "/userDepartList", method = RequestMethod.GET)
@GetMapping("/userDepartList")
public Result<List<DepartIdModel>> getUserDepartsList(@RequestParam(name = "userId", required = true) String userId) { public Result<List<DepartIdModel>> getUserDepartsList(@RequestParam(name = "userId", required = true) String userId) {
Result<List<DepartIdModel>> result = new Result<>(); Result<List<DepartIdModel>> result = new Result<>();
try { try {
List<DepartIdModel> depIdModelList = this.sysUserDepartService.queryDepartIdsOfUser(userId); List<DepartIdModel> depIdModelList = this.sysUserDepartService.queryDepartIdsOfUser(userId);
if (depIdModelList != null && depIdModelList.size() > 0) { if (depIdModelList != null && !depIdModelList.isEmpty()) {
result.setSuccess(true); result.setSuccess(true);
result.setMessage("查找成功"); result.setMessage("查找成功");
result.setResult(depIdModelList); result.setResult(depIdModelList);
@@ -352,7 +381,7 @@ public class SysUserController {
} }
return result; return result;
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
result.setSuccess(false); result.setSuccess(false);
result.setMessage("查找过程中出现了异常: " + e.getMessage()); result.setMessage("查找过程中出现了异常: " + e.getMessage());
return result; return result;
@@ -366,10 +395,11 @@ public class SysUserController {
* @return * @return
*/ */
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
@RequestMapping(value = "/generateUserId", method = RequestMethod.GET) // @RequestMapping(value = "/generateUserId", method = RequestMethod.GET)
@GetMapping("/generateUserId")
public Result<String> generateUserId() { public Result<String> generateUserId() {
Result<String> result = new Result<>(); Result<String> result = new Result<>();
System.out.println("我执行了,生成用户ID=============================="); log("我执行了,生成用户ID==============================");
String userId = UUID.randomUUID().toString().replace("-", ""); String userId = UUID.randomUUID().toString().replace("-", "");
result.setSuccess(true); result.setSuccess(true);
result.setResult(userId); result.setResult(userId);
@@ -383,7 +413,8 @@ public class SysUserController {
* @return * @return
*/ */
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
@RequestMapping(value = "/queryUserByDepId", method = RequestMethod.GET) // @RequestMapping(value = "/queryUserByDepId", method = RequestMethod.GET)
@GetMapping("/queryUserByDepId")
public Result<List<SysUser>> queryUserByDepId(@RequestParam(name = "id", required = true) String id,@RequestParam(name="realname",required=false) String realname) { public Result<List<SysUser>> queryUserByDepId(@RequestParam(name = "id", required = true) String id,@RequestParam(name="realname",required=false) String realname) {
Result<List<SysUser>> result = new Result<>(); Result<List<SysUser>> result = new Result<>();
SysDepart sysDepart = sysDepartService.getById(id); SysDepart sysDepart = sysDepartService.getById(id);
@@ -393,11 +424,11 @@ public class SysUserController {
//step.1 先拿到全部的 useids //step.1 先拿到全部的 useids
//step.2 通过 useids,一次性查询用户的所属部门名字 //step.2 通过 useids,一次性查询用户的所属部门名字
List<String> userIds = userList.stream().map(SysUser::getId).collect(Collectors.toList()); List<String> userIds = userList.stream().map(SysUser::getId).collect(Collectors.toList());
if(userIds!=null && userIds.size()>0){ if(userIds!=null && !userIds.isEmpty()){
Map<String,String> useDepNames = sysUserService.getDepNamesByUserIds(userIds); Map<String,String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
userList.forEach(item->{ userList.forEach(item->
item.setOrgCodeTxt(useDepNames.get(item.getId())); item.setOrgCodeTxt(useDepNames.get(item.getId()))
}); );
} }
try { try {
@@ -405,7 +436,7 @@ public class SysUserController {
result.setResult(userList); result.setResult(userList);
return result; return result;
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
result.setSuccess(false); result.setSuccess(false);
return result; return result;
} }
@@ -417,13 +448,14 @@ public class SysUserController {
* @param username * @param username
* @return * @return
*/ */
@RequestMapping(value = "/queryUserComponentData", method = RequestMethod.GET) // @RequestMapping(value = "/queryUserComponentData", method = RequestMethod.GET)
@GetMapping("/queryUserComponentData")
public Result<IPage<SysUser>> queryUserComponentData( public Result<IPage<SysUser>> queryUserComponentData(
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name = "departId", required = false) String departId, @RequestParam(name = "departId", required = false) String departId,
@RequestParam(name="realname",required=false) String realname, @RequestParam(name="realname",required=false) String realname,
@RequestParam(name="username",required=false) String username) { @RequestParam(name=USER_NAME,required=false) String username) {
IPage<SysUser> pageList = sysUserDepartService.queryDepartUserPageList(departId, username, realname, pageSize, pageNo); IPage<SysUser> pageList = sysUserDepartService.queryDepartUserPageList(departId, username, realname, pageSize, pageNo);
return Result.OK(pageList); return Result.OK(pageList);
} }
@@ -450,12 +482,12 @@ public class SysUserController {
List<SysUser> pageList = sysUserService.list(queryWrapper); List<SysUser> pageList = sysUserService.list(queryWrapper);
//导出文件名称 //导出文件名称
mv.addObject(NormalExcelConstants.FILE_NAME, "用户列表"); mv.addObject(JeroController.FILE_NAME, "用户列表");
mv.addObject(NormalExcelConstants.CLASS, SysUser.class); mv.addObject(JeroController.CLASS, SysUser.class);
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
ExportParams exportParams = new ExportParams("用户列表数据", "导出人:"+user.getRealname(), "导出信息"); ExportParams exportParams = new ExportParams("用户列表数据", "导出人:"+user.getRealname(), "导出信息");
exportParams.setImageBasePath(upLoadPath); exportParams.setImageBasePath(upLoadPath);
mv.addObject(NormalExcelConstants.PARAMS, exportParams); mv.addObject(JeroController.PARAMS, exportParams);
mv.addObject(NormalExcelConstants.DATA_LIST, pageList); mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
return mv; return mv;
} }
@@ -468,13 +500,15 @@ public class SysUserController {
* @return * @return
*/ */
@RequiresPermissions("sys:user:import") @RequiresPermissions("sys:user:import")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST) // @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response)throws IOException { @PostMapping("/importExcel")
public Result<T> importExcel(HttpServletRequest request, HttpServletResponse response)throws IOException {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
// 错误信息 // 错误信息
List<String> errorMessage = new ArrayList<>(); List<String> errorMessage = new ArrayList<>();
int successLines = 0, errorLines = 0; int successLines = 0;
int errorLines = 0;
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
MultipartFile file = entity.getValue();// 获取上传文件对象 MultipartFile file = entity.getValue();// 获取上传文件对象
ImportParams params = new ImportParams(); ImportParams params = new ImportParams();
@@ -513,7 +547,7 @@ public class SysUserController {
errorMessage.add("" + lineNumber + " 行:电子邮件已经存在,忽略导入。"); errorMessage.add("" + lineNumber + " 行:电子邮件已经存在,忽略导入。");
} else { } else {
errorMessage.add("" + lineNumber + " 行:未知错误,忽略导入"); errorMessage.add("" + lineNumber + " 行:未知错误,忽略导入");
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
} }
} }
// 批量将部门和用户信息建立关联关系 TODO 错误需修改 // 批量将部门和用户信息建立关联关系 TODO 错误需修改
@@ -531,12 +565,12 @@ public class SysUserController {
} }
} catch (Exception e) { } catch (Exception e) {
errorMessage.add("发生异常:" + e.getMessage()); errorMessage.add("发生异常:" + e.getMessage());
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
} finally { } finally {
try { try {
file.getInputStream().close(); file.getInputStream().close();
} catch (IOException e) { } catch (IOException e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
} }
} }
} }
@@ -549,7 +583,8 @@ public class SysUserController {
* @return * @return
*/ */
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
@RequestMapping(value = "/queryByIds", method = RequestMethod.GET) // @RequestMapping(value = "/queryByIds", method = RequestMethod.GET)
@GetMapping("/queryByIds")
public Result<Collection<SysUser>> queryByIds(@RequestParam String userIds) { public Result<Collection<SysUser>> queryByIds(@RequestParam String userIds) {
Result<Collection<SysUser>> result = new Result<>(); Result<Collection<SysUser>> result = new Result<>();
String[] userId = userIds.split(","); String[] userId = userIds.split(",");
@@ -563,13 +598,14 @@ public class SysUserController {
/** /**
* 首页用户重置密码 * 首页用户重置密码
*/ */
@RequestMapping(value = "/updatePassword", method = RequestMethod.PUT) // @RequestMapping(value = "/updatePassword", method = RequestMethod.PUT)
public Result<?> updatePassword(@RequestBody JSONObject json) { @PutMapping("/updatePassword")
String username = json.getString("username"); public Result<T> updatePassword(@RequestBody JSONObject json) {
String username = json.getString(USER_NAME);
String oldpassword = json.getString("oldpassword"); String oldpassword = json.getString("oldpassword");
String password = json.getString("password"); String password = json.getString("password");
String confirmpassword = json.getString("confirmpassword"); String confirmpassword = json.getString("confirmpassword");
String RSAPublicKey = json.getString("rsaPublicKey"); String RSAPublicKey = json.getString(RSA_PUBLIC_KEY);
LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal(); LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
if(!sysUser.getUsername().equals(username)){ if(!sysUser.getUsername().equals(username)){
@@ -583,23 +619,24 @@ public class SysUserController {
password = CommonUtils.decryptBtRsaPriKey(password, RSAPrivateKey); password = CommonUtils.decryptBtRsaPriKey(password, RSAPrivateKey);
confirmpassword = CommonUtils.decryptBtRsaPriKey(confirmpassword, RSAPrivateKey); confirmpassword = CommonUtils.decryptBtRsaPriKey(confirmpassword, RSAPrivateKey);
}catch (Exception e){ }catch (Exception e){
log.error(e.getMessage(),e); SysUserController.log.error(e.getMessage(),e);
} }
SysUser user = this.sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, username)); SysUser user = this.sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, username));
if(user==null) { if(user==null) {
return Result.error("用户不存在!"); return Result.error(USER_ERROR_MSG);
} }
return sysUserService.resetPassword(username,oldpassword,password,confirmpassword); return sysUserService.resetPassword(username,oldpassword,password,confirmpassword);
} }
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
@RequestMapping(value = "/userRoleList", method = RequestMethod.GET) // @RequestMapping(value = "/userRoleList", method = RequestMethod.GET)
@GetMapping("/userRoleList")
public Result<IPage<SysUser>> userRoleList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, public Result<IPage<SysUser>> userRoleList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) {
Result<IPage<SysUser>> result = new Result<IPage<SysUser>>(); Result<IPage<SysUser>> result = new Result<>();
Page<SysUser> page = new Page<SysUser>(pageNo, pageSize); Page<SysUser> page = new Page<>(pageNo, pageSize);
String roleId = req.getParameter("roleId"); String roleId = req.getParameter("roleId");
String username = req.getParameter("username"); String username = req.getParameter(USER_NAME);
IPage<SysUser> pageList = sysUserService.getUserByRoleId(page,roleId,username); IPage<SysUser> pageList = sysUserService.getUserByRoleId(page,roleId,username);
result.setSuccess(true); result.setSuccess(true);
result.setResult(pageList); result.setResult(pageList);
@@ -613,26 +650,27 @@ public class SysUserController {
* @return * @return
*/ */
@RequiresPermissions("user:add") @RequiresPermissions("user:add")
@RequestMapping(value = "/addSysUserRole", method = RequestMethod.POST) // @RequestMapping(value = "/addSysUserRole", method = RequestMethod.POST)
@PostMapping("/addSysUserRole")
public Result<String> addSysUserRole(@RequestBody SysUserRoleVO sysUserRoleVO) { public Result<String> addSysUserRole(@RequestBody SysUserRoleVO sysUserRoleVO) {
Result<String> result = new Result<String>(); Result<String> result = new Result<>();
try { try {
String sysRoleId = sysUserRoleVO.getRoleId(); String sysRoleId = sysUserRoleVO.getRoleId();
for(String sysUserId:sysUserRoleVO.getUserIdList()) { for(String sysUserId:sysUserRoleVO.getUserIdList()) {
SysUserRole sysUserRole = new SysUserRole(sysUserId,sysRoleId); SysUserRole sysUserRole = new SysUserRole(sysUserId,sysRoleId);
QueryWrapper<SysUserRole> queryWrapper = new QueryWrapper<SysUserRole>(); QueryWrapper<SysUserRole> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("role_id", sysRoleId).eq("user_id",sysUserId); queryWrapper.eq( ROLE_ID, sysRoleId).eq(USER_ID,sysUserId);
SysUserRole one = sysUserRoleService.getOne(queryWrapper); SysUserRole one = sysUserRoleService.getOne(queryWrapper);
if(one==null){ if(one==null){
sysUserRoleService.save(sysUserRole); sysUserRoleService.save(sysUserRole);
} }
} }
result.setMessage("操作成功!"); result.setMessage(OPTION_SUCCESS);
result.setSuccess(true); result.setSuccess(true);
return result; return result;
}catch(Exception e) { }catch(Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
result.setSuccess(false); result.setSuccess(false);
result.setMessage("出错了: " + e.getMessage()); result.setMessage("出错了: " + e.getMessage());
return result; return result;
@@ -643,17 +681,18 @@ public class SysUserController {
* @param * @param
* @return * @return
*/ */
@RequestMapping(value = "/deleteUserRole", method = RequestMethod.DELETE) // @RequestMapping(value = "/deleteUserRole", method = RequestMethod.DELETE)
@DeleteMapping("/deleteUserRole")
public Result<Object> deleteUserRole(@RequestParam(name="roleId") String roleId, public Result<Object> deleteUserRole(@RequestParam(name="roleId") String roleId,
@RequestParam(name="userId",required=true) String userId) { @RequestParam(name="userId",required=true) String userId) {
try { try {
QueryWrapper<SysUserRole> queryWrapper = new QueryWrapper<SysUserRole>(); QueryWrapper<SysUserRole> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("role_id", roleId).eq("user_id",userId); queryWrapper.eq(ROLE_ID, roleId).eq(USER_ID,userId);
sysUserRoleService.remove(queryWrapper); sysUserRoleService.remove(queryWrapper);
return Result.OK("删除成功!"); return Result.OK(DEL_SUCCESS);
}catch(Exception e) { }catch(Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
return Result.error("删除失败!"); return Result.error(DEL_FAILE);
} }
} }
@@ -663,32 +702,34 @@ public class SysUserController {
* @param * @param
* @return * @return
*/ */
@RequestMapping(value = "/deleteUserRoleBatch", method = RequestMethod.DELETE) // @RequestMapping(value = "/deleteUserRoleBatch", method = RequestMethod.DELETE)
@DeleteMapping("/deleteUserRoleBatch")
public Result<SysUserRole> deleteUserRoleBatch( public Result<SysUserRole> deleteUserRoleBatch(
@RequestParam(name="roleId") String roleId, @RequestParam(name="roleId") String roleId,
@RequestParam(name="userIds",required=true) String userIds) { @RequestParam(name="userIds",required=true) String userIds) {
try { try {
QueryWrapper<SysUserRole> queryWrapper = new QueryWrapper<SysUserRole>(); QueryWrapper<SysUserRole> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("role_id", roleId).in("user_id",Arrays.asList(userIds.split(","))); queryWrapper.eq(ROLE_ID, roleId).in(USER_ID,Arrays.asList(userIds.split(",")));
sysUserRoleService.remove(queryWrapper); sysUserRoleService.remove(queryWrapper);
return Result.OK("删除成功!"); return Result.OK(DEL_SUCCESS);
}catch(Exception e) { }catch(Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
return Result.error("删除失败!"); return Result.error(DEL_FAILE);
} }
} }
/** /**
* 部门用户列表 * 部门用户列表
*/ */
@RequestMapping(value = "/departUserList", method = RequestMethod.GET) // @RequestMapping(value = "/departUserList", method = RequestMethod.GET)
@GetMapping("/departUserList")
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
public Result<IPage<SysUser>> departUserList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, public Result<IPage<SysUser>> departUserList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) {
Result<IPage<SysUser>> result = new Result<IPage<SysUser>>(); Result<IPage<SysUser>> result = new Result<>();
Page<SysUser> page = new Page<SysUser>(pageNo, pageSize); Page<SysUser> page = new Page<>(pageNo, pageSize);
String depId = req.getParameter("depId"); String depId = req.getParameter("depId");
String username = req.getParameter("username"); String username = req.getParameter(USER_NAME);
//根据部门ID查询,当前和下级所有的部门IDS //根据部门ID查询,当前和下级所有的部门IDS
List<String> subDepids = new ArrayList<>(); List<String> subDepids = new ArrayList<>();
//部门id为空时,查询我的部门下所有用户 //部门id为空时,查询我的部门下所有用户
@@ -701,18 +742,18 @@ public class SysUserController {
}else{ }else{
subDepids = sysDepartService.getSubDepIdsByDepId(depId); subDepids = sysDepartService.getSubDepIdsByDepId(depId);
} }
if(subDepids != null && subDepids.size()>0){ if(subDepids != null && !subDepids.isEmpty()){
IPage<SysUser> pageList = sysUserService.getUserByDepIds(page,subDepids,username); IPage<SysUser> pageList = sysUserService.getUserByDepIds(page,subDepids,username);
//批量查询用户的所属部门 //批量查询用户的所属部门
//step.1 先拿到全部的 useids //step.1 先拿到全部的 useids
//step.2 通过 useids,一次性查询用户的所属部门名字 //step.2 通过 useids,一次性查询用户的所属部门名字
List<String> userIds = pageList.getRecords().stream().map(SysUser::getId).collect(Collectors.toList()); List<String> userIds = pageList.getRecords().stream().map(SysUser::getId).collect(Collectors.toList());
if(userIds!=null && userIds.size()>0){ if(userIds!=null && !userIds.isEmpty()){
Map<String, String> useDepNames = sysUserService.getDepNamesByUserIds(userIds); Map<String, String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
pageList.getRecords().forEach(item -> { pageList.getRecords().forEach(item ->
//批量查询用户的所属部门 //批量查询用户的所属部门
item.setOrgCode(useDepNames.get(item.getId())); item.setOrgCode(useDepNames.get(item.getId()))
}); );
} }
result.setSuccess(true); result.setSuccess(true);
result.setResult(pageList); result.setResult(pageList);
@@ -730,13 +771,13 @@ public class SysUserController {
*/ */
@GetMapping("/queryByOrgCode") @GetMapping("/queryByOrgCode")
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
public Result<?> queryByDepartId( public Result<IPage<SysUserSysDepartModel>> queryByDepartId(
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
@RequestParam(name = "orgCode") String orgCode, @RequestParam(name = "orgCode") String orgCode,
SysUser userParams SysUser userParams
) { ) {
IPage<SysUserSysDepartModel> pageList = sysUserService.queryUserByOrgCode(orgCode, userParams, new Page(pageNo, pageSize)); IPage<SysUserSysDepartModel> pageList = sysUserService.queryUserByOrgCode(orgCode, userParams, new Page<SysUserSysDepartModel>(pageNo, pageSize));
return Result.OK(pageList); return Result.OK(pageList);
} }
@@ -744,25 +785,26 @@ public class SysUserController {
* 给指定部门添加对应的用户 * 给指定部门添加对应的用户
*/ */
@RequiresPermissions("user:add") @RequiresPermissions("user:add")
@RequestMapping(value = "/editSysDepartWithUser", method = RequestMethod.POST) // @RequestMapping(value = "/editSysDepartWithUser", method = RequestMethod.POST)
@PostMapping("/editSysDepartWithUser")
public Result<String> editSysDepartWithUser(@RequestBody SysDepartUsersVO sysDepartUsersVO) { public Result<String> editSysDepartWithUser(@RequestBody SysDepartUsersVO sysDepartUsersVO) {
Result<String> result = new Result<String>(); Result<String> result = new Result<>();
try { try {
String sysDepId = sysDepartUsersVO.getDepId(); String sysDepId = sysDepartUsersVO.getDepId();
for(String sysUserId:sysDepartUsersVO.getUserIdList()) { for(String sysUserId:sysDepartUsersVO.getUserIdList()) {
SysUserDepart sysUserDepart = new SysUserDepart(null,sysUserId,sysDepId); SysUserDepart sysUserDepart = new SysUserDepart(null,sysUserId,sysDepId);
QueryWrapper<SysUserDepart> queryWrapper = new QueryWrapper<SysUserDepart>(); QueryWrapper<SysUserDepart> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("dep_id", sysDepId).eq("user_id",sysUserId); queryWrapper.eq(DEP_ID, sysDepId).eq(USER_ID,sysUserId);
SysUserDepart one = sysUserDepartService.getOne(queryWrapper); SysUserDepart one = sysUserDepartService.getOne(queryWrapper);
if(one==null){ if(one==null){
sysUserDepartService.save(sysUserDepart); sysUserDepartService.save(sysUserDepart);
} }
} }
result.setMessage("操作成功!"); result.setMessage(OPTION_SUCCESS);
result.setSuccess(true); result.setSuccess(true);
return result; return result;
}catch(Exception e) { }catch(Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
result.setSuccess(false); result.setSuccess(false);
result.setMessage("出错了: " + e.getMessage()); result.setMessage("出错了: " + e.getMessage());
return result; return result;
@@ -772,25 +814,27 @@ public class SysUserController {
/** /**
* 删除指定机构的用户关系 * 删除指定机构的用户关系
*/ */
@RequestMapping(value = "/deleteUserInDepart", method = RequestMethod.DELETE) // @RequestMapping(value = "/deleteUserInDepart", method = RequestMethod.DELETE)
@DeleteMapping("/deleteUserInDepart")
public Result<Object> deleteUserInDepart(@RequestParam(name="depId") String depId, public Result<Object> deleteUserInDepart(@RequestParam(name="depId") String depId,
@RequestParam(name="userId",required=true) String userId) { @RequestParam(name="userId",required=true) String userId) {
try { try {
QueryWrapper<SysUserDepart> queryWrapper = new QueryWrapper<SysUserDepart>(); QueryWrapper<SysUserDepart> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("dep_id", depId).eq("user_id",userId); queryWrapper.eq(DEP_ID, depId).eq(USER_ID,userId);
sysUserDepartService.remove(queryWrapper); sysUserDepartService.remove(queryWrapper);
sysDepartService.deleteHeadDeptAndUserRelatedByUser(depId, userId); sysDepartService.deleteHeadDeptAndUserRelatedByUser(depId, userId);
return Result.OK("删除成功!"); return Result.OK(DEL_SUCCESS);
}catch(Exception e) { }catch(Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
return Result.error("删除失败!"); return Result.error(DEL_FAILE);
} }
} }
/** /**
* 批量删除指定机构的用户关系 * 批量删除指定机构的用户关系
*/ */
@RequestMapping(value = "/deleteUserInDepartBatch", method = RequestMethod.DELETE) // @RequestMapping(value = "/deleteUserInDepartBatch", method = RequestMethod.DELETE)
@DeleteMapping("/deleteUserInDepartBatch")
@Transactional @Transactional
public Result<Object> deleteUserInDepartBatch( public Result<Object> deleteUserInDepartBatch(
@RequestParam(name="depId") String depId, @RequestParam(name="depId") String depId,
@@ -798,16 +842,16 @@ public class SysUserController {
try { try {
List<String> userIdList = new ArrayList<>(Arrays.asList(userIds.split(","))); List<String> userIdList = new ArrayList<>(Arrays.asList(userIds.split(",")));
QueryWrapper<SysUserDepart> queryWrapper = new QueryWrapper<SysUserDepart>(); QueryWrapper<SysUserDepart> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("dep_id", depId).in("user_id", userIdList); queryWrapper.eq(DEP_ID, depId).in(USER_ID, userIdList);
sysUserDepartService.remove(queryWrapper); sysUserDepartService.remove(queryWrapper);
for (String userId : userIdList){ for (String userId : userIdList){
sysDepartService.deleteHeadDeptAndUserRelatedByUser(depId, userId); sysDepartService.deleteHeadDeptAndUserRelatedByUser(depId, userId);
} }
return Result.OK("删除成功!"); return Result.OK(DEL_SUCCESS);
}catch(Exception e) { }catch(Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
return Result.error("删除失败!"); return Result.error(DEL_FAILE);
} }
} }
@@ -816,17 +860,18 @@ public class SysUserController {
* @return * @return
*/ */
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
@RequestMapping(value = "/getCurrentUserDeparts", method = RequestMethod.GET) // @RequestMapping(value = "/getCurrentUserDeparts", method = RequestMethod.GET)
@GetMapping("/getCurrentUserDeparts")
public Result<Map<String,Object>> getCurrentUserDeparts() { public Result<Map<String,Object>> getCurrentUserDeparts() {
try { try {
LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal(); LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
List<SysDepart> list = this.sysDepartService.queryUserDeparts(sysUser.getId()); List<SysDepart> list = this.sysDepartService.queryUserDeparts(sysUser.getId());
Map<String,Object> map = new HashMap<String,Object>(); Map<String,Object> map = new HashMap<>();
map.put("list", list); map.put("list", list);
map.put("orgCode", sysUser.getOrgCode()); map.put("orgCode", sysUser.getOrgCode());
return Result.OK(map); return Result.OK(map);
}catch(Exception e) { }catch(Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
return Result.error("查询失败!"); return Result.error("查询失败!");
} }
} }
@@ -843,11 +888,11 @@ public class SysUserController {
*/ */
@PostMapping("/register") @PostMapping("/register")
public Result<JSONObject> userRegister(@RequestBody JSONObject jsonObject, SysUser user) { public Result<JSONObject> userRegister(@RequestBody JSONObject jsonObject, SysUser user) {
Result<JSONObject> result = new Result<JSONObject>(); Result<JSONObject> result = new Result<>();
String phone = jsonObject.getString("phone"); String phone = jsonObject.getString(PHONE);
String smscode = jsonObject.getString("smscode"); String smscode = jsonObject.getString(SMSCODE);
Object code = redisUtil.get(phone); Object code = redisUtil.get(phone);
String username = jsonObject.getString("username"); String username = jsonObject.getString(USER_NAME);
//未设置用户名,则用手机号作为用户名 //未设置用户名,则用手机号作为用户名
if(oConvertUtils.isEmpty(username)){ if(oConvertUtils.isEmpty(username)){
username = phone; username = phone;
@@ -916,9 +961,9 @@ public class SysUserController {
*/ */
@PostMapping("/phoneVerification") @PostMapping("/phoneVerification")
public Result<Map<String,String>> phoneVerification(@RequestBody JSONObject jsonObject) { public Result<Map<String,String>> phoneVerification(@RequestBody JSONObject jsonObject) {
Result<Map<String,String>> result = new Result<Map<String,String>>(); Result<Map<String,String>> result = new Result<>();
String phone = jsonObject.getString("phone"); String phone = jsonObject.getString(PHONE);
String smscode = jsonObject.getString("smscode"); String smscode = jsonObject.getString(SMSCODE);
Object code = redisUtil.get(phone); Object code = redisUtil.get(phone);
if (!smscode.equals(code)) { if (!smscode.equals(code)) {
result.setMessage("手机验证码错误"); result.setMessage("手机验证码错误");
@@ -932,8 +977,8 @@ public class SysUserController {
query.eq(SysUser::getPhone,phone); query.eq(SysUser::getPhone,phone);
SysUser user = sysUserService.getOne(query); SysUser user = sysUserService.getOne(query);
Map<String,String> map = new HashMap<>(); Map<String,String> map = new HashMap<>();
map.put("smscode",smscode); map.put(SMSCODE,smscode);
map.put("username",user.getUsername()); map.put(USER_NAME,user.getUsername());
result.setResult(map); result.setResult(map);
result.setSuccess(true); result.setSuccess(true);
return result; return result;
@@ -943,18 +988,18 @@ public class SysUserController {
* 用户更改密码 * 用户更改密码
*/ */
@GetMapping("/passwordChange") @GetMapping("/passwordChange")
public Result<SysUser> passwordChange(@RequestParam(name="username")String username, public Result<SysUser> passwordChange(@RequestParam(name=USER_NAME)String username,
@RequestParam(name="password")String password, @RequestParam(name="password")String password,
@RequestParam(name="smscode")String smscode, @RequestParam(name="smscode")String smscode,
@RequestParam(name="phone") String phone) { @RequestParam(name="phone") String phone) {
Result<SysUser> result = new Result<SysUser>(); Result<SysUser> result = new Result<>();
if(oConvertUtils.isEmpty(username) || oConvertUtils.isEmpty(password) || oConvertUtils.isEmpty(smscode) || oConvertUtils.isEmpty(phone) ) { if(oConvertUtils.isEmpty(username) || oConvertUtils.isEmpty(password) || oConvertUtils.isEmpty(smscode) || oConvertUtils.isEmpty(phone) ) {
result.setMessage("重置密码失败!"); result.setMessage("重置密码失败!");
result.setSuccess(false); result.setSuccess(false);
return result; return result;
} }
SysUser sysUser=new SysUser(); SysUser sysUser;
Object object= redisUtil.get(phone); Object object= redisUtil.get(phone);
if(null==object) { if(null==object) {
result.setMessage("短信验证码失效!"); result.setMessage("短信验证码失效!");
@@ -991,7 +1036,7 @@ public class SysUserController {
*/ */
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
@GetMapping("/getUserSectionInfoByToken") @GetMapping("/getUserSectionInfoByToken")
public Result<?> getUserSectionInfoByToken(HttpServletRequest request, @RequestParam(name = "token", required = false) String token) { public Result<Map<String, Object>> getUserSectionInfoByToken(HttpServletRequest request, @RequestParam(name = "token", required = false) String token) {
try { try {
String username = null; String username = null;
// 如果没有传递token,就从header中获取token并获取用户信息 // 如果没有传递token,就从header中获取token并获取用户信息
@@ -1001,21 +1046,21 @@ public class SysUserController {
username = JwtUtil.getUsername(token); username = JwtUtil.getUsername(token);
} }
log.debug(" ------ 通过令牌获取部分用户信息,当前用户: " + username); SysUserController.log.debug(" ------ 通过令牌获取部分用户信息,当前用户: " + username);
// 根据用户名查询用户信息 // 根据用户名查询用户信息
SysUser sysUser = sysUserService.getUserByName(username); SysUser sysUser = sysUserService.getUserByName(username);
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<>();
map.put("sysUserId", sysUser.getId()); map.put("sysUserId", sysUser.getId());
map.put("sysUserCode", sysUser.getUsername()); // 当前登录用户登录账号 map.put("sysUserCode", sysUser.getUsername()); // 当前登录用户登录账号
map.put("sysUserName", sysUser.getRealname()); // 当前登录用户真实名称 map.put("sysUserName", sysUser.getRealname()); // 当前登录用户真实名称
map.put("sysOrgCode", sysUser.getOrgCode()); // 当前登录用户部门编号 map.put("sysOrgCode", sysUser.getOrgCode()); // 当前登录用户部门编号
log.debug(" ------ 通过令牌获取部分用户信息,已获取的用户信息: " + map); SysUserController.log.debug(" ------ 通过令牌获取部分用户信息,已获取的用户信息: " + map);
return Result.OK(map); return Result.OK(map);
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
return Result.error(500, "查询失败:" + e.getMessage()); return Result.error(500, "查询失败:" + e.getMessage());
} }
} }
@@ -1029,13 +1074,13 @@ public class SysUserController {
*/ */
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
@GetMapping("/appUserList") @GetMapping("/appUserList")
public Result<?> appUserList(@RequestParam(name = "keyword", required = false) String keyword, public Result<IPage<SysUser>> appUserList(@RequestParam(name = "keyword", required = false) String keyword,
@RequestParam(name = "username", required = false) String username, @RequestParam(name = USER_NAME, required = false) String username,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name = "syncFlow", required = false) String syncFlow) { @RequestParam(name = "syncFlow", required = false) String syncFlow) {
try { try {
LambdaQueryWrapper<SysUser> query = new LambdaQueryWrapper<SysUser>(); LambdaQueryWrapper<SysUser> query = new LambdaQueryWrapper<>();
if(oConvertUtils.isNotEmpty(syncFlow)){ if(oConvertUtils.isNotEmpty(syncFlow)){
query.eq(SysUser::getActivitiSync, CommonConstant.ACT_SYNC_1); query.eq(SysUser::getActivitiSync, CommonConstant.ACT_SYNC_1);
} }
@@ -1053,7 +1098,7 @@ public class SysUserController {
IPage<SysUser> res = this.sysUserService.page(page, query); IPage<SysUser> res = this.sysUserService.page(page, query);
return Result.OK(res); return Result.OK(res);
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
return Result.error(500, "查询失败:" + e.getMessage()); return Result.error(500, "查询失败:" + e.getMessage());
} }
@@ -1066,9 +1111,9 @@ public class SysUserController {
*/ */
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
@GetMapping("/recycleBin") @GetMapping("/recycleBin")
public Result getRecycleBin() { public Result<List<SysUser>> getRecycleBin() {
List<SysUser> logicDeletedUserList = sysUserService.queryLogicDeleted(); List<SysUser> logicDeletedUserList = sysUserService.queryLogicDeleted();
if (logicDeletedUserList.size() > 0) { if (!logicDeletedUserList.isEmpty()) {
// 批量查询用户的所属部门 // 批量查询用户的所属部门
// step.1 先拿到全部的 userIds // step.1 先拿到全部的 userIds
List<String> userIds = logicDeletedUserList.stream().map(SysUser::getId).collect(Collectors.toList()); List<String> userIds = logicDeletedUserList.stream().map(SysUser::getId).collect(Collectors.toList());
@@ -1086,8 +1131,9 @@ public class SysUserController {
* @return * @return
*/ */
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
@RequestMapping(value = "/putRecycleBin", method = RequestMethod.PUT) // @RequestMapping(value = "/putRecycleBin", method = RequestMethod.PUT)
public Result putRecycleBin(@RequestBody JSONObject jsonObject, HttpServletRequest request) { @PutMapping("/putRecycleBin")
public Result<T> putRecycleBin(@RequestBody JSONObject jsonObject, HttpServletRequest request) {
String userIds = jsonObject.getString("userIds"); String userIds = jsonObject.getString("userIds");
if (StringUtils.isNotBlank(userIds)) { if (StringUtils.isNotBlank(userIds)) {
SysUser updateUser = new SysUser(); SysUser updateUser = new SysUser();
@@ -1104,8 +1150,9 @@ public class SysUserController {
* @param userIds 被删除的用户ID,多个id用半角逗号分割 * @param userIds 被删除的用户ID,多个id用半角逗号分割
* @return * @return
*/ */
@RequestMapping(value = "/deleteRecycleBin", method = RequestMethod.DELETE) // @RequestMapping(value = "/deleteRecycleBin", method = RequestMethod.DELETE)
public Result deleteRecycleBin(@RequestParam("userIds") String userIds) { @DeleteMapping("/deleteRecycleBin")
public Result<T> deleteRecycleBin(@RequestParam("userIds") String userIds) {
if (StringUtils.isNotBlank(userIds)) { if (StringUtils.isNotBlank(userIds)) {
sysUserService.removeLogicDeleted(Arrays.asList(userIds.split(","))); sysUserService.removeLogicDeleted(Arrays.asList(userIds.split(",")));
} }
@@ -1119,9 +1166,10 @@ public class SysUserController {
* @return * @return
*/ */
@RequiresPermissions("user:edit") @RequiresPermissions("user:edit")
@RequestMapping(value = "/appEdit", method = RequestMethod.PUT) // @RequestMapping(value = "/appEdit", method = RequestMethod.PUT)
@PutMapping("/appEdit")
public Result<SysUser> appEdit(HttpServletRequest request,@RequestBody JSONObject jsonObject) { public Result<SysUser> appEdit(HttpServletRequest request,@RequestBody JSONObject jsonObject) {
Result<SysUser> result = new Result<SysUser>(); Result<SysUser> result = new Result<>();
try { try {
String username = JwtUtil.getUserNameByToken(request); String username = JwtUtil.getUserNameByToken(request);
SysUser sysUser = sysUserService.getUserByName(username); SysUser sysUser = sysUserService.getUserByName(username);
@@ -1129,7 +1177,7 @@ public class SysUserController {
String realname=jsonObject.getString("realname"); String realname=jsonObject.getString("realname");
String avatar=jsonObject.getString("avatar"); String avatar=jsonObject.getString("avatar");
String sex=jsonObject.getString("sex"); String sex=jsonObject.getString("sex");
String phone=jsonObject.getString("phone"); String phone=jsonObject.getString(PHONE);
String email=jsonObject.getString("email"); String email=jsonObject.getString("email");
Date birthday=jsonObject.getDate("birthday"); Date birthday=jsonObject.getDate("birthday");
SysUser userPhone = sysUserService.getUserByPhone(phone); SysUser userPhone = sysUserService.getUserByPhone(phone);
@@ -1164,7 +1212,7 @@ public class SysUserController {
sysUserService.updateById(sysUser); sysUserService.updateById(sysUser);
} }
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
return Result.error("操作失败!"); return Result.error("操作失败!");
} }
return result; return result;
@@ -1174,9 +1222,10 @@ public class SysUserController {
* @param clientId * @param clientId
* @return * @return
*/ */
@RequestMapping(value = "/saveClientId", method = RequestMethod.GET) // @RequestMapping(value = "/saveClientId", method = RequestMethod.GET)
@PutMapping("/saveClientId")
public Result<SysUser> saveClientId(HttpServletRequest request,@RequestParam("clientId")String clientId) { public Result<SysUser> saveClientId(HttpServletRequest request,@RequestParam("clientId")String clientId) {
Result<SysUser> result = new Result<SysUser>(); Result<SysUser> result = new Result<>();
try { try {
String username = JwtUtil.getUserNameByToken(request); String username = JwtUtil.getUserNameByToken(request);
SysUser sysUser = sysUserService.getUserByName(username); SysUser sysUser = sysUserService.getUserByName(username);
@@ -1187,7 +1236,7 @@ public class SysUserController {
sysUserService.updateById(sysUser); sysUserService.updateById(sysUser);
} }
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
return Result.error("操作失败!"); return Result.error("操作失败!");
} }
return result; return result;
@@ -1200,9 +1249,9 @@ public class SysUserController {
*/ */
//@RequiresPermissions("sys:user:list") //@RequiresPermissions("sys:user:list")
@GetMapping("/queryChildrenByUsername") @GetMapping("/queryChildrenByUsername")
public Result queryChildrenByUsername(@RequestParam("userId") String userId) { public Result<Map<String, Object>> queryChildrenByUsername(@RequestParam("userId") String userId) {
//获取用户信息 //获取用户信息
Map<String,Object> map=new HashMap<String,Object>(); Map<String,Object> map=new HashMap<>();
SysUser sysUser = sysUserService.getById(userId); SysUser sysUser = sysUserService.getById(userId);
String username = sysUser.getUsername(); String username = sysUser.getUsername();
Integer identity = sysUser.getUserIdentity(); Integer identity = sysUser.getUserIdentity();
@@ -1226,8 +1275,8 @@ public class SysUserController {
*/ */
@GetMapping("/appQueryByDepartId") @GetMapping("/appQueryByDepartId")
public Result<List<SysUser>> appQueryByDepartId(@RequestParam(name="departId", required = false) String departId) { public Result<List<SysUser>> appQueryByDepartId(@RequestParam(name="departId", required = false) String departId) {
Result<List<SysUser>> result = new Result<List<SysUser>>(); Result<List<SysUser>> result = new Result<>();
List<String> list=new ArrayList<String> (); List<String> list=new ArrayList<> ();
list.add(departId); list.add(departId);
List<SysUser> childrenUser = sysUserService.queryByDepIds(list,null); List<SysUser> childrenUser = sysUserService.queryByDepIds(list,null);
result.setResult(childrenUser); result.setResult(childrenUser);
@@ -1240,8 +1289,8 @@ public class SysUserController {
*/ */
@GetMapping("/appQueryUser") @GetMapping("/appQueryUser")
public Result<List<SysUser>> appQueryUser(@RequestParam(name = "keyword", required = false) String keyword) { public Result<List<SysUser>> appQueryUser(@RequestParam(name = "keyword", required = false) String keyword) {
Result<List<SysUser>> result = new Result<List<SysUser>>(); Result<List<SysUser>> result = new Result<>();
LambdaQueryWrapper<SysUser> queryWrapper =new LambdaQueryWrapper<SysUser>(); LambdaQueryWrapper<SysUser> queryWrapper =new LambdaQueryWrapper<>();
//TODO 外部模拟登陆临时账号,列表不显示 //TODO 外部模拟登陆临时账号,列表不显示
queryWrapper.ne(SysUser::getUsername,"_reserve_user_external"); queryWrapper.ne(SysUser::getUsername,"_reserve_user_external");
if(StringUtils.isNotBlank(keyword)){ if(StringUtils.isNotBlank(keyword)){
@@ -1252,11 +1301,9 @@ public class SysUserController {
//step.1 先拿到全部的 useids //step.1 先拿到全部的 useids
//step.2 通过 useids,一次性查询用户的所属部门名字 //step.2 通过 useids,一次性查询用户的所属部门名字
List<String> userIds = list.stream().map(SysUser::getId).collect(Collectors.toList()); List<String> userIds = list.stream().map(SysUser::getId).collect(Collectors.toList());
if(userIds!=null && userIds.size()>0){ if(userIds!=null && !userIds.isEmpty()){
Map<String,String> useDepNames = sysUserService.getDepNamesByUserIds(userIds); Map<String,String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
list.forEach(item->{ list.forEach(item-> item.setOrgCodeTxt(useDepNames.get(item.getId())));
item.setOrgCodeTxt(useDepNames.get(item.getId()));
});
} }
result.setResult(list); result.setResult(list);
return result; return result;
@@ -1267,11 +1314,12 @@ public class SysUserController {
* @param json * @param json
* @return * @return
*/ */
@RequestMapping(value = "/updateMobile", method = RequestMethod.PUT) // @RequestMapping(value = "/updateMobile", method = RequestMethod.PUT)
public Result<?> changMobile(@RequestBody JSONObject json,HttpServletRequest request) { @PutMapping("/updateMobile")
String smscode = json.getString("smscode"); public Result<SysUser> changMobile(@RequestBody JSONObject json,HttpServletRequest request) {
String phone = json.getString("phone"); String smscode = json.getString(SMSCODE);
Result<SysUser> result = new Result<SysUser>(); String phone = json.getString(PHONE);
Result<SysUser> result = new Result<>();
//获取登录用户名 //获取登录用户名
String username = JwtUtil.getUserNameByToken(request); String username = JwtUtil.getUserNameByToken(request);
if(oConvertUtils.isEmpty(username) || oConvertUtils.isEmpty(smscode) || oConvertUtils.isEmpty(phone)) { if(oConvertUtils.isEmpty(username) || oConvertUtils.isEmpty(smscode) || oConvertUtils.isEmpty(phone)) {
@@ -1292,7 +1340,7 @@ public class SysUserController {
} }
SysUser user = sysUserService.getUserByName(username); SysUser user = sysUserService.getUserByName(username);
if(user==null) { if(user==null) {
return Result.error("用户不存在!"); return Result.error(USER_ERROR_MSG);
} }
user.setPhone(phone); user.setPhone(phone);
sysUserService.updateById(user); sysUserService.updateById(user);
@@ -1325,20 +1373,20 @@ public class SysUserController {
SysUser sysUser = sysUserService.getById(id); SysUser sysUser = sysUserService.getById(id);
baseCommonService.addLog("编辑用户角色,id " + id, CommonConstant.LOG_TYPE_2, 2); baseCommonService.addLog("编辑用户角色,id " + id, CommonConstant.LOG_TYPE_2, 2);
if (sysUser == null) { if (sysUser == null) {
return Result.error("未找到对应实体"); return Result.error(INEXISTENCE);
} else { } else {
SysUser user = new SysUser(); SysUser user = new SysUser();
user.setId(id); user.setId(id);
user.setUpdateTime(new Date()); user.setUpdateTime(new Date());
String roles = jsonObject.getString("selectedroles"); String roles = jsonObject.getString(SELECTED_ROLES);
sysUserService.addRoleToUser(user, roles); sysUserService.addRoleToUser(user, roles);
return Result.OK("修改成功!"); return Result.OK("修改成功!");
} }
} }
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); SysUserController.log.error(e.getMessage(), e);
return Result.error("操作失败"); return Result.error("操作失败");
} }
return Result.OK("修改成功!"); return Result.OK("修改成功!");
@@ -16,6 +16,7 @@ import com.jero.modules.system.entity.SysUser;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.system.model.SysUserSysDepartModel; import com.jero.modules.system.model.SysUserSysDepartModel;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
/** /**
@@ -45,7 +46,7 @@ public interface ISysUserService extends IService<SysUser> {
* @param confirmpassword * @param confirmpassword
* @return * @return
*/ */
public Result<?> resetPassword(String username, String oldpassword, String newpassword, String confirmpassword); public Result<T> resetPassword(String username, String oldpassword, String newpassword, String confirmpassword);
/** /**
* 修改密码 * 修改密码
@@ -53,7 +54,7 @@ public interface ISysUserService extends IService<SysUser> {
* @param sysUser * @param sysUser
* @return * @return
*/ */
public Result<?> changePassword(SysUser sysUser); public Result<T> changePassword(SysUser sysUser);
/** /**
* 删除用户 * 删除用户
@@ -22,6 +22,7 @@ import com.jero.modules.system.mapper.*;
import com.jero.modules.system.model.SysUserSysDepartModel; import com.jero.modules.system.model.SysUserSysDepartModel;
import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.vo.SysUserDepNameVo; import com.jero.modules.system.vo.SysUserDepNameVo;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -67,7 +68,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Override @Override
@CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true) @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
public Result<?> resetPassword(String username, String oldpassword, String newpassword, String confirmpassword) { public Result<T> resetPassword(String username, String oldpassword, String newpassword, String confirmpassword) {
SysUser user = userMapper.getUserByName(username); SysUser user = userMapper.getUserByName(username);
String passwordEncode = PasswordUtil.encrypt(username, oldpassword, user.getSalt()); String passwordEncode = PasswordUtil.encrypt(username, oldpassword, user.getSalt());
if (!user.getPassword().equals(passwordEncode)) { if (!user.getPassword().equals(passwordEncode)) {
@@ -86,7 +87,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Override @Override
@CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true) @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
public Result<?> changePassword(SysUser sysUser) { public Result<T> changePassword(SysUser sysUser) {
String salt = oConvertUtils.randomGen(8); String salt = oConvertUtils.randomGen(8);
sysUser.setSalt(salt); sysUser.setSalt(salt);
String password = sysUser.getPassword(); String password = sysUser.getPassword();