瀏覽代碼

Merge remote-tracking branch 'origin/claude_code_func' into claude_code_func

chenbiao 1 年之前
父節點
當前提交
e66975c9e9

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

@@ -176,10 +176,11 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		if (checkClaudeCodeUser(userId)) {
 			Long claudeCodeUserId = getClaudeCodeUserId(userId);
 			String url = String.format(CLAUDE_CODE_API_PREFIX + "api/keys/%s/%s", claudeCodeUserId, keyId);
-			HttpResponse execute = HttpUtil.createRequest(Method.DELETE, url).setConnectionTimeout(CONNECT_MILLISECONDS).execute();
+			HttpResponse execute = HttpUtil.createRequest(Method.DELETE, url).header("X-Admin-Key", CLAUDE_CODE_API_ADMIN_KEY).setConnectionTimeout(CONNECT_MILLISECONDS).execute();
 			String responseBody = execute.body();
 			ClaudeCodeResp claudeCodeResp = Jsons.parseObject(responseBody, ClaudeCodeResp.class);
 			if (!Constant.SUCCESS.equals(claudeCodeResp.getMessage())) {
+				log.error("删除key失败:{}", claudeCodeResp.getMessage());
 				throw BusinessRuntimeException.getInstance("删除失败");
 			}
 		}

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

@@ -405,7 +405,7 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
         orderDon.setStatus(OrderDon.Status.refund);
         orderDonMapper.updateById(orderDon);
         //续费升级订单
-        if (orderDon.getOrderType() == 2 && sku.getIsMirror()) {
+        if (orderDon.getOrderType() == 2 && (orderDon.getGoodsId() == Constant.CLAUDE_CODE_GOODS_ID || sku.getIsMirror())) {
             mirrorUserCleatService.handleRenewUpgradeOrders(orderDon, sku);
         }
         //提交过工单的订单

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

@@ -149,7 +149,7 @@ public class MirrorUserCleatServiceImpl implements MirrorUserCleatService {
 			GroupsRelation relation = groupsRelationMapper.selectById(orderDon.getRelationId());
 			GroupsTrips groupsTrips = groupsMapper.selectById(relation.getGroupsId());
 			GoodsDonSku finalSku = skuMapper.selectById(groupsTrips.getSkuId());
-			ClaudeCodeUserRenewExpiryRecord renewExpiryRecord = claudeCodeUserRenewExpiryRecordMapper.selectOne(Wrappers.lambdaQuery(ClaudeCodeUserRenewExpiryRecord.class).eq(ClaudeCodeUserRenewExpiryRecord::getOrderId, orderId).eq(ClaudeCodeUserRenewExpiryRecord::getIsValid, Boolean.TRUE).last("limit 1"));
+			ClaudeCodeUserRenewExpiryRecord renewExpiryRecord = claudeCodeUserRenewExpiryRecordMapper.selectOne(Wrappers.lambdaQuery(ClaudeCodeUserRenewExpiryRecord.class).eq(ClaudeCodeUserRenewExpiryRecord::getOrderId, orderId).eq(ClaudeCodeUserRenewExpiryRecord::getIsValid, Boolean.FALSE).last("limit 1"));
 			Date renewExpiryTime = null;
 			claudeCodeUser.setRenewSkuId(null);
 			claudeCodeUser.setRenewOrderId(null);
@@ -167,6 +167,9 @@ public class MirrorUserCleatServiceImpl implements MirrorUserCleatService {
 					claudeCodeUser.setRenewOrderId(otherRenewRecord.getOrderId());
 					claudeCodeUser.setRenewSkuId(otherRenewRecord.getRenewSkuId());
 				}
+				//将续费有效置为过期
+				renewExpiryRecord.setIsValid(true);
+				claudeCodeUserRenewExpiryRecordMapper.updateById(renewExpiryRecord);
 			}
 			//还原镜像user
 			claudeCodeUser.setCodePoints(finalSku.getCodePoints());
@@ -175,9 +178,6 @@ public class MirrorUserCleatServiceImpl implements MirrorUserCleatService {
 			claudeCodeUser.setPlanName(finalSku.getSpecVal());
 			claudeCodeUserMapper.updateById(claudeCodeUser);
 			log.info("还原镜像claude code user套餐成功");
-			//将续费有效置为过期
-			renewExpiryRecord.setIsValid(true);
-			claudeCodeUserRenewExpiryRecordMapper.updateById(renewExpiryRecord);
 			//调用api更新claude code用户信息
 			claudeCodeService.updateClaudeCodeUserPackageInfo(claudeCodeUser);
 			return;

+ 3 - 0
netflix-web/src/main/java/com/cyksj/web/controller/claude/ClaudeCodeController.java

@@ -210,6 +210,9 @@ public class ClaudeCodeController {
 				renewUpgradePackageFrontViews.forEach(renew -> {
 					try {
 						List<Long> upgradeSkuIds = Jsons.parseList(renew.getUpgradeSkuIds(), Long.class);
+						if (user.getRenewSkuId() != null) {
+							upgradeSkuIds.remove(user.getRenewSkuId());
+						}
 						List<RenewUpgradePackageFrontView.RenewSkuView> renewSkuViews = new ArrayList<>();
 						if (CollUtil.isNotEmpty(upgradeSkuIds)) {
 							renewSkuViews = beanSearcher.searchAll(RenewUpgradePackageFrontView.RenewSkuView.class, MapUtils.builder()