liujie
2025-07-11 c3892d8e7378ea9441689ebe7009b3e02160b7a1
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/SystemUserController.java
@@ -3,11 +3,12 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.interfaces.OperLog;
import com.panzhihua.common.model.vos.LoginReturnVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo;
import com.panzhihua.common.model.vos.west.SystemUserVo;
import com.panzhihua.common.service.auth.TokenService;
import com.panzhihua.westcommittee.annotation.SysLog;
import com.panzhihua.westcommittee.model.entity.*;
@@ -25,6 +26,7 @@
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.time.LocalDateTime;
@@ -69,10 +71,6 @@
   @Resource
   private IDepartmentService departmentService;
   @Resource
   private ISystemUserLevelService systemUserLevelService;
@@ -103,6 +101,12 @@
      if(2 == systemUser.getStatus()){
         return R.fail("当前账号已冻结。");
      }
      Integer oneDepartmentId = systemUser.getOneDepartmentId();
      Department byId = departmentService.getById(oneDepartmentId);
      if(byId.getStatus()==2){
          return R.fail("当前单位已关闭。");
      }
      //创建token
      R<LoginReturnVO> reult = tokenService.loginWest(systemUser.getId());
      redisTemplate.delete(key);
@@ -116,43 +120,43 @@
      Set<String> collect1 = new HashSet<>();
      if(collect.size() > 0){
         LambdaQueryWrapper<SystemMenu> queryWrapper = new LambdaQueryWrapper<SystemMenu>().in(SystemMenu::getId, collect);
         switch (systemUser.getAccountLevel()){
            case 2:
               queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/system_setting/position_management", "/system_setting/position_management/add", "/system_setting/position_management/del",
                     "/system_setting/role_management", "/system_setting/role_management/add", "/system_setting/role_management/edit", "/system_setting/role_management/del",
                     "/work_order_transaction_management/work_order_item_configuration", "/work_order_transaction_management/work_order_item_configuration/save",
                     "/work_order_transaction_management/problem_type_management", "/work_order_transaction_management/problem_type_management/add",
                     "/work_order_transaction_management/problem_type_management/edit", "/work_order_transaction_management/problem_type_management/del", "/work_order_transaction_management/banner_management",
                     "/work_order_transaction_management/banner_management/add", "/work_order_transaction_management/banner_management/edit", "/work_order_transaction_management/banner_management/del"));
               break;
            case 3:
               queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/system_setting/position_management", "/system_setting/position_management/add", "/system_setting/position_management/del",
                     "/system_setting/role_management", "/system_setting/role_management/add", "/system_setting/role_management/edit", "/system_setting/role_management/del",
                     "/work_order_transaction_management/work_order_item_configuration", "/work_order_transaction_management/work_order_item_configuration/save",
                     "/work_order_transaction_management/problem_type_management", "/work_order_transaction_management/problem_type_management/add",
                     "/work_order_transaction_management/problem_type_management/edit", "/work_order_transaction_management/problem_type_management/del", "/work_order_transaction_management/banner_management",
                     "/work_order_transaction_management/banner_management/add", "/work_order_transaction_management/banner_management/edit", "/work_order_transaction_management/banner_management/del"));
               break;
            case 4:
               queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/system_setting/position_management", "/system_setting/position_management/add", "/system_setting/position_management/del",
                     "/system_setting/role_management", "/system_setting/role_management/add", "/system_setting/role_management/edit", "/system_setting/role_management/del",
                     "/work_order_transaction_management/work_order_item_configuration", "/work_order_transaction_management/work_order_item_configuration/save",
                     "/work_order_transaction_management/problem_type_management", "/work_order_transaction_management/problem_type_management/add",
                     "/work_order_transaction_management/problem_type_management/edit", "/work_order_transaction_management/problem_type_management/del", "/work_order_transaction_management/banner_management",
                     "/work_order_transaction_management/banner_management/add", "/work_order_transaction_management/banner_management/edit", "/work_order_transaction_management/banner_management/del"));
               break;
            case 5:
               queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/system_setting/position_management", "/system_setting/position_management/add", "/system_setting/position_management/del",
                     "/system_setting/role_management", "/system_setting/role_management/add", "/system_setting/role_management/edit", "/system_setting/role_management/del",
                     "/system_setting/people_management", "/system_setting/people_management/add", "/system_setting/people_management/edit", "/system_setting/people_management/del",
                     "/system_setting/people_management/freeze", "/system_setting/unit_management", "/system_setting/people_management/detail", "/system_setting/unit_management/add",
                     "/system_setting/unit_management/edit", "/system_setting/unit_management/del", "/work_order_transaction_management/work_order_item_configuration",
                     "/work_order_transaction_management/work_order_item_configuration/save", "/work_order_transaction_management/problem_type_management",
                     "/work_order_transaction_management/problem_type_management/add", "/work_order_transaction_management/problem_type_management/edit",
                     "/work_order_transaction_management/problem_type_management/del", "/work_order_transaction_management/banner_management",
                     "/work_order_transaction_management/banner_management/add", "/work_order_transaction_management/banner_management/edit", "/work_order_transaction_management/banner_management/del"));
               break;
         if(systemUser.getSystemRoleId()>2 && systemUser.getAccountLevel()==2){
            queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/work_order_transaction_management","/work_order_transaction_management/work_order_item_configuration"
            ,"/work_order_transaction_management/work_order_item_configuration/save","/system_setting","/system_setting/position_management","/system_setting/position_management/add"
            ,"/system_setting/position_management/edit","/system_setting/position_management/del","/system_setting/role_management","/system_setting/role_management/add"
            ,"/system_setting/role_management/edit","/system_setting/role_management/del","/system_setting/role_management/detail"));
         }
         if(systemUser.getSystemRoleId()<3 && systemUser.getAccountLevel()==3){
            queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/work_order_transaction_management","/work_order_transaction_management/work_order_item_configuration"
            ,"/work_order_transaction_management/work_order_item_configuration/save"));
         }
         if(systemUser.getSystemRoleId()>2 && systemUser.getAccountLevel()==3){
            queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/work_order_transaction_management","/work_order_transaction_management/work_order_item_configuration"
                  ,"/work_order_transaction_management/work_order_item_configuration/save","/system_setting","/system_setting/position_management","/system_setting/position_management/add"
                  ,"/system_setting/position_management/edit","/system_setting/position_management/del","/system_setting/role_management","/system_setting/role_management/add"
                  ,"/system_setting/role_management/edit","/system_setting/role_management/del","/system_setting/role_management/detail"));
         }
         if(systemUser.getSystemRoleId()<3 && systemUser.getAccountLevel()==4){
            queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/work_order_transaction_management","/work_order_transaction_management/work_order_item_configuration"
                  ,"/work_order_transaction_management/work_order_item_configuration/save"));
         }
         if(systemUser.getSystemRoleId()>2 && systemUser.getAccountLevel()==4){
            queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/work_order_transaction_management","/work_order_transaction_management/work_order_item_configuration"
                  ,"/work_order_transaction_management/work_order_item_configuration/save","/system_setting","/system_setting/position_management","/system_setting/position_management/add"
                  ,"/system_setting/position_management/edit","/system_setting/position_management/del","/system_setting/role_management","/system_setting/role_management/add"
                  ,"/system_setting/role_management/edit","/system_setting/role_management/del","/system_setting/role_management/detail"));
         }
//            queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/system_setting/position_management", "/system_setting/position_management/add", "/system_setting/position_management/del",
//                  "/system_setting/role_management", "/system_setting/role_management/add", "/system_setting/role_management/edit", "/system_setting/role_management/del",
//                  "/work_order_transaction_management/work_order_item_configuration", "/work_order_transaction_management/work_order_item_configuration/save",
//                  "/work_order_transaction_management/problem_type_management", "/work_order_transaction_management/problem_type_management/add",
//                  "/work_order_transaction_management/problem_type_management/edit", "/work_order_transaction_management/problem_type_management/del", "/work_order_transaction_management/banner_management",
//                  "/work_order_transaction_management/banner_management/add", "/work_order_transaction_management/banner_management/edit", "/work_order_transaction_management/banner_management/del","/complaint/assign","/complaint/assign/list","/complaint/assign/assign","/complaint/assign/export"
//                  ,"/statistics","/logManagement","/logManagement/list","/party_member","/party_member/list","/party_member/add","/party_member/edit","/party_member/del","/party_member/detail"
//            ,"/party_member/freeze","/party_member/import","/party_member/export","/work_order_transaction_management/problem_type_management","/work_order_transaction_management/problem_type_management/edit"
//            ,"/work_order_transaction_management/problem_type_management/add","/work_order_transaction_management/problem_type_management/del",""));
         List<SystemMenu> systemMenus = systemMenuService.list(queryWrapper);
         collect1 = systemMenus.stream().map(SystemMenu::getUrl).collect(Collectors.toSet());
      }
@@ -201,6 +205,9 @@
   public R<IPage<SystemUserListVo>> list(SystemUserList query){
      Integer id = this.getLoginUserInfoWest().getId();
      SystemUser user = systemUserService.getById(id);
      if(user.getSystemRoleId()!=1){
         return R.ok(new Page<>());
      }
      IPage<SystemUserListVo> list = systemUserService.list(user, query);
      return R.ok(list);
   }
@@ -211,18 +218,7 @@
   @ApiOperation(value = "添加人员", tags = {"西区纪委管理后台-人员管理"})
   @SysLog(operatorCategory = "添加账号",operId = 4)
   public R add(@RequestBody SystemUser systemUser){
      Integer id = this.getLoginUserInfoWest().getId();
      SystemUser user = systemUserService.getById(id);
      if(2 == user.getAccountLevel() && 1 == systemUser.getAccountLevel()){
         return R.fail("不能添加市级账号");
      }
      if(3 == user.getAccountLevel() && 3 < systemUser.getAccountLevel()){
         return R.fail("不能添加区县和市级账号");
      }
      if(4 == user.getAccountLevel() && 4 < systemUser.getAccountLevel()){
         return R.fail("不能添加街道、区县和市级账号");
      }
      long count = systemUserService.count(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getPhone, systemUser.getPhone()).ne(SystemUser::getStatus, 3));
      if(0 < count){
         return R.fail("手机号重复。");
@@ -239,8 +235,6 @@
      systemUser.setAccountLevel(department.getTier());
      systemUser.setStatus(1);
      systemUser.setCreateTime(LocalDateTime.now());
      // 2.0.1 默认管理员
      systemUser.setIsAdmin(1);
      systemUserService.save(systemUser);
      return R.ok();
   }
@@ -304,23 +298,6 @@
      systemUser.setStatus(2);
      systemUserService.updateById(systemUser);
      return R.ok();
   }
   @PostMapping("/setDeptAdmin")
   @ApiOperation(value = "设置单位管理员", tags = {"西区纪委后台-人员管理"})
   @OperLog(operModul = "西区纪委后台",operType = 2,businessType = "设置单位管理员")
   public R setDeptAdmin(@RequestParam(name = "id",value = "用户id",required = true) Integer id, @RequestParam(name = "deptId",value = "单位id",required = true) Integer deptId){
      SystemUser systemUser = systemUserService.getById(id);
      if(!systemUser.getOneDepartmentId().equals(deptId)){
         return R.fail("不能设置非所属单位管理员为单位管理员");
      }
      boolean update = systemUserService.update(new LambdaUpdateWrapper<SystemUser>().eq(SystemUser::getIsDeptAdmin, deptId).set(SystemUser::getIsDeptAdmin, 0));
      if(update){
         systemUser.setIsDeptAdmin(1);
         systemUserService.updateById(systemUser);
         return R.ok();
      }
      return R.fail("设置失败");
   }
@@ -443,6 +420,13 @@
   }
   @GetMapping("/getDept")
   @ApiOperation(value = "获取所有单位",tags = {"西区纪委后台-人员管理"})
   public R<List<Department>> getDept(){
      List<Department> list4 = departmentService.list();
      return R.ok(list4);
   }
   @GetMapping("/regionTree")
   @ApiOperation(value = "获取区县-街道-社区树",tags = {"西区纪委后台-人员管理"})
@@ -462,7 +446,7 @@
        String jsapiTicket = SignatureUtil.getJsApiTicket(accessToken);
        String nonceStr = UUID.randomUUID().toString().replace("-", "");
        String timestamp = String.valueOf(System.currentTimeMillis() / 1000);
//        String url = "https://huacheng.psciio.com/web/sangeshenbian/"; // 当前页面的URL,不包含#及其后面部分
//        String url = "https://huacheng.psciio.com/web/west/"; // 当前页面的URL,不包含#及其后面部分
        String url = "http://192.168.110.91:8080/#/pages/Appeal/Appeal/"; // 当前页面的URL,不包含#及其后面部分
        String signature = SignatureUtil.getSignature(jsapiTicket, nonceStr, timestamp, url);
@@ -480,4 +464,25 @@
   @ResponseBody
   @PostMapping("/importUser")
   @ApiOperation(value = "用户导入", tags = {"西区纪委后台-人员管理"})
   public R<?> importUser(MultipartFile file) {
      String s = file.getOriginalFilename();
      if (s == null || !("xls".equals(s.substring(s.lastIndexOf(".") + 1)) || "xlsx".equals(s.substring(s.lastIndexOf(".") + 1)))) {
         return R.fail("只能上传.xls或.xlsx格式的文件");
      }
      try {
         return systemUserService.importUser(s, file);
      } catch (Exception e) {
         e.printStackTrace();
      }
      return R.ok();
   }
}