From c9cc7936d8320ec252442d1c51c7d1817fe19f37 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Wed, 23 Oct 2019 18:15:36 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=94=B6=E9=93=B6=E5=8F=B0][=E4=BF=AE?= =?UTF-8?q?=E6=94=B9]:=E6=94=B6=E9=93=B6=E5=8F=B0=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=88=B8-=E9=A2=84=E6=A0=B8=E9=94=80=E6=92=A4=E9=94=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxPayOrderServiceImpl.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java index e09423636..60c7997e6 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -3,6 +3,7 @@ package com.iformall.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.ErrorCode; @@ -79,6 +80,9 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { @Autowired WxMerchantSubsidyMapper wxMerchantSubsidyMapper; + @Autowired + PosCouponOrderVerifyMapper posCouponOrderVerifyMapper; + JSONObject errorMap = JSON.parseObject("{" + "\"NOAUTH\":{\"detail\":\"商户无此接口权限\",\"reason\":\"商户未开通此接口权限\",\"resolution\":\"请商户前往申请此接口权限\"}," + "\"NOTENOUGH\":{\"detail\":\"余额不足\",\"reason\":\"用户帐号余额不足\",\"resolution\":\"用户帐号余额不足,请用户充值或更换支付卡后再支付\"}," + @@ -984,6 +988,50 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { logger.error("pay order update error: " + record.toString()); throw new MallinkException(ErrorCode.DB_FAIL); } + // 预核销撤回 + WxPayOrder verifyPayOrder = null; + WxPayOrder verifyPayOrderQ = new WxPayOrder(); + verifyPayOrderQ.setPayFrom(EnumOrderFrom.INSIDE.getCode()); + verifyPayOrderQ.setOrderId(record.getOrderId()); + verifyPayOrderQ.setCUserId(record.getCUserId()); + verifyPayOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode()); + try { + verifyPayOrder = wxPayOrderMapper.selectOne(new QueryWrapper<>(verifyPayOrderQ)); + } catch (Exception e) { + logger.error(e.getMessage()); + } + if (verifyPayOrder != null) { + verifyPayOrderQ = new WxPayOrder(); + verifyPayOrderQ.setId(verifyPayOrder.getId()); + verifyPayOrderQ.setPayOrderStatus(EnumPayStatus.PAY_STATUS_REVERSE.getCode()); + verifyPayOrderQ.setUpdateTime(new Date()); + try { + wxPayOrderMapper.updateById(verifyPayOrderQ); + } catch (Exception e) { + logger.error("pay order update error: " + record.toString()); + throw new MallinkException(ErrorCode.DB_FAIL); + } + + PosCouponOrderVerify posCouponOrderVerifyQ = new PosCouponOrderVerify(); + posCouponOrderVerifyQ.setCouponOrderId(verifyPayOrder.getPosPayOrderId()); + posCouponOrderVerifyQ.setPosOrderId(record.getOrderId()); + try { + posCouponOrderVerifyMapper.delete(new UpdateWrapper<>(posCouponOrderVerifyQ)); + } catch (Exception e) { + logger.error(e.getMessage()); + } + WxCouponOrder updateCouponOrder = new WxCouponOrder(); + updateCouponOrder.setId(verifyPayOrder.getPosPayOrderId()); + updateCouponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()); + updateCouponOrder.setUpdateDate(new Date()); + try { + wxCouponOrderService.saveOrUpdate(updateCouponOrder); + } catch (Exception e) { + logger.error(e.getMessage()); + } + } + // 预核销撤回-end + WxOrder order = new WxOrder(); order.setId(record.getOrderId()); order.setType(EnumOrderType.MICROPAY.getCode());