bug修复、代码优化

This commit is contained in:
attiya 2025-07-07 18:29:07 +08:00
parent af3895d0b4
commit 02cf3aec30
7 changed files with 68 additions and 12 deletions

View File

@ -110,9 +110,4 @@ public class ResGPSDto {
* 最后一次还车时间 * 最后一次还车时间
*/ */
private Number latestTimestamp; private Number latestTimestamp;
/**
* 电量更新时间戳
*/
private LocalDateTime refreshTimestamp;
} }

View File

@ -13,7 +13,9 @@ public class FeignTokenInterceptor implements RequestInterceptor {
@Override @Override
public void apply(RequestTemplate template) { public void apply(RequestTemplate template) {
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = requestAttributes.getRequest(); if (requestAttributes != null) {
template.header("Authorization", request.getHeader("Authorization")); HttpServletRequest request = requestAttributes.getRequest();
template.header("Authorization", request.getHeader("Authorization"));
}
} }
} }

View File

@ -1573,7 +1573,9 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
resEbikeInfoRegionDto.setLatestTimestamp(String.valueOf(latestTimestamp)); resEbikeInfoRegionDto.setLatestTimestamp(String.valueOf(latestTimestamp));
resEbikeInfoRegionDto.setIntervalTime(TimeUtils.hoursSince(latestTimestamp.longValue())); resEbikeInfoRegionDto.setIntervalTime(TimeUtils.hoursSince(latestTimestamp.longValue()));
} }
LocalDateTime refreshTimestamp = resGPSDto.getRefreshTimestamp(); LocalDateTime refreshTimestamp =Instant.ofEpochMilli((Long)resGPSDto.getTimestamp())
.atZone(ZoneId.systemDefault())
.toLocalDateTime();
if (refreshTimestamp != null) { if (refreshTimestamp != null) {
resEbikeInfoRegionDto.setRefreshTimestamp(refreshTimestamp); resEbikeInfoRegionDto.setRefreshTimestamp(refreshTimestamp);
} }

View File

@ -286,8 +286,8 @@ public class EbikeUserOrdersController {
} }
/** /**
* @param orderId * @param orderId 订单id
* @return * @return 结果
*/ */
@GetMapping("getRefundOrderInfo/{orderId}") @GetMapping("getRefundOrderInfo/{orderId}")
public JsonResult<?> getRefundOrderInfo(@PathVariable("orderId") String orderId) { public JsonResult<?> getRefundOrderInfo(@PathVariable("orderId") String orderId) {

View File

@ -192,10 +192,13 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
//生成支付订单 //生成支付订单
EbikePayment payment = EbikePayment.builder() EbikePayment payment = EbikePayment.builder()
.orderId(String.valueOf(userOrders.getOrderId())) .orderId(String.valueOf(userOrders.getOrderId()))
.paymentMethod("wechat")
.paymentId(String.valueOf(snowFlakeIDKeyGenerator.nextId())) .paymentId(String.valueOf(snowFlakeIDKeyGenerator.nextId()))
.total(userOrders.getTotalAmount()) .costPrice(userOrders.getTotalAmount())
.currency("CNY")
.userId(userId) .userId(userId)
.createTime(LocalDateTime.now()) .createTime(LocalDateTime.now())
.tradeState("2")
.build(); .build();
paymentService.save(payment); paymentService.save(payment);
//添加还车单量 //添加还车单量

View File

@ -66,7 +66,6 @@ public class ReoprtHandler {
resGpsDto.setIsHelmetLocked(isHelmetLocked); resGpsDto.setIsHelmetLocked(isHelmetLocked);
resGpsDto.setIsWheelSpin(isWheelSpin); resGpsDto.setIsWheelSpin(isWheelSpin);
resGpsDto.setIsMoving(isMoving); resGpsDto.setIsMoving(isMoving);
resGpsDto.setRefreshTimestamp(LocalDateTime.now());
redisUtil.set(deviceId, resGpsDto); redisUtil.set(deviceId, resGpsDto);
double[] doubles = CoordinateUtil.WGS84ToGCJ02(resGpsDto.getLongitude(), resGpsDto.getLatitude()); double[] doubles = CoordinateUtil.WGS84ToGCJ02(resGpsDto.getLongitude(), resGpsDto.getLatitude());
redisUtil.addLocation(new Point(doubles[0], doubles[1]),deviceId); redisUtil.addLocation(new Point(doubles[0], doubles[1]),deviceId);

View File

@ -0,0 +1,55 @@
package com.cdzy.ebikereport.config;
import cn.hutool.core.date.DatePattern;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.util.Locale;
import java.util.TimeZone;
/**
* 日期类型数据处理配置
* @author attiya
* @since 2024-11-04
**/
@Configuration
public class JacksonConfig {
public static JavaTimeModule buildJavaTimeModule() {
JavaTimeModule javaTimeModule = new JavaTimeModule();
javaTimeModule.addSerializer(LocalTime.class, new LocalTimeSerializer(DatePattern.NORM_TIME_FORMATTER));
javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(DatePattern.NORM_DATE_FORMATTER));
javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DatePattern.NORM_DATETIME_FORMATTER));
javaTimeModule.addDeserializer(LocalTime.class, new LocalTimeDeserializer(DatePattern.NORM_TIME_FORMATTER));
javaTimeModule.addDeserializer(LocalDate.class, new LocalDateDeserializer(DatePattern.NORM_DATE_FORMATTER));
javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DatePattern.NORM_DATETIME_FORMATTER));
return javaTimeModule;
}
@Bean
@ConditionalOnMissingBean
public Jackson2ObjectMapperBuilderCustomizer customizer() {
return builder -> {
builder.locale(Locale.CHINA);
builder.timeZone(TimeZone.getTimeZone(ZoneId.systemDefault()));
builder.simpleDateFormat(DatePattern.NORM_DATETIME_PATTERN);
builder.serializerByType(Long.class, ToStringSerializer.instance);
builder.modules(buildJavaTimeModule());
};
}
}