Просмотр исходного кода

[收银台][优化]:收银台支持预核销券

release_toaliyun_real
Stormeye Wu 6 лет назад
Родитель
Сommit
ca0be280d1
5 измененных файлов: 25 добавлений и 6 удалений
  1. +5
    -4
      mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java
  2. +7
    -0
      mallinkService/src/main/java/com/iformall/common/ErrorCode.java
  3. +1
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java
  4. +2
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  5. +10
    -0
      mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml

+ 5
- 4
mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java Просмотреть файл

@@ -415,6 +415,7 @@ public class WxMicroPayController extends BaseController {
}
wxCouponOrder = wxCouponOrderService.getById(couponOrderId);
}

WxPayOrder couponPayOrder = null;
Integer remainPrice = payPrice;
if (wxCouponOrder != null) {
@@ -437,12 +438,12 @@ public class WxMicroPayController extends BaseController {

if (remainPrice > 0) {
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)) {
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();


+ 7
- 0
mallinkService/src/main/java/com/iformall/common/ErrorCode.java Просмотреть файл

@@ -273,6 +273,13 @@ public enum ErrorCode{
POS_CARD_ORDER_NOT_FOUND(11113, "卡支付订单未找到"),
POS_CMD_FAIL(11200, "POS命令错误"),

/**
* B端收银台
*/
MICRO_PAY_NO_AUTHCODE(11300, "请提供微信收款码"),
MICRO_PAY_ERR_AUTHCODE(11301, "请提供微信收款码"),



/**
* 支付


+ 1
- 0
mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java Просмотреть файл

@@ -24,6 +24,7 @@ public interface WxCouponOrderMapper extends CommonMapper<WxCouponOrder, Long> {
// 券包核销
int updateVerifyCouponOrder(WxCouponOrder wxCouponOrder);
int updateVerifyCouponOrderStatus(WxCouponOrder wxCouponOrder);
int updateVerifyCouponOrderStatusForMicroPay(WxCouponOrder wxCouponOrder);
int cancelVerifyCouponOrder(WxCouponOrder wxCouponOrder);

//统一的计数接口


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java Просмотреть файл

@@ -1269,7 +1269,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
logger.error("核销异常: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
PosCouponOrderVerify vQ = new PosCouponOrderVerify();
@@ -1294,7 +1294,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
couponOrder.setBUserId(bUser.getId());
couponOrder.setVerifyType(EnumCouponVerifyType.VERIFY_B.getCode());
couponOrder.setUpdateDate(new Date());
num = wxCouponOrderMapper.updateVerifyCouponOrder(couponOrder);
num = wxCouponOrderMapper.updateVerifyCouponOrderStatusForMicroPay(couponOrder);
} catch (Exception e) {
logger.error("db failed: couponOrder-" + couponOrder.getId() + ", e:" + e.getMessage());
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage());


+ 10
- 0
mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml Просмотреть файл

@@ -121,7 +121,17 @@
<if test=" null != #{bUserId} ">
and `b_user_id` = #{bUserId}
</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 id="cancelVerifyCouponOrder" parameterType="com.iformall.domain.po.WxCouponOrder">


Загрузка…
Отмена
Сохранить