diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index 207c85efd..7590ea27e 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -88,6 +88,9 @@ public class WxOrderServiceImpl implements WxOrderService { @Autowired WxCouponMerchantMapper wxCouponMerchantMapper; + @Autowired + WxCardInfoMapper wxCardInfoMapper; + @Override public PageInfo listAsPage(WxOrder record, Integer pageIndex, Integer pageSize) { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxOrderMapper.findList(record)); @@ -491,6 +494,35 @@ public class WxOrderServiceImpl implements WxOrderService { wxCouponOrderMapper.insertSelective(couponOrder); + /// 储值卡信息添加 + if(coupon.getType().equals(EnumCouponType.CARD_MULTIMCH.getCode())) { + WxPayOrder payOrder = null; + try { + WxPayOrder payOrderQ = new WxPayOrder(); + payOrderQ.setTenantId(user.getTenantId()); + payOrderQ.setOrderId(order.getId()); + payOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); + payOrder = wxPayOrderMapper.selectOne(payOrderQ); + } catch (Exception e) { + logger.error("payOrder not found:" + e.getMessage()); + } + + Integer fee = payOrder.getPayAmount() - payOrder.getShareAmount(); + + WxCardInfo cardInfo = new WxCardInfo(); + cardInfo.setId(couponOrder.getId()); + cardInfo.setTransactionId(payOrder.getTransactionId()); + cardInfo.setAmount(coupon.getPrice()); + cardInfo.setRemainingAmount(coupon.getPrice()); + cardInfo.setServiceFeeAmount(fee); + cardInfo.setShareFeeAmount(payOrder.getShareAmount()); + cardInfo.setRemainingShareFeeAmount(payOrder.getShareAmount()); + cardInfo.setCreateDate(curr); + cardInfo.setUpdateDate(curr); + + wxCardInfoMapper.insertSelective(cardInfo); + } + wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_BUY, user); return couponOrder; }