zoujiajian 3 月之前
父節點
當前提交
4d6c94cd81

+ 13 - 9
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -54,7 +54,6 @@ import com.cyksj.service.chatgpt.ChatGptAuthService;
 import com.cyksj.service.claude.ClaudeCodeService;
 import com.cyksj.service.claude.ClaudeService;
 import com.cyksj.service.codex.CodexService;
-import com.cyksj.service.exchange.ExchangeCodeService;
 import com.cyksj.service.groups.GroupsFuncService;
 import com.cyksj.service.luma.LumaService;
 import com.cyksj.service.mail.CommonMailService;
@@ -79,7 +78,6 @@ import com.fasterxml.jackson.databind.JsonNode;
 import com.github.rholder.retry.*;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.ObjectProvider;
 import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -244,8 +242,6 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 
 	private final TicketRedemptionCodeRecordMapper ticketRedemptionCodeRecordMapper;
 
-	private final ObjectProvider<ExchangeCodeService> exchangeCodeServiceProvider;
-
 	private static final Date GPT_ACTIVITY_PAY_TIME_BEGIN = DateUtil.parse("2026-05-03 00:00:00");
 
 	@Override
@@ -2785,7 +2781,8 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 			Integer receivedCount = ticketRedemptionCodeRecordMapper.selectCount(Wrappers.lambdaQuery(TicketRedemptionCodeRecord.class)
 					.in(TicketRedemptionCodeRecord::getUserId, userIds)
 					.eq(TicketRedemptionCodeRecord::getSkuId, Constant.GPT_ACTIVITY_GIFT_SKU_ID)
-					.eq(TicketRedemptionCodeRecord::getSourceType, RedisKey.GPT_API_QUOTA_KEY));
+					.eq(TicketRedemptionCodeRecord::getSourceType, RedisKey.GPT_API_QUOTA_KEY)
+					.eq(TicketRedemptionCodeRecord::getStatus, "success"));
 			if (receivedCount > 0) {
 				throw BusinessRuntimeException.getInstance("您已领取");
 			}
@@ -2804,7 +2801,14 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 			GoodsDonSku giftSku = goodsDonSkuMapper.selectById(Constant.GPT_ACTIVITY_GIFT_SKU_ID);
 			GroupsRelation giftRelation = null;
 			try {
-				giftRelation = exchangeCodeServiceProvider.getObject().getGroupTripsTicket(null, giftSku, userId, null, OrderDon.Type.EX_CODE, null);
+				Long giftRelationId = getTicket(userId, giftSku.getId(), Boolean.FALSE);
+				if (giftRelationId == null) {
+					throw BusinessRuntimeException.getInstance("系统繁忙,请重新领取");
+				}
+				giftRelation = groupsRelationMapper.selectById(giftRelationId);
+				if (giftRelation == null) {
+					throw BusinessRuntimeException.getInstance("系统繁忙,请重新领取");
+				}
 				GptActivityRedeemResult redeemResult = requestGptActivityRedeemCode(Constant.AI_API_SVC_DOMAIN, giftRelation, giftSku);
 				record.setRelationId(giftRelation.getId());
 				record.setGoodsId(giftSku.getGoodsId());
@@ -2855,16 +2859,16 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 				.execute()
 				.body();
 		if (StrUtil.isBlank(response)) {
-			throw BusinessRuntimeException.getInstance("第三方兑换码接口返回为空");
+			throw BusinessRuntimeException.getInstance("系统异常,请重新兑换");
 		}
 		JsonNode responseNode = Jsons.parser().readTree(response);
 		if (!responseNode.path("success").asBoolean(false)) {
-			String message = responseNode.path("message").asText("第三方兑换码接口调用失败");
+			String message = responseNode.path("message").asText("系统异常,请重新兑换");
 			throw BusinessRuntimeException.getInstance(message);
 		}
 		JsonNode dataNode = responseNode.path("data");
 		if (!dataNode.isArray() || dataNode.size() == 0 || StrUtil.isBlank(dataNode.get(0).asText())) {
-			throw BusinessRuntimeException.getInstance("第三方兑换码接口未返回兑换码");
+			throw BusinessRuntimeException.getInstance("系统异常,请重新兑换");
 		}
 		GptActivityRedeemResult result = new GptActivityRedeemResult();
 		result.setRedeemCode(dataNode.get(0).asText());