Pārlūkot izejas kodu

是否存在cc订阅接口

zoujiajian 11 mēneši atpakaļ
vecāks
revīzija
49b804fd4a

+ 5 - 0
netflix-service/src/main/java/com/cyksj/service/claude/ClaudeCodeService.java

@@ -127,4 +127,9 @@ public interface ClaudeCodeService {
 	void adjUserRestNum(Long orderId, Long userId, Integer num, String remark);
 
 	void useDayResetCount(Long userId) throws Exception;
+
+	/**
+	 * 用户是否存在订阅
+	 */
+	Boolean getUserSubs(long userId);
 }

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

@@ -1003,6 +1003,30 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		}
 	}
 
+	@Override
+	public Boolean getUserSubs(long userId) {
+		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
+		//是否有该车票
+		GroupsRelationView groupsRelationView = beanSearcher.searchFirst(GroupsRelationView.class, MapUtils.builder()
+				.field(GroupsRelationView::getUserId, userIdList).op(Operator.InList)
+				.field(GroupsRelationView::getGoodsId, Constant.CLAUDE_CODE_GOODS_ID)
+				.field(GroupsRelationView::getExpiryTime, DateTime.now()).op(Operator.GreaterThan)
+				.build());
+		ClaudeCodeUser claudeCodeUser = claudeCodeUserMapper.selectOne(Wrappers.lambdaQuery(ClaudeCodeUser.class).in(ClaudeCodeUser::getUserId, userIdList).last("limit 1"));
+		//车票不存在
+		if (groupsRelationView == null) {
+			//套餐是否存在
+			if (claudeCodeUser != null) {
+				//清除用户套餐
+				if (delUserPackages(claudeCodeUser.getUserId())) {
+					claudeCodeUserMapper.deleteById(claudeCodeUser.getId());
+				}
+			}
+			return false;
+		}
+		return true;
+	}
+
 	private void adjClaudeCodeUserPoints(Long userId, Integer points, String type, String description) throws Exception {
 		String apiKeyUrl = String.format(CLAUDE_CODE_API_PREFIX + "api/users/%s/credits/adjust", userId);
 		Map<String, Object> parmas = new HashMap<>();

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

@@ -126,6 +126,16 @@ public class ClaudeCodeController {
 
 	//================================================用户============================================================
 
+	/**
+	 * 用户是否存在订阅
+	 */
+	@GetMapping("/get/user/subs")
+	public Result<Boolean> getUserSubs() {
+		long userId = StpUserUtil.getLoginIdAsLong();
+		Boolean flag = claudeCodeService.getUserSubs(userId);
+		return GatewayResponse.SUCCESS.newBuilder().toResult(flag);
+	}
+
 	/**
 	 * 用户订阅车票信息
 	 */