Parcourir la source

fix gpt代充accessToken

zoujiajian il y a 10 mois
Parent
commit
cabea9d938

+ 17 - 0
netflix-dao/src/main/java/com/cyksj/model/dto/GptCardTokenDto.java

@@ -0,0 +1,17 @@
+package com.cyksj.model.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj11111111
+ * 文件名: GptCardTokenDto
+ * 创建者: JavaZou
+ * 创建时间:2025/10/15 17:38
+ */
+
+@Getter
+@Setter
+public class GptCardTokenDto {
+	private String accessToken;
+}

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/response/NetflixErrorAccountStatus.java

@@ -28,4 +28,9 @@ public class NetflixErrorAccountStatus {
 	 * 提交检测时间
 	 */
 	private Date submitTime;
+
+	/**
+	 * 剩余车票时长
+	 */
+	private Long remainDays;
 }

+ 13 - 3
netflix-service/src/main/java/com/cyksj/server/recharge/impl/GptProxyRechargeServiceImpl.java

@@ -11,7 +11,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.task.GlobalThreadPoolTaskExecutor;
+import com.cyksj.common.util.Jsons;
 import com.cyksj.mapper.*;
+import com.cyksj.model.dto.GptCardTokenDto;
 import com.cyksj.model.entity.*;
 import com.cyksj.model.request.GroupsRelationRechargeReq;
 import com.cyksj.redis.RedisService;
@@ -238,7 +240,15 @@ public class GptProxyRechargeServiceImpl implements GptProxyRechargeService {
 			if (orderDon == null) {
 				throw BusinessRuntimeException.getInstance("代充订单不存在或已退款");
 			}
-			String accessToken = req.getAccessToken();
+			//入库token json
+			String saveTokenJson = req.getAccessToken();
+			String accessToken;
+			try {
+				GptCardTokenDto gptCardTokenDto = Jsons.parseObject(saveTokenJson, GptCardTokenDto.class);
+				accessToken = gptCardTokenDto.getAccessToken();
+			} catch (Exception e) {
+				accessToken = saveTokenJson;
+			}
 			//验证用户token是否正确
 			TokenParseResult tokenParseResult = parseToken(accessToken);
 			if (!tokenParseResult.getSuccess()) {
@@ -250,7 +260,7 @@ public class GptProxyRechargeServiceImpl implements GptProxyRechargeService {
 				throw BusinessRuntimeException.getInstance("请填入绑定账号的token");
 			}
 			//记录代充账号 token
-			relation.setGptToken(accessToken);
+			relation.setGptToken(saveTokenJson);
 			relation.setAccount(rechargeAccount);
 			//获取GPT代充key
 			//代充卡密类型
@@ -303,7 +313,7 @@ public class GptProxyRechargeServiceImpl implements GptProxyRechargeService {
 					.set(GroupsRelation::getAccount, rechargeAccount)
 					.set(GroupsRelation::getRechargeStatus, GroupsRelation.RechargeStatus.recharging)
 					.set(GroupsRelation::getCardKey, gptCardKey)
-					.set(GroupsRelation::getGptToken, accessToken)
+					.set(GroupsRelation::getGptToken, saveTokenJson)
 					.set(GroupsRelation::getGptTaskId, taskId)
 					.eq(GroupsRelation::getId, relationId));
 			return taskId;

+ 13 - 3
netflix-service/src/main/java/com/cyksj/service/mange/gpt/impl/GptRechargeServiceImpl.java

@@ -11,8 +11,10 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.task.GlobalThreadPoolTaskExecutor;
+import com.cyksj.common.util.Jsons;
 import com.cyksj.mapper.*;
 import com.cyksj.mapper.manage.cms.CmsUserMapper;
+import com.cyksj.model.dto.GptCardTokenDto;
 import com.cyksj.model.entity.*;
 import com.cyksj.model.request.GptIndependentExportRechargeReq;
 import com.cyksj.model.request.GroupsRelationRechargeReq;
@@ -158,7 +160,15 @@ public class GptRechargeServiceImpl implements GptRechargeService {
 			if (orderDon == null) {
 				throw BusinessRuntimeException.getInstance("代充订单不存在或已退款");
 			}
-			String accessToken = req.getAccessToken();
+			//入库token json
+			String saveTokenJson = req.getAccessToken();
+			String accessToken;
+			try {
+				GptCardTokenDto gptCardTokenDto = Jsons.parseObject(saveTokenJson, GptCardTokenDto.class);
+				accessToken = gptCardTokenDto.getAccessToken();
+			} catch (Exception e) {
+				accessToken = saveTokenJson;
+			}
 			//验证用户token是否正确
 			TokenParseResult tokenParseResult = parseToken(accessToken);
 			if (!tokenParseResult.getSuccess()) {
@@ -166,7 +176,7 @@ public class GptRechargeServiceImpl implements GptRechargeService {
 			}
 			String rechargeAccount = tokenParseResult.getMessage();
 			//记录代充账号 token
-			relation.setGptToken(accessToken);
+			relation.setGptToken(saveTokenJson);
 			relation.setAccount(rechargeAccount);
 			//获取GPT代充key
 			//代充卡密类型
@@ -221,7 +231,7 @@ public class GptRechargeServiceImpl implements GptRechargeService {
 					.set(StrUtil.isNotBlank(password), GroupsRelation::getPassword, password)
 					.set(GroupsRelation::getRechargeStatus, GroupsRelation.RechargeStatus.recharging)
 					.set(GroupsRelation::getCardKey, gptCardKey)
-					.set(GroupsRelation::getGptToken, accessToken)
+					.set(GroupsRelation::getGptToken, saveTokenJson)
 					.set(GroupsRelation::getGptTaskId, taskId)
 					.eq(GroupsRelation::getId, relationId));
 			return taskId;

+ 1 - 0
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -1380,6 +1380,7 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 			status.setRecoverStatus(recoverRecord.getStatus());
 			status.setSubmitTime(recoverRecord.getCreatedTime());
 		}
+		status.setRemainDays(recoverRecord.getRemainDays());
 		return status;
 	}