zoujiajian 1 год назад
Родитель
Сommit
99ac006bee

+ 0 - 16
netflix-dao/src/main/java/com/cyksj/model/dto/UserWhoami.java

@@ -5,7 +5,6 @@ import lombok.Setter;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
-import java.util.Date;
 
 /**
  *
@@ -52,19 +51,4 @@ public class UserWhoami implements Serializable {
      * 是否是未下单的用户
      */
     private Boolean isPay;
-
-    /**
-     * 是否是vip
-     */
-    private Boolean isVip = false;
-
-    /**
-     * 会员开始时间
-     */
-    private Date vipStartTime;
-
-    /**
-     * 会员过期时间
-     */
-    private Date vipExpiryTime;
 }

+ 32 - 0
netflix-dao/src/main/java/com/cyksj/model/views/UserSyncInfoView.java

@@ -0,0 +1,32 @@
+package com.cyksj.model.views;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: UserSyncInfoView
+ * 创建者: JavaZou
+ * 创建时间:2025/5/22 11:39
+ */
+@Getter
+@Setter
+public class UserSyncInfoView {
+
+	/**
+	 * 是否是vip
+	 */
+	private Boolean isVip = false;
+
+	/**
+	 * 会员开始时间
+	 */
+	private Date vipStartTime;
+
+	/**
+	 * 会员过期时间
+	 */
+	private Date vipExpiryTime;
+}

+ 3 - 0
netflix-service/src/main/java/com/cyksj/service/user/UserService.java

@@ -9,6 +9,7 @@ import com.cyksj.model.entity.User;
 import com.cyksj.model.entity.WxSyncLog;
 import com.cyksj.model.request.LoginReq;
 import com.cyksj.model.views.UserCertInfoView;
+import com.cyksj.model.views.UserSyncInfoView;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;
@@ -70,4 +71,6 @@ public interface UserService extends IService<User> {
 	void saveEpDistributeShared(Long userId, String dsCode);
 
 	UserCertInfoView getCertOverView(long userId);
+
+	UserSyncInfoView getUserSyncInfo(long userId);
 }

+ 18 - 15
netflix-service/src/main/java/com/cyksj/service/user/impl/UserServiceImpl.java

@@ -29,10 +29,7 @@ import com.cyksj.mapper.vip.VipUserMapper;
 import com.cyksj.model.dto.*;
 import com.cyksj.model.entity.*;
 import com.cyksj.model.request.LoginReq;
-import com.cyksj.model.views.CorpUserFollowView;
-import com.cyksj.model.views.RenewalView;
-import com.cyksj.model.views.UserCertInfoView;
-import com.cyksj.model.views.UserTicketView;
+import com.cyksj.model.views.*;
 import com.cyksj.redis.RedisService;
 import com.cyksj.service.distribute.DistributeService;
 import com.cyksj.service.distribute.equipment.EquipmentDistributeService;
@@ -298,17 +295,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 				.in(OrderDon::getUserId, userIdList)
 				.notIn(OrderDon::getStatus, Constant.noOrderStatus));
 		userWhoami.setIsPay(selectCount > 0);
-
-		//是否是会员
-		VipUser vipUser = vipUserMapper.selectOne(Wrappers.lambdaQuery(VipUser.class)
-				.in(VipUser::getUserId, userIdList)
-				.gt(VipUser::getExpiryTime, DateTime.now())
-				.last("limit 1"));
-		if (vipUser != null) {
-			userWhoami.setIsVip(Boolean.TRUE);
-			userWhoami.setVipStartTime(vipUser.getStartTime());
-			userWhoami.setVipExpiryTime(vipUser.getExpiryTime());
-		}
 		return userWhoami;
     }
 
@@ -888,6 +874,23 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 		return userCertInfoView;
 	}
 
+	@Override
+	public UserSyncInfoView getUserSyncInfo(long userId) {
+		UserSyncInfoView syncInfoView = new UserSyncInfoView();
+		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
+		//是否是会员
+		VipUser vipUser = vipUserMapper.selectOne(Wrappers.lambdaQuery(VipUser.class)
+				.in(VipUser::getUserId, userIdList)
+				.gt(VipUser::getExpiryTime, DateTime.now())
+				.last("limit 1"));
+		if (vipUser != null) {
+			syncInfoView.setIsVip(Boolean.TRUE);
+			syncInfoView.setVipStartTime(vipUser.getStartTime());
+			syncInfoView.setVipExpiryTime(vipUser.getExpiryTime());
+		}
+		return syncInfoView;
+	}
+
 	/**
 	 * 处理大学生快递站用户
 	 */

+ 12 - 0
netflix-web/src/main/java/com/cyksj/web/controller/user/UserController.java

@@ -659,4 +659,16 @@ public class UserController {
         return GatewayResponse.SUCCESS.newBuilder().toResult(userCertInfoView);
     }
 
+    /**
+     * 用户同步功能信息
+     */
+    @GetMapping("/get/user/syncInfo")
+    public Result<UserSyncInfoView> getUserSyncInfo() {
+        long userId = StpUserUtil.getLoginIdAsLong();
+
+        UserSyncInfoView syncInfoView = userService.getUserSyncInfo(userId);
+
+        return GatewayResponse.SUCCESS.newBuilder().toResult(syncInfoView);
+    }
+
 }