文档库推送信息处理

This commit is contained in:
wangchengjun
2022-03-24 11:34:37 +08:00
parent 8619773213
commit 7c78f4d9c1
3 changed files with 573 additions and 490 deletions
@@ -78,7 +78,7 @@ public class SysDepartUserTreeModel implements Serializable {
private List<SysUserTreeModel> list = new ArrayList<>(); //当前部门的用户列表,不包括子部门的 private List<SysUserTreeModel> list = new ArrayList<>(); //当前部门的用户列表,不包括子部门的
private List<SysDepartTreeModel> children = new ArrayList<>(); private List<SysDepartUserTreeModel> children = new ArrayList<>();
public List<SysUserTreeModel> getList() { public List<SysUserTreeModel> getList() {
return list; return list;
@@ -142,11 +142,11 @@ public class SysDepartUserTreeModel implements Serializable {
this.id = id; this.id = id;
} }
public List<SysDepartTreeModel> getChildren() { public List<SysDepartUserTreeModel> getChildren() {
return children; return children;
} }
public void setChildren(List<SysDepartTreeModel> children) { public void setChildren(List<SysDepartUserTreeModel> children) {
if (children == null) { if (children == null) {
this.isLeaf = true; this.isLeaf = true;
} }
@@ -30,10 +30,12 @@ import com.jero.modules.system.model.DepartIdModel;
import com.jero.modules.system.model.SysUserSysDepartModel; import com.jero.modules.system.model.SysUserSysDepartModel;
import com.jero.modules.system.service.*; import com.jero.modules.system.service.*;
import com.jero.modules.system.vo.SysDepartUsersVO; import com.jero.modules.system.vo.SysDepartUsersVO;
import com.jero.modules.system.vo.SysPushVO;
import com.jero.modules.system.vo.SysUserRoleVO; import com.jero.modules.system.vo.SysUserRoleVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -106,6 +108,7 @@ public class SysUserController {
/** /**
* 获取用户列表数据 * 获取用户列表数据
*
* @param user * @param user
* @param pageNo * @param pageNo
* @param pageSize * @param pageSize
@@ -116,12 +119,12 @@ 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)
public Result<IPage<SysUser>> queryPageList(SysUser user,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, public Result<IPage<SysUser>> queryPageList(SysUser user, @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<IPage<SysUser>>();
QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap()); QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap());
//TODO 外部模拟登陆临时账号,列表不显示 //TODO 外部模拟登陆临时账号,列表不显示
queryWrapper.ne("username","_reserve_user_external"); queryWrapper.ne("username", "_reserve_user_external");
Page<SysUser> page = new Page<SysUser>(pageNo, pageSize); Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
IPage<SysUser> pageList = sysUserService.page(page, queryWrapper); IPage<SysUser> pageList = sysUserService.page(page, queryWrapper);
@@ -129,9 +132,9 @@ public class SysUserController {
//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.size() > 0) {
Map<String,String> useDepNames = sysUserService.getDepNamesByUserIds(userIds); Map<String, String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
pageList.getRecords().forEach(item->{ pageList.getRecords().forEach(item -> {
item.setOrgCodeTxt(useDepNames.get(item.getId())); item.setOrgCodeTxt(useDepNames.get(item.getId()));
}); });
} }
@@ -174,10 +177,10 @@ public class SysUserController {
Result<SysUser> result = new Result<SysUser>(); Result<SysUser> result = new Result<SysUser>();
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) {
result.error500("未找到对应实体"); result.error500("未找到对应实体");
}else { } else {
SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class); SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class);
user.setUpdateTime(new Date()); user.setUpdateTime(new Date());
//String passwordEncode = PasswordUtil.encrypt(user.getUsername(), user.getPassword(), sysUser.getSalt()); //String passwordEncode = PasswordUtil.encrypt(user.getUsername(), user.getPassword(), sysUser.getSalt());
@@ -202,8 +205,8 @@ public class SysUserController {
//@RequiresRoles({"admin"}) //@RequiresRoles({"admin"})
@RequiresPermissions("sys:user:del") @RequiresPermissions("sys:user:del")
@RequestMapping(value = "/delete", method = RequestMethod.DELETE) @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
public Result<?> delete(@RequestParam(name="id",required=true) String id) { public Result<?> 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("删除用户成功");
} }
@@ -214,14 +217,15 @@ public class SysUserController {
//@RequiresRoles({"admin"}) //@RequiresRoles({"admin"})
@RequiresPermissions("sys:user:del") @RequiresPermissions("sys:user:del")
@RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE) @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE)
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) { public Result<?> 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("批量删除用户成功");
} }
/** /**
* 冻结&解冻用户 * 冻结&解冻用户
*
* @param jsonObject * @param jsonObject
* @return * @return
*/ */
@@ -235,19 +239,20 @@ public class SysUserController {
String status = jsonObject.getString("status"); String status = jsonObject.getString("status");
String[] arr = ids.split(","); String[] arr = ids.split(",");
for (String id : arr) { for (String id : arr) {
if(oConvertUtils.isNotEmpty(id)) { if (oConvertUtils.isNotEmpty(id)) {
this.sysUserService.update(new SysUser().setStatus(Integer.parseInt(status)), this.sysUserService.update(new SysUser().setStatus(Integer.parseInt(status)),
new UpdateWrapper<SysUser>().lambda().eq(SysUser::getId,id)); new UpdateWrapper<SysUser>().lambda().eq(SysUser::getId, id));
} }
} }
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
result.error500("操作失败"+e.getMessage()); result.error500("操作失败" + e.getMessage());
} }
result.success("操作成功!"); result.success("操作成功!");
return result; return result;
} }
@RequiresPermissions("sys:user:list") @RequiresPermissions("sys:user:list")
@RequestMapping(value = "/queryById", method = RequestMethod.GET) @RequestMapping(value = "/queryById", method = RequestMethod.GET)
public Result<SysUser> queryById(@RequestParam(name = "id", required = true) String id) { public Result<SysUser> queryById(@RequestParam(name = "id", required = true) String id) {
@@ -261,6 +266,7 @@ public class SysUserController {
} }
return result; return result;
} }
@RequiresPermissions("sys:user:list") @RequiresPermissions("sys:user:list")
@RequestMapping(value = "/queryUserRole", method = RequestMethod.GET) @RequestMapping(value = "/queryUserRole", method = RequestMethod.GET)
public Result<List<String>> queryUserRole(@RequestParam(name = "userid", required = true) String userid) { public Result<List<String>> queryUserRole(@RequestParam(name = "userid", required = true) String userid) {
@@ -380,19 +386,19 @@ public class SysUserController {
*/ */
@RequiresPermissions("sys:user:list") @RequiresPermissions("sys:user:list")
@RequestMapping(value = "/queryUserByDepId", method = RequestMethod.GET) @RequestMapping(value = "/queryUserByDepId", method = RequestMethod.GET)
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<>();
//List<SysUser> userList = sysUserDepartService.queryUserByDepId(id); //List<SysUser> userList = sysUserDepartService.queryUserByDepId(id);
SysDepart sysDepart = sysDepartService.getById(id); SysDepart sysDepart = sysDepartService.getById(id);
List<SysUser> userList = sysUserDepartService.queryUserByDepCode(sysDepart.getOrgCode(),realname); List<SysUser> userList = sysUserDepartService.queryUserByDepCode(sysDepart.getOrgCode(), realname);
//批量查询用户的所属部门 //批量查询用户的所属部门
//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.size() > 0) {
Map<String,String> useDepNames = sysUserService.getDepNamesByUserIds(userIds); Map<String, String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
userList.forEach(item->{ userList.forEach(item -> {
//TODO 临时借用这个字段用于页面展示 //TODO 临时借用这个字段用于页面展示
item.setOrgCodeTxt(useDepNames.get(item.getId())); item.setOrgCodeTxt(useDepNames.get(item.getId()));
}); });
@@ -417,26 +423,26 @@ public class SysUserController {
*/ */
@RequiresPermissions("sys:user:export") @RequiresPermissions("sys:user:export")
@RequestMapping(value = "/exportXls") @RequestMapping(value = "/exportXls")
public ModelAndView exportXls(SysUser sysUser,HttpServletRequest request) { public ModelAndView exportXls(SysUser sysUser, HttpServletRequest request) {
// Step.1 组装查询条件 // Step.1 组装查询条件
QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(sysUser, request.getParameterMap()); QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(sysUser, request.getParameterMap());
//Step.2 AutoPoi 导出Excel //Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
//update-begin--Author:kangxiaolin Date:20180825 for:[03]用户导出,如果选择数据则只导出相关数据-------------------- //update-begin--Author:kangxiaolin Date:20180825 for:[03]用户导出,如果选择数据则只导出相关数据--------------------
String selections = request.getParameter("selections"); String selections = request.getParameter("selections");
if(!oConvertUtils.isEmpty(selections)){ if (!oConvertUtils.isEmpty(selections)) {
queryWrapper.in("id",selections.split(",")); queryWrapper.in("id", selections.split(","));
} }
//update-end--Author:kangxiaolin Date:20180825 for:[03]用户导出,如果选择数据则只导出相关数据---------------------- //update-end--Author:kangxiaolin Date:20180825 for:[03]用户导出,如果选择数据则只导出相关数据----------------------
List<SysUser> pageList = sysUserService.list(queryWrapper); List<SysUser> pageList = sysUserService.list(queryWrapper);
//导出文件名称 //导出文件名称
mv.addObject(NormalExcelConstants.FILE_NAME, "用户列表"); mv.addObject(NormalExcelConstants.FILE_NAME, "用户列表");
if("en".equals(sysUser.getCut())){ if ("en".equals(sysUser.getCut())) {
List<SysUserExportEn> result = new ArrayList<>(); List<SysUserExportEn> result = new ArrayList<>();
pageList.forEach(item->{ pageList.forEach(item -> {
List<SysDepart> departList = sysDepartService.queryByDepartCode(item.getOrgCode()); List<SysDepart> departList = sysDepartService.queryByDepartCode(item.getOrgCode());
if(CollectionUtil.isNotEmpty(departList)){ if (CollectionUtil.isNotEmpty(departList)) {
item.setOrgCodeTxt(departList.get(0).getDepartName()); item.setOrgCodeTxt(departList.get(0).getDepartName());
} }
SysUserExportEn target = new SysUserExportEn(); SysUserExportEn target = new SysUserExportEn();
@@ -450,10 +456,10 @@ public class SysUserController {
exportParams.setImageBasePath(upLoadPath); exportParams.setImageBasePath(upLoadPath);
mv.addObject(NormalExcelConstants.PARAMS, exportParams); mv.addObject(NormalExcelConstants.PARAMS, exportParams);
mv.addObject(NormalExcelConstants.DATA_LIST, result); mv.addObject(NormalExcelConstants.DATA_LIST, result);
}else{ } else {
pageList.forEach(item->{ pageList.forEach(item -> {
List<SysDepart> departList = sysDepartService.queryByDepartCode(item.getOrgCode()); List<SysDepart> departList = sysDepartService.queryByDepartCode(item.getOrgCode());
if(CollectionUtil.isNotEmpty(departList)){ if (CollectionUtil.isNotEmpty(departList)) {
item.setOrgCodeTxt(departList.get(0).getDepartName()); item.setOrgCodeTxt(departList.get(0).getDepartName());
} }
}); });
@@ -478,7 +484,7 @@ public class SysUserController {
//@RequiresRoles({"admin"}) //@RequiresRoles({"admin"})
@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 { public Result<?> 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();
// 错误信息 // 错误信息
@@ -548,13 +554,13 @@ public class SysUserController {
} }
} }
} }
return ImportExcelUtil.imporReturnRes(errorLines,successLines,errorMessage); return ImportExcelUtil.imporReturnRes(errorLines, successLines, errorMessage);
} }
/** /**
* @功能:根据id 批量查询
* @param userIds * @param userIds
* @return * @return
* @功能:根据id 批量查询
*/ */
@RequiresPermissions("sys:user:list") @RequiresPermissions("sys:user:list")
@RequestMapping(value = "/queryByIds", method = RequestMethod.GET) @RequestMapping(value = "/queryByIds", method = RequestMethod.GET)
@@ -579,20 +585,21 @@ public class SysUserController {
String password = json.getString("password"); String password = json.getString("password");
String confirmpassword = json.getString("confirmpassword"); String confirmpassword = json.getString("confirmpassword");
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("用户不存在!");
} }
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)
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<IPage<SysUser>>();
Page<SysUser> page = new Page<SysUser>(pageNo, pageSize); Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
String roleId = req.getParameter("roleId"); String roleId = req.getParameter("roleId");
String username = req.getParameter("username"); String username = req.getParameter("username");
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);
return result; return result;
@@ -611,12 +618,12 @@ public class SysUserController {
Result<String> result = new Result<String>(); Result<String> result = new Result<String>();
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<SysUserRole>();
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);
} }
@@ -624,31 +631,33 @@ public class SysUserController {
result.setMessage("添加成功!"); result.setMessage("添加成功!");
result.setSuccess(true); result.setSuccess(true);
return result; return result;
}catch(Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
result.setSuccess(false); result.setSuccess(false);
result.setMessage("出错了: " + e.getMessage()); result.setMessage("出错了: " + e.getMessage());
return result; return result;
} }
} }
/** /**
* 删除指定角色的用户关系 * 删除指定角色的用户关系
*
* @param * @param
* @return * @return
*/ */
//@RequiresRoles({"admin"}) //@RequiresRoles({"admin"})
@RequiresPermissions("sys:user:del") @RequiresPermissions("sys:user:del")
@RequestMapping(value = "/deleteUserRole", method = RequestMethod.DELETE) @RequestMapping(value = "/deleteUserRole", method = RequestMethod.DELETE)
public Result<SysUserRole> deleteUserRole(@RequestParam(name="roleId") String roleId, public Result<SysUserRole> deleteUserRole(@RequestParam(name = "roleId") String roleId,
@RequestParam(name="userId",required=true) String userId @RequestParam(name = "userId", required = true) String userId
) { ) {
Result<SysUserRole> result = new Result<SysUserRole>(); Result<SysUserRole> result = new Result<SysUserRole>();
try { try {
QueryWrapper<SysUserRole> queryWrapper = new QueryWrapper<SysUserRole>(); QueryWrapper<SysUserRole> queryWrapper = new QueryWrapper<SysUserRole>();
queryWrapper.eq("role_id", roleId).eq("user_id",userId); queryWrapper.eq("role_id", roleId).eq("user_id", userId);
sysUserRoleService.remove(queryWrapper); sysUserRoleService.remove(queryWrapper);
result.success("删除成功!"); result.success("删除成功!");
}catch(Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
result.error500("删除失败!"); result.error500("删除失败!");
} }
@@ -665,15 +674,15 @@ public class SysUserController {
@RequiresPermissions("sys:user:del") @RequiresPermissions("sys:user:del")
@RequestMapping(value = "/deleteUserRoleBatch", method = RequestMethod.DELETE) @RequestMapping(value = "/deleteUserRoleBatch", method = RequestMethod.DELETE)
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) {
Result<SysUserRole> result = new Result<SysUserRole>(); Result<SysUserRole> result = new Result<SysUserRole>();
try { try {
QueryWrapper<SysUserRole> queryWrapper = new QueryWrapper<SysUserRole>(); QueryWrapper<SysUserRole> queryWrapper = new QueryWrapper<SysUserRole>();
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);
result.success("删除成功!"); result.success("删除成功!");
}catch(Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
result.error500("删除失败!"); result.error500("删除失败!");
} }
@@ -686,8 +695,8 @@ public class SysUserController {
@ApiOperation(value = "用户管理-查询组织下的用户列表分页") @ApiOperation(value = "用户管理-查询组织下的用户列表分页")
@RequestMapping(value = "/departUserList", method = RequestMethod.GET) @RequestMapping(value = "/departUserList", method = RequestMethod.GET)
@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<IPage<SysUser>>();
Page<SysUser> page = new Page<SysUser>(pageNo, pageSize); Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
String depId = req.getParameter("depId"); String depId = req.getParameter("depId");
@@ -695,7 +704,7 @@ public class SysUserController {
//根据部门ID查询,当前和下级所有的部门IDS //根据部门ID查询,当前和下级所有的部门IDS
List<String> subDepids = new ArrayList<>(); List<String> subDepids = new ArrayList<>();
//部门id为空时,查询我的部门下所有用户 //部门id为空时,查询我的部门下所有用户
if(oConvertUtils.isEmpty(depId)){ if (oConvertUtils.isEmpty(depId)) {
LambdaQueryWrapper<SysDepart> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysDepart> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0); queryWrapper.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0);
subDepids = sysDepartService.list(queryWrapper).stream().map(SysDepart::getId).collect(Collectors.toList()); subDepids = sysDepartService.list(queryWrapper).stream().map(SysDepart::getId).collect(Collectors.toList());
@@ -704,16 +713,16 @@ public class SysUserController {
// if(oConvertUtils.isNotEmpty(userIdentity) && userIdentity == CommonConstant.USER_IDENTITY_2 ){ // if(oConvertUtils.isNotEmpty(userIdentity) && userIdentity == CommonConstant.USER_IDENTITY_2 ){
// subDepids = sysDepartService.getMySubDepIdsByDepId(user.getDepartIds()); // subDepids = sysDepartService.getMySubDepIdsByDepId(user.getDepartIds());
// } // }
}else{ } else {
subDepids = sysDepartService.getSubDepIdsByDepId(depId); subDepids = sysDepartService.getSubDepIdsByDepId(depId);
} }
if(subDepids != null && subDepids.size()>0){ if (subDepids != null && subDepids.size() > 0) {
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.size() > 0) {
Map<String, String> useDepNames = sysUserService.getDepNamesByUserIds(userIds); Map<String, String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
pageList.getRecords().forEach(item -> { pageList.getRecords().forEach(item -> {
//批量查询用户的所属部门 //批量查询用户的所属部门
@@ -722,7 +731,7 @@ public class SysUserController {
} }
result.setSuccess(true); result.setSuccess(true);
result.setResult(pageList); result.setResult(pageList);
}else{ } else {
result.setSuccess(true); result.setSuccess(true);
result.setResult(null); result.setResult(null);
} }
@@ -756,19 +765,19 @@ public class SysUserController {
Result<String> result = new Result<String>(); Result<String> result = new Result<String>();
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<SysUserDepart>();
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("添加成功!");
result.setSuccess(true); result.setSuccess(true);
return result; return result;
}catch(Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
result.setSuccess(false); result.setSuccess(false);
result.setMessage("出错了: " + e.getMessage()); result.setMessage("出错了: " + e.getMessage());
@@ -782,27 +791,27 @@ public class SysUserController {
//@RequiresRoles({"admin"}) //@RequiresRoles({"admin"})
@RequiresPermissions("sys:user:del") @RequiresPermissions("sys:user:del")
@RequestMapping(value = "/deleteUserInDepart", method = RequestMethod.DELETE) @RequestMapping(value = "/deleteUserInDepart", method = RequestMethod.DELETE)
public Result<SysUserDepart> deleteUserInDepart(@RequestParam(name="depId") String depId, public Result<SysUserDepart> deleteUserInDepart(@RequestParam(name = "depId") String depId,
@RequestParam(name="userId",required=true) String userId @RequestParam(name = "userId", required = true) String userId
) { ) {
Result<SysUserDepart> result = new Result<SysUserDepart>(); Result<SysUserDepart> result = new Result<SysUserDepart>();
try { try {
QueryWrapper<SysUserDepart> queryWrapper = new QueryWrapper<SysUserDepart>(); QueryWrapper<SysUserDepart> queryWrapper = new QueryWrapper<SysUserDepart>();
queryWrapper.eq("dep_id", depId).eq("user_id",userId); queryWrapper.eq("dep_id", depId).eq("user_id", userId);
boolean b = sysUserDepartService.remove(queryWrapper); boolean b = sysUserDepartService.remove(queryWrapper);
if(b){ if (b) {
List<SysDepartRole> sysDepartRoleList = departRoleService.list(new QueryWrapper<SysDepartRole>().eq("depart_id",depId)); List<SysDepartRole> sysDepartRoleList = departRoleService.list(new QueryWrapper<SysDepartRole>().eq("depart_id", depId));
List<String> roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList()); List<String> roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList());
if(roleIds != null && roleIds.size()>0){ if (roleIds != null && roleIds.size() > 0) {
QueryWrapper<SysDepartRoleUser> query = new QueryWrapper<>(); QueryWrapper<SysDepartRoleUser> query = new QueryWrapper<>();
query.eq("user_id",userId).in("drole_id",roleIds); query.eq("user_id", userId).in("drole_id", roleIds);
departRoleUserService.remove(query); departRoleUserService.remove(query);
} }
result.success("删除成功!"); result.success("删除成功!");
}else{ } else {
result.error500("当前选中部门与用户无关联关系!"); result.error500("当前选中部门与用户无关联关系!");
} }
}catch(Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
result.error500("删除失败!"); result.error500("删除失败!");
} }
@@ -816,18 +825,18 @@ public class SysUserController {
@RequiresPermissions("sys:user:del") @RequiresPermissions("sys:user:del")
@RequestMapping(value = "/deleteUserInDepartBatch", method = RequestMethod.DELETE) @RequestMapping(value = "/deleteUserInDepartBatch", method = RequestMethod.DELETE)
public Result<SysUserDepart> deleteUserInDepartBatch( public Result<SysUserDepart> deleteUserInDepartBatch(
@RequestParam(name="depId") String depId, @RequestParam(name = "depId") String depId,
@RequestParam(name="userIds",required=true) String userIds) { @RequestParam(name = "userIds", required = true) String userIds) {
Result<SysUserDepart> result = new Result<SysUserDepart>(); Result<SysUserDepart> result = new Result<SysUserDepart>();
try { try {
QueryWrapper<SysUserDepart> queryWrapper = new QueryWrapper<SysUserDepart>(); QueryWrapper<SysUserDepart> queryWrapper = new QueryWrapper<SysUserDepart>();
queryWrapper.eq("dep_id", depId).in("user_id",Arrays.asList(userIds.split(","))); queryWrapper.eq("dep_id", depId).in("user_id", Arrays.asList(userIds.split(",")));
boolean b = sysUserDepartService.remove(queryWrapper); boolean b = sysUserDepartService.remove(queryWrapper);
if(b){ if (b) {
departRoleUserService.removeDeptRoleUser(Arrays.asList(userIds.split(",")),depId); departRoleUserService.removeDeptRoleUser(Arrays.asList(userIds.split(",")), depId);
} }
result.success("删除成功!"); result.success("删除成功!");
}catch(Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
result.error500("删除失败!"); result.error500("删除失败!");
} }
@@ -836,21 +845,22 @@ 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)
public Result<Map<String,Object>> getCurrentUserDeparts() { public Result<Map<String, Object>> getCurrentUserDeparts() {
Result<Map<String,Object>> result = new Result<Map<String,Object>>(); Result<Map<String, Object>> result = new Result<Map<String, Object>>();
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<String, Object>();
map.put("list", list); map.put("list", list);
map.put("orgCode", sysUser.getOrgCode()); map.put("orgCode", sysUser.getOrgCode());
result.setSuccess(true); result.setSuccess(true);
result.setResult(map); result.setResult(map);
}catch(Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
result.error500("查询失败!"); result.error500("查询失败!");
} }
@@ -858,8 +868,6 @@ public class SysUserController {
} }
/** /**
* 用户注册接口 * 用户注册接口
* *
@@ -875,12 +883,12 @@ public class SysUserController {
Object code = redisUtil.get(phone); Object code = redisUtil.get(phone);
String username = jsonObject.getString("username"); String username = jsonObject.getString("username");
//未设置用户名,则用手机号作为用户名 //未设置用户名,则用手机号作为用户名
if(oConvertUtils.isEmpty(username)){ if (oConvertUtils.isEmpty(username)) {
username = phone; username = phone;
} }
//未设置密码,则随机生成一个密码 //未设置密码,则随机生成一个密码
String password = jsonObject.getString("password"); String password = jsonObject.getString("password");
if(oConvertUtils.isEmpty(password)){ if (oConvertUtils.isEmpty(password)) {
password = RandomUtil.randomString(8); password = RandomUtil.randomString(8);
} }
String email = jsonObject.getString("email"); String email = jsonObject.getString("email");
@@ -897,7 +905,7 @@ public class SysUserController {
return result; return result;
} }
if(oConvertUtils.isNotEmpty(email)){ if (oConvertUtils.isNotEmpty(email)) {
SysUser sysUser3 = sysUserService.getUserByEmail(email); SysUser sysUser3 = sysUserService.getUserByEmail(email);
if (sysUser3 != null) { if (sysUser3 != null) {
result.setMessage("邮箱已被注册"); result.setMessage("邮箱已被注册");
@@ -905,7 +913,7 @@ public class SysUserController {
return result; return result;
} }
} }
if(null == code){ if (null == code) {
result.setMessage("手机验证码失效,请重新获取"); result.setMessage("手机验证码失效,请重新获取");
result.setSuccess(false); result.setSuccess(false);
return result; return result;
@@ -929,7 +937,7 @@ public class SysUserController {
user.setStatus(CommonConstant.USER_UNFREEZE); user.setStatus(CommonConstant.USER_UNFREEZE);
user.setDelFlag(CommonConstant.DEL_FLAG_0); user.setDelFlag(CommonConstant.DEL_FLAG_0);
user.setActivitiSync(CommonConstant.ACT_SYNC_0); user.setActivitiSync(CommonConstant.ACT_SYNC_0);
sysUserService.addUserWithRole(user,"ee8626f80f7c2619917b6236f3a7f02b");//默认临时角色 test sysUserService.addUserWithRole(user, "ee8626f80f7c2619917b6236f3a7f02b");//默认临时角色 test
result.success("注册成功"); result.success("注册成功");
} catch (Exception e) { } catch (Exception e) {
result.error500("注册失败"); result.error500("注册失败");
@@ -939,6 +947,7 @@ public class SysUserController {
/** /**
* 根据用户名或手机号查询用户信息 * 根据用户名或手机号查询用户信息
*
* @param * @param
* @return * @return
*/ */
@@ -951,9 +960,9 @@ public class SysUserController {
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
if (oConvertUtils.isNotEmpty(phone)) { if (oConvertUtils.isNotEmpty(phone)) {
SysUser user = sysUserService.getUserByPhone(phone); SysUser user = sysUserService.getUserByPhone(phone);
if(user!=null) { if (user != null) {
map.put("username",user.getUsername()); map.put("username", user.getUsername());
map.put("phone",user.getPhone()); map.put("phone", user.getPhone());
result.setSuccess(true); result.setSuccess(true);
result.setResult(map); result.setResult(map);
return result; return result;
@@ -961,9 +970,9 @@ public class SysUserController {
} }
if (oConvertUtils.isNotEmpty(username)) { if (oConvertUtils.isNotEmpty(username)) {
SysUser user = sysUserService.getUserByName(username); SysUser user = sysUserService.getUserByName(username);
if(user!=null) { if (user != null) {
map.put("username",user.getUsername()); map.put("username", user.getUsername());
map.put("phone",user.getPhone()); map.put("phone", user.getPhone());
result.setSuccess(true); result.setSuccess(true);
result.setResult(map); result.setResult(map);
return result; return result;
@@ -978,8 +987,8 @@ 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<Map<String, String>>();
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);
@@ -989,14 +998,14 @@ public class SysUserController {
return result; return result;
} }
//设置有效时间 //设置有效时间
redisUtil.set(phone, smscode,600); redisUtil.set(phone, smscode, 600);
//新增查询用户名 //新增查询用户名
LambdaQueryWrapper<SysUser> query = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysUser> query = new LambdaQueryWrapper<>();
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("username", user.getUsername());
result.setResult(map); result.setResult(map);
result.setSuccess(true); result.setSuccess(true);
return result; return result;
@@ -1006,30 +1015,30 @@ public class SysUserController {
* 用户更改密码 * 用户更改密码
*/ */
@GetMapping("/passwordChange") @GetMapping("/passwordChange")
public Result<SysUser> passwordChange(@RequestParam(name="username")String username, public Result<SysUser> passwordChange(@RequestParam(name = "username") 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<SysUser>();
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 = new SysUser();
Object object= redisUtil.get(phone); Object object = redisUtil.get(phone);
if(null==object) { if (null == object) {
result.setMessage("短信验证码失效!"); result.setMessage("短信验证码失效!");
result.setSuccess(false); result.setSuccess(false);
return result; return result;
} }
if(!smscode.equals(object)) { if (!smscode.equals(object)) {
result.setMessage("短信验证码不匹配!"); result.setMessage("短信验证码不匹配!");
result.setSuccess(false); result.setSuccess(false);
return result; return result;
} }
sysUser = this.sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername,username).eq(SysUser::getPhone,phone)); sysUser = this.sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUsername, username).eq(SysUser::getPhone, phone));
if (sysUser == null) { if (sysUser == null) {
result.setMessage("未找到用户!"); result.setMessage("未找到用户!");
result.setSuccess(false); result.setSuccess(false);
@@ -1085,6 +1094,7 @@ public class SysUserController {
/** /**
* 【APP端接口】获取用户列表 根据用户名和真实名 模糊匹配 * 【APP端接口】获取用户列表 根据用户名和真实名 模糊匹配
*
* @param keyword * @param keyword
* @param pageNo * @param pageNo
* @param pageSize * @param pageSize
@@ -1094,23 +1104,23 @@ public class SysUserController {
@GetMapping("/appUserList") @GetMapping("/appUserList")
public Result<?> appUserList(@RequestParam(name = "keyword", required = false) String keyword, public Result<?> appUserList(@RequestParam(name = "keyword", required = false) String keyword,
@RequestParam(name = "username", required = false) String username, @RequestParam(name = "username", 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 {
//TODO 从查询效率上将不要用mp的封装的page分页查询 建议自己写分页语句 //TODO 从查询效率上将不要用mp的封装的page分页查询 建议自己写分页语句
LambdaQueryWrapper<SysUser> query = new LambdaQueryWrapper<SysUser>(); LambdaQueryWrapper<SysUser> query = new LambdaQueryWrapper<SysUser>();
if(oConvertUtils.isNotEmpty(syncFlow)){ if (oConvertUtils.isNotEmpty(syncFlow)) {
query.eq(SysUser::getActivitiSync, CommonConstant.ACT_SYNC_1); query.eq(SysUser::getActivitiSync, CommonConstant.ACT_SYNC_1);
} }
query.eq(SysUser::getDelFlag,CommonConstant.DEL_FLAG_0); query.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0);
if(oConvertUtils.isNotEmpty(username)){ if (oConvertUtils.isNotEmpty(username)) {
if(username.contains(",")){ if (username.contains(",")) {
query.in(SysUser::getUsername,username.split(",")); query.in(SysUser::getUsername, username.split(","));
}else{ } else {
query.eq(SysUser::getUsername,username); query.eq(SysUser::getUsername, username);
} }
}else{ } else {
query.and(i -> i.like(SysUser::getUsername, keyword).or().like(SysUser::getRealname, keyword)); query.and(i -> i.like(SysUser::getUsername, keyword).or().like(SysUser::getRealname, keyword));
} }
Page<SysUser> page = new Page<>(pageNo, pageSize); Page<SysUser> page = new Page<>(pageNo, pageSize);
@@ -1181,50 +1191,51 @@ public class SysUserController {
/** /**
* 移动端修改用户信息 * 移动端修改用户信息
*
* @param jsonObject * @param jsonObject
* @return * @return
*/ */
@RequiresPermissions("user:edit") @RequiresPermissions("user:edit")
@RequestMapping(value = "/appEdit", method = RequestMethod.PUT) @RequestMapping(value = "/appEdit", method = RequestMethod.PUT)
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<SysUser>();
try { try {
String username = JwtUtil.getUserNameByToken(request); String username = JwtUtil.getUserNameByToken(request);
SysUser sysUser = sysUserService.getUserByName(username); SysUser sysUser = sysUserService.getUserByName(username);
baseCommonService.addLog("移动端编辑用户,id: " +jsonObject.getString("id") ,CommonConstant.LOG_TYPE_2, 2); baseCommonService.addLog("移动端编辑用户,id: " + jsonObject.getString("id"), CommonConstant.LOG_TYPE_2, 2);
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);
if(sysUser==null) { if (sysUser == null) {
result.error500("未找到对应用户!"); result.error500("未找到对应用户!");
}else { } else {
if(userPhone!=null){ if (userPhone != null) {
String userPhonename = userPhone.getUsername(); String userPhonename = userPhone.getUsername();
if(!userPhonename.equals(username)){ if (!userPhonename.equals(username)) {
result.error500("手机号已存在!"); result.error500("手机号已存在!");
return result; return result;
} }
} }
if(StringUtils.isNotBlank(realname)){ if (StringUtils.isNotBlank(realname)) {
sysUser.setRealname(realname); sysUser.setRealname(realname);
} }
if(StringUtils.isNotBlank(avatar)){ if (StringUtils.isNotBlank(avatar)) {
sysUser.setAvatar(avatar); sysUser.setAvatar(avatar);
} }
if(StringUtils.isNotBlank(sex)){ if (StringUtils.isNotBlank(sex)) {
sysUser.setSex(Integer.parseInt(sex)); sysUser.setSex(Integer.parseInt(sex));
} }
if(StringUtils.isNotBlank(phone)){ if (StringUtils.isNotBlank(phone)) {
sysUser.setPhone(phone); sysUser.setPhone(phone);
} }
if(StringUtils.isNotBlank(email)){ if (StringUtils.isNotBlank(email)) {
sysUser.setEmail(email); sysUser.setEmail(email);
} }
if(null != birthday){ if (null != birthday) {
sysUser.setBirthday(birthday); sysUser.setBirthday(birthday);
} }
sysUser.setUpdateTime(new Date()); sysUser.setUpdateTime(new Date());
@@ -1236,20 +1247,22 @@ public class SysUserController {
} }
return result; return result;
} }
/** /**
* 移动端保存设备信息 * 移动端保存设备信息
*
* @param clientId * @param clientId
* @return * @return
*/ */
@RequestMapping(value = "/saveClientId", method = RequestMethod.GET) @RequestMapping(value = "/saveClientId", method = RequestMethod.GET)
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<SysUser>();
try { try {
String username = JwtUtil.getUserNameByToken(request); String username = JwtUtil.getUserNameByToken(request);
SysUser sysUser = sysUserService.getUserByName(username); SysUser sysUser = sysUserService.getUserByName(username);
if(sysUser==null) { if (sysUser == null) {
result.error500("未找到对应用户!"); result.error500("未找到对应用户!");
}else { } else {
sysUser.setClientId(clientId); sysUser.setClientId(clientId);
sysUserService.updateById(sysUser); sysUserService.updateById(sysUser);
} }
@@ -1259,6 +1272,7 @@ public class SysUserController {
} }
return result; return result;
} }
/** /**
* 根据userid获取用户信息和部门员工信息 * 根据userid获取用户信息和部门员工信息
* *
@@ -1268,48 +1282,52 @@ public class SysUserController {
@GetMapping("/queryChildrenByUsername") @GetMapping("/queryChildrenByUsername")
public Result queryChildrenByUsername(@RequestParam("userId") String userId) { public Result queryChildrenByUsername(@RequestParam("userId") String userId) {
//获取用户信息 //获取用户信息
Map<String,Object> map=new HashMap<String,Object>(); Map<String, Object> map = new HashMap<String, Object>();
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();
map.put("sysUser",sysUser); map.put("sysUser", sysUser);
if(identity!=null && identity==2){ if (identity != null && identity == 2) {
//获取部门用户信息 //获取部门用户信息
String departIds = sysUser.getDepartIds(); String departIds = sysUser.getDepartIds();
if(StringUtils.isNotBlank(departIds)){ if (StringUtils.isNotBlank(departIds)) {
List<String> departIdList = Arrays.asList(departIds.split(",")); List<String> departIdList = Arrays.asList(departIds.split(","));
List<SysUser> childrenUser = sysUserService.queryByDepIds(departIdList,username); List<SysUser> childrenUser = sysUserService.queryByDepIds(departIdList, username);
map.put("children",childrenUser); map.put("children", childrenUser);
} }
} }
return Result.OK(map); return Result.OK(map);
} }
/** /**
* 移动端查询部门用户信息 * 移动端查询部门用户信息
*
* @param departId * @param departId
* @return * @return
*/ */
@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<SysUser>>();
List<String> list=new ArrayList<String> (); List<String> list = new ArrayList<String>();
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);
return result; return result;
} }
/** /**
* 移动端查询用户信息(通过用户名模糊查询) * 移动端查询用户信息(通过用户名模糊查询)
*
* @param keyword * @param keyword
* @return * @return
*/ */
@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<List<SysUser>>();
LambdaQueryWrapper<SysUser> queryWrapper =new LambdaQueryWrapper<SysUser>(); LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<SysUser>();
//TODO 外部模拟登陆临时账号,列表不显示 //TODO 外部模拟登陆临时账号,列表不显示
queryWrapper.ne(SysUser::getUsername,"_reserve_user_external"); queryWrapper.ne(SysUser::getUsername, "_reserve_user_external");
if(StringUtils.isNotBlank(keyword)){ if (StringUtils.isNotBlank(keyword)) {
queryWrapper.and(i -> i.like(SysUser::getUsername, keyword).or().like(SysUser::getRealname, keyword)); queryWrapper.and(i -> i.like(SysUser::getUsername, keyword).or().like(SysUser::getRealname, keyword));
} }
List<SysUser> list = sysUserService.list(queryWrapper); List<SysUser> list = sysUserService.list(queryWrapper);
@@ -1317,9 +1335,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.size() > 0) {
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()));
}); });
} }
@@ -1329,34 +1347,35 @@ 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) { public Result<?> changMobile(@RequestBody JSONObject json, HttpServletRequest request) {
String smscode = json.getString("smscode"); String smscode = json.getString("smscode");
String phone = json.getString("phone"); String phone = json.getString("phone");
Result<SysUser> result = new Result<SysUser>(); Result<SysUser> result = new Result<SysUser>();
//获取登录用户名 //获取登录用户名
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)) {
result.setMessage("修改手机号失败!"); result.setMessage("修改手机号失败!");
result.setSuccess(false); result.setSuccess(false);
return result; return result;
} }
Object object= redisUtil.get(phone); Object object = redisUtil.get(phone);
if(null==object) { if (null == object) {
result.setMessage("短信验证码失效!"); result.setMessage("短信验证码失效!");
result.setSuccess(false); result.setSuccess(false);
return result; return result;
} }
if(!smscode.equals(object)) { if (!smscode.equals(object)) {
result.setMessage("短信验证码不匹配!"); result.setMessage("短信验证码不匹配!");
result.setSuccess(false); result.setSuccess(false);
return result; return result;
} }
SysUser user = sysUserService.getUserByName(username); SysUser user = sysUserService.getUserByName(username);
if(user==null) { if (user == null) {
return Result.error("用户不存在!"); return Result.error("用户不存在!");
} }
user.setPhone(phone); user.setPhone(phone);
@@ -1370,48 +1389,93 @@ public class SysUserController {
* @return * @return
*/ */
@ApiOperation(value = "树形") @ApiOperation(value = "树形")
@RequestMapping(value = "/queryDepartUserTreeList", method = RequestMethod.GET) @RequestMapping(value = "/queryDepartUserTreeList", method = RequestMethod.POST)
public Result<List<SysDepartUserTreeModel>> queryDepartUserTreeList(String departId) { public Result<List<SysDepartUserTreeModel>> queryDepartUserTreeList(@RequestBody SysPushVO sysPushVO) {
String departId = sysPushVO.getDepartId();
Result<List<SysDepartUserTreeModel>> result = new Result<>(); Result<List<SysDepartUserTreeModel>> result = new Result<>();
try {
List<SysDepartTreeModel> departTreeModelList = sysDepartService.queryTreeListByDepartId(departId);
//获取当前组织下数据
List<SysDepartTreeModel> departTreeModelList = sysDepartService.queryTreeListByDepartId(departId);
if (StringUtils.isNotEmpty(departId)) {
String json = sysPushVO.getJson();
List<SysDepartUserTreeModel> allJson = JSONObject.parseArray(json, SysDepartUserTreeModel.class);
dealwithTree(departId, departTreeModelList, allJson);
result.setResult(allJson);
} else {
List<SysDepartUserTreeModel> departUserTreeModelList = new ArrayList<>(); List<SysDepartUserTreeModel> departUserTreeModelList = new ArrayList<>();
departTreeModelList.forEach(item->{ for (SysDepartTreeModel sysDepartTreeModel : departTreeModelList) {
//复制 //复制
SysDepartUserTreeModel target = new SysDepartUserTreeModel(); SysDepartUserTreeModel target = new SysDepartUserTreeModel();
BeanUtils.copyProperties(item, target); BeanUtils.copyProperties(sysDepartTreeModel, target);
//添加当前部门的用户列表,不包括子部门
List<String> departIds = new ArrayList<>();
departIds.add(item.getId());
List<SysUser> sysUserList = sysUserService.getUserListByDepIds(departIds);
List<SysUserTreeModel> sysUserTreeModels = new ArrayList<>();
sysUserList.forEach(sysUser->{
SysUserTreeModel sysUserTreeModel = new SysUserTreeModel();
BeanUtils.copyProperties(sysUser, sysUserTreeModel);
sysUserTreeModels.add(sysUserTreeModel);
});
target.setList(sysUserTreeModels);
departUserTreeModelList.add(target); departUserTreeModelList.add(target);
});
result.setResult(departUserTreeModelList);
result.setSuccess(true);
} catch (Exception e) {
log.error(e.getMessage(),e);
} }
result.setResult(departUserTreeModelList);
}
// List<SysDepartUserTreeModel> departUserTreeModelList = new ArrayList<>();
// departTreeModelList.forEach(item -> {
// //复制
// SysDepartUserTreeModel target = new SysDepartUserTreeModel();
// BeanUtils.copyProperties(item, target);
// //添加当前部门的用户列表,不包括子部门
// List<String> departIds = new ArrayList<>();
// departIds.add(item.getId());
// List<SysUser> sysUserList = sysUserService.getUserListByDepIds(departIds);
// List<SysUserTreeModel> sysUserTreeModels = new ArrayList<>();
// sysUserList.forEach(sysUser -> {
// SysUserTreeModel sysUserTreeModel = new SysUserTreeModel();
// BeanUtils.copyProperties(sysUser, sysUserTreeModel);
// sysUserTreeModels.add(sysUserTreeModel);
// });
// target.setList(sysUserTreeModels);
// departUserTreeModelList.add(target);
// });
result.setSuccess(true);
return result; return result;
} }
/**
* 处理树状结构
*
* @param departId 当前选中组织ID
* @param departTreeModelList 当前组织下数据
* @param json 其他组织数据
*/
private void dealwithTree(String departId, List<SysDepartTreeModel> departTreeModelList, List<SysDepartUserTreeModel> json) {
for (SysDepartUserTreeModel sysDepartUserTreeModel : json) {
String id = sysDepartUserTreeModel.getId();
if (id.equals(departId)) {
List<SysDepartUserTreeModel> treeList = new ArrayList<>();
for (SysDepartTreeModel sysDepartTreeModel : departTreeModelList) {
//复制
SysDepartUserTreeModel target = new SysDepartUserTreeModel();
BeanUtils.copyProperties(sysDepartTreeModel, target);
treeList.add(target);
}
sysDepartUserTreeModel.setChildren(treeList);
break;
}
List<SysDepartUserTreeModel> children = sysDepartUserTreeModel.getChildren();
if (CollectionUtils.isNotEmpty(children)) {
//复制
dealwithTree(departId, departTreeModelList, children);
}
}
}
/** /**
* 根据用户id查询用户接口 - 工作流服务专用 * 根据用户id查询用户接口 - 工作流服务专用
*
* @param id:用户id * @param id:用户id
* @param reqFlag:请求标识 0 工作流服务请求 * @param reqFlag:请求标识 0 工作流服务请求
* @return * @return
*/ */
@RequestMapping(value = "/getUserById", method = RequestMethod.GET) @RequestMapping(value = "/getUserById", method = RequestMethod.GET)
public Result<SysUser> getUserById(@RequestParam("id") String id,@RequestParam("reqFlag") String reqFlag) { public Result<SysUser> getUserById(@RequestParam("id") String id, @RequestParam("reqFlag") String reqFlag) {
Result<SysUser> result = new Result<SysUser>(); Result<SysUser> result = new Result<SysUser>();
if(StringUtils.equals(reqFlag,"0")){ if (StringUtils.equals(reqFlag, "0")) {
SysUser sysUser = sysUserService.getById(id); SysUser sysUser = sysUserService.getById(id);
if (sysUser == null) { if (sysUser == null) {
result.error500("未找到对应实体"); result.error500("未找到对应实体");
@@ -0,0 +1,19 @@
package com.jero.modules.system.vo;
import lombok.Data;
@Data
public class SysPushVO {
/**
* 中英文
*/
private String cut;
/**
* 组织ID
*/
private String departId;
/**
* 列表JSON
*/
private String json;
}