| @@ -3,6 +3,7 @@ package com.iformall.service.impl; | |||||
| import com.alibaba.fastjson.JSON; | import com.alibaba.fastjson.JSON; | ||||
| import com.alibaba.fastjson.JSONObject; | import com.alibaba.fastjson.JSONObject; | ||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 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.PageHelper; | ||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.iformall.common.ErrorCode; | import com.iformall.common.ErrorCode; | ||||
| @@ -79,6 +80,9 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| @Autowired | @Autowired | ||||
| WxMerchantSubsidyMapper wxMerchantSubsidyMapper; | WxMerchantSubsidyMapper wxMerchantSubsidyMapper; | ||||
| @Autowired | |||||
| PosCouponOrderVerifyMapper posCouponOrderVerifyMapper; | |||||
| JSONObject errorMap = JSON.parseObject("{" + | JSONObject errorMap = JSON.parseObject("{" + | ||||
| "\"NOAUTH\":{\"detail\":\"商户无此接口权限\",\"reason\":\"商户未开通此接口权限\",\"resolution\":\"请商户前往申请此接口权限\"}," + | "\"NOAUTH\":{\"detail\":\"商户无此接口权限\",\"reason\":\"商户未开通此接口权限\",\"resolution\":\"请商户前往申请此接口权限\"}," + | ||||
| "\"NOTENOUGH\":{\"detail\":\"余额不足\",\"reason\":\"用户帐号余额不足\",\"resolution\":\"用户帐号余额不足,请用户充值或更换支付卡后再支付\"}," + | "\"NOTENOUGH\":{\"detail\":\"余额不足\",\"reason\":\"用户帐号余额不足\",\"resolution\":\"用户帐号余额不足,请用户充值或更换支付卡后再支付\"}," + | ||||
| @@ -984,6 +988,50 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| logger.error("pay order update error: " + record.toString()); | logger.error("pay order update error: " + record.toString()); | ||||
| throw new MallinkException(ErrorCode.DB_FAIL); | 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(); | WxOrder order = new WxOrder(); | ||||
| order.setId(record.getOrderId()); | order.setId(record.getOrderId()); | ||||
| order.setType(EnumOrderType.MICROPAY.getCode()); | order.setType(EnumOrderType.MICROPAY.getCode()); | ||||