Browse Source

fix cc可重置次数

zoujiajian 11 tháng trước cách đây
mục cha
commit
3dc0b4ebc5

+ 4 - 0
netflix-dao/src/main/java/com/cyksj/mapper/claudecode/ClaudeCodeUserResetRecordMapper.java

@@ -2,6 +2,9 @@ package com.cyksj.mapper.claudecode;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.cyksj.model.entity.ClaudeCodeUserResetRecord;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 项目名: yhlxj11111111
@@ -11,4 +14,5 @@ import com.cyksj.model.entity.ClaudeCodeUserResetRecord;
  * 描述: ClaudeCode用户重置次数记录Mapper
  */
 public interface ClaudeCodeUserResetRecordMapper extends BaseMapper<ClaudeCodeUserResetRecord> {
+	Integer getUserResetCountByUserIds(@Param("userIdList") List<Long> userIdList);
 }

+ 12 - 0
netflix-dao/src/main/resources/mapper/ClaudeCodeUserResetRecordMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.cyksj.mapper.claudecode.ClaudeCodeUserResetRecordMapper">
+
+    <select id="getUserResetCountByUserIds" resultType="java.lang.Integer">
+        select sum(num) from claude_code_user_reset_record where user_id in
+        <foreach collection="userIdList" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </select>
+</mapper>

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

@@ -143,7 +143,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 				isUpgrade = true;
 			}
 		}
-		generateOrUpdateClaudeCodeUser(relationUserId, relationId, codePoints, codeCreditRecovery, expiryTime, isUpgrade, orderId, skuId, renewExpiryTime, sku.getSpecVal());
+		generateOrUpdateClaudeCodeUser(relationUserId, relationId, codePoints, codeCreditRecovery, 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"));
@@ -165,7 +165,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		}
 	}
 
-	private void generateOrUpdateClaudeCodeUser(Long relationUserId, Long relationId, Integer codePoints, Integer codeCreditRecovery, Date expiryTime, Boolean isUpgrade, Long orderId, Long renewSkuId, Date renewExpiryTime, String planName) {
+	private void generateOrUpdateClaudeCodeUser(Long relationUserId, Long relationId, Integer codePoints, Integer codeCreditRecovery, 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();
@@ -185,6 +185,11 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 			claudeCodeUser.setPlanName(planName);
 			claudeCodeUser.setCodePoints(codePoints);
 			claudeCodeUser.setCodeCreditRecovery(codeCreditRecovery);
+			//可重置次数
+			Integer resetCount = claudeCodeUserResetRecordMapper.getUserResetCountByUserIds(userIdList);
+			if (resetCount != null && resetCount > 0) {
+				claudeCodeUser.setResetCount(resetCount);
+			}
 		}
 		if (claudeCodeUser.getId() == null) {
 			try {