Преглед изворни кода

[收银台][修改]:收银台

release_toaliyun_real
Stormeye Wu пре 6 година
родитељ
комит
a5bf2ced28
2 измењених фајлова са 33 додато и 7 уклоњено
  1. +23
    -0
      mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java
  2. +10
    -7
      mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java

+ 23
- 0
mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java Прегледај датотеку

@@ -83,6 +83,10 @@ public class WxMicroPayController extends BaseController {
logger.error("totalFee不能为空");
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "totalFee不能为空");
}
if (!checkAuthCode(authCode)) {
logger.error("authCode不符合规则");
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "authCode不符合规则");
}

String ipStr = IPUtil.getIpAddr(request);

@@ -436,6 +440,10 @@ public class WxMicroPayController extends BaseController {
logger.error("authCode不能为空");
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "authCode不能为空");
}
if (!checkAuthCode(authCode)) {
logger.error("authCode不符合规则");
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "authCode不符合规则");
}

WxPayOrder record = new WxPayOrder();
record.updateTenantInfo(user);
@@ -471,4 +479,19 @@ public class WxMicroPayController extends BaseController {
}
}
}

private Boolean checkAuthCode(String authCode) {
if (authCode.length() == 18) {
String head = authCode.substring(0, 2);
if (head.equalsIgnoreCase("10") ||
head.equalsIgnoreCase("11") ||
head.equalsIgnoreCase("12") ||
head.equalsIgnoreCase("13") ||
head.equalsIgnoreCase("14") ||
head.equalsIgnoreCase("15")) {
return true;
}
}
return false;
}
}

+ 10
- 7
mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java Прегледај датотеку

@@ -11,6 +11,7 @@ import com.iformall.common.IdWorker;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.*;
@@ -698,6 +699,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
WxPayOrder payOrder = wxPayOrderMapper.selectById(record.getId());
if (payOrder != null) {
record.setPayOrderStatus(payOrder.getPayOrderStatus());
record.setShare(payOrder.getShare());
} else {
return new ResultData(ErrorCode.PAY_ORDER_ERROR.getCode(), "payOrder not found");
}
@@ -1426,9 +1428,10 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
} else {
// 延迟10秒后分账
new Thread(() -> {
String tenantId = record.getTenantId();
TenantEntity tenantEntity = record;
Long orderId = record.getOrderId();
Long payOrderId = record.getId();
logger.info("收银台订单分账休眠10s: orderId: {}, payOrderId: {}, {}", orderId, payOrderId, tenantEntity);
try {
Thread.currentThread().sleep(10000);
} catch (Exception e) {
@@ -1436,14 +1439,14 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
}

// 支付分账
logger.info("订单分账开始: orderId: {}, payOrderId: {}", orderId, payOrderId);
logger.info("收银台订单分账开始: orderId: {}, payOrderId: {}", orderId, payOrderId);
try {
wxOrderService.shareForMicroPay(order, orderId, payOrderId);
wxOrderService.shareForMicroPay(tenantEntity, orderId, payOrderId);
} catch (MallinkException e) {
logger.error("订单分账失败: orderId: {}, payOrderId: {}", orderId, payOrderId);
logger.error("订单分账失败: " + e.getMessage());
logger.error("收银台订单分账失败: orderId: {}, payOrderId: {}", orderId, payOrderId);
logger.error("收银台订单分账失败: " + e.getMessage());
}
logger.info("订单分账结束: orderId: {}, payOrderId: {}", orderId, payOrderId);
logger.info("收银台订单分账结束: orderId: {}, payOrderId: {}", orderId, payOrderId);
}).start();
}
}
@@ -1522,7 +1525,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
merchantSubsidy.setId(idWorker.nextId());
merchantSubsidy.updateTenantInfo(order);
merchantSubsidy.setOrderId(record.getOrderId());
merchantSubsidy.setOrderType(EnumOrderType.NATIVEPAY.getCode());
merchantSubsidy.setOrderType(EnumOrderType.MICROPAY.getCode());
WxMerchantBUser wxMerchantBUser = wxMerchantBUserMapper.selectById(order.getProductId());
merchantSubsidy.setMerchantId(wxMerchantBUser.getMerchantId());
merchantSubsidy.setCouponOrderId(0L);


Loading…
Откажи
Сачувај