From 49fb863bb3e74894262c5a4cb69dcc2e3f19c438 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Sat, 5 Jan 2019 12:51:11 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=82=A8=E5=80=BC=E5=8D=A1][=E4=BF=AE?= =?UTF-8?q?=E6=94=B9]:=E5=82=A8=E5=80=BC=E5=8D=A1=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E6=9B=B4=E6=96=B0order=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxCardSpendServiceImpl.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java index 2c222914d..b033183ca 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java @@ -119,7 +119,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { return new ResultData(ErrorCode.DB_FAIL.getCode(), "获取payAccount失败"); } - // 5. 扣减计算 + // 4. 扣减计算 Integer payment = cardInfo.getSaleAmount() * record.getDeductionAmount() / cardInfo.getAmount(); Double dChargeFee = Math.ceil(payment * 1.0D * payAccount.getRate() / 10000); Integer real_payment = payment - dChargeFee.intValue(); @@ -132,7 +132,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { remain_real_pament = cardInfo.getRemainingShareFeeAmount() - real_payment; } - // 6 insert card_spend + // 5 insert card_spend record.setId(idWorker.nextId()); record.setPayment(payment); record.setRealPayment(real_payment); @@ -150,6 +150,19 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { return new ResultData(ErrorCode.DB_FAIL.getCode(), "card spend 插入出错!"); } + // 6. update order status + WxOrder orderUpdate = new WxOrder(); + orderUpdate.setId(order.getId()); + orderUpdate.setPaymentTime(curDate); + orderUpdate.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()); + orderUpdate.setUpdateDate(curDate); + try { + wxOrderMapper.updateByPrimaryKeySelective(orderUpdate); + } catch (Exception e) { + logger.error("order update error"); + return new ResultData(ErrorCode.DB_FAIL.getCode(), "order update 出错!"); + } + // 7. update card info cardInfo.setRemainingAmount(remaingAmount); cardInfo.setRemainingShareFeeAmount(remain_real_pament);