Commit e634860f authored by duanruiming's avatar duanruiming

[add] 策略优先级配置删除,逻辑优化

parent 06972920
...@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiOperation; ...@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.i18n.I18nResourceBundle; import net.wanji.common.framework.i18n.I18nResourceBundle;
import net.wanji.common.framework.rest.JsonViewObject; import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.opt.common.exception.OptServiceException;
import net.wanji.opt.entity.strategy.StrategyParameterConfig; import net.wanji.opt.entity.strategy.StrategyParameterConfig;
import net.wanji.opt.entity.strategy.StrategyPriorityDailyInfo; import net.wanji.opt.entity.strategy.StrategyPriorityDailyInfo;
import net.wanji.opt.entity.strategy.dto.StrategyPriorityGroupVO; import net.wanji.opt.entity.strategy.dto.StrategyPriorityGroupVO;
...@@ -126,6 +127,8 @@ public class StrategyPriorityController { ...@@ -126,6 +127,8 @@ public class StrategyPriorityController {
try { try {
strategyPriorityService.deletePriorityConfigList(dataList); strategyPriorityService.deletePriorityConfigList(dataList);
jsonViewObject.success(); jsonViewObject.success();
} catch (OptServiceException e1) {
return jsonViewObject.success(e1.getMessage());
} catch (Exception e) { } catch (Exception e) {
jsonViewObject.fail(e.getMessage()); jsonViewObject.fail(e.getMessage());
log.error("{} StrategyPriorityController-deletePriorityConfigList", this.getClass().getSimpleName(), e); log.error("{} StrategyPriorityController-deletePriorityConfigList", this.getClass().getSimpleName(), e);
......
...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.wanji.common.utils.tool.StringUtils; import net.wanji.common.utils.tool.StringUtils;
import net.wanji.opt.common.exception.OptServiceException;
import net.wanji.opt.dao.mapper.strategy.StrategyPriorityMapper; import net.wanji.opt.dao.mapper.strategy.StrategyPriorityMapper;
import net.wanji.opt.entity.strategy.*; import net.wanji.opt.entity.strategy.*;
import net.wanji.opt.entity.strategy.dto.StrategyPriorityGroupVO; import net.wanji.opt.entity.strategy.dto.StrategyPriorityGroupVO;
...@@ -190,17 +191,15 @@ public class StrategyPriorityServiceImpl extends ServiceImpl<StrategyPriorityMap ...@@ -190,17 +191,15 @@ public class StrategyPriorityServiceImpl extends ServiceImpl<StrategyPriorityMap
@Transactional(rollbackFor = RuntimeException.class) @Transactional(rollbackFor = RuntimeException.class)
public void deletePriorityConfigList(List<StrategyPriorityGroupVO> dataList) throws Exception { public void deletePriorityConfigList(List<StrategyPriorityGroupVO> dataList) throws Exception {
if (CollectionUtils.isNotEmpty(dataList)) { if (CollectionUtils.isNotEmpty(dataList)) {
Map<Integer, List<StrategyPriorityGroupVO>> groupMap = dataList.stream().collect(Collectors.groupingBy(StrategyPriorityGroupVO::getGroupId)); for (StrategyPriorityGroupVO strategyPriorityGroupVO : dataList) {
for (Map.Entry<Integer, List<StrategyPriorityGroupVO>> entry : groupMap.entrySet()) { Integer groupId = strategyPriorityGroupVO.getGroupId();
Integer groupId = entry.getKey(); List<StrategyPriorityConfig> priorityConfigs = strategyPriorityGroupVO.getData();
List<StrategyPriorityGroupVO> value = entry.getValue(); List<String> crossIds = strategyPriorityGroupVO.getCrossIds();
StrategyPriorityGroupVO groupVO = value.get(0);
List<String> crossIds = groupVO.getCrossIds();
String crossId = null; String crossId = null;
if (CollectionUtils.isNotEmpty(crossIds)) { if (CollectionUtils.isNotEmpty(crossIds)) {
crossId = crossIds.get(0); crossId = crossIds.get(0);
} }
List<Integer> greenIds = groupVO.getGreenIds(); List<Integer> greenIds = strategyPriorityGroupVO.getGreenIds();
Integer greenId = null; Integer greenId = null;
if (CollectionUtils.isNotEmpty(greenIds)) { if (CollectionUtils.isNotEmpty(greenIds)) {
greenId = greenIds.get(0); greenId = greenIds.get(0);
...@@ -211,17 +210,14 @@ public class StrategyPriorityServiceImpl extends ServiceImpl<StrategyPriorityMap ...@@ -211,17 +210,14 @@ public class StrategyPriorityServiceImpl extends ServiceImpl<StrategyPriorityMap
if (CollectionUtils.isEmpty(data4DB)) { if (CollectionUtils.isEmpty(data4DB)) {
return; return;
} }
if (CollectionUtils.isNotEmpty(dailyInfos) && data4DB.size() <= dataList.size()) { if (CollectionUtils.isNotEmpty(dailyInfos) && data4DB.size() <= priorityConfigs.size()) {
throw new RuntimeException("日计划中已使用当前分组: " + groupId + " 不能清空!"); throw new OptServiceException("日计划中已使用当前分组: " + groupId + " 不能清空!");
} }
// 删除路口编号分组下策略编号 // 删除路口编号分组下策略编号
for (StrategyPriorityGroupVO strategyPriorityGroupVO : value) { if (CollectionUtils.isNotEmpty(priorityConfigs)) {
List<StrategyPriorityConfig> data = strategyPriorityGroupVO.getData(); for (StrategyPriorityConfig priorityConfig : priorityConfigs) {
if (CollectionUtils.isNotEmpty(data)) { strategyPriorityMapper.deleteCrossGreenPriorityConfig(crossId, greenId, groupId, priorityConfig.getStrategyNo());
for (StrategyPriorityConfig datum : data) {
strategyPriorityMapper.deleteCrossGreenPriorityConfig(crossId, greenId, groupId, datum.getStrategyNo());
}
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment