zoujiajian 1 년 전
부모
커밋
7f9951763b

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

@@ -38,6 +38,8 @@ public class ClaudeCodeUserInfoView {
 	 */
 	private Date expiryTime;
 
+	private Long renewOrderId;
+
 	/**
 	 * 续费升级skuId
 	 */

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

@@ -87,4 +87,16 @@ public class GoodsDonSkuRenewView {
 	 */
 	@DbIgnore
 	private Long originalOrderId;
+
+	/**
+	 * claude code积分上限
+	 */
+	@DbField("sku.code_points")
+	private Integer codePoints;
+
+	/**
+	 * claude code每小时恢复积分
+	 */
+	@DbField("sku.code_credit_recovery")
+	private Integer codeCreditRecovery;
 }

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

@@ -80,4 +80,14 @@ public class TicketRenewUpgradeView {
 	private BigDecimal packagePrice;
 
 	private GoodsDonSkuRenewView renewSku;
+
+	/**
+	 * claude code积分上限
+	 */
+	private Integer codePoints;
+
+	/**
+	 * claude code每小时恢复积分
+	 */
+	private Integer codeCreditRecovery;
 }

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

@@ -324,6 +324,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 				.codeCreditRecovery(claudeCodeUser.getCodeCreditRecovery())
 				.expiryTime(claudeCodeUser.getExpiryTime())
 				.renewSkuId(claudeCodeUser.getRenewSkuId())
+				.renewOrderId(claudeCodeUser.getRenewOrderId())
 				.renewExpiryTime(claudeCodeUser.getRenewExpiryTime())
 				.build();
 	}

+ 32 - 2
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -45,6 +45,7 @@ import com.cyksj.model.views.*;
 import com.cyksj.redis.RedisService;
 import com.cyksj.service.chatgpt.ChatGptAccountService;
 import com.cyksj.service.chatgpt.ChatGptAuthService;
+import com.cyksj.service.claude.ClaudeCodeService;
 import com.cyksj.service.claude.ClaudeService;
 import com.cyksj.service.groups.GroupsFuncService;
 import com.cyksj.service.luma.LumaService;
@@ -204,6 +205,10 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 
 	private final ChatgptUserMapper chatgptUserMapper;
 
+	private final ClaudeCodeUserRenewExpiryRecordMapper claudeCodeUserRenewExpiryRecordMapper;
+
+	private final ClaudeCodeService claudeCodeService;
+
 	@Override
 	public SearchResult<RenewalView> getMyTicket(long userId, Boolean isLoginPopularize, String customId, String account, String orderNo, Integer cmt) {
 		User u = userMapper.selectById(userId);
@@ -1854,7 +1859,7 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 		if (groupsRelationView != null) {
 			String lang = request.getHeader("lang");
 			//clause pro
-			if (groupsRelationView.getGoodsId() == 75l) {
+			if (groupsRelationView.getGoodsId() == Constant.CLAUDE_PRO_GID) {
 				try {
 					ClaudeUserView userInfo = claudeService.getUserInfo(groupsRelationView.getUserId(), groupsRelationView.getId());
 					Long renewSkuId = userInfo.getRenewSkuId();
@@ -1868,7 +1873,7 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 				}
 			}
 
-			if (groupsRelationView.getGoodsId() == 18) {
+			if (groupsRelationView.getGoodsId() == Constant.GPT_PLUS_GID) {
 				try {
 					//gpt用户镜像
 					ChatGptUserView userInfo = chatGptAccountService.getUserInfo(groupsRelationView.getUserId(), groupsRelationView.getId());
@@ -1915,6 +1920,31 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 				} catch (Exception e) {
 				}
 			}
+			//claude code
+			if (groupsRelationView.getGoodsId() == Constant.CLAUDE_CODE_GOODS_ID) {
+				try {
+					//gpt用户镜像
+					ClaudeCodeUserInfoView userInfo = claudeCodeService.getClaudeCodeUserSubsInfo(userId);
+					ticketRenewUpgradeView.setCodePoints(userInfo.getCodePoints());
+					ticketRenewUpgradeView.setCodeCreditRecovery(userInfo.getCodeCreditRecovery());
+					ticketRenewUpgradeView.setIsRenewPackage(userInfo.getRenewSkuId() != null ? true : false);
+					Long renewSkuId = userInfo.getRenewSkuId();
+					if (renewSkuId != null) {
+						GoodsDonSkuRenewView renewSku = beanSearcher.searchFirst(GoodsDonSkuRenewView.class, MapUtils.builder().field(GoodsDonSkuRenewView::getSkuId, renewSkuId).build());
+						Optional.ofNullable(claudeCodeUserRenewExpiryRecordMapper.selectOne(Wrappers.lambdaQuery(ClaudeCodeUserRenewExpiryRecord.class)
+								.eq(ClaudeCodeUserRenewExpiryRecord::getOrderId, userInfo.getRenewOrderId())
+								.last("limit 1"))).ifPresent(e -> renewSku.setOriginalOrderId(e.getOrderId()));
+						if (lang != null && !StrUtil.equals(UserPageLanguage.Language.zh_CN.name(), lang)) {
+							String languageSpecVal = backInfoTranslationsFrontService.getLanguageSpecVal(renewSku.getSkuId(), lang);
+							if (StrUtil.isNotBlank(languageSpecVal)) {
+								renewSku.setSpecVal(languageSpecVal);
+							}
+						}
+						ticketRenewUpgradeView.setRenewSku(renewSku);
+					}
+				} catch (Exception e) {
+				}
+			}
 		}
 		return ticketRenewUpgradeView;
 	}