Sfoglia il codice sorgente

卡支付分账

release_toaliyun_real
Stormeye Wu 7 anni fa
parent
commit
b329d87e1f
3 ha cambiato i file con 19 aggiunte e 9 eliminazioni
  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 Vedi File

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



+ 1
- 0
mallinkService/src/main/java/com/iformall/common/ErrorCode.java Vedi File

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


+ 17
- 8
mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java Vedi File

@@ -8,6 +8,7 @@ import com.iformall.domain.dto.WxSharingOrderDto;
import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxCardSpendVo;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.*;
import com.iformall.service.WxCardSpendService;
import com.iformall.service.WxProfitSharingOrderService;
@@ -135,6 +136,14 @@ public class WxCardSpendServiceImpl implements WxCardSpendService {
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
cardInfo.setRemainingAmount(remaingAmount);
cardInfo.setRemainingShareFeeAmount(remain_real_pament);
@@ -181,12 +190,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService {
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);
}
@@ -249,10 +253,11 @@ public class WxCardSpendServiceImpl implements WxCardSpendService {
psNum = wxCardSpendMapper.selectCount(cardSpendQ);
if (psNum >= 20) {
logger.error("微信分账已超过限制次数-20次");
return;
throw new MallinkException(ErrorCode.PROFIT_SHARING_NUM_UP_LIMIT);
}
} catch (Exception e) {
logger.error(e.getMessage());
throw new MallinkException(ErrorCode.DB_FAIL);
}
// 微信分账
try {
@@ -278,7 +283,11 @@ public class WxCardSpendServiceImpl implements WxCardSpendService {
shareOrder.setTenantId(tenantId);
shareOrder.setTransactionId(cardInfo.getTransactionId());
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.getCardRemainRealAmount() > 0) {
// 卡已被抵扣,但是分账还有余额


Caricamento…
Annulla
Salva