Просмотр исходного кода

fix:“单个用户设备名称唯一,单个用户角色权限名称唯一“

soobin 1 год назад
Родитель
Сommit
efdadcb056

+ 9 - 1
src/main/java/com/szwl/controller/TEquipmentController.java

@@ -482,7 +482,15 @@ public class TEquipmentController {
         if (StringUtils.isNotEmpty(equipment.getSn())) {
             oldEquipment.setSn(equipment.getSn());
         }
-        if (StringUtils.isNotEmpty(equipment.getName())) {
+        String name = equipment.getName();
+        if (StringUtils.isNotEmpty(name) && !name.equals(oldEquipment.getName())) {
+            LambdaQueryWrapper<TEquipment> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(TEquipment::getAdminId, oldEquipment.getAdminId());
+            queryWrapper.eq(TEquipment::getName, name);
+            TEquipment tEquipment = tEquipmentService.getOne(queryWrapper);
+            if (tEquipment != null) {
+                return R.fail(A0001);
+            }
             oldEquipment.setName(equipment.getName());
         }
         if (StringUtils.isNotEmpty(equipment.getSelfName())) {

+ 5 - 7
src/main/java/com/szwl/service/impl/SysRoleServiceImpl.java

@@ -59,9 +59,10 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
         return menuList_final;
     }
 
-    public void checkRoleName(String roleName){
+    public void checkRoleName(String roleName, Long adminId){
         LambdaQueryWrapper<SysRole> query = Wrappers.lambdaQuery();
         query.eq(SysRole::getRoleName, roleName);
+        query.eq(SysRole::getAdminId, adminId);
         int count = this.count(query);
         if(count>0){
             throw new BizException(ResponseCodesEnum.B0002,"角色名称已存在");
@@ -69,9 +70,9 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
     }
 
     @Override
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     public void addSysRole(AddSysRoleParam param){
-        this.checkRoleName(param.getRoleName());
+        this.checkRoleName(param.getRoleName(), param.getAdminId());
         SysRole sysRole = new SysRole()
                 .setRoleName(param.getRoleName())
                 .setAdminId(param.getAdminId())
@@ -80,13 +81,10 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
         save(sysRole);
     }
     @Override
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     public void updateSysRole(UpdateSysRoleParam param){
         SysRole sysRole = Optional.ofNullable(this.getById(param.getRoleId()))
                 .orElseThrow(() ->new BizException(ResponseCodesEnum.B0005,"无法根据id:"+param.getRoleId()+" 找到角色配置"));
-//        if(StrUtil.equals(param.getRoleName(),sysRole.getRoleName())){
-//            this.checkRoleName(param.getRoleName());
-//        }
         BeanUtil.copyProperties(param,sysRole);
         sysRole.setMenuCodesJson(JSON.toJSONString(param.getMenuCodeList()));
         updateById(sysRole);