提交 c9fe4a85 authored 作者: zjm's avatar zjm

fix(单位模块): 添加了单位名称重复的验证

添加了单位名称重复的验证
上级 c818c392
...@@ -103,7 +103,7 @@ public class UnitsCache { ...@@ -103,7 +103,7 @@ public class UnitsCache {
* 根据单位名称查询是否存在 * 根据单位名称查询是否存在
*/ */
public boolean isNotName(String name){ public boolean isNotName(String name){
return new ArrayList<>(idMap.values()).stream().allMatch(units -> !units.getName().equals(name)); return new ArrayList<>(idMap.values()).stream().noneMatch(units -> units.getName().equals(name));
} }
} }
...@@ -25,6 +25,7 @@ import org.springframework.data.domain.Pageable; ...@@ -25,6 +25,7 @@ import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -495,6 +496,10 @@ public class UnitsServiceImpl implements UnitsService { ...@@ -495,6 +496,10 @@ public class UnitsServiceImpl implements UnitsService {
@Override @Override
public List<Units> saveUnits(UnitsAddVo unitsAddVo) { public List<Units> saveUnits(UnitsAddVo unitsAddVo) {
if (!unitsCache.isNotName(unitsAddVo.getName())){
throw new ApiException(ResponseEntity.status(20020).body("单位名称重复"));
}
Units units= unitsAddVo.toUnits(); Units units= unitsAddVo.toUnits();
//查询上级设备的单位 //查询上级设备的单位
Units parentUnits=unitsCache.findById(unitsAddVo.getParentUnitId()); Units parentUnits=unitsCache.findById(unitsAddVo.getParentUnitId());
...@@ -537,6 +542,7 @@ public class UnitsServiceImpl implements UnitsService { ...@@ -537,6 +542,7 @@ public class UnitsServiceImpl implements UnitsService {
} }
} }
@Override @Override
@Transactional
public Units updateUnit(Units units) { public Units updateUnit(Units units) {
Units unitsOld=unitsCache.findById(units.getUnitId()); Units unitsOld=unitsCache.findById(units.getUnitId());
if (!units.getLevel().equals(unitsOld.getLevel())){ if (!units.getLevel().equals(unitsOld.getLevel())){
...@@ -573,6 +579,12 @@ public class UnitsServiceImpl implements UnitsService { ...@@ -573,6 +579,12 @@ public class UnitsServiceImpl implements UnitsService {
sortingUnit(unitsOld.getShowOrder(),units.getShowOrder()); sortingUnit(unitsOld.getShowOrder(),units.getShowOrder());
} }
} }
if (!unitsOld.getName().equals(units.getName())){
if (!unitsCache.isNotName(units.getName())){
throw new ApiException(ResponseEntity.status(20020).body("单位名称重复"));
}
}
unitsDao.save(units); unitsDao.save(units);
unitsCache.refresh(unitsDao.findAll()); unitsCache.refresh(unitsDao.findAll());
areaCache.refresh(areaDao.findAll()); areaCache.refresh(areaDao.findAll());
...@@ -640,10 +652,11 @@ public class UnitsServiceImpl implements UnitsService { ...@@ -640,10 +652,11 @@ public class UnitsServiceImpl implements UnitsService {
} }
@Override @Override
@Transactional
public Units save(Units units) { public Units save(Units units) {
// if (!unitsCache.isNotName(units.getName())){ if (unitsCache.isNotName(units.getName())){
// throw new ApiException(ResponseEntity.status(20020).body("单位名称重复"));
// } }
if (units.getAreaId() != null && units.getAreaId() != 0) { if (units.getAreaId() != null && units.getAreaId() != 0) {
Optional<Area> optionalArea = areaDao.findById(units.getAreaId()); Optional<Area> optionalArea = areaDao.findById(units.getAreaId());
if (optionalArea.isPresent()) { if (optionalArea.isPresent()) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论