Commit 27636fc2 authored by duanruiming's avatar duanruiming

[add] 绿波数据优化

parent edbff274
utc.service.url=http://192.168.150.1:32000/utc
utc.dt.service.url=http://192.168.150.1:39002/utc-dt
utc.hisense.service.url=http://192.168.150.1:39003/utc-hisense
control.url=http://192.168.150.1:32001/web
ehualu.url=http://192.168.150.1:30015
\ No newline at end of file
utc.service.url=http://173.0.0.1:32000/utc
utc.dt.service.url=http://173.0.0.1:39002/utc-dt
utc.hisense.service.url=http://173.0.0.1:39003/utc-hisense
control.url=http://173.0.0.1:32001/web
ehualu.url=http://173.0.0.1:30015
\ No newline at end of file
utc.service.url=http://37.12.182.29:32000/utc
utc.dt.service.url=http://37.12.182.29:39002/utc-dt
utc.hisense.service.url=http://37.12.182.29:39003/utc-hisense
control.url=http://37.12.182.29:32001/web
utc.service.url=http://173.0.0.1:32000/utc
utc.dt.service.url=http://173.0.0.1:39002/utc-dt
utc.hisense.service.url=http://173.0.0.1:39003/utc-hisense
control.url=http://173.0.0.1:32001/web
ehualu.url=http://173.0.0.1:30015
......@@ -3,6 +3,7 @@ package net.wanji.opt.common;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
import org.springframework.beans.factory.annotation.Value;
......@@ -16,6 +17,7 @@ import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.cache.RedisCacheWriter;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import redis.clients.jedis.JedisPool;
......@@ -71,23 +73,22 @@ public class RedisConfig extends CachingConfigurerSupport {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(connectionFactory);
template.setConnectionFactory(factory);
// 使用 Jackson2JsonRedisSerializer 替代默认的 JDK 序列化器
Jackson2JsonRedisSerializer<Object> serializer = new Jackson2JsonRedisSerializer<>(Object.class);
// 使用 Jackson 作为序列化器
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance,
ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.WRAPPER_ARRAY);
serializer.setObjectMapper(objectMapper);
ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY);
template.setKeySerializer(new StringRedisSerializer()); // 设置 Key 的序列化器
template.setValueSerializer(serializer); // 设置 Value 的序列化器
GenericJackson2JsonRedisSerializer serializer = new GenericJackson2JsonRedisSerializer(objectMapper);
template.setValueSerializer(serializer);
template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
template.setHashValueSerializer(serializer);
template.afterPropertiesSet();
return template;
}
......
......@@ -18,7 +18,7 @@ public class StrategyGreenOptHistEntity {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("green_id")
private String greenId;
private Integer greenId;
@TableField("length")
private Double length;
@TableField("cycle")
......
......@@ -5,16 +5,14 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.common.utils.tool.JacksonUtils;
import net.wanji.opt.common.Constants;
import net.wanji.opt.common.RedisUtils;
import net.wanji.opt.service.GreenBeltInfoService;
import net.wanji.opt.synthesis.service.impl.StrategyGreenBeltServiceImpl;
import net.wanji.opt.vo.GreenBeltChartVO;
import net.wanji.opt.vo.GreenBeltInfoVO;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.ws.rs.core.MediaType;
import java.util.Date;
/**
* @author duanruiming
......@@ -27,9 +25,7 @@ import javax.ws.rs.core.MediaType;
public class StrategyGreenBeltController {
@Resource
private RedisUtils redisUtils;
@Resource
private GreenBeltInfoService greenBeltInfoService;
private StrategyGreenBeltServiceImpl strategyGreenBeltService;
@ApiOperation(value = "绿波时序图数据查询", notes = "绿波时序图数据查询", response = JsonViewObject.class,
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
......@@ -38,11 +34,11 @@ public class StrategyGreenBeltController {
@ApiResponse(code = 200, message = "OK", response = GreenBeltInfoVO.class),
})
public JsonViewObject greenBletData(String greenId) throws Exception {
String key = Constants.GREEN_ID_OPT_KEY.concat(greenId);
Object obj = redisUtils.get(key);
//String key = Constants.GREEN_ID_OPT_KEY.concat(greenId);
//Object obj = redisUtils.get(key);
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
GreenBeltInfoVO greenBeltInfoVO = JacksonUtils.getInstance().readValue(String.valueOf(obj), GreenBeltInfoVO.class);
return jsonViewObject.success(greenBeltInfoVO);
//GreenBeltInfoVO greenBeltInfoVO = JacksonUtils.getInstance().readValue(String.valueOf(obj), GreenBeltInfoVO.class);
return jsonViewObject.success(null);
}
@ApiOperation(value = "绿波时序图图形查询", notes = "绿波时序图图形查询", response = JsonViewObject.class,
......@@ -51,11 +47,9 @@ public class StrategyGreenBeltController {
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = GreenBeltInfoVO.class),
})
public JsonViewObject greenBeltChart(String greenId) throws Exception {
String key = Constants.GREEN_ID_OPT_CHART_KEY.concat(greenId);
Object obj = redisUtils.get(key);
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
GreenBeltChartVO greenBeltChartVO = JacksonUtils.getInstance().readValue((String)obj, GreenBeltChartVO.class);
return jsonViewObject.success(greenBeltChartVO);
public JsonViewObject greenBeltChart(Integer greenId, Date date) throws Exception {
GreenBeltChartVO greenBeltChartVO = strategyGreenBeltService.selectChart(greenId, date);
return JsonViewObject.newInstance().success(greenBeltChartVO);
}
}
package net.wanji.opt.synthesis.service;
import net.wanji.opt.vo.GreenBeltChartVO;
import java.util.Date;
/**
* @author duanruiming
* @date 2024/11/25 13:53
*/
public interface StrategyGreenBeltService {
GreenBeltChartVO selectChart(Integer greenId, Date queryDate);
}
package net.wanji.opt.vo;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
......@@ -9,6 +10,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import net.wanji.common.utils.tool.JacksonUtils;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
......@@ -19,26 +21,28 @@ import java.util.Map;
@Data
@ApiModel(value = "GreenBeltChartVO", description = "绿波时序图返回实体")
@JsonIgnoreProperties(ignoreUnknown = true)
@AllArgsConstructor
@NoArgsConstructor
public class GreenBeltChartVO {
private static final long serialVersionUID = 1L;
@ApiModelProperty("绿波路口红灯范围")
@JsonProperty("crossRedTimesMap")
Map<String, List<List<Double>>> crossRedTimesMap;
String crossRedTimesMap;
@ApiModelProperty("反向绿波路口红灯范围")
@JsonProperty("backCrossRedTimesMap")
Map<String, List<List<Double>>> backCrossRedTimesMap;
String backCrossRedTimesMap;
@ApiModelProperty("绿波路口绿波开始时间")
@JsonProperty("greenStartMap")
Map<String, Double> greenStartMap;
String greenStartMap;
@ApiModelProperty("反向绿波路口绿波开始时间")
Map<String, Double> BackGreenStartMap;
String BackGreenStartMap;
@JsonProperty("distanceMap")
@ApiModelProperty("绿波路口距离下一个路口距离")
Map<String, Double> distanceMap;
String distanceMap;
@ApiModelProperty("绿波带宽")
private Double greenWidthTime;
@ApiModelProperty("反向绿波带宽")
private Double BackGreenWidthTime;
@JsonCreator
public GreenBeltChartVO(){
}
}
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