文档库推送信息处理

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
@@ -222,6 +225,7 @@ public class SysUserController {
/** /**
* 冻结&解冻用户 * 冻结&解冻用户
*
* @param jsonObject * @param jsonObject
* @return * @return
*/ */
@@ -248,6 +252,7 @@ public class SysUserController {
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) {
@@ -552,9 +558,9 @@ public class SysUserController {
} }
/** /**
* @功能:根据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)
@@ -584,6 +590,7 @@ public class SysUserController {
} }
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,
@@ -631,8 +638,10 @@ public class SysUserController {
return result; return result;
} }
} }
/** /**
* 删除指定角色的用户关系 * 删除指定角色的用户关系
*
* @param * @param
* @return * @return
*/ */
@@ -836,6 +845,7 @@ public class SysUserController {
/** /**
* 查询当前用户的所有部门/当前部门编码 * 查询当前用户的所有部门/当前部门编码
*
* @return * @return
*/ */
@RequiresPermissions("sys:user:list") @RequiresPermissions("sys:user:list")
@@ -858,8 +868,6 @@ public class SysUserController {
} }
/** /**
* 用户注册接口 * 用户注册接口
* *
@@ -939,6 +947,7 @@ public class SysUserController {
/** /**
* 根据用户名或手机号查询用户信息 * 根据用户名或手机号查询用户信息
*
* @param * @param
* @return * @return
*/ */
@@ -1085,6 +1094,7 @@ public class SysUserController {
/** /**
* 【APP端接口】获取用户列表 根据用户名和真实名 模糊匹配 * 【APP端接口】获取用户列表 根据用户名和真实名 模糊匹配
*
* @param keyword * @param keyword
* @param pageNo * @param pageNo
* @param pageSize * @param pageSize
@@ -1181,6 +1191,7 @@ public class SysUserController {
/** /**
* 移动端修改用户信息 * 移动端修改用户信息
*
* @param jsonObject * @param jsonObject
* @return * @return
*/ */
@@ -1236,8 +1247,10 @@ public class SysUserController {
} }
return result; return result;
} }
/** /**
* 移动端保存设备信息 * 移动端保存设备信息
*
* @param clientId * @param clientId
* @return * @return
*/ */
@@ -1259,6 +1272,7 @@ public class SysUserController {
} }
return result; return result;
} }
/** /**
* 根据userid获取用户信息和部门员工信息 * 根据userid获取用户信息和部门员工信息
* *
@@ -1284,8 +1298,10 @@ public class SysUserController {
} }
return Result.OK(map); return Result.OK(map);
} }
/** /**
* 移动端查询部门用户信息 * 移动端查询部门用户信息
*
* @param departId * @param departId
* @return * @return
*/ */
@@ -1298,8 +1314,10 @@ public class SysUserController {
result.setResult(childrenUser); result.setResult(childrenUser);
return result; return result;
} }
/** /**
* 移动端查询用户信息(通过用户名模糊查询) * 移动端查询用户信息(通过用户名模糊查询)
*
* @param keyword * @param keyword
* @return * @return
*/ */
@@ -1329,6 +1347,7 @@ public class SysUserController {
/** /**
* 根据用户名修改手机号 * 根据用户名修改手机号
*
* @param json * @param json
* @return * @return
*/ */
@@ -1370,40 +1389,85 @@ 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
@@ -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;
}