diff --git a/pom.xml b/pom.xml index a257ed0f..ca3a6444 100644 --- a/pom.xml +++ b/pom.xml @@ -1,281 +1,281 @@ - - - 4.0.0 - - com.ruoyi - ruoyi - 3.0.0 - - ruoyi - http://www.ruoyi.vip - 若依微服务系统 - - - 3.0.0 - UTF-8 - UTF-8 - 1.8 - 2.5.1 - 2020.0.3 - 2021.1 - 2.0.2 - 2.4.1 - 2.1.4 - 3.0.0 - 1.6.2 - 1.26.5 - 2.3.2 - 1.3.1 - 1.2.6 - 3.4.0 - 2.10.0 - 1.4 - 1.7 - 1.2.76 - 8.2.1 - 4.1.2 - 2.6.2 - 3.2.2 - 4.15.14.ALL - 1.9.3 - - - - - - - - - org.springframework.cloud - spring-cloud-dependencies - ${spring-cloud.version} - pom - import - - - - - com.alibaba.cloud - spring-cloud-alibaba-dependencies - ${spring-cloud-alibaba.version} - pom - import - - - - - com.alibaba.nacos - nacos-client - ${alibaba.nacos.version} - - - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - - - de.codecentric - spring-boot-admin-starter-client - ${spring-boot-admin.version} - - - - - com.github.tobato - fastdfs-client - ${tobato.version} - - - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - ${spring-boot.mybatis} - - - - - io.swagger - swagger-models - ${swagger.core.version} - - - io.swagger - swagger-annotations - ${swagger.core.version} - - - - - com.github.penggle - kaptcha - ${kaptcha.version} - - - - - com.github.pagehelper - pagehelper-spring-boot-starter - ${pagehelper.boot.version} - - - - - commons-io - commons-io - ${commons.io.version} - - - - - org.apache.poi - poi-ooxml - ${poi.version} - - - - - commons-fileupload - commons-fileupload - ${commons.fileupload.version} - - - - - org.apache.velocity - velocity - ${velocity.version} - - - commons-collections - commons-collections - - - - - - - commons-collections - commons-collections - ${commons-collections.version} - - - - - com.alibaba - fastjson - ${fastjson.version} - - - - - org.apache.commons - commons-pool2 - ${common-pool.version} - - - - - com.ruoyi - ruoyi-common-core - ${ruoyi.version} - - - - - com.ruoyi - ruoyi-common-swagger - ${ruoyi.version} - - - - - com.ruoyi - ruoyi-common-security - ${ruoyi.version} - - - - - com.ruoyi - ruoyi-common-datascope - ${ruoyi.version} - - - - - com.ruoyi - ruoyi-common-datasource - ${ruoyi.version} - - - - - com.ruoyi - ruoyi-common-log - ${ruoyi.version} - - - - - com.ruoyi - ruoyi-common-redis - ${ruoyi.version} - - - - - com.ruoyi - ruoyi-api-system - ${ruoyi.version} - - - commons-beanutils - commons-beanutils - ${commons-beanutils.sdk} - - - - - - ruoyi-auth - ruoyi-gateway - ruoyi-visual - ruoyi-modules - ruoyi-api - ruoyi-common - xhpc-modules - - pom - - - - - org.springframework.cloud - spring-cloud-starter-bootstrap - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - ${java.version} - ${java.version} - ${project.build.sourceEncoding} - - - - - - + + + 4.0.0 + + com.ruoyi + ruoyi + 3.0.0 + + ruoyi + http://www.ruoyi.vip + 若依微服务系统 + + + 3.0.0 + UTF-8 + UTF-8 + 1.8 + 2.5.1 + 2020.0.3 + 2021.1 + 2.0.2 + 2.4.1 + 2.1.4 + 3.0.0 + 1.6.2 + 1.26.5 + 2.3.2 + 1.3.1 + 1.2.6 + 3.4.0 + 2.10.0 + 1.4 + 1.7 + 1.2.76 + 8.2.1 + 4.1.2 + 2.6.2 + 3.2.2 + 4.15.14.ALL + 1.9.3 + + + + + + + + + org.springframework.cloud + spring-cloud-dependencies + ${spring-cloud.version} + pom + import + + + + + com.alibaba.cloud + spring-cloud-alibaba-dependencies + ${spring-cloud-alibaba.version} + pom + import + + + + + com.alibaba.nacos + nacos-client + ${alibaba.nacos.version} + + + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + + + + + + + + + + com.github.tobato + fastdfs-client + ${tobato.version} + + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + ${spring-boot.mybatis} + + + + + io.swagger + swagger-models + ${swagger.core.version} + + + io.swagger + swagger-annotations + ${swagger.core.version} + + + + + com.github.penggle + kaptcha + ${kaptcha.version} + + + + + com.github.pagehelper + pagehelper-spring-boot-starter + ${pagehelper.boot.version} + + + + + commons-io + commons-io + ${commons.io.version} + + + + + org.apache.poi + poi-ooxml + ${poi.version} + + + + + commons-fileupload + commons-fileupload + ${commons.fileupload.version} + + + + + org.apache.velocity + velocity + ${velocity.version} + + + commons-collections + commons-collections + + + + + + + commons-collections + commons-collections + ${commons-collections.version} + + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + org.apache.commons + commons-pool2 + ${common-pool.version} + + + + + com.ruoyi + ruoyi-common-core + ${ruoyi.version} + + + + + com.ruoyi + ruoyi-common-swagger + ${ruoyi.version} + + + + + com.ruoyi + ruoyi-common-security + ${ruoyi.version} + + + + + com.ruoyi + ruoyi-common-datascope + ${ruoyi.version} + + + + + com.ruoyi + ruoyi-common-datasource + ${ruoyi.version} + + + + + com.ruoyi + ruoyi-common-log + ${ruoyi.version} + + + + + com.ruoyi + ruoyi-common-redis + ${ruoyi.version} + + + + + com.ruoyi + ruoyi-api-system + ${ruoyi.version} + + + commons-beanutils + commons-beanutils + ${commons-beanutils.sdk} + + + + + + ruoyi-auth + ruoyi-gateway + ruoyi-visual + ruoyi-modules + ruoyi-api + ruoyi-common + xhpc-modules + + pom + + + + + org.springframework.cloud + spring-cloud-starter-bootstrap + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-auth/src/main/resources/bootstrap.yml b/ruoyi-auth/src/main/resources/bootstrap.yml index 50188915..af3d806a 100644 --- a/ruoyi-auth/src/main/resources/bootstrap.yml +++ b/ruoyi-auth/src/main/resources/bootstrap.yml @@ -1,25 +1,25 @@ -# Tomcat -server: - port: 9200 - -# Spring -spring: - application: - # 应用名称 - name: ruoyi-auth - profiles: - # 环境配置 - active: dev - cloud: - nacos: - discovery: - # 服务注册地址 - server-addr: 127.0.0.1:8848 - config: - # 配置中心地址 - server-addr: 127.0.0.1:8848 - # 配置文件格式 - file-extension: yml - # 共享配置 - shared-configs: - - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +# Tomcat +server: + port: 9200 + +# Spring +spring: + application: + # 应用名称 + name: ruoyi-auth + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 118.24.137.203:8848 + config: + # 配置中心地址 + server-addr: 118.24.137.203:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/ruoyi-gateway/src/main/resources/bootstrap.yml b/ruoyi-gateway/src/main/resources/bootstrap.yml index 8f10bbd4..ce407c63 100644 --- a/ruoyi-gateway/src/main/resources/bootstrap.yml +++ b/ruoyi-gateway/src/main/resources/bootstrap.yml @@ -1,42 +1,42 @@ -# Tomcat -server: - port: 8080 - -# Spring -spring: - application: - # 应用名称 - name: ruoyi-gateway - profiles: - # 环境配置 - active: dev - main: - allow-bean-definition-overriding: true - cloud: - nacos: - discovery: - # 服务注册地址 - server-addr: 127.0.0.1:8848 - config: - # 配置中心地址 - server-addr: 127.0.0.1:8848 - # 配置文件格式 - file-extension: yml - # 共享配置 - shared-configs: - - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} - sentinel: - # 取消控制台懒加载 - eager: true - transport: - # 控制台地址 - dashboard: 127.0.0.1:8718 - # nacos配置持久化 - datasource: - ds1: - nacos: - server-addr: 127.0.0.1:8848 - dataId: sentinel-ruoyi-gateway - groupId: DEFAULT_GROUP - data-type: json - rule-type: flow +# Tomcat +server: + port: 8080 + +# Spring +spring: + application: + # 应用名称 + name: ruoyi-gateway + profiles: + # 环境配置 + active: dev + main: + allow-bean-definition-overriding: true + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 118.24.137.203:8848 + config: + # 配置中心地址 + server-addr: 118.24.137.203:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + sentinel: + # 取消控制台懒加载 + eager: true + transport: + # 控制台地址 + dashboard: 127.0.0.1:8718 + # nacos配置持久化 + datasource: + ds1: + nacos: + server-addr: 118.24.137.203:8848 + dataId: sentinel-ruoyi-gateway + groupId: DEFAULT_GROUP + data-type: json + rule-type: flow diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml index dc192777..7dfa1916 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml @@ -1,25 +1,25 @@ -# Tomcat -server: - port: 9201 - -# Spring -spring: - application: - # 应用名称 - name: ruoyi-system - profiles: - # 环境配置 - active: dev - cloud: - nacos: - discovery: - # 服务注册地址 - server-addr: 127.0.0.1:8848 - config: - # 配置中心地址 - server-addr: 127.0.0.1:8848 - # 配置文件格式 - file-extension: yml - # 共享配置 - shared-configs: - - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +# Tomcat +server: + port: 9201 + +# Spring +spring: + application: + # 应用名称 + name: ruoyi-system + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 118.24.137.203:8848 + config: + # 配置中心地址 + server-addr: 118.24.137.203:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcChargingStationMapper.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcChargingStationMapper.java index 6ef1f27c..7d7451b3 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcChargingStationMapper.java +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/mapper/XhpcChargingStationMapper.java @@ -218,4 +218,11 @@ public interface XhpcChargingStationMapper { */ Set getXchargingPileList(@Param("chargingStationId")Long chargingStationId); + /** + * 按照没30分钟为一段进行分组 + * @param chargingStationId + * @return + */ + List> getXhpcRateTimeNumber(@Param("chargingStationId")Long chargingStationId); + } diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingStationServiceImpl.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingStationServiceImpl.java index a2bd42c2..68fd7948 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingStationServiceImpl.java +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingStationServiceImpl.java @@ -1,10 +1,14 @@ package com.xhpc.charging.station.service; +import cn.hutool.core.date.BetweenFormatter; +import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import com.xhpc.common.api.PowerPileService; import com.xhpc.common.api.dto.ChargingPileDto; +import com.xhpc.common.core.domain.R; import com.xhpc.common.core.utils.DateUtils; import com.xhpc.common.core.web.domain.AjaxResult; +import com.xhpc.common.data.redis.CacheRateModel; import com.xhpc.common.domain.XhpcChargingStation; import com.xhpc.common.domain.XhpcRate; import com.xhpc.common.domain.XhpcRateModel; @@ -20,6 +24,7 @@ import org.springframework.data.annotation.Version; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -244,6 +249,13 @@ public class XhpcChargingStationServiceImpl implements IXhpcChargingStationServi } if(xhpcChargingStationDto.getXhpcRateTimeList() ==null && xhpcChargingStationDto.getXhpcRateTimeList().size()==0){ return AjaxResult.error(1001,"费率时段不能为空"); + }else{ + for (int i = 0; i < xhpcChargingStationDto.getXhpcRateTimeList().size(); i++) { + String id = xhpcChargingStationDto.getXhpcRateTimeList().get(i).getId(); + if("00".equals(id)||"01".equals(id)||"02".equals(id)||"03".equals(id)){}else{ + return AjaxResult.error("1003","费率id格式不对"); + } + } } List xhpcRateTimeList = xhpcChargingStationDto.getXhpcRateTimeList(); @@ -251,10 +263,15 @@ public class XhpcChargingStationServiceImpl implements IXhpcChargingStationServi XhpcRateTimeDto xhpcRateTime = xhpcRateTimeList.get(i); String start = xhpcRateTime.getStartTime(); String end = xhpcRateTime.getEndTime(); + String id = xhpcRateTime.getId(); //检查格式,正则验证 【[0-2][0-9]:[0-6][0]:[0]{2}】 String pattern ="^([0-2][0-9]:([0]|[3])[0]:[0][0])"; Pattern compile = Pattern.compile(pattern); Matcher m =compile.matcher(start); + + if("00".equals(id)||"01".equals(id)||"02".equals(id)||"03".equals(id)){}else{ + return AjaxResult.error("1003","费率id格式不对"); + } boolean isMatch = m.matches(); if(!isMatch){ return AjaxResult.error("1003","时间格式不对"); @@ -339,6 +356,9 @@ public class XhpcChargingStationServiceImpl implements IXhpcChargingStationServi } //默认费率类型值 String rateValue =xhpcChargingStationDto.getDefaultPeriodId(); + + String[] tfPricesSeq = new String[48]; + int number =0; int sort =1; for (int k = 0; k < list.size(); k++) { XhpcRateTimeDto xhpcRateTimeDto = list.get(k); @@ -351,34 +371,137 @@ public class XhpcChargingStationServiceImpl implements IXhpcChargingStationServi if(!"00:00:00".equals(xhpcRateTimeDto.getStartTime())){ //添加一条默认费率时段 sort = addXhpcRateTime(chargingStationId,rateModelId,defaultPeriodId,"00:00:00",startTime,sort,2,rateValue); + //时间差 + long betweenDay = DateUtil.between(DateUtil.parse("00:00:00"), DateUtil.parse(startTime), DateUnit.SECOND); + int day1 = Math.toIntExact(betweenDay / 1800); + for (int l = 0; l < day1; l++) { + tfPricesSeq[number] =rateValue; + number=number+1; + } } //并把本条数据也添加上 sort = addXhpcRateTime(chargingStationId,rateModelId,defaultPeriodIdMap,startTime,endTime,sort,1,rateValues); + //时间差 + long betweenDay = DateUtil.between(DateUtil.parse(startTime), DateUtil.parse(endTime), DateUnit.SECOND); + int day2 = Math.toIntExact(betweenDay / 1800); + for (int l = 0; l < day2; l++) { + tfPricesSeq[number] =rateValues; + number=number+1; + } }else if(k + + diff --git a/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcTerminalMapper.xml b/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcTerminalMapper.xml index e4299120..f5481fb6 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcTerminalMapper.xml +++ b/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcTerminalMapper.xml @@ -255,6 +255,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ter.name as terminalName, ter.serial_number as serialNumber, cp.power as power, + cp.type as type, cp.max_voltage as maxVoltage, cp.auxiliary_power_supply as auxiliaryPowerSupply, ct.parking_instructions as parkingInstructions, diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/DateFormatConfig.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/DateFormatConfig.java index 589dcc0b..560b27fb 100644 --- a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/DateFormatConfig.java +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/DateFormatConfig.java @@ -1,55 +1,44 @@ package com.xhpc; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.boot.jackson.JsonComponent; -import org.springframework.context.annotation.Bean; - -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.TimeZone; @JsonComponent public class DateFormatConfig { - - @Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}") - private String pattern; - - /** - * @author xiaofu - * @description date 类型全局时间格式化 - * @date 2020/8/31 18:22 - */ - @Bean - public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilder() { - - return builder -> { - TimeZone tz = TimeZone.getTimeZone("UTC"); - DateFormat df = new SimpleDateFormat(pattern); - df.setTimeZone(tz); - builder.failOnEmptyBeans(false) - .failOnUnknownProperties(false) - .featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) - .dateFormat(df); - }; - } - - /** - * @author xiaofu - * @description LocalDate 类型全局时间格式化 - * @date 2020/8/31 18:22 - */ - @Bean - public LocalDateTimeSerializer localDateTimeDeserializer() { - return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern)); - } - - @Bean - public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer(LocalDateTimeSerializer localDateTimeDeserializer) { - return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeDeserializer); - } -} \ No newline at end of file +// +// @Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}") +// private String pattern; +// +// /** +// * @author xiaofu +// * @description date 类型全局时间格式化 +// * @date 2020/8/31 18:22 +// */ +// @Bean +// public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilder() { +// +// return builder -> { +// TimeZone tz = TimeZone.getTimeZone("UTC"); +// DateFormat df = new SimpleDateFormat(pattern); +// df.setTimeZone(tz); +// builder.failOnEmptyBeans(false) +// .failOnUnknownProperties(false) +// .featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) +// .dateFormat(df); +// }; +// } +// +// /** +// * @author xiaofu +// * @description LocalDate 类型全局时间格式化 +// * @date 2020/8/31 18:22 +// */ +// @Bean +// public LocalDateTimeSerializer localDateTimeDeserializer() { +// return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern)); +// } +// +// @Bean +// public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer(LocalDateTimeSerializer localDateTimeDeserializer) { +// return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeDeserializer); +// } +} diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/PowerPileService.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/PowerPileService.java index e52dd580..83e05df7 100644 --- a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/PowerPileService.java +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/PowerPileService.java @@ -6,6 +6,7 @@ import com.xhpc.common.core.domain.R; import com.xhpc.common.api.factory.PowerPileFallbackFactory; import com.xhpc.common.data.down.StartChargingData; import com.xhpc.common.data.redis.CacheRateModel; +import org.apache.ibatis.annotations.Param; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.DeleteMapping; @@ -28,6 +29,6 @@ public interface PowerPileService { R deletePileWhitelist(@PathVariable("stationId") Long stationId, @RequestBody Set pileNoSet); @PostMapping("/station/rateModel/{stationId}/{rateModelId}") - R setStationRateModel(@PathVariable("stationId") Long stationId, @PathVariable("rateModelId") Long rateModelId, @RequestBody CacheRateModel rateModel); + R setStationRateModel(@PathVariable("stationId") @Param("stationId") Long stationId, @PathVariable("rateModelId") @Param("rateModelId") Long rateModelId, @RequestBody @Param("rateModel") CacheRateModel rateModel); } diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/ChargingController.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/ChargingController.java index 2b8e9e12..f8f89018 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/ChargingController.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/ChargingController.java @@ -89,7 +89,7 @@ public class ChargingController { clientHandler.sendClientBinary(msg); return R.ok(); } catch (IOException e) { - e.printStackTrace(); + log.error("send message failed. " + e.getMessage(), e); return R.fail(e.getMessage()); } } diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/StationController.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/StationController.java index f2c61f44..e80b096f 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/StationController.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/StationController.java @@ -8,6 +8,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; +import java.util.Set; + import static com.xhpc.pp.server.ChargingPileServer.REDIS; @RestController @@ -18,12 +20,16 @@ public class StationController { String skey = "station:".concat(stationId.toString()); ChargingStationDto cacheStation = REDIS.getCacheObject(skey); + if (cacheStation==null) cacheStation = new ChargingStationDto(); cacheStation.setRateModelId(rateModelId); REDIS.setCacheObject(skey, cacheStation); String rkey = "rateModel:".concat(rateModelId.toString()); REDIS.setCacheObject(rkey, rateModel); String rmskey = "rateModelStation:".concat(stationId.toString()); - REDIS.setCacheSet(rmskey, cacheStation.getPiles()); + Set piles = cacheStation.getPiles(); + if (piles!=null) { + REDIS.setCacheSet(rmskey, piles); + } return R.ok(); }