| @@ -959,7 +959,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| if (record.getShare().equals(EnumPayShare.NO.getCode())) { | if (record.getShare().equals(EnumPayShare.NO.getCode())) { | ||||
| //结算记录 | //结算记录 | ||||
| try { | try { | ||||
| createMerchantSubsidy(record, order, new Date()); | |||||
| proxy.createMerchantSubsidy(record, order, new Date(),true); | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error("收银台结算记录失败,{}", e.getMessage()); | logger.error("收银台结算记录失败,{}", e.getMessage()); | ||||
| } | } | ||||
| @@ -1057,7 +1057,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| } | } | ||||
| } | } | ||||
| public void createMerchantSubsidy(WxPayOrder record, WxOrder order, Date curDate) { | |||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | |||||
| public void createMerchantSubsidy(WxPayOrder record, WxOrder order, Date curDate,boolean freshMerchantCash) { | |||||
| final IdWorker idWorker = IdWorker.get(); | final IdWorker idWorker = IdWorker.get(); | ||||
| WxMerchantSubsidy merchantSubsidy = new WxMerchantSubsidy(); | WxMerchantSubsidy merchantSubsidy = new WxMerchantSubsidy(); | ||||
| merchantSubsidy.setId(idWorker.nextId()); | merchantSubsidy.setId(idWorker.nextId()); | ||||
| @@ -1068,17 +1069,31 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| merchantSubsidy.setMerchantId(wxMerchantBUser.getMerchantId()); | merchantSubsidy.setMerchantId(wxMerchantBUser.getMerchantId()); | ||||
| merchantSubsidy.setCouponOrderId(0L); | merchantSubsidy.setCouponOrderId(0L); | ||||
| merchantSubsidy.setCouponType(0); | merchantSubsidy.setCouponType(0); | ||||
| merchantSubsidy.setOrderPayment(record.getPayAmount()); | |||||
| merchantSubsidy.setReceiverPayment(record.getPayAmount()); | |||||
| merchantSubsidy.setRealPayment(record.getPayAmount()); | |||||
| merchantSubsidy.setSubsidy(record.getPayAmount()); | |||||
| merchantSubsidy.setRealSubsidy(record.getPayAmount()); | |||||
| if (null == record.getPayAmount()) { | |||||
| merchantSubsidy.setOrderPayment(order.getPayment()); | |||||
| merchantSubsidy.setReceiverPayment(order.getPayment()); | |||||
| merchantSubsidy.setRealPayment(order.getPayment()); | |||||
| merchantSubsidy.setSubsidy(order.getPayment()); | |||||
| merchantSubsidy.setRealSubsidy(order.getPayment()); | |||||
| }else { | |||||
| merchantSubsidy.setOrderPayment(record.getPayAmount()); | |||||
| merchantSubsidy.setReceiverPayment(record.getPayAmount()); | |||||
| merchantSubsidy.setRealPayment(record.getPayAmount()); | |||||
| merchantSubsidy.setSubsidy(record.getPayAmount()); | |||||
| merchantSubsidy.setRealSubsidy(record.getPayAmount()); | |||||
| } | |||||
| merchantSubsidy.setCreateDate(curDate); | merchantSubsidy.setCreateDate(curDate); | ||||
| merchantSubsidy.setUpdateDate(curDate); | merchantSubsidy.setUpdateDate(curDate); | ||||
| merchantSubsidy.setStatus(EnumMerchantSubsidyStatus.NOT_SUBSIDY.getCode()); | merchantSubsidy.setStatus(EnumMerchantSubsidyStatus.NOT_SUBSIDY.getCode()); | ||||
| merchantSubsidy.setType(EnumMerchantSubsidyType.WECHAT.getCode()); | merchantSubsidy.setType(EnumMerchantSubsidyType.WECHAT.getCode()); | ||||
| merchantSubsidy.setSource(EnumMerchantSubsidySource.CASHIER.getCode()); | merchantSubsidy.setSource(EnumMerchantSubsidySource.CASHIER.getCode()); | ||||
| wxMerchantSubsidyMapper.insert(merchantSubsidy); | wxMerchantSubsidyMapper.insert(merchantSubsidy); | ||||
| if (freshMerchantCash) { | |||||
| WxMerchant merchant = wxMerchantMapper.selectById(wxMerchantBUser.getMerchantId()); | |||||
| merchant.setCashOutNumber(merchantSubsidy.getRealPayment()); | |||||
| wxMerchantMapper.increaseCash(merchant); | |||||
| } | |||||
| } | } | ||||
| @Override | @Override | ||||