Quellcode durchsuchen

卡支付分账

release_toaliyun_real
Stormeye Wu vor 7 Jahren
Ursprung
Commit
b329d87e1f
3 geänderte Dateien mit 19 neuen und 9 gelöschten Zeilen
  1. +1
    -1
      mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java
  2. +1
    -0
      mallinkService/src/main/java/com/iformall/common/ErrorCode.java
  3. +17
    -8
      mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java

+ 1
- 1
mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java Datei anzeigen

@@ -27,7 +27,7 @@ import java.util.Map;
*/ */
@RestController @RestController
@Api(description = "C端扫B端商户码储值卡支付") @Api(description = "C端扫B端商户码储值卡支付")
@RequestMapping("/api/carday")
@RequestMapping("/api/cardPay")
public class WxCardPayController extends BaseController { public class WxCardPayController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());




+ 1
- 0
mallinkService/src/main/java/com/iformall/common/ErrorCode.java Datei anzeigen

@@ -206,6 +206,7 @@ public enum ErrorCode{
PROFIT_SHARING_QUERY_RETURN_INVALID(12036, "分账查询返回校验失败"), PROFIT_SHARING_QUERY_RETURN_INVALID(12036, "分账查询返回校验失败"),
PROFIT_SHARING_RECEIVER_ADD_FAILED(12037, "分账账户添加失败"), PROFIT_SHARING_RECEIVER_ADD_FAILED(12037, "分账账户添加失败"),
PROFIT_SHARING_RECEIVER_DEL_FAILED(12038, "分账账户删除失败"), PROFIT_SHARING_RECEIVER_DEL_FAILED(12038, "分账账户删除失败"),
PROFIT_SHARING_NUM_UP_LIMIT(12039, "分账次数超限"),
/** /**
* 核销 * 核销
*/ */


+ 17
- 8
mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java Datei anzeigen

@@ -8,6 +8,7 @@ import com.iformall.domain.dto.WxSharingOrderDto;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxCardSpendVo; import com.iformall.domain.vo.WxCardSpendVo;
import com.iformall.enums.*; import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.*; import com.iformall.mapper.*;
import com.iformall.service.WxCardSpendService; import com.iformall.service.WxCardSpendService;
import com.iformall.service.WxProfitSharingOrderService; import com.iformall.service.WxProfitSharingOrderService;
@@ -135,6 +136,14 @@ public class WxCardSpendServiceImpl implements WxCardSpendService {
return new ResultData(ErrorCode.DB_FAIL.getCode(), "card spend 插入出错!"); return new ResultData(ErrorCode.DB_FAIL.getCode(), "card spend 插入出错!");
} }


// 9. 分账
try {
shareForCardPay(record.getTenantId(), record.getCardId(), record.getOrderId(), record.getId());
} catch (MallinkException e) {
logger.error("分账失败"+ e.getMessage());
return new ResultData(e.getErrorCode(), e.getMessage());
}

// 7. update card info // 7. update card info
cardInfo.setRemainingAmount(remaingAmount); cardInfo.setRemainingAmount(remaingAmount);
cardInfo.setRemainingShareFeeAmount(remain_real_pament); cardInfo.setRemainingShareFeeAmount(remain_real_pament);
@@ -181,12 +190,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService {
return new ResultData(ErrorCode.DB_FAIL.getCode(), "merchantSubsidy info 插入出错!"); return new ResultData(ErrorCode.DB_FAIL.getCode(), "merchantSubsidy info 插入出错!");
} }
} }
// 9. 分账
try {
shareForCardPay(record.getTenantId(), record.getCardId(), record.getOrderId(), record.getId());
} catch (Exception e) {
logger.error("分账失败");
}



return new ResultData(record); return new ResultData(record);
} }
@@ -249,10 +253,11 @@ public class WxCardSpendServiceImpl implements WxCardSpendService {
psNum = wxCardSpendMapper.selectCount(cardSpendQ); psNum = wxCardSpendMapper.selectCount(cardSpendQ);
if (psNum >= 20) { if (psNum >= 20) {
logger.error("微信分账已超过限制次数-20次"); logger.error("微信分账已超过限制次数-20次");
return;
throw new MallinkException(ErrorCode.PROFIT_SHARING_NUM_UP_LIMIT);
} }
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage()); logger.error(e.getMessage());
throw new MallinkException(ErrorCode.DB_FAIL);
} }
// 微信分账 // 微信分账
try { try {
@@ -278,7 +283,11 @@ public class WxCardSpendServiceImpl implements WxCardSpendService {
shareOrder.setTenantId(tenantId); shareOrder.setTenantId(tenantId);
shareOrder.setTransactionId(cardInfo.getTransactionId()); shareOrder.setTransactionId(cardInfo.getTransactionId());
shareOrder.setShareAmount(cardSpend.getRealPayment()); shareOrder.setShareAmount(cardSpend.getRealPayment());
profitSharingOrderService.createSharingOrder(shareOrder);
ResultData resultData = profitSharingOrderService.createSharingOrder(shareOrder);
if(resultData.code != 200) {
// 分账异常
throw new MallinkException(resultData.code, resultData.message);
}
if(cardSpend.getCardRemainAmount().equals(0)) { if(cardSpend.getCardRemainAmount().equals(0)) {
if (cardSpend.getCardRemainRealAmount() > 0) { if (cardSpend.getCardRemainRealAmount() > 0) {
// 卡已被抵扣,但是分账还有余额 // 卡已被抵扣,但是分账还有余额


Laden…
Abbrechen
Speichern