liujie
2025-05-09 3627366f9016271d29c663e1da9a22c547126756
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java
@@ -1,6 +1,7 @@
package com.panzhihua.sangeshenbian.api;
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.panzhihua.common.controller.BaseController;
import com.panzhihua.common.interfaces.OperLog;
@@ -67,6 +68,9 @@
   @Resource
   private ISystemLogService systemLogService;
   @Resource
   private ISystemUserLevelService systemUserLevelService;
@@ -209,6 +213,16 @@
   public R add(@RequestBody SystemUser systemUser){
      Integer id = this.getLoginUserInfoSanGeShenBian().getId();
      SystemUser user = systemUserService.getById(id);
      List<SystemUserLevel> systemUserLevels = systemUser.getSystemUserLevels();
      if(systemUserLevels==null || systemUserLevels.isEmpty()){
         return R.fail("请选择账号层级");
      }
      // 获取最高层级的用于原来的判断
      systemUserLevels.sort(Comparator.comparing(SystemUserLevel::getLevel));
      Integer level = systemUserLevels.get(0).getLevel();
      user.setAccountLevel(level);
      if(2 == user.getAccountLevel() && 1 == systemUser.getAccountLevel()){
         return R.fail("不能添加市级账号");
      }
@@ -245,6 +259,13 @@
      // 2.0.1 默认管理员
      systemUser.setIsAdmin(1);
      systemUserService.save(systemUser);
      // 2.0.1添加账号层级
      systemUserLevels.forEach(e->{
         e.setSystemUserId(systemUser.getId());
         e.setStatus(1);
      });
      systemUserLevelService.saveBatch(systemUserLevels);
      return R.ok();
   }
@@ -253,6 +274,10 @@
   @ApiOperation(value = "编辑人员", tags = {"三个身边后台-人员管理"})
   @SysLog(operatorCategory = "编辑账号",operId = 4)
   public R edit(@RequestBody SystemUser systemUser){
      List<SystemUserLevel> systemUserLevels = systemUser.getSystemUserLevels();
      if(systemUserLevels==null || systemUserLevels.isEmpty()){
         return R.fail("请选择账号层级");
      }
      long count = systemUserService.count(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getPhone, systemUser.getPhone())
            .ne(SystemUser::getStatus, 3).ne(SystemUser::getId, systemUser.getId()));
      if(0 < count){
@@ -280,6 +305,15 @@
      systemUser.setStatus(1);
      systemUser.setCreateTime(LocalDateTime.now());
      systemUserService.updateById(systemUser);
      // 移除原来层级 在添加新层级
      systemUserLevelService.remove(new LambdaQueryWrapper<SystemUserLevel>().eq(SystemUserLevel::getSystemUserId, systemUser.getId()));
      systemUserLevels.forEach(e->{
         e.setSystemUserId(systemUser.getId());
         e.setStatus(1);
      });
      systemUserLevelService.saveBatch(systemUserLevels);
      return R.ok();
   }
@@ -291,6 +325,7 @@
      SystemUser systemUser = systemUserService.getById(id);
      systemUser.setStatus(3);
      systemUserService.updateById(systemUser);
      systemUserLevelService.update(new LambdaUpdateWrapper<SystemUserLevel>().eq(SystemUserLevel::getSystemUserId, id).set(SystemUserLevel::getStatus,3));
      return R.ok(systemUser.getName());
   }
@@ -300,6 +335,9 @@
   @OperLog(operModul = "三个身边后台",operType = 0,businessType = "查询人员详情")
   public R<SystemUser> getSystemUserInfo(@PathVariable("id") Integer id){
      SystemUser systemUser = systemUserService.getById(id);
      List<SystemUserLevel> listBySystemUserId = systemUserLevelService.getListBySystemUserId(id);
      listBySystemUserId.sort(Comparator.comparing(SystemUserLevel::getLevel));
      systemUser.setSystemUserLevels(listBySystemUserId);
      return R.ok(systemUser);
   }