qt5107 2 rokov pred
rodič
commit
288a76fab1

+ 14 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/material/impl/MaterialServiceImpl.java

@@ -126,6 +126,11 @@ public class MaterialServiceImpl extends ServiceImpl<MaterialMapper, Material> i
 
     @Override
     public void add(MaterialVo materialVo) {
+        //查询名称是否已存在
+        if (!checkNameIsExist(null, materialVo.getName())) {
+            throw new ServiceException("该物料名称已存在:" + materialVo.getName());
+        }
+
         if (
                 !redisLockClient.lockFair(REDIS_LOCK_CACHE_KEY, () -> {
                     //处理编码
@@ -138,8 +143,17 @@ public class MaterialServiceImpl extends ServiceImpl<MaterialMapper, Material> i
         }
     }
 
+    private Boolean checkNameIsExist(Long id, String name) {
+        List<Material> list = lambdaQuery().ne(Func.isNotEmpty(id), Material::getId, id).eq(Material::getName, name).list();
+        return !Func.isNotEmpty(list);
+    }
+
     @Override
     public void edit(MaterialVo materialVo) {
+        //查询名称是否已存在
+        if (!checkNameIsExist(materialVo.getId(), materialVo.getName())) {
+            throw new ServiceException("该物料名称已存在:" + materialVo.getName());
+        }
         updateById(materialVo);
     }