zoujiajian 1 rok temu
rodzic
commit
24083b5a9c

+ 2 - 1
netflix-service/src/main/java/com/cyksj/service/claude/ClaudeCodeService.java

@@ -9,6 +9,7 @@ import com.cyksj.model.response.claudecode.ClaudeCodeResp;
 import com.cyksj.model.views.ClaudeCodeUserApiKeysView;
 import com.cyksj.model.views.ClaudeCodeUserInfoView;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -53,7 +54,7 @@ public interface ClaudeCodeService {
 
 	Boolean checkClaudeCodeUser(Long userId);
 
-	void updateClaudeCodeUserPackageInfo(ClaudeCodeUser claudeCodeUser,Integer oriCodePoints, String description, String type);
+	void updateClaudeCodeUserPackageInfo(ClaudeCodeUser claudeCodeUser, Date expiryTime, Integer oriCodePoints, String description, String type);
 
 	/**
 	 * 删除用户claude code 套餐

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

@@ -116,7 +116,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 			if (orderType == 2) {
 				//记录变更积分
 				if (isUpgrade) {
-					recordCodePointsChangeRecord(claudeCodeUser.getUserId(), codePoints - thisRelationCodePoints, "升级", "adjustment");
+					recordCodePointsChangeRecord(claudeCodeUser.getUserId(), codePoints - thisRelationCodePoints, "升级" + sku.getSpecVal(), "adjustment");
 				}
 				invalidateUserCache(relationUserId);
 			}
@@ -355,20 +355,17 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 	}
 
 	@Override
-	public void updateClaudeCodeUserPackageInfo(ClaudeCodeUser claudeCodeUser, Integer oriCodePoints, String description, String type) {
+	public void updateClaudeCodeUserPackageInfo(ClaudeCodeUser claudeCodeUser, Date expiryTime, Integer amount, String description, String type) {
 		try {
-			ClaudeCodeResp codeUserPackage = createOrUpdateClaudeCodeUserPackage(claudeCodeUser.getUserId(), claudeCodeUser.getPlanName(), claudeCodeUser.getCodePoints(), claudeCodeUser.getCodeCreditRecovery(), claudeCodeUser.getExpiryTime());
+			ClaudeCodeResp codeUserPackage = createOrUpdateClaudeCodeUserPackage(claudeCodeUser.getUserId(), claudeCodeUser.getPlanName(), claudeCodeUser.getCodePoints(), claudeCodeUser.getCodeCreditRecovery(), expiryTime);
 			if (!Constant.SUCCESS.equals(codeUserPackage.getMessage())) {
-				Integer codePoints = claudeCodeUser.getCodePoints();
-				//变更积分
-				Integer amount = codePoints - oriCodePoints;
-				//记录变更积分
-				recordCodePointsChangeRecord(claudeCodeUser.getUserId(), amount, description, type);
 				//重试标记
 				claudeCodeUser.setIsRetry(Boolean.TRUE);
 				claudeCodeUserMapper.updateById(claudeCodeUser);
 				return;
 			}
+			//记录变更积分
+			recordCodePointsChangeRecord(claudeCodeUser.getUserId(), amount, description, type);
 			//刷新缓存
 			invalidateUserCache(claudeCodeUser.getUserId());
 		} catch (Exception e) {

+ 4 - 1
netflix-service/src/main/java/com/cyksj/service/mange/impl/MirrorUserCleatServiceImpl.java

@@ -181,7 +181,10 @@ public class MirrorUserCleatServiceImpl implements MirrorUserCleatService {
 			claudeCodeUserMapper.updateById(claudeCodeUser);
 			log.info("还原镜像claude code user套餐成功");
 			//调用api更新claude code用户信息
-			claudeCodeService.updateClaudeCodeUserPackageInfo(claudeCodeUser, oriCodePoints, "退款", "refund");
+			if (oriCodePoints != finalSku.getCodePoints()) {
+				Date expiryTime = relation.getExpiryTime();
+				claudeCodeService.updateClaudeCodeUserPackageInfo(claudeCodeUser, expiryTime, claudeCodeUser.getCodePoints() - oriCodePoints, "退款至" + finalSku.getSpecVal(), "refund");
+			}
 			return;
 		}
 		OrderDonRenewRecord orderDonRenewRecord = orderDonRenewRecordMapper.selectOne(Wrappers.lambdaQuery(OrderDonRenewRecord.class)