Commit 8fc6cb0f authored by wangyecheng's avatar wangyecheng

策略参数配置场景配置一版

parent 202184be
......@@ -218,4 +218,20 @@ public class StrategyPriorityController {
return jsonView;
}
@ApiOperation(value = "策略管理-策略参数配置", notes = "批量保存", produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON,hidden = false)
@ApiImplicitParams({
@ApiImplicitParam(name = "strategyPriorityGroup", value = "参数配置数据", required = false, dataType = "String"),
})
@PostMapping("/saveParamterConfig")
public JsonViewObject saveParamterConfig(@RequestBody StrategyPriorityGroup strategyPriorityGroup){
JsonViewObject jsonView = JsonViewObject.newInstance();
try {
strategyPriorityService.saveParamterConfig(strategyPriorityGroup);
jsonView.success();
} catch (Exception e) {
jsonView.fail(I18nResourceBundle.getConstants("SAVE_FAILED_MSG"));
log.error("{} StrategyPriorityController-saveParamterConfig", this.getClass().getSimpleName(), e);
}
return jsonView;
}
}
\ No newline at end of file
package net.wanji.opt.dao.mapper.strategy;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.wanji.opt.entity.strategy.StrategyParameterConfig;
import net.wanji.opt.entity.strategy.StrategyPriorityConfig;
import net.wanji.opt.entity.strategy.StrategyPriorityDailyInfo;
import java.util.List;
import java.util.Map;
import net.wanji.opt.entity.strategy.dto.StrategyPriorityGroup;
import net.wanji.opt.synthesis.pojo.StrategyFactoryEntity;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
......@@ -79,5 +81,12 @@ public interface StrategyPriorityMapper extends BaseMapper<StrategyPriorityDaily
List<StrategyPriorityDailyInfo> getPlanConfigData(String crossId);
List<StrategyParameterConfig> paramterConfigTable(String crossId);
void deleteParamterConfig(String crossId);
void saveParamConfig(@Param("savePlanList") List<StrategyParameterConfig> savePlanList);
}
package net.wanji.opt.entity.strategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("t_strategy_parameter_config")
@NoArgsConstructor
@AllArgsConstructor
public class StrategyParameterConfig implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 自增主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 策略编号
*/
private String strategyNo;
/**
* 路口编号
*/
private String crossId;
/**
* 参数配置执行详情
*/
private String paramDetails;
}
package net.wanji.opt.entity.strategy.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.models.auth.In;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import net.wanji.opt.entity.strategy.StrategyParameterConfig;
import net.wanji.opt.entity.strategy.StrategyPriorityConfig;
import net.wanji.opt.entity.strategy.StrategyPriorityDailyInfo;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@Data
......@@ -27,8 +30,12 @@ public class StrategyPriorityGroup {
private String weekExecute;
//日计划编号
private Integer dailyPlanId;
//策略编号
private String strategyNo;
//优先级的配置信息
private List<StrategyPriorityConfig> data;
//计划表的配置信息
private Object dailyPlanDetails;
// 参数配置表的配置信息
private List<Object> parameterConfigList;
}
......@@ -74,4 +74,6 @@ public interface StrategyPriorityService extends IService<StrategyPriorityDailyI
List<StrategyPriorityDailyInfo> getPlanConfigData(String crossId);
void saveParamterConfig(StrategyPriorityGroup strategyPriorityGroup);
}
package net.wanji.opt.servicev2.strategy.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.alibaba.nacos.common.utils.StringUtils;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.i18n.I18nResourceBundle;
import net.wanji.opt.dao.mapper.strategy.StrategyPriorityMapper;
import net.wanji.opt.entity.strategy.StrategyParameterConfig;
import net.wanji.opt.entity.strategy.StrategyPriorityConfig;
import net.wanji.opt.entity.strategy.StrategyPriorityDailyInfo;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
......@@ -17,10 +17,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.*;
/**
* <p>
......@@ -184,6 +181,9 @@ import java.util.List;
try {
//先获取策略编号
List<String> strategyNo = strategyPriorityMapper.getstrategyNo(crossId);
if (CollectionUtils.isEmpty(strategyNo)){
strategyNo.add("0");
}
List<StrategyFactoryEntity> priorityList = strategyPriorityMapper.getPriorityConfigData(strategyNo,crossId);
return priorityList;
}catch (Exception e){
......@@ -244,4 +244,34 @@ import java.util.List;
List<StrategyPriorityDailyInfo> planList = strategyPriorityMapper.getPlanConfigData(crossId);
return planList;
}
/*
* 策略参数配置
* */
@Override
public void saveParamterConfig(StrategyPriorityGroup group) {
try {
List<StrategyParameterConfig> savePlanList = new ArrayList<>();
StrategyParameterConfig strategyParameterConfig = new StrategyParameterConfig();
//策略编号
String strategyNo = group.getStrategyNo();
strategyParameterConfig.setStrategyNo(strategyNo);
//路口id
String crossId = group.getCrossId();
strategyParameterConfig.setCrossId(crossId);
//先判断表里有没有数据,有的话删除t_strategy_parameter_config
List<StrategyParameterConfig> paramterConfig = strategyPriorityMapper.paramterConfigTable(crossId);
if (paramterConfig.size() > 0) {
strategyPriorityMapper.deleteParamterConfig(crossId);
}
List<Object> parameterConfigList = group.getParameterConfigList();
String jsonString = JSON.toJSONString(parameterConfigList);
strategyParameterConfig.setParamDetails(jsonString);
savePlanList.add(strategyParameterConfig);
strategyPriorityMapper.saveParamConfig(savePlanList);
}catch (Exception e){
log.error("{} saveParamterConfig", this.getClass().getSimpleName(), e);
throw e;
}
}
}
......@@ -239,4 +239,27 @@
and cross_id = #{crossId}
</if>
</select>
<select id="paramterConfigTable" parameterType="map" resultType="net.wanji.opt.entity.strategy.StrategyParameterConfig">
SELECT
id,cross_id
FROM t_strategy_parameter_config
WHERE
1=1
<if test="crossId!=null">
AND cross_id =#{crossId}
</if>
</select>
<delete id="deleteParamterConfig">
DELETE
FROM t_strategy_parameter_config
WHERE cross_id =#{crossId}
</delete>
<insert id="saveParamConfig" parameterType="list" >
INSERT INTO
t_strategy_parameter_config(cross_id,strategy_no,param_details)
VALUES
<foreach collection="savePlanList" item="item" separator=",">
(#{item.crossId},#{item.strategyNo},#{item.paramDetails})
</foreach>
</insert>
</mapper>
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