zrj
2024-07-03 0b1e9e70818f0e3eb32dd6c029d42d93236ecdc6
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -17,14 +17,14 @@
package org.springblade.modules.system.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.PropertyNamingStrategy;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.*;
import lombok.AllArgsConstructor;
import org.springblade.common.cache.CacheNames;
import org.springblade.core.cache.utils.CacheUtil;
@@ -45,6 +45,8 @@
import org.springblade.core.tool.utils.StringPool;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.excel.PoliceUserExcel;
import org.springblade.modules.system.excel.PoliceUserImporter;
import org.springblade.modules.system.excel.UserExcel;
import org.springblade.modules.system.excel.UserImporter;
import org.springblade.modules.system.service.IUserService;
@@ -68,10 +70,11 @@
 * @author Chill
 */
@NonDS
@ApiIgnore
//@ApiIgnore
@RestController
@RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME+"/user")
@RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/user")
@AllArgsConstructor
@Api(value = "用户管理", tags = "用户管理")
public class UserController {
   private final IUserService userService;
@@ -83,10 +86,22 @@
   @ApiOperationSupport(order = 1)
   @ApiOperation(value = "查看详情", notes = "传入id")
   @GetMapping("/detail")
   @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
//   @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   public R<UserVO> detail(User user) {
      User detail = userService.getOne(Condition.getQueryWrapper(user));
      return R.data(UserWrapper.build().entityVO(detail));
   }
   @ApiOperationSupport(order = 1)
   @ApiOperation(value = "查看详情返回String", notes = "传入id")
   @GetMapping("/details")
//   @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   public R<String> details(User user) {
      UserVO detail = userService.getuserById(user.getId());
      SerializeConfig config = new SerializeConfig();
      config.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase;
      String json1 = JSON.toJSONString(detail, config);
      return R.data(json1);
   }
   /**
@@ -117,6 +132,24 @@
      return R.data(UserWrapper.build().pageVO(pages));
   }
   @GetMapping("/searchUser")
   @ApiOperationSupport(order = 3)
   @ApiOperation(value = "搜索用户", notes = "传入name")
   @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   public R<List<UserVO>> searchUser(@ApiIgnore User user, Query query, String deptId, BladeUser bladeUser) {
      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().listVO(pages.getRecords()));
   }
   @GetMapping("/searchUserByDistrictId")
   @ApiOperationSupport(order = 3)
   @ApiOperation(value = "通过小区Id搜索用户", notes = "传入districtId")
   // @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   public R<List<UserVO>> searchUserByDistrictId(String districtId) {
      List<User> resutl = userService.searchUserByDistrictId(districtId);
      return R.data(UserWrapper.build().listVO(resutl));
   }
   /**
    * 自定义用户列表
    */
@@ -127,10 +160,22 @@
   })
   @ApiOperationSupport(order = 3)
   @ApiOperation(value = "列表", notes = "传入account和realName")
   @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   public R<IPage<UserVO>> page(@ApiIgnore User user, Query query, Long deptId, BladeUser bladeUser) {
//   @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   public R<IPage<UserVO>> page(@ApiIgnore User user, Query query, String deptId, BladeUser bladeUser) {
      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));
   }
   /**
    * 按条件查询用户信息
    *
    * @param user
    * @return
    */
   @GetMapping("/getUserListByParam")
   public R getUserListByParam(UserVO user) {
      return R.data(userService.getUserListByParam(user));
   }
   /**
@@ -139,7 +184,7 @@
   @PostMapping("/submit")
   @ApiOperationSupport(order = 4)
   @ApiOperation(value = "新增或修改", notes = "传入User")
   @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
   @PreAuth("hasAnyRole('administrator', 'admin','wygly')")
   public R submit(@Valid @RequestBody User user) {
      CacheUtil.clear(USER_CACHE);
      return R.status(userService.submit(user));
@@ -333,4 +378,79 @@
      return R.success("操作成功");
   }
   /**
    * 获取用户信息
    * @return
    */
   @GetMapping("/getUserInfo")
   public R getUserInfo(){
      //根据保安员编码查询保安员信息
      return R.data(userService.getUserInfo(AuthUtil.getUserId()));
   }
   /**
    * 修改
    */
   @GetMapping("/getUserInfoByCode")
   @ApiOperation(value = "查询物业人员/网格人员", notes = "houseCode")
   public R getUserInfoByCode(@RequestParam("houseCode") String houseCode, @RequestParam(value = "type", defaultValue = "2") String type) {
      return R.data(userService.getUserInfoByCode(houseCode, type));
   }
   /**
    * 通过小区id查询物业人员/网格人员
    */
   @GetMapping("/getUserInfoByDistrictId")
   @ApiOperation(value = "查询物业人员/网格人员", notes = "houseCode")
   public R getUserInfoByDistrictId(@RequestParam("districtId") String districtId, @RequestParam(value = "building", required = false) String building) {
      return R.data(userService.getUserInfoByDistrictId(districtId, building));
   }
   /**
    * 通过小区id查询物业人员/网格人员
    */
   @GetMapping("/getUserInfoByDistrictIds")
   @ApiOperation(value = "查询物业人员By小区id", notes = "houseCode")
   public R getUserInfoByDistrictIds(@RequestParam("districtIds") String districtIds) {
      return R.data(userService.getUserInfoByDistrictIds(districtIds));
   }
   /**
    * 通过机构查询物业公司人员
    */
   @GetMapping("/getUserInfoByPropertyCompanyId")
   @ApiOperation(value = "通过机构查询物业公司人员", notes = "propertyCompanyId")
   public R getUserInfoByPropertyId(@RequestParam("propertyCompanyId") String propertyCompanyId,@RequestParam("roleId") String roleId) {
      return R.data(userService.getUserInfoByPropertyId(propertyCompanyId,roleId));
   }
   /**
    * 处理漏绑定的user_dept
    */
   @GetMapping("/handleUserDept")
   public R handleUserDept() {
      return R.data(userService.handleUserDept());
   }
   /**
    * 处理漏绑定的user_dept
    */
   @GetMapping("/handleUser")
   public R handleUser() {
      return R.data(userService.handleUser());
   }
   /**
    * 民警数据导入
    */
   @PostMapping("/policemanDataHandle")
   public R policemanDataHandle(MultipartFile file) {
      PoliceUserImporter policeUserImporter = new PoliceUserImporter(userService);
      ExcelUtil.save(file, policeUserImporter, PoliceUserExcel.class);
      return R.success("操作成功");
   }
}