|
|
@@ -350,6 +350,8 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
|
|
|
private final UserMirrorShopDistributeWaitingSendPointsMapper userMirrorShopDistributeWaitingSendPointsMapper;
|
|
|
|
|
|
+ private final ClaudeUserMapper claudeUserMapper;
|
|
|
+
|
|
|
private final List<String> noChekGoodsTemp = List.of("Apple One", "Youtube", "Spotify");
|
|
|
|
|
|
@Transactional(rollbackFor = Throwable.class)
|
|
|
@@ -4369,7 +4371,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
|
|
|
//镜像续费升级
|
|
|
private void handleMirrorRenew(GoodsDonSku sku, OrderDon order, GroupsTrips groupsTrips, Long relationId, Date newDate) {
|
|
|
- if (sku.getGoodsId() == 18 && sku.getIsMirror() && order.getOrderType() == 2) {
|
|
|
+ if (sku.getGoodsId() == Constant.GPT_PLUS_GID && sku.getIsMirror() && order.getOrderType() == 2) {
|
|
|
OrderDonRenewRecord orderDonRenewRecord = orderDonRenewRecordMapper.selectOne(Wrappers.lambdaQuery(OrderDonRenewRecord.class)
|
|
|
.eq(OrderDonRenewRecord::getOrderId, order.getId())
|
|
|
.last("limit 1"));
|
|
|
@@ -4393,7 +4395,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
if (chatgptUser.getRenewSkuId() != null && chatgptUser.getRenewSkuId().equals(order.getSkuId())) {
|
|
|
return;
|
|
|
}
|
|
|
- log.info("用户续费升级订单skuId:{}将用户车票relationId:{}套餐续费升级", order.getSkuId(), relationId);
|
|
|
+ log.info("GPT用户续费升级订单skuId:{}将用户车票relationId:{}套餐续费升级", order.getSkuId(), relationId);
|
|
|
chatgptUser.setLimitTime(sku.getGptLimitTime());
|
|
|
chatgptUser.setLimitNum(sku.getGptLimitNum());
|
|
|
//记录续费升级过期的时间
|
|
|
@@ -4418,6 +4420,43 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
}
|
|
|
chatgptUserMapper.updateById(chatgptUser);
|
|
|
}
|
|
|
+
|
|
|
+ //claude pro续费升级
|
|
|
+ if (sku.getGoodsId() == Constant.CLAUDE_PRO_GID && sku.getIsMirror() && order.getOrderType() == 2) {
|
|
|
+ OrderDonRenewRecord orderDonRenewRecord = orderDonRenewRecordMapper.selectOne(Wrappers.lambdaQuery(OrderDonRenewRecord.class)
|
|
|
+ .eq(OrderDonRenewRecord::getOrderId, order.getId())
|
|
|
+ .last("limit 1"));
|
|
|
+ if (orderDonRenewRecord != null) {
|
|
|
+ //升级gptUser次数
|
|
|
+ ClaudeUser claudeUser = claudeUserMapper.selectOne(Wrappers.lambdaQuery(ClaudeUser.class)
|
|
|
+ .eq(ClaudeUser::getRelationId, relationId)
|
|
|
+ .last("limit 1"));
|
|
|
+ if (claudeUser == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //同规格续费新或者同属性低规格 无需更新
|
|
|
+ if (!ObjectUtil.equal(groupsTrips.getSkuId(), order.getSkuId())) {
|
|
|
+ Long gtSkuId = groupsTrips.getSkuId();
|
|
|
+ GoodsDonSku groupsSku = goodsDonSkuMapper.selectById(gtSkuId);
|
|
|
+ //同属性 低规格 只增加车票时长
|
|
|
+ if (sku.getMonths() < groupsSku.getMonths() && sku.getGptLimitNum() == groupsSku.getGptLimitNum()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //同规格续费不处理
|
|
|
+ if (claudeUser.getRenewSkuId() != null && claudeUser.getRenewSkuId().equals(order.getSkuId())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ log.info("CLAUDE PRO用户续费升级订单skuId:{}将用户车票relationId:{}套餐续费升级", order.getSkuId(), relationId);
|
|
|
+ claudeUser.setLimitTime(sku.getGptLimitTime());
|
|
|
+ claudeUser.setLimitNum(sku.getGptLimitNum());
|
|
|
+ //记录续费升级过期的时间
|
|
|
+ claudeUser.setRenewExpiryTime(newDate);
|
|
|
+ claudeUser.setRenewOrderId(order.getId());
|
|
|
+ claudeUser.setRenewSkuId(order.getSkuId());
|
|
|
+ claudeUserMapper.updateById(claudeUser);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|