lyh
2025-02-17 1dcf43467f34eb70002be3c2f3cd7605ceb5dcdd
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
@@ -48,7 +48,7 @@
@Service
@Slf4j
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService {
   @Autowired
   private SysUserMapper userMapper;
   @Autowired
@@ -79,6 +79,10 @@
   MdcUserProductionMapper mdcUserProductionMapper;
   @Resource
   private ISysDictService sysDictService;
   @Resource
   private MdcProductionEquipmentMapper mdcProductionEquipmentMapper;
   @Resource
   private DncDevicePermissionMapper dncDevicePermissionMapper;
    @Override
    @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
@@ -141,8 +145,8 @@
   public SysUser getUserByName(String username) {
      return userMapper.getUserByName(username);
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
   public void addUserWithRole(SysUser user, String roles) {
@@ -203,7 +207,7 @@
            roleIndex = list.get(0);
         }
      }
      //如果componentUrl为空,则返回空
      if(oConvertUtils.isEmpty(roleIndex.getComponent())){
         return null;
@@ -269,7 +273,7 @@
         info.setSysUserName(sysUser.getRealname());
         info.setSysOrgCode(sysUser.getOrgCode());
      }
      //多部门支持in查询
      List<SysDepart> list = sysDepartMapper.queryUserDeparts(sysUser.getId());
      List<String> sysMultiOrgCode = new ArrayList<String>();
@@ -285,7 +289,7 @@
         }
      }
      info.setSysMultiOrgCode(sysMultiOrgCode);
      return info;
   }
@@ -577,12 +581,24 @@
            sysUserDepartMapper.insert(userDeaprt);
         }
      }
      String[] arr = {};
      //step.4 保存所属产线
      if (oConvertUtils.isNotEmpty(selectedProductions)) {
         String[] arr = selectedProductions.split(",");
         arr = selectedProductions.split(",");
         for (String productionId : arr) {
            MdcUserProduction mdcUserProduction = new MdcUserProduction(user.getId(), productionId);
            mdcUserProductionMapper.insert(mdcUserProduction);
         }
      }
      //step.5 保存设备权限
      List<String> EquipmentIds= mdcProductionEquipmentMapper.selectList(new QueryWrapper<MdcProductionEquipment>().in("production_id",arr))
            .stream().map(MdcProductionEquipment::getEquipmentId).collect(Collectors.toList());
      if (oConvertUtils.isNotEmpty(EquipmentIds)) {
         for (String equipmentId : EquipmentIds) {
            DncDevicePermission dncDevicePermission=new DncDevicePermission();
            dncDevicePermission.setDeviceId(equipmentId);
            dncDevicePermission.setUserId(user.getId());
            dncDevicePermissionMapper.insert(dncDevicePermission);
         }
      }
   }
@@ -646,7 +662,20 @@
            mdcUserProductionMapper.insert(mdcUserProduction);
         }
      }
      //step.5 修改手机号和邮箱
      //step.5 修改设备权限
      //先删后加
      dncDevicePermissionMapper.delete(new QueryWrapper<DncDevicePermission>().lambda().eq(DncDevicePermission::getUserId, user.getId()));
      List<String> EquipmentIds= mdcProductionEquipmentMapper.selectList(new QueryWrapper<MdcProductionEquipment>().in("production_id",array))
            .stream().map(MdcProductionEquipment::getEquipmentId).collect(Collectors.toList());
      if (oConvertUtils.isNotEmpty(EquipmentIds)) {
         for (String equipmentId : EquipmentIds) {
            DncDevicePermission dncDevicePermission=new DncDevicePermission();
            dncDevicePermission.setDeviceId(equipmentId);
            dncDevicePermission.setUserId(user.getId());
            dncDevicePermissionMapper.insert(dncDevicePermission);
         }
      }
      //step.6 修改手机号和邮箱
      // 更新手机号、邮箱空字符串为 null
      userMapper.updateNullByEmptyString("email");
      userMapper.updateNullByEmptyString("phone");