From 6bd7ffcfcb0b5fb8dd1a5e95e78b07d9bb161f19 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Thu, 19 Aug 2021 12:06:15 +0800
Subject: [PATCH] 1.用户注册接口修改 2.保安公司列表查询接口修改
---
src/main/java/org/springblade/modules/system/controller/UserController.java | 207 +++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 181 insertions(+), 26 deletions(-)
diff --git a/src/main/java/org/springblade/modules/system/controller/UserController.java b/src/main/java/org/springblade/modules/system/controller/UserController.java
index c22906f..67e1d92 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -24,7 +24,10 @@
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
+import com.alibaba.fastjson.JSON;
import lombok.AllArgsConstructor;
+import org.springblade.common.cache.DictCache;
+import org.springblade.common.enums.DictEnum;
import org.springblade.common.utils.arg;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.excel.util.ExcelUtil;
@@ -38,12 +41,25 @@
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.constant.RoleConstant;
+import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.DigestUtil;
+import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringPool;
+import org.springblade.modules.experience.entity.Experience;
+import org.springblade.modules.experience.service.IExperienceService;
+import org.springblade.modules.jurisdiction.entity.Jurisdiction;
+import org.springblade.modules.jurisdiction.service.JurisdictionService;
+import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.entity.Role;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.excel.UserExcel;
import org.springblade.modules.system.excel.UserImporter;
+import org.springblade.modules.system.node.TreeNode;
+import org.springblade.modules.system.service.IDeptService;
+import org.springblade.modules.system.service.IRoleService;
import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.system.vo.DeptVO;
import org.springblade.modules.system.vo.UserVO;
import org.springblade.modules.system.wrapper.UserWrapper;
import org.springframework.web.bind.annotation.*;
@@ -56,6 +72,7 @@
import java.util.List;
import java.util.Map;
+import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
import static org.springblade.core.cache.constant.CacheConstant.USER_CACHE;
/**
@@ -71,6 +88,11 @@
public class UserController {
private final IUserService userService;
+ private final IDeptService iDeptService;
+ private final IRoleService roleService;
+ private final IExperienceService experienceService;
+
+ private final JurisdictionService jurisdictionService;
/**
* 查询单条
@@ -115,6 +137,22 @@
/**
* 自定义用户列表
*/
+ @GetMapping("/pages")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "account", value = "账号名", paramType = "query", dataType = "string"),
+ @ApiImplicitParam(name = "realName", value = "姓名", paramType = "query", dataType = "string")
+ })
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "列表", notes = "传入account和realName")
+ //@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+ public R<IPage<UserVO>> pages(@ApiIgnore UserVO user, Query query) {
+ IPage<UserVO> pages = userService.selectUserPages(Condition.getPage(query), user);
+ return R.data(pages);
+ }
+
+ /**
+ * 自定义用户列表
+ */
@GetMapping("/page")
@ApiImplicitParams({
@ApiImplicitParam(name = "account", value = "账号名", paramType = "query", dataType = "string"),
@@ -124,8 +162,8 @@
@ApiOperation(value = "列表", notes = "传入account和realName")
//@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
public R<IPage<UserVO>> page(@ApiIgnore User user, Query query, Long deptId, BladeUser bladeUser) {
- IPage<UserVO> pages = userService.selectUserPage(Condition.getPage(query), user, deptId, "000000");
- return R.data(pages);
+ IPage<User> pages = userService.selectUserPage(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId()));
+ return R.data(UserWrapper.build().pageVO(pages));
}
/**
@@ -137,6 +175,29 @@
//@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
public R submit(@Valid @RequestBody User user) throws Exception {
CacheUtil.clear(USER_CACHE);
+ //查询角色
+ if (null!=user.getRoleId()){
+ Role role = new Role();
+ role.setId(Long.parseLong(user.getRoleId()));
+ Role one = roleService.getOne(Condition.getQueryWrapper(role));
+ if (one.getRoleAlias().equals("保安")){
+ user.setHold("1");
+ }
+ if (one.getRoleAlias().equals("未持证保安")){
+ user.setHold("2");
+ }
+ }
+
+ //根据 deptId 查询dept信息,公安管理员
+ Dept dept = iDeptService.getById(user.getDeptId());
+ Long sid = 1123598813738675201L;
+ if (dept.getParentId().equals(sid)){
+ //获取辖区的数据
+ Jurisdiction jurisdiction = new Jurisdiction();
+ jurisdiction.setDeptName(dept.getDeptName());
+ Jurisdiction one = jurisdictionService.getOne(Condition.getQueryWrapper(jurisdiction));
+ user.setJurisdiction(one.getId().toString());
+ }
return R.status(userService.submit(user));
}
@@ -231,26 +292,26 @@
@ApiOperationSupport(order = 12)
@ApiOperation(value = "导入用户", notes = "传入excel")
public R importUser(MultipartFile file, Integer isCovered) {
- UserImporter userImporter = new UserImporter(userService, isCovered == 1);
+ UserImporter userImporter = new UserImporter(userService, false);
ExcelUtil.save(file, userImporter, UserExcel.class);
return R.success("操作成功");
}
- /**
- * 导出用户
- */
- @GetMapping("export-user")
- @ApiOperationSupport(order = 13)
- @ApiOperation(value = "导出用户", notes = "传入user")
- public void exportUser(@ApiIgnore @RequestParam Map<String, Object> user, BladeUser bladeUser, HttpServletResponse response) {
- QueryWrapper<User> queryWrapper = Condition.getQueryWrapper(user, User.class);
- if (!AuthUtil.isAdministrator()) {
- queryWrapper.lambda().eq(User::getTenantId, bladeUser.getTenantId());
- }
- queryWrapper.lambda().eq(User::getIsDeleted, BladeConstant.DB_NOT_DELETED);
- List<UserExcel> list = userService.exportUser(queryWrapper);
- ExcelUtil.export(response, "用户数据" + DateUtil.time(), "用户数据表", list, UserExcel.class);
- }
+// /**
+// * 导出用户
+// */
+// @GetMapping("export-user")
+// @ApiOperationSupport(order = 13)
+// @ApiOperation(value = "导出用户", notes = "传入user")
+// public void exportUser(@ApiIgnore @RequestParam Map<String, Object> user, BladeUser bladeUser, HttpServletResponse response) {
+// QueryWrapper<User> queryWrapper = Condition.getQueryWrapper(user, User.class);
+// if (!AuthUtil.isAdministrator()) {
+// queryWrapper.lambda().eq(User::getTenantId, bladeUser.getTenantId());
+// }
+// queryWrapper.lambda().eq(User::getIsDeleted, BladeConstant.DB_NOT_DELETED);
+// List<UserExcel> list = userService.exportUser(queryWrapper);
+// ExcelUtil.export(response, "用户数据" + DateUtil.time(), "用户数据表", list, UserExcel.class);
+// }
/**
* 导出模板
@@ -317,10 +378,8 @@
* 自定义用户列表(只有保安员)
*/
@GetMapping("/page-security")
- public R<IPage<UserVO>> pageSecurity(@ApiIgnore User user, Query query, Long deptId, BladeUser bladeUser) {
- user.setAccount("admin");
- bladeUser.setTenantId("000000");
- IPage<User> pages = userService.selectUserPageSecurity(Condition.getPage(query), user, deptId, "000000");
+ public R<IPage<UserVO>> pageSecurity(@ApiIgnore User user, Query query) {
+ IPage<User> pages = userService.selectUserPageSecurity(Condition.getPage(query), user);
return R.data(UserWrapper.build().pageVO(pages));
}
@@ -328,11 +387,107 @@
* 自定义用户列表(只有保安员)
*/
@GetMapping("/page-security-unit")
- public List<User> pageSecurityUnit(@ApiIgnore User user, Query query, Long deptId, BladeUser bladeUser) {
- user.setAccount("admin");
- bladeUser.setTenantId("000000");
- List<User> pages = userService.selectUserPageSecurityUnit(Condition.getPage(query), user, deptId, "000000");
+ public List<User> pageSecurityUnit(@ApiIgnore User user, Query query) {
+ List<User> pages = userService.selectUserPageSecurityUnit(Condition.getPage(query), user);
return pages;
}
+ /**
+ * 自定义用户列表(只有保安员)
+ */
+ @GetMapping("/page-security-units")
+ public R pageSecurityUnits(@ApiIgnore User user, Query query) {
+ List<User> pages = userService.selectUserPageSecurityUnit(Condition.getPage(query),user);
+ return R.data(pages);
+ }
+
+ /**
+ * 保安员列表,帅选无保安证
+ */
+ @GetMapping("/page-security-apply")
+ public R<IPage<UserVO>> pageSecurityApply(@ApiIgnore UserVO user, Query query) {
+ IPage<UserVO> pages = userService.selectUserPageSecurityApply(Condition.getPage(query), user);
+ return R.data(pages);
+ }
+
+ /**
+ * 保安员列表树,帅选无保安证,下拉tree
+ */
+ @GetMapping("/security-apply-tree")
+ public R<List<TreeNode>> securityApplyTree(UserVO user) {
+ List<TreeNode> tree = userService.getSecurityApplyTree(user);
+ return R.data(tree);
+ }
+
+ /**
+ * 自定义用户列表(只有保安员)
+ */
+ @GetMapping("/selectInr")
+ public R selectInr(String deptid) {
+ List<Map<Object, Object>> list = userService.selectInr(deptid);
+ return R.data(list);
+ }
+ @GetMapping("/zc")
+ public R zc(String username,String password) {
+ User user = new User();
+ user.setTenantId("000000");
+ user.setAccount(username);
+ user.setPassword(DigestUtil.encrypt(password));
+ user.setRoleId("1428177141018771458");
+ userService.saveOrUpdate(user);
+ return R.success("注册成功");
+ }
+
+ /**
+ * 保安员新增
+ */
+ @PostMapping("/securitySave")
+ public R securitySave(@Valid @RequestBody Map<String,Object> userMap){
+ //获取user
+ User user = JSON.parseObject(JSON.toJSONString(userMap.get("user")),User.class);
+ //判断是否为空
+ if (null!=user.getHold()){
+ //持证
+ if (user.getHold().equals("1")){
+ //分配保安角色
+ Role role = new Role();
+ role.setRoleAlias("保安");
+ Role oneRole = roleService.getOne(Condition.getQueryWrapper(role));
+ user.setRoleId(oneRole.getId().toString());
+ }
+ //未持证
+ if (user.getHold().equals("2")){
+ //分配未持证保安角色
+ Role role = new Role();
+ role.setRoleAlias("未持证保安");
+ Role oneRole = roleService.getOne(Condition.getQueryWrapper(role));
+ user.setRoleId(oneRole.getId().toString());
+ }
+ }
+ //密码加密
+ if (Func.isNotEmpty(user.getPassword())) {
+ user.setPassword(DigestUtil.encrypt(user.getPassword()));
+ }
+ //用户新增
+ boolean status = userService.save(user);
+ //获取从业记录
+ List<Experience> experiences = (List<Experience>) userMap.get("userPractitionersInfo");
+ if (experiences.size()>0){
+ int count = 0;
+ for (int i = 0; i < experiences.size(); i++) {
+ Experience e = JSON.parseObject(JSON.toJSONString(experiences.get(i)), Experience.class);
+ e.setSecurityid(user.getId().toString());
+ experienceService.save(e);
+ count++;
+ }
+ if (count < 1) {
+ return R.status(false);
+ }
+ }
+ //判断是否持证是否为空
+ return R.status(status);
+ }
+
+
+
}
--
Gitblit v1.9.3