From 962d12888261b417c8bcd31933680473f9d6a2d1 Mon Sep 17 00:00:00 2001 From: Lemon Date: Mon, 21 Oct 2024 13:48:15 +0800 Subject: [PATCH] =?UTF-8?q?update=20=20=E7=BB=91=E5=AE=9A=E8=BD=A6?= =?UTF-8?q?=E8=BE=86=E4=BC=98=E6=83=A0=E5=88=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/CacheConstants.java | 5 ++++ .../TransactionRecordsRequestHandler.java | 23 ++++++++++++------- .../UploadRealTimeMonitorHandler.java | 15 ++++++++++++ 3 files changed, 35 insertions(+), 8 deletions(-) diff --git a/jsowell-common/src/main/java/com/jsowell/common/constant/CacheConstants.java b/jsowell-common/src/main/java/com/jsowell/common/constant/CacheConstants.java index babf27661..9187b17df 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/constant/CacheConstants.java +++ b/jsowell-common/src/main/java/com/jsowell/common/constant/CacheConstants.java @@ -217,6 +217,11 @@ public class CacheConstants { */ public static final String AUTHORIZER_REFRESH_TOKEN = "authorizer_refresh_token:"; + /** + * 车辆绑定优惠券 + */ + public static final String CAR_BIND_COUPON_BY_ORDER_CODE = "car_bind_coupon_by_order_code:"; + /** * 路通云停系统 通过appid获取的接口调用令牌 */ diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/TransactionRecordsRequestHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/TransactionRecordsRequestHandler.java index 6de05e42b..a861c9ba7 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/TransactionRecordsRequestHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/TransactionRecordsRequestHandler.java @@ -2,6 +2,7 @@ package com.jsowell.netty.handler.yunkuaichong; import com.alibaba.fastjson2.JSON; import com.google.common.primitives.Bytes; +import com.jsowell.common.constant.CacheConstants; import com.jsowell.common.constant.Constants; import com.jsowell.common.core.domain.ykc.TransactionRecordsData; import com.jsowell.common.core.domain.ykc.YKCDataProtocol; @@ -645,14 +646,20 @@ public class TransactionRecordsRequestHandler extends AbstractYkcHandler { // 异步绑定第三方平台优惠券 OrderBasicInfo finalOrderBasicInfo = orderBasicInfo; - CompletableFuture.runAsync(() -> { - try { - String bindResult = commonService.bindCoupon(finalOrderBasicInfo); - log.info("绑定优惠券 订单信息:{}, result:{}", finalOrderBasicInfo, bindResult); - } catch (Exception e) { - log.error("绑定优惠券 error,", e); - } - }, executor); + String redisKey = CacheConstants.CAR_BIND_COUPON_BY_ORDER_CODE + orderBasicInfo.getOrderCode(); + Object cacheObject = redisCache.getCacheObject(redisKey); + if (cacheObject == null) { + CompletableFuture.runAsync(() -> { + try { + String bindResult = commonService.bindCoupon(finalOrderBasicInfo); + log.info("绑定优惠券 订单信息:{}, result:{}", finalOrderBasicInfo, bindResult); + // 删除绑定优惠券缓存 + redisCache.deleteObject(redisKey); + } catch (Exception e) { + log.error("绑定优惠券 error,", e); + } + }, executor); + } // // 给车辆绑定优惠券 // try { diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/UploadRealTimeMonitorHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/UploadRealTimeMonitorHandler.java index 7988c4e0b..f716a8c5d 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/UploadRealTimeMonitorHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/UploadRealTimeMonitorHandler.java @@ -323,6 +323,21 @@ public class UploadRealTimeMonitorHandler extends AbstractYkcHandler { if (saveRedisFlag) { pileBasicInfoService.saveRealTimeMonitorData2Redis(realTimeMonitorData); } + // 判断该订单是否需要下发优惠券 + String redisKey = CacheConstants.CAR_BIND_COUPON_BY_ORDER_CODE + orderInfo.getOrderCode(); + Object cacheObject = redisCache.getCacheObject(redisKey); + if (cacheObject == null && sumChargingTime >= 10) { + // 异步绑定优惠券并设置缓存 + CompletableFuture.runAsync(() -> { + try { + commonService.bindCoupon(orderInfo); + redisCache.setCacheObject(redisKey, Boolean.TRUE); + } catch (Exception e) { + log.error("异步绑定车辆优惠券 error,", e); + } + }, executor); + } + } // 异步推送第三方平台实时数据