perf: 增加对应的删除校验

dev
huangfeng 1 year ago
parent 176d8c4ec8
commit a7d0730768

@ -98,7 +98,7 @@ public class NSensorController extends BasicController {
@PostMapping("delete") @PostMapping("delete")
@ApiOperation("删除") @ApiOperation("删除")
public Response<String> delete(@Validated @NotNull(message = "ID不能为空!") @Param("id") Integer id) { public Response<String> delete(@Validated @NotNull(message = "ID不能为空!") @Param("id") Integer id) throws Exception {
service.delete(id); service.delete(id);
return Response.success("OK"); return Response.success("OK");
} }

@ -11,5 +11,7 @@ import java.util.List;
@Repository @Repository
public interface WarnRuleRepository extends JpaRepository<WarnRule, Integer>, JpaSpecificationExecutor<WarnRule> { public interface WarnRuleRepository extends JpaRepository<WarnRule, Integer>, JpaSpecificationExecutor<WarnRule> {
List<WarnRule> findBySensorId(Integer sensorId); List<WarnRule> findBySensorId(Integer sensorId);
List<WarnRule> findByModevtypePointId(Integer modevtypePointId);
} }

@ -10,6 +10,6 @@ public interface ModevTypePointService {
ModevTypePoint add(ModevTypePoint item) throws Exception; ModevTypePoint add(ModevTypePoint item) throws Exception;
void delete(Integer id); void delete(Integer id) throws Exception;
} }

@ -21,7 +21,7 @@ public interface NSensorService {
void batchUpdate(SensorUpdateModel model) throws Exception; void batchUpdate(SensorUpdateModel model) throws Exception;
void delete(Integer id); void delete(Integer id) throws Exception;
NSensor detail(Integer id) throws Exception; NSensor detail(Integer id) throws Exception;

@ -1,8 +1,10 @@
package com.xydl.cac.service.impl; package com.xydl.cac.service.impl;
import com.xydl.cac.entity.ModevTypePoint; import com.xydl.cac.entity.ModevTypePoint;
import com.xydl.cac.entity.WarnRule;
import com.xydl.cac.exception.BusinessException; import com.xydl.cac.exception.BusinessException;
import com.xydl.cac.repository.ModevTypePointRepository; import com.xydl.cac.repository.ModevTypePointRepository;
import com.xydl.cac.repository.WarnRuleRepository;
import com.xydl.cac.service.ModevTypePointService; import com.xydl.cac.service.ModevTypePointService;
import com.xydl.cac.service.UnitService; import com.xydl.cac.service.UnitService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -23,6 +25,8 @@ public class ModevTypePointServiceImpl implements ModevTypePointService {
ModevTypePointRepository repository; ModevTypePointRepository repository;
@Resource @Resource
UnitService unitService; UnitService unitService;
@Resource
WarnRuleRepository ruleRepository;
@Override @Override
public List<ModevTypePoint> listAll(Integer modevtypeId) { public List<ModevTypePoint> listAll(Integer modevtypeId) {
@ -46,7 +50,11 @@ public class ModevTypePointServiceImpl implements ModevTypePointService {
} }
@Override @Override
public void delete(Integer id) { public void delete(Integer id) throws Exception {
List<WarnRule> list = ruleRepository.findByModevtypePointId(id);
if (!CollectionUtils.isEmpty(list)) {
throw new BusinessException("该监测装置类型的该字段已配置告警规则,请先删除对应的规则后再来操作");
}
repository.deleteById(id); repository.deleteById(id);
} }
} }

@ -9,6 +9,7 @@ import com.xydl.cac.model.SensorDetail;
import com.xydl.cac.model.SensorUpdateModel; import com.xydl.cac.model.SensorUpdateModel;
import com.xydl.cac.repository.ModevRepository; import com.xydl.cac.repository.ModevRepository;
import com.xydl.cac.repository.NSensorRepository; import com.xydl.cac.repository.NSensorRepository;
import com.xydl.cac.repository.WarnRuleRepository;
import com.xydl.cac.service.*; import com.xydl.cac.service.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -45,6 +46,8 @@ public class NSensorServiceImpl implements NSensorService {
ModevTypePointService modevTypePointService; ModevTypePointService modevTypePointService;
@Resource @Resource
ModevRepository modevRepository; ModevRepository modevRepository;
@Resource
WarnRuleRepository ruleRepository;
@Override @Override
public List<NSensor> listAll(Integer zsbid) throws Exception { public List<NSensor> listAll(Integer zsbid) throws Exception {
@ -132,7 +135,11 @@ public class NSensorServiceImpl implements NSensorService {
} }
@Override @Override
public void delete(Integer id) { public void delete(Integer id) throws Exception {
List<WarnRule> list = ruleRepository.findBySensorId(id);
if (!CollectionUtils.isEmpty(list)) {
throw new BusinessException("该监测装置已配置告警规则,请先删除对应的规则后再来操作");
}
repository.deleteById(id); repository.deleteById(id);
} }

Loading…
Cancel
Save