Jelajahi Sumber

fix 卡密判断

zoujiajian 3 bulan lalu
induk
melakukan
c1cb05b84b

+ 11 - 0
netflix-service/src/main/java/com/cyksj/service/recharge/impl/CdkRechargeServiceImpl.java

@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.task.GlobalThreadPoolTaskExecutor;
 import com.cyksj.common.util.Jsons;
+import com.cyksj.common.util.StringUtil;
 import com.cyksj.mapper.*;
 import com.cyksj.model.dto.GptCardTokenDto;
 import com.cyksj.model.entity.*;
@@ -155,6 +156,16 @@ public class CdkRechargeServiceImpl implements CdkRechargeService {
             return success;
 
         } catch (Exception e) {
+            try {
+                CdkValidateResponse cdkValidateResponse = validateCardKey(cardKey, accessToken);
+                GptCardTokenDto gptCardTokenDto = Jsons.parseObject(accessToken, GptCardTokenDto.class);
+                //卡密已使用 并且是当前账号
+                if ("used".equals(cdkValidateResponse.getStatus()) && gptCardTokenDto.getUser().getEmail().equals(cdkValidateResponse.getEmail())) {
+                    return Boolean.TRUE;
+                }
+            } catch (Exception ex) {
+                log.error("查询卡密{}失败:{}", cardKey, StringUtil.getErrorMsg(e));
+            }
             log.error("提交任务失败: {}", e.getMessage(), e);
             throw new RuntimeException("提交任务失败: " + e.getMessage(), e);
         }

+ 11 - 0
netflix-service/src/main/java/com/cyksj/service/recharge/impl/GuofenzaixianRechargeServiceImpl.java

@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.task.GlobalThreadPoolTaskExecutor;
 import com.cyksj.common.util.Jsons;
+import com.cyksj.common.util.StringUtil;
 import com.cyksj.mapper.*;
 import com.cyksj.model.dto.GptCardTokenDto;
 import com.cyksj.model.entity.*;
@@ -155,6 +156,16 @@ public class GuofenzaixianRechargeServiceImpl implements GuofenzaixianRechargeSe
             return success;
 
         } catch (Exception e) {
+            try {
+                CdkValidateResponse cdkValidateResponse = validateCardKey(cardKey, accessToken);
+                GptCardTokenDto gptCardTokenDto = Jsons.parseObject(accessToken, GptCardTokenDto.class);
+                //卡密已使用 并且是当前账号
+                if ("used".equals(cdkValidateResponse.getData().getStatus()) && gptCardTokenDto.getUser().getEmail().equals(cdkValidateResponse.getEmail())) {
+                    return Boolean.TRUE;
+                }
+            } catch (Exception ex) {
+                log.error("查询卡密{}失败:{}", cardKey, StringUtil.getErrorMsg(e));
+            }
             log.error("提交任务失败: {}", e.getMessage(), e);
             throw new RuntimeException("提交任务失败: " + e.getMessage(), e);
         }