Commit 5523315a authored by hanbing's avatar hanbing

[update] 策略管理,参数校验优化

parent 7acdac39
...@@ -7,23 +7,52 @@ import com.google.gson.Gson; ...@@ -7,23 +7,52 @@ import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import net.wanji.common.dto.CrossIdDTO; import net.wanji.common.dto.CrossIdDTO;
import net.wanji.common.framework.rest.JsonViewObject; import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.feign.pojo.vo.*; import net.wanji.feign.pojo.vo.ControlCommandVO;
import net.wanji.feign.pojo.vo.CrossIdVO;
import net.wanji.feign.pojo.vo.LockControlVO;
import net.wanji.feign.pojo.vo.ScheduleSendVO;
import net.wanji.feign.pojo.vo.SchemeSendVO;
import net.wanji.feign.service.UtcFeignClients; import net.wanji.feign.service.UtcFeignClients;
import net.wanji.web.dto.*; import net.wanji.web.dto.CrossIdAndPhaseIdsDTO;
import net.wanji.web.mapper.scheme.*; import net.wanji.web.dto.CrossIdAndTimeDTO;
import net.wanji.web.po.scheme.*; import net.wanji.web.dto.RunningPlanDTO;
import net.wanji.web.dto.SaveSchemeConfigDTO;
import net.wanji.web.dto.ScheduleIdDTO;
import net.wanji.web.dto.SchemeIdDTO;
import net.wanji.web.mapper.scheme.CrossLaneLightsMapper;
import net.wanji.web.mapper.scheme.CrossLightsMapper;
import net.wanji.web.mapper.scheme.CrossPhaseLightsMapper;
import net.wanji.web.mapper.scheme.CrossPhaseMapper;
import net.wanji.web.mapper.scheme.CrossPlanMapper;
import net.wanji.web.mapper.scheme.CrossSchedulesMapper;
import net.wanji.web.mapper.scheme.CrossSchedulesPlanMapper;
import net.wanji.web.mapper.scheme.CrossSchemeMapper;
import net.wanji.web.po.scheme.CrossLightsPO;
import net.wanji.web.po.scheme.CrossPhasePO;
import net.wanji.web.po.scheme.CrossPlanPO;
import net.wanji.web.po.scheme.CrossSchedulesPO;
import net.wanji.web.po.scheme.CrossSchedulesPlanPO;
import net.wanji.web.po.scheme.CrossSchemePO;
import net.wanji.web.service.PlanSendService; import net.wanji.web.service.PlanSendService;
import net.wanji.web.service.scheme.impl.RunningPlanServiceImpl; import net.wanji.web.service.scheme.impl.RunningPlanServiceImpl;
import net.wanji.web.service.scheme.impl.SchemeConfigServiceImpl; import net.wanji.web.service.scheme.impl.SchemeConfigServiceImpl;
import net.wanji.web.vo.PhaseListByTimeVO; import net.wanji.web.vo.PhaseListByTimeVO;
import net.wanji.web.vo.SchemePhaseLightsVO; import net.wanji.web.vo.SchemePhaseLightsVO;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.validation.constraints.NotNull;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.TreeSet;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
......
...@@ -19,7 +19,6 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -19,7 +19,6 @@ import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid; import javax.validation.Valid;
import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MediaType;
import java.util.List;
/** /**
* 策略管理-场景库 * 策略管理-场景库
...@@ -46,13 +45,6 @@ public class SceneController { ...@@ -46,13 +45,6 @@ public class SceneController {
}) })
public JsonViewObject addOrUpdateScene(@RequestBody @Valid AddOrUpdateSceneDTO addOrUpdateSceneDTO) { public JsonViewObject addOrUpdateScene(@RequestBody @Valid AddOrUpdateSceneDTO addOrUpdateSceneDTO) {
try { try {
List<AddOrUpdateSceneDTO.StrategyListElement> strategyList = addOrUpdateSceneDTO.getStrategyList();
for (AddOrUpdateSceneDTO.StrategyListElement strategyListElement : strategyList) {
Integer priority = strategyListElement.getPriority();
if (priority == null) {
throw new RuntimeException("优先级不可为空");
}
}
sceneService.addOrUpdateScene(addOrUpdateSceneDTO); sceneService.addOrUpdateScene(addOrUpdateSceneDTO);
} catch (DuplicateKeyException e) { } catch (DuplicateKeyException e) {
throw new DuplicateKeyException("场景编号或场景名称不可重复"); throw new DuplicateKeyException("场景编号或场景名称不可重复");
......
...@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.validation.Valid;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern; import javax.validation.constraints.Pattern;
import java.util.List; import java.util.List;
...@@ -30,6 +31,7 @@ public class AddOrUpdateSceneDTO { ...@@ -30,6 +31,7 @@ public class AddOrUpdateSceneDTO {
@ApiModelProperty(value = "应用对象 1路口;2干线;3区域",required = true,notes = "") @ApiModelProperty(value = "应用对象 1路口;2干线;3区域",required = true,notes = "")
private Integer secneTarget; private Integer secneTarget;
@ApiModelProperty(value = "应用策略",required = true,notes = "") @ApiModelProperty(value = "应用策略",required = true,notes = "")
@Valid
private List<StrategyListElement> strategyList; private List<StrategyListElement> strategyList;
@NoArgsConstructor @NoArgsConstructor
......
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