| @@ -415,6 +415,7 @@ public class WxMicroPayController extends BaseController { | |||||
| } | } | ||||
| wxCouponOrder = wxCouponOrderService.getById(couponOrderId); | wxCouponOrder = wxCouponOrderService.getById(couponOrderId); | ||||
| } | } | ||||
| WxPayOrder couponPayOrder = null; | WxPayOrder couponPayOrder = null; | ||||
| Integer remainPrice = payPrice; | Integer remainPrice = payPrice; | ||||
| if (wxCouponOrder != null) { | if (wxCouponOrder != null) { | ||||
| @@ -437,12 +438,12 @@ public class WxMicroPayController extends BaseController { | |||||
| if (remainPrice > 0) { | if (remainPrice > 0) { | ||||
| if (StringUtils.isBlank(authCode)) { | if (StringUtils.isBlank(authCode)) { | ||||
| logger.error("authCode不能为空"); | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "authCode不能为空"); | |||||
| logger.error("微信收款码/authCode不能为空"); | |||||
| return new ResultData(ErrorCode.MICRO_PAY_NO_AUTHCODE.getCode(), "请提供微信收款码"); | |||||
| } | } | ||||
| if (!checkAuthCode(authCode)) { | if (!checkAuthCode(authCode)) { | ||||
| logger.error("authCode不符合规则"); | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "authCode不符合规则"); | |||||
| logger.error("微信收款码/authCode不符合规则: {}", authCode); | |||||
| return new ResultData(ErrorCode.MICRO_PAY_ERR_AUTHCODE.getCode(), "请扫描微信收款码"); | |||||
| } | } | ||||
| WxPayOrder record = new WxPayOrder(); | WxPayOrder record = new WxPayOrder(); | ||||
| @@ -273,6 +273,13 @@ public enum ErrorCode{ | |||||
| POS_CARD_ORDER_NOT_FOUND(11113, "卡支付订单未找到"), | POS_CARD_ORDER_NOT_FOUND(11113, "卡支付订单未找到"), | ||||
| POS_CMD_FAIL(11200, "POS命令错误"), | POS_CMD_FAIL(11200, "POS命令错误"), | ||||
| /** | |||||
| * B端收银台 | |||||
| */ | |||||
| MICRO_PAY_NO_AUTHCODE(11300, "请提供微信收款码"), | |||||
| MICRO_PAY_ERR_AUTHCODE(11301, "请提供微信收款码"), | |||||
| /** | /** | ||||
| * 支付 | * 支付 | ||||
| @@ -24,6 +24,7 @@ public interface WxCouponOrderMapper extends CommonMapper<WxCouponOrder, Long> { | |||||
| // 券包核销 | // 券包核销 | ||||
| int updateVerifyCouponOrder(WxCouponOrder wxCouponOrder); | int updateVerifyCouponOrder(WxCouponOrder wxCouponOrder); | ||||
| int updateVerifyCouponOrderStatus(WxCouponOrder wxCouponOrder); | int updateVerifyCouponOrderStatus(WxCouponOrder wxCouponOrder); | ||||
| int updateVerifyCouponOrderStatusForMicroPay(WxCouponOrder wxCouponOrder); | |||||
| int cancelVerifyCouponOrder(WxCouponOrder wxCouponOrder); | int cancelVerifyCouponOrder(WxCouponOrder wxCouponOrder); | ||||
| //统一的计数接口 | //统一的计数接口 | ||||
| @@ -1269,7 +1269,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| logger.error("核销异常:updatete num " + num); | logger.error("核销异常:updatete num " + num); | ||||
| throw new MallinkException(ErrorCode.VERIFY_ERROR.getCode(), "updatete num " + num); | throw new MallinkException(ErrorCode.VERIFY_ERROR.getCode(), "updatete num " + num); | ||||
| } | } | ||||
| } else if (couponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.POS_PRE_VERIFY.getCode()) { | |||||
| } else if (couponOrder.getCouponOrderStatus().equals(EnumCouponOrderStatus.POS_PRE_VERIFY.getCode())) { | |||||
| // 券已预核销后,但是未做支付,此券还能继续使用 | // 券已预核销后,但是未做支付,此券还能继续使用 | ||||
| // 1. update posOrderId | // 1. update posOrderId | ||||
| PosCouponOrderVerify vQ = new PosCouponOrderVerify(); | PosCouponOrderVerify vQ = new PosCouponOrderVerify(); | ||||
| @@ -1294,7 +1294,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| couponOrder.setBUserId(bUser.getId()); | couponOrder.setBUserId(bUser.getId()); | ||||
| couponOrder.setVerifyType(EnumCouponVerifyType.VERIFY_B.getCode()); | couponOrder.setVerifyType(EnumCouponVerifyType.VERIFY_B.getCode()); | ||||
| couponOrder.setUpdateDate(new Date()); | couponOrder.setUpdateDate(new Date()); | ||||
| num = wxCouponOrderMapper.updateVerifyCouponOrder(couponOrder); | |||||
| num = wxCouponOrderMapper.updateVerifyCouponOrderStatusForMicroPay(couponOrder); | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error("db failed: couponOrder-" + couponOrder.getId() + ", e:" + e.getMessage()); | logger.error("db failed: couponOrder-" + couponOrder.getId() + ", e:" + e.getMessage()); | ||||
| throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | ||||
| @@ -121,7 +121,17 @@ | |||||
| <if test=" null != #{bUserId} "> | <if test=" null != #{bUserId} "> | ||||
| and `b_user_id` = #{bUserId} | and `b_user_id` = #{bUserId} | ||||
| </if> | </if> | ||||
| </update> | |||||
| <update id="updateVerifyCouponOrderStatusForMicroPay" parameterType="com.iformall.domain.po.WxCouponOrder"> | |||||
| update wx_coupon_order | |||||
| set `coupon_order_status` = #{couponOrderStatus}, | |||||
| `b_user_id` = #{bUserId}, | |||||
| `update_date` = #{updateDate}, | |||||
| `verify_type` = #{verifyType} | |||||
| where 1=1 | |||||
| and `tenant_id`=#{tenantId} | |||||
| and id=#{id} | |||||
| </update> | </update> | ||||
| <update id="cancelVerifyCouponOrder" parameterType="com.iformall.domain.po.WxCouponOrder"> | <update id="cancelVerifyCouponOrder" parameterType="com.iformall.domain.po.WxCouponOrder"> | ||||