智慧保安后台管理-外网
tangzy
2021-08-14 d339dc7c91ff61807a39583c1e347056fb173ac7
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -25,6 +25,8 @@
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
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 +40,18 @@
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.StringPool;
import org.springblade.modules.system.entity.Dept;
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.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 +64,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 +80,7 @@
public class UserController {
   private final IUserService userService;
   private final IDeptService iDeptService;
   /**
    * 查询单条
@@ -115,6 +125,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 User user, Query query, Long deptId, BladeUser bladeUser) {
      IPage<UserVO> pages = userService.selectUserPages(Condition.getPage(query), user, deptId, "000000");
      return R.data(pages);
   }
   /**
    * 自定义用户列表
    */
   @GetMapping("/page")
   @ApiImplicitParams({
      @ApiImplicitParam(name = "account", value = "账号名", paramType = "query", dataType = "string"),
@@ -137,8 +163,6 @@
   //@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   public R submit(@Valid @RequestBody User user) throws Exception {
      CacheUtil.clear(USER_CACHE);
      arg arg = new arg();
      arg.test01(arg.url+"/blade-user/save",user);
      return R.status(userService.submit(user));
   }
@@ -233,26 +257,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);
//   }
   /**
    * 导出模板
@@ -321,8 +345,84 @@
   @GetMapping("/page-security")
   public R<IPage<UserVO>> pageSecurity(@ApiIgnore User user, Query query, Long deptId, BladeUser bladeUser) {
      user.setAccount("admin");
      IPage<User> pages = userService.selectUserPageSecurity(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId()));
      bladeUser.setTenantId("000000");
      IPage<User> pages = userService.selectUserPageSecurity(Condition.getPage(query), user, deptId, "000000");
      return R.data(UserWrapper.build().pageVO(pages));
   }
   /**
    * 自定义用户列表(只有保安员)
    */
   @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");
      return pages;
   }
   /**
    * 自定义用户列表(只有保安员)
    */
   @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");
      return R.data(pages);
   }
   /**
    * 保安员列表,帅选无保安证
    */
   @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");
      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 deptname,String username,String password,String sname,String phone) {
      Dept dept = new Dept();
      Long i = 1426355050199945218L;
      dept.setParentId(i);
      dept.setTenantId("000000");
      dept.setDeptName(deptname);
      dept.setAncestors("0,1426354978959691778,1426355050199945218");
      dept.setDeptCategory(1);
      User user = new User();
      user.setAccount(username);
      user.setPassword(DigestUtil.encrypt(password));
      user.setRealName(sname);
      user.setPhone(phone);
      if (iDeptService.submit(dept)) {
         CacheUtil.clear(SYS_CACHE);
         // 返回懒加载树更新节点所需字段
         Kv kv = Kv.create().set("id", String.valueOf(dept.getId())).set("tenantId", dept.getTenantId())
            .set("deptCategoryName", DictCache.getValue(DictEnum.ORG_CATEGORY, dept.getDeptCategory()));
         String id = kv.get("id").toString();
         user.setDeptId(id);
      }
      userService.saveOrUpdate(user);
      return R.success("注册成功");
   }
}