zoujiajian 1 år sedan
förälder
incheckning
6fa69bf28c

+ 1 - 1
netflix-dao/src/main/java/com/cyksj/model/manage/views/UserView.java

@@ -195,7 +195,7 @@ public class UserView {
     private Boolean isCert;
 
     @DbIgnore
-    private Boolean isVip;
+    private Boolean isVip = false;
 
     @DbIgnore
     private Date vipExpiryTime;

+ 8 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsUserController.java

@@ -136,6 +136,7 @@ public class CmsUserController{
         if (StrUtil.isNotBlank(otherSql)) {
             builder.put("otherConditionSql", otherSql);
         }
+        DateTime now = DateTime.now();
         SearchResult<UserView> search = beanSearcher.search(UserView.class, builder.build());
         search.getDataList().forEach(data -> {
             Long userId = data.getId();
@@ -154,6 +155,13 @@ public class CmsUserController{
             Integer selectCount = userCertRecordMapper.selectCount(Wrappers.lambdaQuery(UserCertRecord.class)
                     .eq(UserCertRecord::getUserId, userId));
             data.setIsCert(selectCount > 0 ? true : false);
+            VipUser vipUser = vipUserMapper.selectOne(Wrappers.lambdaQuery(VipUser.class)
+                    .eq(VipUser::getUserId, userId)
+                    .last("limit 1"));
+            if (vipUser != null && vipUser.getExpiryTime().after(now)) {
+                data.setIsVip(true);
+                data.setVipExpiryTime(vipUser.getExpiryTime());
+            }
         });
         return GatewayResponse.SUCCESS.newBuilder().toResult(search);
     }