diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/strategy/cjt/CJTOperateCallBackAbstract.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/strategy/cjt/CJTOperateCallBackAbstract.java index 8d4acf1..b647cc1 100644 --- a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/strategy/cjt/CJTOperateCallBackAbstract.java +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/strategy/cjt/CJTOperateCallBackAbstract.java @@ -6,6 +6,7 @@ import com.lark.oapi.service.bitable.v1.model.CreateAppTableRecordRespBody; import com.ruoyi.common.constant.RedisConstants; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.enums.CjtAccountEnum; +import com.ruoyi.common.enums.CjtCallBackOperateEnum; import com.ruoyi.common.enums.FlagStatus; import com.ruoyi.flyingbook.LarkHelper.LarkRobotHelper; import com.ruoyi.flyingbook.LarkHelper.LarkTableHelper; @@ -62,7 +63,8 @@ public abstract class CJTOperateCallBackAbstract { protected static final String REQUEST_ROOT_PATH = "https://openapi.chanjet.com"; public void execute(CJTEdiCallbackRequestVo req) { - String operateCallBackFlag = buildCacheUniqueKey(RedisConstants.CJT_CALLBACK_OPERATE, req.getAppId() + req.getVoucherId()); + CjtCallBackOperateEnum msgTypeEnum = req.getMsgTypeEnum(); + String operateCallBackFlag = buildCacheUniqueKey(RedisConstants.CJT_CALLBACK_OPERATE, req.getAppId() + msgTypeEnum.getLarkCompanyCode() + req.getVoucherId()); try { Boolean operateFlag = redisCache.setCacheObjectIfAbsent(operateCallBackFlag, operateCallBackFlag, 10L, TimeUnit.MINUTES); if (!operateFlag) { diff --git a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/strategy/cjt/CJTOperateCallBackFactory.java b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/strategy/cjt/CJTOperateCallBackFactory.java index fd6ce50..2ef7b09 100644 --- a/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/strategy/cjt/CJTOperateCallBackFactory.java +++ b/ruoyi-flyingbook/src/main/java/com/ruoyi/flyingbook/strategy/cjt/CJTOperateCallBackFactory.java @@ -21,6 +21,12 @@ public class CJTOperateCallBackFactory { private SaleDispatchSyncCallOperate saleDispatchSyncCallOperate; @Autowired private SaleOrderSyncCallBackOperate saleOrderSyncCallBackOperate; + @Autowired + private PurchaseArrivalOrderCallBackOperate purchaseArrivalOrderCallBackOperate; + @Autowired + private PurchaseOrderSyncCallBackOperate purchaseOrderSyncCallBackOperate; + @Autowired + private SaleDeliverySyncCallBackOperate saleDeliverySyncCallBackOperate; public void handle(JSONObject jsonObject){ String appKey = jsonObject.getString("appKey"); @@ -44,36 +50,32 @@ public class CJTOperateCallBackFactory { case SALE_DISPATCH_CREATE: case SALE_DISPATCH_UPDATE: case SALE_DISPATCH_DELETE: - switch (cjtAccountEnum){ - case ONE: - saleDispatchSyncCallOperate.execute(cjtEdiCallbackRequestVo); - break; - default: - break; - } + saleDispatchSyncCallOperate.execute(cjtEdiCallbackRequestVo); break; case SALE_ORDER_CREATE: case SALE_ORDER_UPDATE: case SALE_ORDER_DELETE: - switch (cjtAccountEnum){ - case ONE: - saleOrderSyncCallBackOperate.execute(cjtEdiCallbackRequestVo); - break; - default: - break; - } + saleOrderSyncCallBackOperate.execute(cjtEdiCallbackRequestVo); break; case MANUFACTURE_ORDER_CREATE: case MANUFACTURE_ORDER_UPDATE: case MANUFACTURE_ORDER_DELETE: - switch (cjtAccountEnum){ - case TWO: - manufactureOrderSyncCallOperate.execute(cjtEdiCallbackRequestVo); - break; - default: - break; - } - + manufactureOrderSyncCallOperate.execute(cjtEdiCallbackRequestVo); + break; + case PURCHASE_ORDER_CREATE: + case PURCHASE_ORDER_UPDATE: + case PURCHASE_ORDER_DELETE: + purchaseOrderSyncCallBackOperate.execute(cjtEdiCallbackRequestVo); + break; + case PURCHASE_ARRIVAL_ORDER_CREATE: + case PURCHASE_ARRIVAL_ORDER_UPDATE: + case PURCHASE_ARRIVAL_ORDER_DELETE: + purchaseArrivalOrderCallBackOperate.execute(cjtEdiCallbackRequestVo); + break; + case SALE_DELIVERY_CREATE: + case SALE_DELIVERY_UPDATE: + case SALE_DELIVERY_DELETE: + saleDeliverySyncCallBackOperate.execute(cjtEdiCallbackRequestVo); break; default: saleDispatchSyncCallOperate.preHandle(cjtEdiCallbackRequestVo);