diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index d7f2ce140..f4c42460b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -1628,15 +1628,22 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { //券 merchantSubsidy.setSource(EnumMerchantSubsidySource.COUPON.getCode()); } + merchantSubsidy.setOrderId(couponOrder.getOrderId()); + merchantSubsidy.setOrderType(EnumOrderType.COUPON.getCode()); + merchantSubsidy.setCouponOrderId(couponOrder.getId()); + merchantSubsidy.setCouponType(couponOrder.getCouponType()); + merchantSubsidy.setType(payServiceFactory.getPayShareAdapterService(couponOrder.getPayVendor()).getSubsidyType()); + + List msList = wxMerchantSubsidyMapper.selectList(new QueryWrapper(merchantSubsidy)); + if (msList.size() > 0) { + // 已记账 + return msList.get(0); + } final IdWorker idWorker = IdWorker.get(); Date curDate = new Date(); merchantSubsidy.setId(idWorker.nextId()); merchantSubsidy.updateTenantInfo(couponOrder); - merchantSubsidy.setOrderId(couponOrder.getOrderId()); - merchantSubsidy.setOrderType(EnumOrderType.COUPON.getCode()); - merchantSubsidy.setMerchantId(merchantId); - merchantSubsidy.setCouponOrderId(couponOrder.getId()); - merchantSubsidy.setCouponType(couponOrder.getCouponType()); + merchantSubsidy.setMerchantId(merchantId); merchantSubsidy.setOrderPayment(couponOrder.getCouponPrice()); merchantSubsidy.setReceiverPayment(couponOrder.getCouponPrice()); merchantSubsidy.setRealPayment(couponOrder.getCouponPrice());