|
|
@@ -1078,25 +1078,38 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
//记录订单ip关联
|
|
|
recordOrderDonLocationRelate(orderDon.getId(), payRequest.getIp());
|
|
|
//GPT续费升级 目前升级套餐续费
|
|
|
- if (payRequest.getPackageId() != null && payRequest.getPackageId() != 0 && orderDon.getGoodsId() == 18 && sku.getIsMirror()) {
|
|
|
- //记录续费升级订单 目前升级规格续费
|
|
|
- RenewUpgradePackage renewUpgradePackage = renewUpgradePackageMapper.selectById(payRequest.getPackageId());
|
|
|
- //是续费升级的规格
|
|
|
- if (renewUpgradePackage != null && renewUpgradePackage.getSkuId().intValue() == orderDon.getSkuId().intValue()) {
|
|
|
- //无优惠折扣 但订单可使用优惠码
|
|
|
- renewUpgradePackage.setDiscount(BigDecimal.ONE);
|
|
|
- recordRenewOrderDon(orderDon, renewUpgradePackage, groupsTrips);
|
|
|
- }
|
|
|
- if (renewUpgradePackage == null) {
|
|
|
- UpgradeOrderDon upgradeOrderDon = upgradeOrderDonMapper.selectOne(Wrappers.lambdaQuery(UpgradeOrderDon.class)
|
|
|
- .eq(UpgradeOrderDon::getRelationId, orderDon.getRelationId())
|
|
|
- .eq(UpgradeOrderDon::getPackageId, payRequest.getPackageId())
|
|
|
- .in(UpgradeOrderDon::getUserId, userIdList)
|
|
|
- .orderByDesc(UpgradeOrderDon::getId)
|
|
|
+ if ((payRequest.getPackageId() != null || payRequest.getOriginalOrderId() != null) && orderDon.getGoodsId() == 18 && sku.getIsMirror()) {
|
|
|
+ try {
|
|
|
+ //记录续费升级订单 目前升级规格续费
|
|
|
+ ChatgptUser chatgptUser = chatgptUserMapper.selectOne(Wrappers.lambdaQuery(ChatgptUser.class)
|
|
|
+ .eq(ChatgptUser::getRelationId, orderDon.getRelationId())
|
|
|
.last("limit 1"));
|
|
|
- if (upgradeOrderDon != null) {
|
|
|
- recordUpgradeRenewOrderDon(orderDon, upgradeOrderDon.getPackageId(), groupsTrips);
|
|
|
+ if (chatgptUser != null) {
|
|
|
+ //是续费升级的规格
|
|
|
+ if (payRequest.getOriginalOrderId() != null && chatgptUser.getRenewSkuId() != null && chatgptUser.getRenewSkuId().intValue() == orderDon.getSkuId()) {
|
|
|
+ OrderDonRenewRecord orderDonRenewRecord = orderDonRenewRecordMapper.selectOne(Wrappers.lambdaQuery(OrderDonRenewRecord.class)
|
|
|
+ .eq(OrderDonRenewRecord::getOrderId, payRequest.getOriginalOrderId()));
|
|
|
+ //无优惠折扣 但订单可使用优惠码
|
|
|
+ RenewUpgradePackage renewUpgradePackage = new RenewUpgradePackage();
|
|
|
+ renewUpgradePackage.setId(orderDonRenewRecord.getPackageId());
|
|
|
+ renewUpgradePackage.setDiscount(BigDecimal.ONE);
|
|
|
+ recordRenewOrderDon(orderDon, renewUpgradePackage, groupsTrips);
|
|
|
+ }
|
|
|
+ if (payRequest.getPackageId() != null && chatgptUser.getPackageId() != null && chatgptUser.getPackageId().intValue() == payRequest.getPackageId().intValue()) {
|
|
|
+ UpgradeOrderDon upgradeOrderDon = upgradeOrderDonMapper.selectOne(Wrappers.lambdaQuery(UpgradeOrderDon.class)
|
|
|
+ .eq(UpgradeOrderDon::getRelationId, orderDon.getRelationId())
|
|
|
+ .eq(UpgradeOrderDon::getPackageId, payRequest.getPackageId())
|
|
|
+ .in(UpgradeOrderDon::getUserId, userIdList)
|
|
|
+ .eq(UpgradeOrderDon::getStatus, UpgradeOrderDon.Status.complete)
|
|
|
+ .orderByDesc(UpgradeOrderDon::getId)
|
|
|
+ .last("limit 1"));
|
|
|
+ if (upgradeOrderDon != null) {
|
|
|
+ recordUpgradeRenewOrderDon(orderDon, upgradeOrderDon.getPackageId(), groupsTrips);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("记录续费升级错误:{}", StringUtil.getErrorText(e));
|
|
|
}
|
|
|
}
|
|
|
return orderDon;
|