Эх сурвалжийг харах

fix 若是代充独立会员续费 增加代充次数

zoujiajian 1 жил өмнө
parent
commit
2d9727adf4

+ 6 - 0
netflix-service/src/main/java/com/cyksj/service/mange/gpt/impl/GptRechargeServiceImpl.java

@@ -63,6 +63,8 @@ public class GptRechargeServiceImpl implements GptRechargeService {
 
 	private final UserBindRelationService userBindRelationService;
 
+	private final AccountMapper accountMapper;
+
 	private static final GlobalThreadPoolTaskExecutor TASK_EXECUTOR = GlobalThreadPoolTaskExecutor.getInstance();
 
 
@@ -267,6 +269,10 @@ public class GptRechargeServiceImpl implements GptRechargeService {
 		//总代充次数
 		relation.setRechargeNum(months > num ? months : num);
 		relation.setRechargeRemainNum(num);
+		GroupsTrips groupsTrips = groupsMapper.selectById(relation.getGroupsId());
+		Account account = accountMapper.selectById(groupsTrips.getGoodsId());
+		//代充账号设置
+		relation.setAccount(account.getAccount());
 		relationMapper.updateById(relation);
 	}
 

+ 29 - 0
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -78,6 +78,7 @@ import com.cyksj.model.manage.views.UpgradeOrderDetailView;
 import com.cyksj.model.request.*;
 import com.cyksj.model.views.*;
 import com.cyksj.redis.RedisService;
+import com.cyksj.service.chatgpt.GptUserRechargeRecordService;
 import com.cyksj.service.coin.UserGalaxyCoinService;
 import com.cyksj.service.corp.WxCorpOps;
 import com.cyksj.service.coupon.CouponFontService;
@@ -380,6 +381,8 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 
 	private final OrderDonGalaxyCoinRenewRelateMapper orderDonGalaxyCoinRenewRelateMapper;
 
+	private final GptUserRechargeRecordService gptUserRechargeRecordService;
+
 	private final List<String> noChekGoodsTemp = List.of("Apple One", "Youtube", "Spotify");
 
 	@Transactional(rollbackFor = Throwable.class)
@@ -3130,6 +3133,11 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		if (isNeedReturnGalaxyCoin.get()) {
 			returnGalaxyCoin(orderDon);
 		}
+
+		//GPT独立会员续费 若为代充类型 同步代充次数
+		if (orderDon.getGoodsId() == Constant.GPT_PLUS_GID && orderDon.getOrderType() == 2) {
+			incrGroupsRelationRechargeRemainIfRecharge(orderDon.getRelationId(), sku.getNum());
+		}
 	}
 
 	private void handleUserMirrorSHopOrderDon(OrderDon orderDon) throws Exception {
@@ -5169,4 +5177,25 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			}
 		}
 	}
+
+	private void incrGroupsRelationRechargeRemainIfRecharge(Long relationId, Integer addNum) {
+		GroupsRelation relation = groupsRelationMapper.selectById(relationId);
+		if (relation.getRechargeStatus() != null) {
+			//增加代充次数
+			Integer rechargeRemainNum = relation.getRechargeRemainNum();
+			Integer rechargeNum = relation.getRechargeNum();
+			int update = 0;
+			while (update == 0) {
+				update = groupsRelationMapper.update(null, Wrappers.lambdaUpdate(GroupsRelation.class)
+						.set(GroupsRelation::getRechargeRemainNum, rechargeRemainNum + addNum)
+						.set(GroupsRelation::getRechargeNum, rechargeNum + addNum)
+						.eq(GroupsRelation::getId, relationId)
+						.eq(GroupsRelation::getRechargeRemainNum, rechargeRemainNum));
+				if (update == 1) {
+					//记录gpt代充记录
+					gptUserRechargeRecordService.recordGptUserRechargeNum(relation.getUserId(), relation.getId(), relation.getAccount(), addNum, "用户订单续费");
+				}
+			}
+		}
+	}
 }