文档库推送信息处理

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