perf: 增加对应的删除校验

dev
huangfeng 1 year ago
parent 176d8c4ec8
commit a7d0730768

@ -98,7 +98,7 @@ public class NSensorController extends BasicController {
@PostMapping("delete")
@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);
return Response.success("OK");
}

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

@ -10,6 +10,6 @@ public interface ModevTypePointService {
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 delete(Integer id);
void delete(Integer id) throws Exception;
NSensor detail(Integer id) throws Exception;

@ -1,8 +1,10 @@
package com.xydl.cac.service.impl;
import com.xydl.cac.entity.ModevTypePoint;
import com.xydl.cac.entity.WarnRule;
import com.xydl.cac.exception.BusinessException;
import com.xydl.cac.repository.ModevTypePointRepository;
import com.xydl.cac.repository.WarnRuleRepository;
import com.xydl.cac.service.ModevTypePointService;
import com.xydl.cac.service.UnitService;
import lombok.extern.slf4j.Slf4j;
@ -23,6 +25,8 @@ public class ModevTypePointServiceImpl implements ModevTypePointService {
ModevTypePointRepository repository;
@Resource
UnitService unitService;
@Resource
WarnRuleRepository ruleRepository;
@Override
public List<ModevTypePoint> listAll(Integer modevtypeId) {
@ -46,7 +50,11 @@ public class ModevTypePointServiceImpl implements ModevTypePointService {
}
@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);
}
}

@ -9,6 +9,7 @@ import com.xydl.cac.model.SensorDetail;
import com.xydl.cac.model.SensorUpdateModel;
import com.xydl.cac.repository.ModevRepository;
import com.xydl.cac.repository.NSensorRepository;
import com.xydl.cac.repository.WarnRuleRepository;
import com.xydl.cac.service.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@ -45,6 +46,8 @@ public class NSensorServiceImpl implements NSensorService {
ModevTypePointService modevTypePointService;
@Resource
ModevRepository modevRepository;
@Resource
WarnRuleRepository ruleRepository;
@Override
public List<NSensor> listAll(Integer zsbid) throws Exception {
@ -132,7 +135,11 @@ public class NSensorServiceImpl implements NSensorService {
}
@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);
}

Loading…
Cancel
Save