zhongrj
2024-04-02 566e7986291e73051d30ee252b0ebf852b1577a7
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -27,9 +27,12 @@
import io.swagger.annotations.*;
import lombok.AllArgsConstructor;
import org.springblade.common.cache.CacheNames;
import org.springblade.common.param.ToObject;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.launch.constant.AppConstant;
import org.springblade.core.log.annotation.ApiLog;
import org.springblade.core.log.logger.BladeLogger;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.redis.cache.BladeRedis;
@@ -40,6 +43,7 @@
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.jackson.JsonUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringPool;
@@ -81,6 +85,7 @@
   private final IUserService userService;
   private final BladeRedis bladeRedis;
   private final BladeLogger bladeLogger;
   /**
    * 查询单条
@@ -163,7 +168,9 @@
   @ApiOperationSupport(order = 3)
   @ApiOperation(value = "列表", notes = "传入account和realName")
//   @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   @ApiLog("自定义用户列表")
   public R<IPage<UserVO>> page(@ApiIgnore User user, Query query, String deptId, BladeUser bladeUser) {
      bladeLogger.info("自定义用户列表", JsonUtil.toJson(user));
      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));
   }
@@ -185,9 +192,11 @@
    */
   @PostMapping("/submit")
   @ApiOperationSupport(order = 4)
   @ApiLog("新增或修改")
   @ApiOperation(value = "新增或修改", notes = "传入User")
   @PreAuth("hasAnyRole('administrator', 'admin','wygly')")
   public R submit(@Valid @RequestBody User user) {
      bladeLogger.info("新增或修改", JsonUtil.toJson(user));
      CacheUtil.clear(USER_CACHE);
      return R.status(userService.submit(user));
   }
@@ -197,8 +206,10 @@
    */
   @PostMapping("/update")
   @ApiOperationSupport(order = 5)
   @ApiLog("修改")
   @ApiOperation(value = "修改", notes = "传入User")
   public R update(@Valid @RequestBody User user) {
      bladeLogger.info("修改", JsonUtil.toJson(user));
      CacheUtil.clear(USER_CACHE);
      CacheUtil.clear(SYS_CACHE);
      return R.status(userService.updateUser(user));
@@ -211,7 +222,9 @@
   @ApiOperationSupport(order = 6)
   @ApiOperation(value = "删除", notes = "传入id集合")
   @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   @ApiLog("删除")
   public R remove(@RequestParam String ids) {
      bladeLogger.info("删除", JsonUtil.toJson(ids));
      CacheUtil.clear(USER_CACHE);
      return R.status(userService.removeUser(ids));
   }
@@ -221,10 +234,12 @@
    */
   @PostMapping("/grant")
   @ApiOperationSupport(order = 7)
   @ApiLog("设置菜单权限")
   @ApiOperation(value = "权限设置", notes = "传入roleId集合以及menuId集合")
   @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   public R grant(@ApiParam(value = "userId集合", required = true) @RequestParam String userIds,
               @ApiParam(value = "roleId集合", required = true) @RequestParam String roleIds) {
      bladeLogger.info("设置菜单权限", JsonUtil.toJson(userIds));
      boolean temp = userService.grant(userIds, roleIds);
      return R.status(temp);
   }
@@ -235,8 +250,10 @@
   @PostMapping("/reset-password")
   @ApiOperationSupport(order = 8)
   @ApiOperation(value = "初始化密码", notes = "传入userId集合")
   @ApiLog("重置密码")
   @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   public R resetPassword(@ApiParam(value = "userId集合", required = true) @RequestParam String userIds) {
      bladeLogger.info("重置密码", JsonUtil.toJson(userIds));
      boolean temp = userService.resetPassword(userIds);
      return R.status(temp);
   }
@@ -246,10 +263,12 @@
    */
   @PostMapping("/update-password")
   @ApiOperationSupport(order = 9)
   @ApiLog("修改密码")
   @ApiOperation(value = "修改密码", notes = "传入密码")
   public R updatePassword(BladeUser user, @ApiParam(value = "旧密码", required = true) @RequestParam String oldPassword,
                     @ApiParam(value = "新密码", required = true) @RequestParam String newPassword,
                     @ApiParam(value = "新密码", required = true) @RequestParam String newPassword1) {
      bladeLogger.info("修改密码", JsonUtil.toJson(ToObject.toMap("oldPassword:" + oldPassword,"newPassword:" + newPassword,"newPassword1:" + newPassword1)));
      boolean temp = userService.updatePassword(user.getUserId(), oldPassword, newPassword, newPassword1);
      return R.status(temp);
   }
@@ -258,9 +277,11 @@
    * 修改基本信息
    */
   @PostMapping("/update-info")
   @ApiLog("自定义用户列表")
   @ApiOperationSupport(order = 10)
   @ApiOperation(value = "修改基本信息", notes = "传入User")
   public R updateInfo(@Valid @RequestBody User user) {
      bladeLogger.info("修改基本信息", JsonUtil.toJson(user));
      CacheUtil.clear(USER_CACHE);
      return R.status(userService.updateUserInfo(user));
   }
@@ -282,6 +303,7 @@
    */
   @PostMapping("import-user")
   @ApiOperationSupport(order = 12)
   @ApiLog("导入用户")
   @ApiOperation(value = "导入用户", notes = "传入excel")
   public R importUser(MultipartFile file, Integer isCovered) {
      UserImporter userImporter = new UserImporter(userService, isCovered == 1);
@@ -293,9 +315,11 @@
    * 导出用户
    */
   @GetMapping("export-user")
   @ApiLog("导出用户")
   @ApiOperationSupport(order = 13)
   @ApiOperation(value = "导出用户", notes = "传入user")
   public void exportUser(@ApiIgnore @RequestParam Map<String, Object> user, BladeUser bladeUser, HttpServletResponse response) {
      bladeLogger.info("导出用户", JsonUtil.toJson(bladeUser));
      QueryWrapper<User> queryWrapper = Condition.getQueryWrapper(user, User.class);
      if (!AuthUtil.isAdministrator()) {
         queryWrapper.lambda().eq(User::getTenantId, bladeUser.getTenantId());
@@ -371,8 +395,10 @@
    */
   @PostMapping("/unlock")
   @ApiOperationSupport(order = 19)
   @ApiLog("用户解锁")
   @ApiOperation(value = "账号解锁", notes = "传入id")
   public R unlock(String userIds) {
      bladeLogger.info("用户解锁", JsonUtil.toJson(userIds));
      if (StringUtil.isBlank(userIds)) {
         return R.fail("请至少选择一个用户");
      }
@@ -411,19 +437,7 @@
      return R.data(userService.getUserInfoByDistrictId(districtId, building));
   }
   /**
    * 通过小区id查询用户
    */
   @GetMapping("/getUserInfoByDistrictIds")
   @ApiOperation(value = "通过小区id查询用户")
   public  R<IPage<HouseholdVO>> getUserInfoByDistrictIds(@RequestParam("districtIds") String districtIds
      , @RequestParam(value = "building", required = false) String building
      , @RequestParam(value = "unit", required = false) String unit
      , @RequestParam(value = "name", required = false) String name
      , Query query) {
      IPage<HouseholdVO> pages = userService.getUserInfoByDistrictIds(districtIds, building, unit, name, Condition.getPage(query));
      return R.data(pages);
   }
   /**
@@ -468,8 +482,10 @@
    * latitude
    */
   @GetMapping("/getPoliceUser")
   @ApiLog("通过经纬度查询最近的民警人员")
   @ApiOperation(value = "通过经纬度查询最近的民警人员")
   public R getPoliceUser(@RequestParam("longitude") String longitude, @RequestParam(value = "latitude") String latitude, @RequestParam(value = "houseCode", required = false) String houseCode) {
      bladeLogger.info("通过经纬度查询最近的民警人员", JsonUtil.toJson(ToObject.toMap("longitude:" + longitude,"latitude:" + latitude,"houseCode:" + houseCode)));
      return R.data(userService.getPoliceUser(longitude, latitude, houseCode));
   }