diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/bo/QvvrDataStruct.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/bo/QvvrDataStruct.java index de454b1c7..4d4de2886 100644 --- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/bo/QvvrDataStruct.java +++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/bo/QvvrDataStruct.java @@ -29,7 +29,7 @@ public class QvvrDataStruct extends Structure { } @Override - protected List getFieldOrder() { // 返回值填入的顺序 - return Arrays.asList(new String[]{"sys_res"}); + protected List getFieldOrder() { + return Arrays.asList("sys_num", "line_idx", "line_num", "sys_res"); } } diff --git a/pqs-common/common-redis/pom.xml b/pqs-common/common-redis/pom.xml index 543f2de83..dcee6a305 100644 --- a/pqs-common/common-redis/pom.xml +++ b/pqs-common/common-redis/pom.xml @@ -37,12 +37,12 @@ org.apache.commons commons-pool2 - + diff --git a/pqs-common/common-redis/src/main/java/com/njcn/redis/config/RedisConfig.java b/pqs-common/common-redis/src/main/java/com/njcn/redis/config/RedisConfig.java index e9ff5b1a7..5dd0a7890 100644 --- a/pqs-common/common-redis/src/main/java/com/njcn/redis/config/RedisConfig.java +++ b/pqs-common/common-redis/src/main/java/com/njcn/redis/config/RedisConfig.java @@ -7,7 +7,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; -import com.njcn.influx.utils.InstantDateDeserializer; +import com.njcn.redis.seriallizer.RedisInstantDateDeserializer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; @@ -41,7 +41,7 @@ public class RedisConfig { //解决Java 8 date/time type java.time.Instant not supported objectMapper.registerModule(new JavaTimeModule()); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - objectMapper.registerModule(new SimpleModule().addDeserializer(Instant.class, new InstantDateDeserializer())); + objectMapper.registerModule(new SimpleModule().addDeserializer(Instant.class, new RedisInstantDateDeserializer())); objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL); diff --git a/pqs-common/common-redis/src/main/java/com/njcn/redis/seriallizer/RedisInstantDateDeserializer.java b/pqs-common/common-redis/src/main/java/com/njcn/redis/seriallizer/RedisInstantDateDeserializer.java new file mode 100644 index 000000000..87959d13a --- /dev/null +++ b/pqs-common/common-redis/src/main/java/com/njcn/redis/seriallizer/RedisInstantDateDeserializer.java @@ -0,0 +1,38 @@ +package com.njcn.redis.seriallizer; + +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.time.Instant; +import java.util.concurrent.TimeUnit; + +/** + * @Author: cdf + * @CreateTime: 2025-07-25 + * @Description: + */ +@Component +public class RedisInstantDateDeserializer extends StdDeserializer { + + public RedisInstantDateDeserializer() { + this(null); + } + + + protected RedisInstantDateDeserializer(Class vc) { + super(vc); + } + + + @Override + public Instant deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException { + String text = p.getValueAsString(); + return DateUtil.parse(text, DatePattern.NORM_DATETIME_PATTERN).toInstant().plusMillis(TimeUnit.HOURS.toMillis(8)); + } +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java index 8f87e08ea..9fcbe198b 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java @@ -654,6 +654,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } + //记录终端相关操作日志 List pqsTerminalLogsList = new ArrayList<>(); Map dictDataMap = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_TYPE.getCode()).getData().stream().collect(Collectors.toMap(DictData::getId, Function.identity())); DictData dicDataByCode = dicDataFeignClient.getDicDataByCode(DicDataEnum.DEV_PARAMETER.getCode()).getData(); diff --git a/pqs-gateway/src/main/java/com/njcn/gateway/utils/IpUtils.java b/pqs-gateway/src/main/java/com/njcn/gateway/utils/IpUtils.java index f654051d5..45d3d882d 100644 --- a/pqs-gateway/src/main/java/com/njcn/gateway/utils/IpUtils.java +++ b/pqs-gateway/src/main/java/com/njcn/gateway/utils/IpUtils.java @@ -48,7 +48,7 @@ public class IpUtils { public static String getRealIpAddress(ServerHttpRequest request) { HttpHeaders headers = request.getHeaders(); String ipAddress = headers.getFirst(HEADER_X_FORWARDED_FOR); - log.error("X-Forwarded-For:"+ipAddress); + log.info("X-Forwarded-For:"+ipAddress); ipAddress = headers.getFirst("X-Real-IP"); log.error("X-Real-IP:"+ipAddress); ipAddress = headers.getFirst("Proxy-Client-IP"); diff --git a/pqs-harmonic/harmonic-boot/pom.xml b/pqs-harmonic/harmonic-boot/pom.xml index a2ae3372e..0f87fec02 100644 --- a/pqs-harmonic/harmonic-boot/pom.xml +++ b/pqs-harmonic/harmonic-boot/pom.xml @@ -94,12 +94,12 @@ joda-time 2.9.9 - + com.njcn advance-api diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/activepowerrange/RActivePowerRangeService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/activepowerrange/RActivePowerRangeService.java index 57512d777..8b7782caf 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/activepowerrange/RActivePowerRangeService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/activepowerrange/RActivePowerRangeService.java @@ -4,7 +4,6 @@ import com.github.jeffreyning.mybatisplus.service.IMppService; import com.njcn.harmonic.pojo.po.RActivePowerRangePO; import com.njcn.harmonic.pojo.vo.PowerStatisticsTargetVO; import com.njcn.harmonic.pojo.vo.RActivePowerRangeVO; -import com.njcn.prepare.harmonic.pojo.param.RActivePowerRangeParam; import java.util.List; diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/activepowerrange/impl/RActivePowerRangeServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/activepowerrange/impl/RActivePowerRangeServiceImpl.java index eb197ab57..56204109c 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/activepowerrange/impl/RActivePowerRangeServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/activepowerrange/impl/RActivePowerRangeServiceImpl.java @@ -11,7 +11,6 @@ import com.njcn.harmonic.pojo.vo.PowerStatisticsTargetVO; import com.njcn.harmonic.pojo.vo.RActivePowerRangeVO; import com.njcn.harmonic.service.activepowerrange.RActivePowerRangeService; import com.njcn.influx.pojo.constant.InfluxDBTableConstant; -import com.njcn.prepare.harmonic.pojo.param.RActivePowerRangeParam; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/TimersServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/TimersServiceImpl.java index a6670d1cd..142707166 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/TimersServiceImpl.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/TimersServiceImpl.java @@ -26,6 +26,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDateTime; import java.util.Collection; import java.util.List; import java.util.Map; @@ -165,7 +166,7 @@ public class TimersServiceImpl extends ServiceImpl impleme int retryCount = 0; while (retryCount < maxRetryCount) { try { - System.out.println("重试机制:"+(retryCount+1)); + System.out.println(LocalDateTime.now()+"手动重试机制:"+(retryCount+1)); timerTaskRunner.action(date); System.out.println("成功重试机制:"+(retryCount+1)); return; // 任务执行成功,跳出循环 diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/impl/HutoolTimerExeServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/impl/HutoolTimerExeServiceImpl.java index a31eb3753..957a25777 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/impl/HutoolTimerExeServiceImpl.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/impl/HutoolTimerExeServiceImpl.java @@ -14,6 +14,8 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; + /** * hutool方式的定时任务执行 * @@ -67,10 +69,11 @@ public class HutoolTimerExeServiceImpl implements TimerExeService { int retryCount = 0; while (retryCount < maxRetryCount) { try { - System.out.println("重试机制:"+(retryCount+1)); + System.out.println(LocalDateTime.now()+"自动重试机制:"+(retryCount+1)); timerTaskRunner.action(null); return; // 任务执行成功,跳出循环 } catch (Exception e) { + e.printStackTrace(); // 处理异常 // 增加重试次数 retryCount++;