|
|
@@ -1181,35 +1181,9 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
}
|
|
|
corpInteractiveUserOrderRelationMapper.insert(corpInteractiveUserOrderRelation);
|
|
|
}
|
|
|
- //GPT续费升级 目前升级套餐续费
|
|
|
- if (orderDon.getGoodsId() == 18 && sku.getIsMirror()) {
|
|
|
- try {
|
|
|
- //记录续费升级订单 目前升级规格续费
|
|
|
- ChatgptUser chatgptUser = chatgptUserMapper.selectOne(Wrappers.lambdaQuery(ChatgptUser.class)
|
|
|
- .eq(ChatgptUser::getRelationId, orderDon.getRelationId())
|
|
|
- .last("limit 1"));
|
|
|
- if (chatgptUser != null && tripsSkuId.intValue() != renewSkuId.intValue()) {
|
|
|
- //是续费升级的规格
|
|
|
- //全部归纳到续费升级的关联订单
|
|
|
- if (chatgptUser.getLimitNum() == sku.getGptLimitNum() && chatgptUser.getLimitTime() == sku.getGptLimitTime()) {
|
|
|
- renewUpgradeIndependentPackage = renewUpgradePackageMapper.selectOne(Wrappers.lambdaQuery(RenewUpgradePackage.class)
|
|
|
- .eq(RenewUpgradePackage::getSkuId, tripsSkuId)
|
|
|
- .apply("JSON_CONTAINS(upgrade_sku_ids,'\"" + renewSkuId + "\"')")
|
|
|
- .eq(RenewUpgradePackage::getStatus, 1)
|
|
|
- .eq(RenewUpgradePackage::getDeleted, 1)
|
|
|
- .last("limit 1"));
|
|
|
- //无优惠折扣 但订单可使用优惠码
|
|
|
- RenewUpgradePackage renewUpgradePackage = new RenewUpgradePackage();
|
|
|
- renewUpgradePackage.setId(renewUpgradeIndependentPackage.getId());
|
|
|
- renewUpgradePackage.setDiscount(BigDecimal.ONE);
|
|
|
- recordRenewOrderDon(orderDon, renewUpgradePackage, groupsTrips);
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("记录续费升级错误:{}", StringUtil.getErrorText(e));
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
+ //处理镜像规格续费目前升级的规格
|
|
|
+ handlerMirrorRenewPresentPackage(orderDon, sku, tripsSkuId, renewSkuId, groupsTrips);
|
|
|
//记录订单ip关联
|
|
|
recordOrderDonLocationRelate(orderDon.getId(), payRequest.getIp());
|
|
|
if (renewUpgradeIndependentPackage != null) {
|
|
|
@@ -4118,6 +4092,10 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
orderDon.setOriMoney(price);
|
|
|
orderDon.setRealMoney(price);
|
|
|
BigDecimal discountPrice = price.multiply(renewUpgradePackage.getDiscount());
|
|
|
+ //去掉小数
|
|
|
+ if (orderDon.getGoodsId() == 75) {
|
|
|
+ discountPrice = discountPrice.setScale(0);
|
|
|
+ }
|
|
|
orderDon.setMoney(discountPrice);
|
|
|
|
|
|
StringBuilder payTitle = new StringBuilder();
|
|
|
@@ -4516,4 +4494,58 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 处理镜像车票续费升级后的规格
|
|
|
+ */
|
|
|
+ private void handlerMirrorRenewPresentPackage(OrderDon orderDon, GoodsDonSku sku, Long tripsSkuId, Long renewSkuId, GroupsTrips groupsTrips) {
|
|
|
+ //GPT续费升级 目前升级套餐续费
|
|
|
+ //Claude pro
|
|
|
+ if ((orderDon.getGoodsId() == 18 || orderDon.getGoodsId() == 75) && sku.getIsMirror()) {
|
|
|
+ try {
|
|
|
+ //记录续费升级订单 目前升级规格续费
|
|
|
+ Integer limitNum = null;
|
|
|
+ Long limitTime = null;
|
|
|
+ if (orderDon.getGoodsId() == 18) {
|
|
|
+ ChatgptUser chatgptUser = chatgptUserMapper.selectOne(Wrappers.lambdaQuery(ChatgptUser.class)
|
|
|
+ .eq(ChatgptUser::getRelationId, orderDon.getRelationId())
|
|
|
+ .last("limit 1"));
|
|
|
+ if (chatgptUser == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ limitNum = chatgptUser.getLimitNum();
|
|
|
+ limitTime = chatgptUser.getLimitTime();
|
|
|
+ }
|
|
|
+ if (orderDon.getGoodsId() == 75) {
|
|
|
+ ClaudeUser claudeUser = claudeUserMapper.selectOne(Wrappers.lambdaQuery(ClaudeUser.class)
|
|
|
+ .eq(ClaudeUser::getRelationId, orderDon.getRelationId())
|
|
|
+ .last("limit 1"));
|
|
|
+ if (claudeUser == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ limitNum = claudeUser.getLimitNum();
|
|
|
+ limitTime = claudeUser.getLimitTime();
|
|
|
+ }
|
|
|
+ if (tripsSkuId.intValue() != renewSkuId.intValue()) {
|
|
|
+ //是续费升级的规格
|
|
|
+ //全部归纳到续费升级的关联订单
|
|
|
+ if (limitNum == sku.getGptLimitNum() && limitTime == sku.getGptLimitTime()) {
|
|
|
+ RenewUpgradePackage upgradePackage = renewUpgradePackageMapper.selectOne(Wrappers.lambdaQuery(RenewUpgradePackage.class)
|
|
|
+ .eq(RenewUpgradePackage::getSkuId, tripsSkuId)
|
|
|
+ .apply("JSON_CONTAINS(upgrade_sku_ids,'\"" + renewSkuId + "\"')")
|
|
|
+ .eq(RenewUpgradePackage::getStatus, 1)
|
|
|
+ .eq(RenewUpgradePackage::getDeleted, 1)
|
|
|
+ .last("limit 1"));
|
|
|
+ //无优惠折扣 但订单可使用优惠码
|
|
|
+ RenewUpgradePackage renewUpgradePackage = new RenewUpgradePackage();
|
|
|
+ renewUpgradePackage.setId(upgradePackage.getId());
|
|
|
+ renewUpgradePackage.setDiscount(BigDecimal.ONE);
|
|
|
+ recordRenewOrderDon(orderDon, renewUpgradePackage, groupsTrips);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("记录续费升级错误:{}", StringUtil.getErrorText(e));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|