| @@ -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()); | |||