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

[分账过期处理][修改]

release_toaliyun_real
Stormeye Wu 6 лет назад
Родитель
Сommit
abb22b16b6
2 измененных файлов: 21 добавлений и 3 удалений
  1. +1
    -0
      mallinkService/src/main/java/com/iformall/common/ErrorCode.java
  2. +20
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java

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

@@ -316,6 +316,7 @@ public enum ErrorCode{
PROFIT_SHARING_NUM_UP_LIMIT(12039, "分账次数超限"),
PROFIT_SHARING_QUERY_UNKNOWN_TYPE(12040, "分账查询类型不支持"),
PROFIT_SHARING_RECEIVER_UNKNOWN(12041, "收款方账户异常"),
PROFIT_SHARING_TIME_EXPIRED(12042, "分账已过期"),
/**
* 核销
*/


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

@@ -251,8 +251,10 @@ public class WxCardSpendServiceImpl implements WxCardSpendService {
shareForCardPay(record, record.getCardId(), record.getOrderId(), record.getId());
} catch (MallinkException e) {
logger.error(e.getMessage());
if (ErrorCode.PROFIT_SHARING_NUM_UP_LIMIT.getCode() == e.getErrorCode()) {
// 分账已到20次限制,后面只记录,无法分账
if (ErrorCode.PROFIT_SHARING_NUM_UP_LIMIT.getCode() == e.getErrorCode() ||
ErrorCode.PROFIT_SHARING_TIME_EXPIRED.getCode() == e.getErrorCode()) {
// 分账已到20次限制,后面只记录,不分账
// 分账已过期,后面只记录,不分账
logger.error("分账已到20次限制,后面只记录,无法分账");
try {
creteMerchantSubsidy(record, curDate, idWorker, coupon, payment);
@@ -467,6 +469,12 @@ public class WxCardSpendServiceImpl implements WxCardSpendService {
logger.error(e.getMessage());
throw new MallinkException(ErrorCode.DB_FAIL);
}
// 分账时间检查
WxCouponOrder couponOrder = wxCouponOrderMapper.selectById(cardId);
if (couponOrder.getExpiredTime().before(new Date())) {
throw new MallinkException(ErrorCode.PROFIT_SHARING_TIME_EXPIRED);
}

// 微信分账
try {
WxCardSpend cardSpend = new WxCardSpend();
@@ -862,9 +870,18 @@ public class WxCardSpendServiceImpl implements WxCardSpendService {
shareForCardPay(record, record.getCardId(), record.getOrderId(), record.getId());
} catch (MallinkException e) {
logger.error(e.getMessage());
if (ErrorCode.PROFIT_SHARING_NUM_UP_LIMIT.getCode() == e.getErrorCode()) {
if (ErrorCode.PROFIT_SHARING_NUM_UP_LIMIT.getCode() == e.getErrorCode() ||
ErrorCode.PROFIT_SHARING_TIME_EXPIRED.getCode() == e.getErrorCode()) {
// 分账已到20次限制,后面只记录,无法分账
// 分账已过期,后面只记录,无法分账
logger.error("分账已到20次限制,后面只记录,无法分账");
/*
try {
creteMerchantSubsidy(record, curDate, idWorker, coupon, payment);
} catch (Exception ex) {
logger.error("分账已到20次限制,记录到结算表失败");
}
*/
} else {
throw new MallinkException(e.getErrorCode(), e.getMessage());
}


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