|
@@ -14,6 +14,7 @@ import cn.kdan.cloud.pdf.office.api.product.feign.ProductApi;
|
|
|
import cn.kdan.cloud.pdf.office.api.product.vo.ProductVO;
|
|
|
import cn.kdan.cloud.pdf.office.common.enums.EmailCodeTypeEnum;
|
|
|
import cn.kdan.cloud.pdf.office.common.enums.account.AccountTypeEnum;
|
|
|
+import cn.kdan.cloud.pdf.office.common.enums.account.PDFOfficeUserSubscriptionPayTypeEnum;
|
|
|
import cn.kdan.cloud.pdf.office.common.enums.account.PDFOfficeUserSubscriptionStatusEnum;
|
|
|
import cn.kdan.cloud.pdf.office.common.utils.CommonUtils;
|
|
|
import cn.kdan.cloud.pdf.office.common.utils.MyDateUtils;
|
|
@@ -259,13 +260,14 @@ public class PayCenterWebhookServiceImpl implements PayCenterWebhookService {
|
|
|
userSubscriptionInfo.setProductId(ordersVO.getProductId());
|
|
|
UserVO userVO = new UserVO();
|
|
|
userVO.setId(ordersVO.getUserId());
|
|
|
- userVO.setAccountType(AccountTypeEnum.PAID_ACCOUNT.value());
|
|
|
if(productVO.getPlatform()==3){
|
|
|
//如果是ai还要加ai点数
|
|
|
userSubscriptionInfo.setPoint(userSubscriptionInfo.getPoint()+Integer.valueOf(productVO.getPoints()));
|
|
|
if(productVO.getCode().contains("trail")){
|
|
|
userVO.setCanAccessAi("0");
|
|
|
}
|
|
|
+ } else {
|
|
|
+ userVO.setAccountType(AccountTypeEnum.PAID_ACCOUNT.value());
|
|
|
}
|
|
|
userApi.updateUser(userVO);
|
|
|
userSubscriptionInfoApi.update(userSubscriptionInfo);
|
|
@@ -305,13 +307,14 @@ public class PayCenterWebhookServiceImpl implements PayCenterWebhookService {
|
|
|
}
|
|
|
UserVO userVO = new UserVO();
|
|
|
userVO.setId(ordersVO.getUserId());
|
|
|
- userVO.setAccountType(AccountTypeEnum.PAID_ACCOUNT.value());
|
|
|
if(productVO.getPlatform()==3){
|
|
|
//如果是ai还要加ai点数
|
|
|
userSubscriptionInfo.setPoint(Integer.valueOf(productVO.getPoints()));
|
|
|
if(productVO.getCode().contains("trail")){
|
|
|
userVO.setCanAccessAi("0");
|
|
|
}
|
|
|
+ } else {
|
|
|
+ userVO.setAccountType(AccountTypeEnum.PAID_ACCOUNT.value());
|
|
|
}
|
|
|
userApi.updateUser(userVO);
|
|
|
userSubscriptionInfoApi.insert(userSubscriptionInfo);
|
|
@@ -441,6 +444,7 @@ public class PayCenterWebhookServiceImpl implements PayCenterWebhookService {
|
|
|
break;
|
|
|
case "5":
|
|
|
// 取消订阅,更新subscription
|
|
|
+ log.info("用户取消订阅,更新subscription,thirdTradeId:{}", thirdTradeId);
|
|
|
// 通过thirdTradeId更新subscription
|
|
|
Subscription serviceOne1 = subscriptionsService.getOne(new LambdaQueryWrapper<Subscription>().eq(Subscription::getThirdSubscriptionId, thirdTradeId));
|
|
|
serviceOne1.setSubscriptionType(0);
|
|
@@ -449,17 +453,18 @@ public class PayCenterWebhookServiceImpl implements PayCenterWebhookService {
|
|
|
UserSubscriptionInfo userSubscriptionInfo2 = new UserSubscriptionInfo();
|
|
|
// 查询用户订阅的信息
|
|
|
List<UserSubscriptionInfoVO> collect1 = subscriptionInfoList.stream().filter(userSubscriptionInfoVO -> userSubscriptionInfoVO.getPlatform().equals(productVO.getPlatform())).collect(Collectors.toList());
|
|
|
- if (CollectionUtils.isNotEmpty(collect1)) {
|
|
|
+ if (CollectionUtils.isEmpty(collect1)) {
|
|
|
log.error("订阅取消,用户订阅信息异常,thirdTradeId:{}", thirdTradeId);
|
|
|
break;
|
|
|
}
|
|
|
+ log.info("用户取消订阅信息:{}", collect1.get(0));
|
|
|
BeanUtil.copyProperties(collect1.get(0), userSubscriptionInfo2);
|
|
|
- userSubscriptionInfo2.setEndDate(new Date(nextBillingTime));
|
|
|
+ userSubscriptionInfo2.setPayType(PDFOfficeUserSubscriptionPayTypeEnum.NON_AUTO_SUBSCRIPTION.value());
|
|
|
userSubscriptionInfoApi.update(userSubscriptionInfo2);
|
|
|
break;
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
- log.error("获取分布式锁异常,{}", e.getMessage());
|
|
|
+ log.error("获取分布式锁异常,{}", e.getStackTrace());
|
|
|
return false;
|
|
|
} finally {
|
|
|
if (rLock.isLocked() && rLock.isHeldByCurrentThread()) {
|