智慧保安后台管理-外网项目备份
zengh
2021-08-19 8b464ee379c5b35ac8b22b4e5dde25c4f6fb75cf
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,23 @@
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;
@@ -58,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;
/**
@@ -73,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;
   /**
    * 查询单条
@@ -117,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"),
@@ -126,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));
   }
   /**
@@ -139,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));
   }
@@ -233,7 +292,7 @@
   @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("操作成功");
   }
@@ -319,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));
   }
@@ -330,10 +387,8 @@
    * 自定义用户列表(只有保安员)
    */
   @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;
   }
@@ -341,9 +396,8 @@
    * 自定义用户列表(只有保安员)
    */
   @GetMapping("/page-security-units")
   public R pageSecurityUnits(@ApiIgnore User user, Query query, Long deptId, BladeUser bladeUser) {
      bladeUser.setTenantId("000000");
      List<User> pages = userService.selectUserPageSecurityUnit(Condition.getPage(query), user, deptId, "000000");
   public R pageSecurityUnits(@ApiIgnore User user, Query query) {
      List<User> pages = userService.selectUserPageSecurityUnit(Condition.getPage(query),user);
      return R.data(pages);
   }
@@ -351,9 +405,8 @@
    * 保安员列表,帅选无保安证
    */
   @GetMapping("/page-security-apply")
   public R<IPage<UserVO>> pageSecurityApply(@ApiIgnore UserVO user, Query query, Long deptId, BladeUser bladeUser) {
      bladeUser.setTenantId("000000");
      IPage<UserVO> pages = userService.selectUserPageSecurityApply(Condition.getPage(query), user, deptId, "000000");
   public R<IPage<UserVO>> pageSecurityApply(@ApiIgnore UserVO user, Query query) {
      IPage<UserVO> pages = userService.selectUserPageSecurityApply(Condition.getPage(query), user);
      return R.data(pages);
   }
@@ -366,4 +419,75 @@
      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);
   }
}