|
@@ -640,18 +640,21 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
|
|
|
.build();
|
|
|
|
|
|
// 缓存用户下单配置
|
|
|
- redisCacheService.saveUserOrderConfig(String.valueOf(orderReq.getUserId()), orderReq.getOrderType().getCode(), reqConfig.jsonString());
|
|
|
+ redisCacheService.saveUserOrderConfig(String.valueOf(orderReq.getUserId()), reqConfig.getMerOrderNo(), reqConfig.jsonString());
|
|
|
+
|
|
|
+ UserPaymentOrderWrapper.PaymentConfig build = UserPaymentOrderWrapper.PaymentConfig.builder()
|
|
|
+ .orderNo(orderReq.getOrderNo())
|
|
|
+ .paymentConfig(reqConfig)
|
|
|
+ .status(EPaymentStatus.WAIT_PAY.getCode())
|
|
|
+ .paymentType(paymentServiceContext.getPaymentService(orderReq.getPaymentVendor()).venderName())
|
|
|
+ .build();
|
|
|
|
|
|
// 若订单无需支付,直接完成订单,VIP购买
|
|
|
if (BigDecimal.ZERO.compareTo(orderReq.getPaymentCashAmount()) == 0) {
|
|
|
executePaymentSuccess(orderReq, null);
|
|
|
+ build.setStatus(PAID.getCode());
|
|
|
}
|
|
|
-
|
|
|
- return UserPaymentOrderWrapper.PaymentConfig.builder()
|
|
|
- .orderNo(orderReq.getOrderNo())
|
|
|
- .paymentConfig(reqConfig)
|
|
|
- .paymentType(paymentServiceContext.getPaymentService(orderReq.getPaymentVendor()).venderName())
|
|
|
- .build();
|
|
|
+ return build;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -772,7 +775,7 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
|
|
|
if (StringUtils.isNotBlank(userPaymentOrder.getTransNo())) {
|
|
|
|
|
|
// 获取缓存配置信息
|
|
|
- String paymentConfig = redisCacheService.getUserPaymentConfig(reqConfig.getUserId(), userPaymentOrder.getOrderType().getCode());
|
|
|
+ String paymentConfig = redisCacheService.getUserPaymentConfig(reqConfig.getUserId(), userPaymentOrder.getOrderNo());
|
|
|
if (StringUtils.isBlank(paymentConfig)) {
|
|
|
|
|
|
// 支付配置已失效,待支付订单状态调整为已关闭,提醒用户重新购买
|
|
@@ -830,6 +833,8 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
|
|
|
.build();
|
|
|
userPaymentOrderService.updateById(update);
|
|
|
|
|
|
+ // 缓存用户下单配置
|
|
|
+ redisCacheService.saveUserOrderConfig(String.valueOf(reqConfig.getUserId()), reqConfig.getMerOrderNo(), config.jsonString());
|
|
|
// 缓存用户支付配置信息
|
|
|
redisCacheService.saveUserPaymentConfig(reqConfig.getUserId(), userPaymentOrder.getOrderType().getCode(),
|
|
|
JSON.toJSONString(paymentReq));
|
|
@@ -964,23 +969,6 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
|
|
|
if (payTypeReq.getClientType().equals(ClientEnum.TENANT)) {
|
|
|
resp.setPaymentVersion(EPaymentVersion.V2);
|
|
|
}
|
|
|
- //检查曲目数量
|
|
|
- if(payTypeReq.getGoodType() == GoodTypeEnum.TENANT_ALBUM){
|
|
|
- //机构专辑曲目数
|
|
|
- List<TenantAlbumMusic> tenantAlbumMusiclist = tenantAlbumMusicService.lambdaQuery().eq(TenantAlbumMusic::getTenantAlbumId, payTypeReq.getBizId())
|
|
|
- .eq(TenantAlbumMusic::getDelFlag,false).list();
|
|
|
- List<Long> musicSheetIds = tenantAlbumMusiclist.stream().map(TenantAlbumMusic::getMusicSheetId).collect(Collectors.toList());
|
|
|
- if(CollectionUtils.isNotEmpty(musicSheetIds)){
|
|
|
- Integer count = musicSheetService.lambdaQuery().in(MusicSheet::getId, musicSheetIds)
|
|
|
- .eq(MusicSheet::getState, true)
|
|
|
- .eq(MusicSheet::getDelFlag, false).count();
|
|
|
- if(count < 1){
|
|
|
- throw new BizException("当前教程不可购买");
|
|
|
- }
|
|
|
- }else {
|
|
|
- throw new BizException("当前教程不可购买");
|
|
|
- }
|
|
|
- }
|
|
|
// 检测商品是属于老师,老师是否设置的结算给机构
|
|
|
|
|
|
switch (payTypeReq.getGoodType()) {
|
|
@@ -1049,8 +1037,10 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
|
|
|
if (Objects.isNull(teacher)) {
|
|
|
throw new BizException("推荐人信息不存在");
|
|
|
}
|
|
|
- if (teacher.getTenantId() != null && teacher.getTenantId() > 0 && ESettlementFrom.TENANT.equals(teacher.getSettlementFrom())) {
|
|
|
- resp.setPaymentVersion(EPaymentVersion.V2);
|
|
|
+ if (!payTypeReq.getClientType().equals(ClientEnum.TEACHER)) {
|
|
|
+ if (teacher.getTenantId() != null && teacher.getTenantId() > 0 && ESettlementFrom.TENANT.equals(teacher.getSettlementFrom())) {
|
|
|
+ resp.setPaymentVersion(EPaymentVersion.V2);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|