Browse Source

fix 增加车票时长 同步codex、cc

zoujiajian 10 months ago
parent
commit
822b990858

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

@@ -388,7 +388,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		parmas.put("claude_quota", claudeQuota);
 		//服务类型
 		parmas.put("service_type", "claude");
-		if (sku.getIsCodex()) {
+		if (sku != null && sku.getIsCodex()) {
 			parmas.put("openai_daily_limit", sku.getOpenaiDailyLimit());
 			parmas.put("openai_quota", sku.getOpenaiQuota());
 			//组合
@@ -406,7 +406,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 			log.info("用户claude code用户:{}套餐:{}创建或更新失败,info:{}", userId, planName, claudeCodeResp.getMessage());
 		} else {
 			//是否赠送codex
-			if (sku.getIsCodex()) {
+			if (sku != null && sku.getIsCodex()) {
 				CodexUserPackageReq codexPackageReq = CodexUserPackageReq.builder()
 						.userId(userId)
 						.relationId(relationId)

+ 30 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/statistics/StatisticsDataController.java

@@ -31,6 +31,8 @@ import com.cyksj.model.request.BatchServiceReq;
 import com.cyksj.model.request.RedBookReq;
 import com.cyksj.model.request.RenewTimeUpReq;
 import com.cyksj.model.views.*;
+import com.cyksj.service.claude.ClaudeCodeService;
+import com.cyksj.service.codex.CodexService;
 import com.cyksj.service.mange.statistics.StatisticsDataService;
 import com.cyksj.service.relation.GroupRelationClearService;
 import com.cyksj.web.util.EasyExcelUtils;
@@ -97,6 +99,18 @@ public class StatisticsDataController {
 
 	private final HttpServletRequest request;
 
+	private final GroupsMapper groupsMapper;
+
+	private final GoodsDonSkuMapper goodsDonSkuMapper;
+
+	private final CodexUserMapper codexUserMapper;
+
+	private final CodexService codexService;
+
+	private final ClaudeCodeService claudeCodeService;
+
+	private final ClaudeCodeUserMapper claudeCodeUserMapper;
+
 	/**
 	 * 查询头部统计数据
 	 */
@@ -248,6 +262,22 @@ public class StatisticsDataController {
 		//清除车票
 		if (relation.getExpiryTime().before(DateTime.now())) {
 			clearService.clearTicket(relation, UserTicketClearedRecord.Source.manual);
+		} else {
+			Long groupsId = relation.getGroupsId();
+			GroupsTrips groupsTrips = groupsMapper.selectById(groupsId);
+			Long skuId = groupsTrips.getSkuId();
+			GoodsDonSku sku = goodsDonSkuMapper.selectById(skuId);
+			if (sku.getGoodsId() == Constant.CODEX_GOODS_ID) {
+				CodexUser codexUser = codexUserMapper.selectOne(Wrappers.lambdaQuery(CodexUser.class).eq(CodexUser::getRelationId, relation.getId()).last("limit 1"));
+				if (codexUser != null) {
+					codexService.updateCodexUserPackageInfo(codexUser, relation.getExpiryTime(), null);
+				}
+			} else if (sku.getGoodsId() == Constant.CLAUDE_CODE_GOODS_ID) {
+				ClaudeCodeUser claudeCodeUser = claudeCodeUserMapper.selectOne(Wrappers.lambdaQuery(ClaudeCodeUser.class).eq(ClaudeCodeUser::getRelationId, relation.getId()).last("limit 1"));
+				if (claudeCodeUser != null) {
+					claudeCodeService.updateClaudeCodeUserPackageInfo(claudeCodeUser, relation.getExpiryTime(), null);
+				}
+			}
 		}
 		return GatewayResponse.SUCCESS.newBuilder().toResult("增加车票有效期成功");
 	}