Browse Source

启动充电优化

skyline 2 tháng trước cách đây
mục cha
commit
abe4ac7ff7

+ 2 - 3
service/src/main/java/com/kym/service/miniapp/impl/ChargeServiceImpl.java

@@ -206,9 +206,8 @@ public class ChargeServiceImpl implements ChargeService {
     @Override
     @DSTransactional(rollbackFor = Exception.class)
     public Map<String, String> queryStartCharge(Long userId, String connectorId, Long userRechargeRightsId, Long userCouponId, Boolean isBooking, LocalDateTime startTime, LocalDateTime endTime) {
-        var connectorId2StationId = getConnectorIdAndStationId(connectorId);
-        connectorId = connectorId2StationId.get("connectorId");
-        var stationId = connectorId2StationId.get("stationId");
+        connectorId = KymCache.INSTANCE.getConnectorId(connectorId);
+        var stationId = KymCache.INSTANCE.getStationIdByEquipmentIdOrConnectorId(connectorId);
         LOGGER.info("用户:{},站点:{},设备:{}请求充电", userId, stationId, connectorId);
         var account = checkCharge(userId, connectorId, stationId, isBooking, startTime);
 

+ 11 - 1
service/src/main/java/com/kym/service/platform/impl/PlatformApiServiceImpl.java

@@ -35,7 +35,17 @@ import static com.kym.common.utils.PlatformAesUtil.buildPlatformParams;
 public class PlatformApiServiceImpl implements PlatformApiService {
 
     public static final MediaType JSON = MediaType.get("application/json; charset=utf-8");
-    static OkHttpClient HTTP_CLIENT = new OkHttpClient.Builder().build();
+    static OkHttpClient HTTP_CLIENT = new OkHttpClient.Builder()
+            .connectTimeout(5, TimeUnit.SECONDS)      // 连接超时 5s
+            .readTimeout(10, TimeUnit.SECONDS)        // 读取超时 10s
+            .writeTimeout(10, TimeUnit.SECONDS)       // 写入超时 10s
+            .connectionPool(new ConnectionPool(
+                    10,                              // 最大空闲连接数
+                    5,                               // 连接存活时间
+                    TimeUnit.MINUTES
+            ))
+            .retryOnConnectionFailure(true)           // 启用重试
+            .build();
     private final RedisTemplate<String, String> redisTemplate;
 
     public PlatformApiServiceImpl(RedisTemplate<String, String> redisTemplate) {