chenbiao 7 miesięcy temu
rodzic
commit
6154e97dfd
21 zmienionych plików z 90 dodań i 90 usunięć
  1. 2 2
      netflix-dao/src/main/java/com/cyksj/model/entity/ClaudeCodeUser.java
  2. 2 2
      netflix-dao/src/main/java/com/cyksj/model/entity/CodexUser.java
  3. 4 4
      netflix-dao/src/main/java/com/cyksj/model/entity/GoodsDonSku.java
  4. 4 4
      netflix-dao/src/main/java/com/cyksj/model/manage/request/ReqGoodsSkuInsert.java
  5. 2 2
      netflix-dao/src/main/java/com/cyksj/model/request/codex/CodexPlanReq.java
  6. 2 2
      netflix-dao/src/main/java/com/cyksj/model/request/codex/CodexUserPackageReq.java
  7. 2 2
      netflix-dao/src/main/java/com/cyksj/model/response/codex/CodexPlanResp.java
  8. 2 2
      netflix-dao/src/main/java/com/cyksj/model/response/codex/CodexUserPackageResp.java
  9. 2 2
      netflix-dao/src/main/java/com/cyksj/model/views/ClaudeCodeUserInfoView.java
  10. 4 4
      netflix-dao/src/main/java/com/cyksj/model/views/CodexUserInfoView.java
  11. 4 4
      netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonSkuFrontView.java
  12. 6 6
      netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonSkuRenewView.java
  13. 6 6
      netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonSkuView.java
  14. 6 6
      netflix-dao/src/main/java/com/cyksj/model/views/RenewUpgradePackageFrontView.java
  15. 4 4
      netflix-dao/src/main/java/com/cyksj/model/views/TicketRenewUpgradeView.java
  16. 6 6
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopGoodsSkuFrontView.java
  17. 1 1
      netflix-service/src/main/java/com/cyksj/service/api/ClaudeCodexApiService.java
  18. 2 2
      netflix-service/src/main/java/com/cyksj/service/api/impl/ClaudeCodexApiServiceImpl.java
  19. 15 15
      netflix-service/src/main/java/com/cyksj/service/claude/impl/ClaudeCodeServiceImpl.java
  20. 1 1
      netflix-service/src/main/java/com/cyksj/service/codex/CodexService.java
  21. 13 13
      netflix-service/src/main/java/com/cyksj/service/codex/impl/CodexServiceImpl.java

+ 2 - 2
netflix-dao/src/main/java/com/cyksj/model/entity/ClaudeCodeUser.java

@@ -37,10 +37,10 @@ public class ClaudeCodeUser extends BaseEntity{
 	private Integer claudeDailyLimit;
 
 	/**
-	 * Claude code 服务总额度
+	 * Claude code 永久余额 (USD)
 	 */
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
-	private Integer claudeQuota;
+	private Integer claudePermanentBalance;
 
 	/**
 	 * code 有效期

+ 2 - 2
netflix-dao/src/main/java/com/cyksj/model/entity/CodexUser.java

@@ -34,10 +34,10 @@ public class CodexUser extends BaseEntity {
     private Integer openaiDailyLimit;
     
     /**
-     * 每月预算上限
+     * OpenAI 永久余额 (USD)
      */
     @TableField(updateStrategy = FieldStrategy.IGNORED)
-    private Integer openaiQuota;
+    private Integer openaiPermanentBalance;
     
     /**
      * 座位ID

+ 4 - 4
netflix-dao/src/main/java/com/cyksj/model/entity/GoodsDonSku.java

@@ -317,10 +317,10 @@ public class GoodsDonSku extends BaseEntity {
     private Integer claudeDailyLimit;
 
     /**
-     * Claude code 服务总额度
+     * Claude code 永久余额 (USD)
      */
     @TableField(updateStrategy = FieldStrategy.IGNORED)
-    private Integer claudeQuota;
+    private Integer claudePermanentBalance;
 
     /**
      * nano总配额次数
@@ -351,10 +351,10 @@ public class GoodsDonSku extends BaseEntity {
     private Integer openaiDailyLimit;
 
     /**
-     * 每月预算上限
+     * OpenAI 永久余额 (USD)
      */
     @TableField(updateStrategy = FieldStrategy.IGNORED)
-    private Integer openaiQuota;
+    private Integer openaiPermanentBalance;
 
     /**
      * 是否坐满规格就下架车队 默认false

+ 4 - 4
netflix-dao/src/main/java/com/cyksj/model/manage/request/ReqGoodsSkuInsert.java

@@ -197,9 +197,9 @@ public class ReqGoodsSkuInsert {
         private Integer claudeDailyLimit;
 
         /**
-         * Claude code 服务总额度
+         * Claude code 永久余额 (USD)
          */
-        private Integer claudeQuota;
+        private Integer claudePermanentBalance;
 
         /**
          * nano总配额次数
@@ -227,9 +227,9 @@ public class ReqGoodsSkuInsert {
         private Integer openaiDailyLimit;
 
         /**
-         * 每月预算上限
+         * OpenAI 永久余额 (USD)
          */
-        private Integer openaiQuota;
+        private Integer openaiPermanentBalance;
 
         private Boolean isDown;
 

+ 2 - 2
netflix-dao/src/main/java/com/cyksj/model/request/codex/CodexPlanReq.java

@@ -21,7 +21,7 @@ public class CodexPlanReq {
     private Integer openaiDailyLimit;
     
     /**
-     * 每月预算上限
+     * OpenAI 永久余额 (USD)
      */
-    private Integer openaiQuota;
+    private Integer openaiPermanentBalance;
 }

+ 2 - 2
netflix-dao/src/main/java/com/cyksj/model/request/codex/CodexUserPackageReq.java

@@ -28,9 +28,9 @@ public class CodexUserPackageReq {
     private Integer openaiDailyLimit;
     
     /**
-     * 每月预算上限
+     * OpenAI 永久余额 (USD)
      */
-    private Integer openaiQuota;
+    private Integer openaiPermanentBalance;
     
     /**
      * 座位ID (内部设置,用户请求时不需要)

+ 2 - 2
netflix-dao/src/main/java/com/cyksj/model/response/codex/CodexPlanResp.java

@@ -34,7 +34,7 @@ public class CodexPlanResp {
     private Integer openaiDailyLimit;
     
     /**
-     * 每月预算上限
+     * OpenAI 永久余额 (USD)
      */
-    private Integer openaiQuota;
+    private Integer openaiPermanentBalance;
 }

+ 2 - 2
netflix-dao/src/main/java/com/cyksj/model/response/codex/CodexUserPackageResp.java

@@ -26,9 +26,9 @@ public class CodexUserPackageResp {
     private Integer openaiDailyLimit;
     
     /**
-     * 每月预算上限
+     * OpenAI 永久余额 (USD)
      */
-    private Integer openaiQuota;
+    private Integer openaiPermanentBalance;
     
     /**
      * 座位ID

+ 2 - 2
netflix-dao/src/main/java/com/cyksj/model/views/ClaudeCodeUserInfoView.java

@@ -34,9 +34,9 @@ public class ClaudeCodeUserInfoView {
 	private Integer claudeDailyLimit;
 
 	/**
-	 * Claude code 服务总额度
+	 * Claude code 永久余额 (USD)
 	 */
-	private Integer claudeQuota;
+	private Integer claudePermanentBalance;
 
 	/**
 	 * code 有效期

+ 4 - 4
netflix-dao/src/main/java/com/cyksj/model/views/CodexUserInfoView.java

@@ -32,9 +32,9 @@ public class CodexUserInfoView {
     private Integer openaiDailyLimit;
     
     /**
-     * 每月预算上限
+     * OpenAI 永久余额 (USD)
      */
-    private Integer openaiQuota;
+    private Integer openaiPermanentBalance;
 
     private Date expiryTime;
 
@@ -86,9 +86,9 @@ public class CodexUserInfoView {
         private Integer claudeDailyLimit;
 
         /**
-         * Claude code 服务总额度
+         * Claude code 永久余额 (USD)
          */
-        private Integer claudeQuota;
+        private Integer claudePermanentBalance;
         
         /**
          * code 有效期

+ 4 - 4
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonSkuFrontView.java

@@ -280,9 +280,9 @@ public class GoodsDonSkuFrontView {
 	private Integer claudeDailyLimit;
 
 	/**
-	 * Claude code 服务总额度
+	 * Claude code 永久余额 (USD)
 	 */
-	private Integer claudeQuota;
+	private Integer claudePermanentBalance;
 
 	/**
 	 * nano总配额次数
@@ -310,9 +310,9 @@ public class GoodsDonSkuFrontView {
 	private Integer openaiDailyLimit;
 
 	/**
-	 * 每月预算上限
+	 * OpenAI 永久余额 (USD)
 	 */
-	private Integer openaiQuota;
+	private Integer openaiPermanentBalance;
 
 	/**
 	 * 是否禁止奈飞检测

+ 6 - 6
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonSkuRenewView.java

@@ -134,10 +134,10 @@ public class GoodsDonSkuRenewView {
 	private Integer claudeDailyLimit;
 
 	/**
-	 * Claude code 服务总额度
+	 * Claude code 永久余额 (USD)
 	 */
-	@DbField("sku.claude_quota")
-	private Integer claudeQuota;
+	@DbField("sku.claude_permanent_balance")
+	private Integer claudePermanentBalance;
 
 	/**
 	 * cc最高约可使用次数
@@ -164,8 +164,8 @@ public class GoodsDonSkuRenewView {
 	private Integer openaiDailyLimit;
 
 	/**
-	 * 每月预算上限
+	 * OpenAI 永久余额 (USD)
 	 */
-	@DbField("sku.openai_quota")
-	private Integer openaiQuota;
+	@DbField("sku.openai_permanent_balance")
+	private Integer openaiPermanentBalance;
 }

+ 6 - 6
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonSkuView.java

@@ -78,10 +78,10 @@ public class GoodsDonSkuView {
 	private Integer claudeDailyLimit;
 
 	/**
-	 * Claude code 服务总额度
+	 * Claude code 永久余额 (USD)
 	 */
-	@DbField("gdk.claude_quota")
-	private Integer claudeQuota;
+	@DbField("gdk.claude_permanent_balance")
+	private Integer claudePermanentBalance;
 
 	/**
 	 * nano次数
@@ -114,10 +114,10 @@ public class GoodsDonSkuView {
 	private Integer openaiDailyLimit;
 
 	/**
-	 * 每月预算上限
+	 * OpenAI 永久余额 (USD)
 	 */
-	@DbField("gdk.openai_quota")
-	private Integer openaiQuota;
+	@DbField("gdk.openai_permanent_balance")
+	private Integer openaiPermanentBalance;
 
 	/**
 	 * 优惠券id

+ 6 - 6
netflix-dao/src/main/java/com/cyksj/model/views/RenewUpgradePackageFrontView.java

@@ -134,10 +134,10 @@ public class RenewUpgradePackageFrontView {
 		private Integer claudeDailyLimit;
 
 		/**
-		 * Claude code 服务总额度
+		 * Claude code 永久余额 (USD)
 		 */
-		@DbField("sku.claude_quota")
-		private Integer claudeQuota;
+		@DbField("sku.claude_permanent_balance")
+		private Integer claudePermanentBalance;
 
 		/**
 		 * cc最高约可使用次数
@@ -164,9 +164,9 @@ public class RenewUpgradePackageFrontView {
 		private Integer openaiDailyLimit;
 
 		/**
-		 * 每月预算上限
+		 * OpenAI 永久余额 (USD)
 		 */
-		@DbField("sku.openai_quota")
-		private Integer openaiQuota;
+		@DbField("sku.openai_permanent_balance")
+		private Integer openaiPermanentBalance;
 	}
 }

+ 4 - 4
netflix-dao/src/main/java/com/cyksj/model/views/TicketRenewUpgradeView.java

@@ -117,9 +117,9 @@ public class TicketRenewUpgradeView {
 	private Integer claudeDailyLimit;
 
 	/**
-	 * Claude code 服务总额度
+	 * Claude code 永久余额 (USD)
 	 */
-	private Integer claudeQuota;
+	private Integer claudePermanentBalance;
 
 	/**
 	 * cc最高约可使用次数
@@ -137,7 +137,7 @@ public class TicketRenewUpgradeView {
 	private Integer openaiDailyLimit;
 
 	/**
-	 * 每月预算上限
+	 * OpenAI 永久余额 (USD)
 	 */
-	private Integer openaiQuota;
+	private Integer openaiPermanentBalance;
 }

+ 6 - 6
netflix-dao/src/main/java/com/cyksj/model/views/YhShopGoodsSkuFrontView.java

@@ -242,10 +242,10 @@ public class YhShopGoodsSkuFrontView {
 	private Integer claudeDailyLimit;
 
 	/**
-	 * Claude code 服务总额度
+	 * Claude code 永久余额 (USD)
 	 */
-	@DbField("sku.claude_quota")
-	private Integer claudeQuota;
+	@DbField("sku.claude_permanent_balance")
+	private Integer claudePermanentBalance;
 
 	/**
 	 * nano总配额次数
@@ -278,8 +278,8 @@ public class YhShopGoodsSkuFrontView {
 	private Integer openaiDailyLimit;
 
 	/**
-	 * 每月预算上限
+	 * OpenAI 永久余额 (USD)
 	 */
-	@DbField("sku.openai_quota")
-	private Integer openaiQuota;
+	@DbField("sku.openai_permanent_balance")
+	private Integer openaiPermanentBalance;
 }

+ 1 - 1
netflix-service/src/main/java/com/cyksj/service/api/ClaudeCodexApiService.java

@@ -37,7 +37,7 @@ public interface ClaudeCodexApiService {
 	/**
 	 * 生成或更新codex套餐
 	 */
-	ClaudeCodeResp createOrUpdateCodexUserPackageApi(Long userId, String planName, Integer openaiDailyLimit, Integer openaiQuota, Date expiryTime) throws Exception;
+	ClaudeCodeResp createOrUpdateCodexUserPackageApi(Long userId, String planName, Integer openaiDailyLimit, Integer openaiPermanentBalance, Date expiryTime) throws Exception;
 
 	/**
 	 * 删除codex用户套餐

+ 2 - 2
netflix-service/src/main/java/com/cyksj/service/api/impl/ClaudeCodexApiServiceImpl.java

@@ -72,11 +72,11 @@ public class ClaudeCodexApiServiceImpl implements ClaudeCodexApiService {
 	}
 
 	@Override
-	public ClaudeCodeResp createOrUpdateCodexUserPackageApi(Long userId, String planName, Integer openaiDailyLimit, Integer openaiQuota, Date expiryTime) throws Exception {
+	public ClaudeCodeResp createOrUpdateCodexUserPackageApi(Long userId, String planName, Integer openaiDailyLimit, Integer openaiPermanentBalance, Date expiryTime) throws Exception {
 		Map<String, Object> params = new HashMap<>();
 		params.put("plan_name", planName.replaceAll(";", ""));
 		params.put("openai_daily_limit", openaiDailyLimit);
-		params.put("openai_quota", openaiQuota);
+		params.put("openai_quota", openaiPermanentBalance);
 		params.put("expire_time", DateUtil.format(expiryTime, "yyyy-MM-dd HH:mm:ss"));
 		//claude 类型
 		params.put("service_type", "openai");

+ 15 - 15
netflix-service/src/main/java/com/cyksj/service/claude/impl/ClaudeCodeServiceImpl.java

@@ -124,7 +124,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		}
 		Date expiryTime = relation.getExpiryTime();
 		Integer claudeDailyLimit = sku.getClaudeDailyLimit();
-		Integer claudeQuota = sku.getClaudeQuota();
+		Integer claudePermanentBalance = sku.getClaudePermanentBalance();
 		Long skuId = sku.getId();
 		Boolean isUpgrade = false;
 		Date renewExpiryTime = null;
@@ -142,12 +142,12 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 				isUpgrade = true;
 			}
 		}
-		generateOrUpdateClaudeCodeUser(relationUserId, relationId, claudeDailyLimit, claudeQuota, expiryTime, isUpgrade, orderId, skuId, renewExpiryTime, sku.getSpecVal(), userIdList);
+		generateOrUpdateClaudeCodeUser(relationUserId, relationId, claudeDailyLimit, claudePermanentBalance, expiryTime, isUpgrade, orderId, skuId, renewExpiryTime, sku.getSpecVal(), userIdList);
 		try {
 			//获取最新的claude code user
 			claudeCodeUser = claudeCodeUserMapper.selectOne(Wrappers.lambdaQuery(ClaudeCodeUser.class).eq(ClaudeCodeUser::getRelationId, relationId).last("limit 1"));
 			//生成claude code或更新用户套餐
-			ClaudeCodeResp codeUserPackage = createOrUpdateClaudeCodeUserPackage(relation.getUserId(), claudeCodeUser.getPlanName(), claudeCodeUser.getClaudeDailyLimit(), claudeCodeUser.getClaudeQuota(), claudeCodeUser.getExpiryTime(), claudeCodeUser.getRelationId(), sku);
+			ClaudeCodeResp codeUserPackage = createOrUpdateClaudeCodeUserPackage(relation.getUserId(), claudeCodeUser.getPlanName(), claudeCodeUser.getClaudeDailyLimit(), claudeCodeUser.getClaudePermanentBalance(), claudeCodeUser.getExpiryTime(), claudeCodeUser.getRelationId(), sku);
 			if (!Constant.SUCCESS.equals(codeUserPackage.getMessage())) {
 				//重试更新code userInfo数据
 				setClaudeCodeUserRetryUpdateInfo(relationId);
@@ -164,7 +164,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		}
 	}
 
-	private void generateOrUpdateClaudeCodeUser(Long relationUserId, Long relationId, Integer claudeDailyLimit, Integer claudeQuota, Date expiryTime, Boolean isUpgrade, Long orderId, Long renewSkuId, Date renewExpiryTime, String planName, List<Long> userIdList) {
+	private void generateOrUpdateClaudeCodeUser(Long relationUserId, Long relationId, Integer claudeDailyLimit, Integer claudePermanentBalance, Date expiryTime, Boolean isUpgrade, Long orderId, Long renewSkuId, Date renewExpiryTime, String planName, List<Long> userIdList) {
 		ClaudeCodeUser claudeCodeUser = claudeCodeUserMapper.selectOne(Wrappers.lambdaQuery(ClaudeCodeUser.class).eq(ClaudeCodeUser::getRelationId, relationId).last("limit 1"));
 		if (claudeCodeUser == null) {
 			claudeCodeUser = new ClaudeCodeUser();
@@ -175,7 +175,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 			claudeCodeUser.setRenewExpiryTime(renewExpiryTime);
 			claudeCodeUser.setPlanName(planName);
 			claudeCodeUser.setClaudeDailyLimit(claudeDailyLimit);
-			claudeCodeUser.setClaudeQuota(claudeQuota);
+			claudeCodeUser.setClaudePermanentBalance(claudePermanentBalance);
 		}
 		claudeCodeUser.setUserId(relationUserId);
 		claudeCodeUser.setRelationId(relationId);
@@ -183,7 +183,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		if (claudeCodeUser.getId() == null) {
 			claudeCodeUser.setPlanName(planName);
 			claudeCodeUser.setClaudeDailyLimit(claudeDailyLimit);
-			claudeCodeUser.setClaudeQuota(claudeQuota);
+			claudeCodeUser.setClaudePermanentBalance(claudePermanentBalance);
 			//可重置次数
 			Integer resetCount = claudeCodeUserResetRecordMapper.getUserResetCountByUserIds(userIdList);
 			if (resetCount != null && resetCount > 0) {
@@ -344,7 +344,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		//是否需要重试更新 cladueCode userInfo信息
 		if (claudeCodeUser.getIsRetry()) {
 			try {
-				ClaudeCodeResp codeUserPackage = createOrUpdateClaudeCodeUserPackage(claudeCodeUser.getUserId(), claudeCodeUser.getPlanName(), claudeCodeUser.getClaudeDailyLimit(), claudeCodeUser.getClaudeQuota(), claudeCodeUser.getExpiryTime(), claudeCodeUser.getRelationId(), sku);
+				ClaudeCodeResp codeUserPackage = createOrUpdateClaudeCodeUserPackage(claudeCodeUser.getUserId(), claudeCodeUser.getPlanName(), claudeCodeUser.getClaudeDailyLimit(), claudeCodeUser.getClaudePermanentBalance(), claudeCodeUser.getExpiryTime(), claudeCodeUser.getRelationId(), sku);
 				if (!Constant.SUCCESS.equals(codeUserPackage.getMessage())) {
 					claudeCodeUser.setIsRetry(Boolean.TRUE);
 					claudeCodeUserMapper.updateById(claudeCodeUser);
@@ -365,7 +365,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 						.relationId(claudeCodeUser.getRelationId())
 						.planName(sku.getCodexPlanName())
 						.openaiDailyLimit(sku.getOpenaiDailyLimit())
-						.openaiQuota(sku.getOpenaiQuota())
+						.openaiPermanentBalance(sku.getOpenaiPermanentBalance())
 						.expiryTime(claudeCodeUser.getExpiryTime()).build();
 				codexService.createOrUpdateUserPackage(codexPackageReq);
 			}
@@ -374,7 +374,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 				.planName(claudeCodeUser.getPlanName())
 				.relationId(claudeCodeUser.getRelationId())
 				.claudeDailyLimit(claudeCodeUser.getClaudeDailyLimit())
-				.claudeQuota(claudeCodeUser.getClaudeQuota())
+				.claudePermanentBalance(claudeCodeUser.getClaudePermanentBalance())
 				.expiryTime(claudeCodeUser.getExpiryTime())
 				.skuId(groupsRelationMirrorView.getSkuId())
 				.renewSkuId(claudeCodeUser.getRenewSkuId())
@@ -384,16 +384,16 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 				.build();
 	}
 
-	public ClaudeCodeResp createOrUpdateClaudeCodeUserPackage(Long userId, String planName, Integer claudeDailyLimit, Integer claudeQuota, Date expiryTime, Long relationId, GoodsDonSku sku) throws Exception {
+	public ClaudeCodeResp createOrUpdateClaudeCodeUserPackage(Long userId, String planName, Integer claudeDailyLimit, Integer claudePermanentBalance, Date expiryTime, Long relationId, GoodsDonSku sku) throws Exception {
 		Map<String, Object> parmas = new HashMap<>();
 		parmas.put("plan_name", planName.replaceAll(";", ""));
 		parmas.put("claude_daily_limit", claudeDailyLimit);
-		parmas.put("claude_quota", claudeQuota);
+		parmas.put("claude_quota", claudePermanentBalance);
 		//服务类型
 		parmas.put("service_type", "claude");
 		if (sku != null && sku.getIsCodex()) {
 			parmas.put("openai_daily_limit", sku.getOpenaiDailyLimit());
-			parmas.put("openai_quota", sku.getOpenaiQuota());
+			parmas.put("openai_quota", sku.getOpenaiPermanentBalance());
 			//组合
 			parmas.put("service_type", "combined");
 		} else {
@@ -415,7 +415,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 						.relationId(relationId)
 						.planName(sku.getCodexPlanName())
 						.openaiDailyLimit(sku.getOpenaiDailyLimit())
-						.openaiQuota(sku.getOpenaiQuota())
+						.openaiPermanentBalance(sku.getOpenaiPermanentBalance())
 						.expiryTime(expiryTime).build();
 				codexService.createOrUpdateUserPackage(codexPackageReq);
 			} else {
@@ -441,7 +441,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 	@Override
 	public void updateClaudeCodeUserPackageInfo(ClaudeCodeUser claudeCodeUser, Date expiryTime, GoodsDonSku sku) {
 		try {
-			ClaudeCodeResp codeUserPackage = createOrUpdateClaudeCodeUserPackage(claudeCodeUser.getUserId(), claudeCodeUser.getPlanName(), claudeCodeUser.getClaudeDailyLimit(), claudeCodeUser.getClaudeQuota(), expiryTime, claudeCodeUser.getRelationId(), sku);
+			ClaudeCodeResp codeUserPackage = createOrUpdateClaudeCodeUserPackage(claudeCodeUser.getUserId(), claudeCodeUser.getPlanName(), claudeCodeUser.getClaudeDailyLimit(), claudeCodeUser.getClaudePermanentBalance(), expiryTime, claudeCodeUser.getRelationId(), sku);
 			if (!Constant.SUCCESS.equals(codeUserPackage.getMessage())) {
 				//重试标记
 				claudeCodeUser.setIsRetry(Boolean.TRUE);
@@ -1056,7 +1056,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		if (relationPresentSku == null) {
 			relationPresentSku = skuMapper.selectById(relationView.getSkuId());
 		}
-		if (upgradeSku.getClaudeQuota().intValue() < relationPresentSku.getClaudeQuota().intValue()) {
+		if (upgradeSku.getClaudePermanentBalance().intValue() < relationPresentSku.getClaudePermanentBalance().intValue()) {
 			claudeCodeDeductDto.setDeductMoney(BigDecimal.ZERO);
 			return claudeCodeDeductDto;
 		}

+ 1 - 1
netflix-service/src/main/java/com/cyksj/service/codex/CodexService.java

@@ -59,7 +59,7 @@ public interface CodexService {
      */
 	void updateCodexUserPackageInfo(CodexUser codexUser, Date expiryTime, GoodsDonSku finalSku);
 
-    ClaudeCodeResp createOrUpdateCodexUserPackageApi(Long userId, String planName, Integer openaiDailyLimit, Integer openaiQuota, Date expiryTime) throws Exception;
+    ClaudeCodeResp createOrUpdateCodexUserPackageApi(Long userId, String planName, Integer openaiDailyLimit, Integer openaiPermanentBalance, Date expiryTime) throws Exception;
 
     CodexDeductResp getDeductMoney(Long userId, Long relationId);
 

+ 13 - 13
netflix-service/src/main/java/com/cyksj/service/codex/impl/CodexServiceImpl.java

@@ -126,7 +126,7 @@ public class CodexServiceImpl implements CodexService {
 		String planName = req.getPlanName();
 		Date expiryTime = req.getExpiryTime();
 		Integer openaiDailyLimit = req.getOpenaiDailyLimit();
-		Integer openaiQuota = req.getOpenaiQuota();
+		Integer openaiPermanentBalance = req.getOpenaiPermanentBalance();
 		Long relationId = req.getRelationId();
 		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
 		CodexUser existingCodexUser = Optional.ofNullable(codexUserMapper.selectOne(Wrappers.lambdaQuery(CodexUser.class).in(CodexUser::getUserId, userIdList).last("limit 1"))).orElse(new CodexUser());
@@ -135,7 +135,7 @@ public class CodexServiceImpl implements CodexService {
 		existingCodexUser.setRelationId(relationId);
 		existingCodexUser.setUserId(userId);
 		existingCodexUser.setOpenaiDailyLimit(openaiDailyLimit);
-		existingCodexUser.setOpenaiQuota(openaiQuota);
+		existingCodexUser.setOpenaiPermanentBalance(openaiPermanentBalance);
 		existingCodexUser.setExpiryTime(expiryTime);
 
 		if (existingCodexUser.getId() == null) {
@@ -153,8 +153,8 @@ public class CodexServiceImpl implements CodexService {
 	 * 创建或更新Codex用户套餐
 	 */
 	@Override
-	public ClaudeCodeResp createOrUpdateCodexUserPackageApi(Long userId, String planName, Integer openaiDailyLimit, Integer openaiQuota, Date expiryTime) throws Exception {
-		return claudeCodexApiService.createOrUpdateCodexUserPackageApi(userId, planName, openaiDailyLimit, openaiQuota, expiryTime);
+	public ClaudeCodeResp createOrUpdateCodexUserPackageApi(Long userId, String planName, Integer openaiDailyLimit, Integer openaiPermanentBalance, Date expiryTime) throws Exception {
+		return claudeCodexApiService.createOrUpdateCodexUserPackageApi(userId, planName, openaiDailyLimit, openaiPermanentBalance, expiryTime);
 	}
 
 	@Override
@@ -370,7 +370,7 @@ public class CodexServiceImpl implements CodexService {
 		//是否需要重试更新 cladueCode userInfo信息
 		if (codexUser.getIsRetry()) {
 			try {
-				ClaudeCodeResp codeUserPackage = createOrUpdateCodexUserPackageApi(codexUser.getUserId(), codexUser.getPlanName(), codexUser.getOpenaiDailyLimit(), codexUser.getOpenaiQuota(), codexUser.getExpiryTime());
+				ClaudeCodeResp codeUserPackage = createOrUpdateCodexUserPackageApi(codexUser.getUserId(), codexUser.getPlanName(), codexUser.getOpenaiDailyLimit(), codexUser.getOpenaiPermanentBalance(), codexUser.getExpiryTime());
 				if (!Constant.SUCCESS.equals(codeUserPackage.getMessage())) {
 					codexUser.setIsRetry(Boolean.TRUE);
 					codexUserMapper.updateById(codexUser);
@@ -387,7 +387,7 @@ public class CodexServiceImpl implements CodexService {
 				.planName(codexUser.getPlanName())
 				.relationId(codexUser.getRelationId())
 				.openaiDailyLimit(codexUser.getOpenaiDailyLimit())
-				.openaiQuota(codexUser.getOpenaiQuota())
+				.openaiPermanentBalance(codexUser.getOpenaiPermanentBalance())
 				.expiryTime(codexUser.getExpiryTime())
 				.renewSkuId(Optional.ofNullable(codexUser.getRenewSkuId()).orElse(groupsRelationMirrorView.getSkuId()))
 				.renewOrderId(codexUser.getRenewOrderId())
@@ -729,7 +729,7 @@ public class CodexServiceImpl implements CodexService {
 		}
 		Date expiryTime = relation.getExpiryTime();
 		Integer openaiDailyLimit = sku.getOpenaiDailyLimit();
-		Integer openaiQuota = sku.getOpenaiQuota();
+		Integer openaiPermanentBalance = sku.getOpenaiPermanentBalance();
 		Long skuId = sku.getId();
 		Boolean isUpgrade = false;
 		Date renewExpiryTime = null;
@@ -748,13 +748,13 @@ public class CodexServiceImpl implements CodexService {
 			}
 		}
 		//更新db codexUser
-		generateOrUpdateCodexUser(relationUserId, relationId, openaiDailyLimit, openaiQuota, expiryTime, isUpgrade, orderId, skuId, renewExpiryTime, sku.getSpecVal(), userIdList, Boolean.TRUE);
+		generateOrUpdateCodexUser(relationUserId, relationId, openaiDailyLimit, openaiPermanentBalance, expiryTime, isUpgrade, orderId, skuId, renewExpiryTime, sku.getSpecVal(), userIdList, Boolean.TRUE);
 
 		try {
 			//获取最新的claude code user
 			codexUser = codexUserMapper.selectOne(Wrappers.lambdaQuery(CodexUser.class).eq(CodexUser::getRelationId, relationId).last("limit 1"));
 			//生成codex或更新用户套餐
-			ClaudeCodeResp codeUserPackage = createOrUpdateCodexUserPackageApi(relation.getUserId(), codexUser.getPlanName(), codexUser.getOpenaiDailyLimit(), codexUser.getOpenaiQuota(), codexUser.getExpiryTime());
+			ClaudeCodeResp codeUserPackage = createOrUpdateCodexUserPackageApi(relation.getUserId(), codexUser.getPlanName(), codexUser.getOpenaiDailyLimit(), codexUser.getOpenaiPermanentBalance(), codexUser.getExpiryTime());
 			if (!Constant.SUCCESS.equals(codeUserPackage.getMessage())) {
 				//重试更新code userInfo数据
 				setCodexUserRetryUpdateInfo(relationId);
@@ -770,7 +770,7 @@ public class CodexServiceImpl implements CodexService {
 	@Override
 	public void updateCodexUserPackageInfo(CodexUser codexUser, Date expiryTime, GoodsDonSku finalSku) {
 		try {
-			ClaudeCodeResp codeUserPackage = createOrUpdateCodexUserPackageApi(codexUser.getUserId(), codexUser.getPlanName(), codexUser.getOpenaiDailyLimit(), codexUser.getOpenaiQuota(), expiryTime);
+			ClaudeCodeResp codeUserPackage = createOrUpdateCodexUserPackageApi(codexUser.getUserId(), codexUser.getPlanName(), codexUser.getOpenaiDailyLimit(), codexUser.getOpenaiPermanentBalance(), expiryTime);
 			if (!Constant.SUCCESS.equals(codeUserPackage.getMessage())) {
 				//重试标记
 				codexUser.setIsRetry(Boolean.TRUE);
@@ -783,7 +783,7 @@ public class CodexServiceImpl implements CodexService {
 		}
 	}
 
-	private void generateOrUpdateCodexUser(Long relationUserId, Long relationId, Integer openaiDailyLimit, Integer openaiQuota, Date expiryTime, Boolean isUpgrade, Long orderId, Long renewSkuId, Date renewExpiryTime, String planName, List<Long> userIdList, Boolean isPay) {
+	private void generateOrUpdateCodexUser(Long relationUserId, Long relationId, Integer openaiDailyLimit, Integer openaiPermanentBalance, Date expiryTime, Boolean isUpgrade, Long orderId, Long renewSkuId, Date renewExpiryTime, String planName, List<Long> userIdList, Boolean isPay) {
 		CodexUser codexUser = Optional.ofNullable(codexUserMapper.selectOne(Wrappers.lambdaQuery(CodexUser.class).eq(CodexUser::getRelationId, relationId).last("limit 1"))).orElse(new CodexUser());
 		if (isUpgrade) {
 			codexUser.setRenewOrderId(orderId);
@@ -791,7 +791,7 @@ public class CodexServiceImpl implements CodexService {
 			codexUser.setRenewExpiryTime(renewExpiryTime);
 			codexUser.setPlanName(planName);
 			codexUser.setOpenaiDailyLimit(openaiDailyLimit);
-			codexUser.setOpenaiQuota(openaiQuota);
+			codexUser.setOpenaiPermanentBalance(openaiPermanentBalance);
 		}
 		codexUser.setIsPay(isPay);
 		codexUser.setUserId(relationUserId);
@@ -800,7 +800,7 @@ public class CodexServiceImpl implements CodexService {
 		if (codexUser.getId() == null) {
 			codexUser.setPlanName(planName);
 			codexUser.setOpenaiDailyLimit(openaiDailyLimit);
-			codexUser.setOpenaiQuota(openaiQuota);
+			codexUser.setOpenaiPermanentBalance(openaiPermanentBalance);
 		}
 		if (codexUser.getId() == null) {
 			try {