zoujiajian 11 mesiacov pred
rodič
commit
afc2f16a2b

+ 64 - 0
netflix-dao/src/main/java/com/cyksj/model/views/NanoUserQuotaInfoView.java

@@ -0,0 +1,64 @@
+package com.cyksj.model.views;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * 项目名: yhlxj11111111
+ * 文件名: NanoUserQuotaInfoView
+ * 创建者: JavaZou
+ * 创建时间:2025/9/4 15:19
+ */
+@Getter
+@Setter
+public class NanoUserQuotaInfoView {
+
+	/**
+	 * 用户token
+	 */
+	private String userToken;
+
+	/**
+	 * 用户唯一标识
+	 */
+	private Long uid;
+
+	private Long relationId;
+
+	/**
+	 * 用户昵称
+	 */
+	private String nickname;
+
+	/**
+	 * 用户头像URL
+	 */
+	private String avatar;
+
+	/**
+	 * 套餐类型:1基础版,2标准版,3专业版,4银河大会员
+	 */
+	private Integer packageType;
+
+	/**
+	 * 总配额次数
+	 */
+	private Integer totalQuota;
+
+	/**
+	 * 已使用配额次数
+	 */
+	private Integer usedQuota;
+
+	/**
+	 * 剩余配额次数
+	 */
+	private Integer remainingQuota;
+
+	/**
+	 * 最后使用日期
+	 */
+	private Date lastUsedDate;
+}

+ 3 - 0
netflix-service/src/main/java/com/cyksj/service/nano/NanoService.java

@@ -1,7 +1,10 @@
 package com.cyksj.service.nano;
 
+import com.cyksj.model.views.NanoUserQuotaInfoView;
+
 /**
  * Nano服务接口
  */
 public interface NanoService {
+	NanoUserQuotaInfoView getUserSubsInfo(long userId);
 }

+ 13 - 0
netflix-service/src/main/java/com/cyksj/service/nano/impl/NanoServiceImpl.java

@@ -1,8 +1,10 @@
 package com.cyksj.service.nano.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.mapper.NanoUserQuotaMapper;
 import com.cyksj.model.entity.NanoUserQuota;
+import com.cyksj.model.views.NanoUserQuotaInfoView;
 import com.cyksj.service.nano.NanoService;
 import com.cyksj.service.user.UserBindRelationService;
 import lombok.RequiredArgsConstructor;
@@ -16,4 +18,15 @@ import java.util.List;
 @Service
 @RequiredArgsConstructor
 public class NanoServiceImpl implements NanoService {
+	private final UserBindRelationService userBindRelationService;
+
+	private final NanoUserQuotaMapper nanoUserQuotaMapper;
+	@Override
+	public NanoUserQuotaInfoView getUserSubsInfo(long userId) {
+		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
+		NanoUserQuota nanoUserQuota = nanoUserQuotaMapper.selectOne(Wrappers.lambdaQuery(NanoUserQuota.class).in(NanoUserQuota::getUid, userIdList).last("limit 1"));
+		NanoUserQuotaInfoView nanoUserQuotaInfoView = new NanoUserQuotaInfoView();
+		BeanUtil.copyProperties(nanoUserQuota, nanoUserQuotaInfoView);
+		return nanoUserQuotaInfoView;
+	}
 }

+ 15 - 12
netflix-web/src/main/java/com/cyksj/web/controller/nano/NanoController.java

@@ -6,15 +6,13 @@ import com.cyksj.common.constant.Constant;
 import com.cyksj.dto.Result;
 import com.cyksj.dto.UserSharedDto;
 import com.cyksj.enums.GatewayResponse;
-import com.cyksj.mapper.GroupsMapper;
-import com.cyksj.mapper.GroupsRelationMapper;
-import com.cyksj.mapper.NanoUserQuotaMapper;
 import com.cyksj.mapper.manage.coupon.*;
 import com.cyksj.mapper.manage.distribute.UserDistributeMapper;
 import com.cyksj.model.entity.*;
 import com.cyksj.model.views.GoodsDonSkuView;
 import com.cyksj.model.views.NanoPackageView;
-import com.cyksj.service.user.UserBindRelationService;
+import com.cyksj.model.views.NanoUserQuotaInfoView;
+import com.cyksj.service.nano.NanoService;
 import com.cyksj.service.user.UserService;
 import com.cyksj.web.util.StpUserUtil;
 import com.ejlchina.searcher.BeanSearcher;
@@ -45,16 +43,10 @@ import java.util.stream.Collectors;
 public class NanoController {
 
 	private final BeanSearcher beanSearcher;
-	
-	private final HttpServletRequest request;
-
-	private final UserBindRelationService userBindRelationService;
-
-	private final NanoUserQuotaMapper nanoUserQuotaMapper;
 
-	private final GroupsRelationMapper relationMapper;
+	private final HttpServletRequest request;
 
-	private final GroupsMapper groupsMapper;
+	private final NanoService nanoService;
 
 	private final UserService userService;
 
@@ -70,6 +62,17 @@ public class NanoController {
 
 	private final CouponUserMapper couponUserMapper;
 
+
+	/**
+	 * 用户订阅车票信息
+	 */
+	@GetMapping("/get/user/subs/info")
+	public Result<NanoUserQuotaInfoView> getUserSubsInfo() {
+		long userId = StpUserUtil.getLoginIdAsLong();
+		NanoUserQuotaInfoView nanoUserQuotaInfoView = nanoService.getUserSubsInfo(userId);
+		return GatewayResponse.SUCCESS.newBuilder().toResult(nanoUserQuotaInfoView);
+	}
+
 	/**
 	 * nano可选套餐
 	 */