From f7410364109ebb426a5e0184683a10fb1efdd0a0 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 22 Dec 2021 14:59:27 +0800
Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/xc-video

---
 src/main/java/cc/mrbird/febs/video/entity/VideoMemberEntity.java                 |   11 +++
 src/main/java/cc/mrbird/febs/video/dto/AdminSetVipDto.java                       |    2 
 src/main/java/cc/mrbird/febs/video/service/impl/AdminVideoMemberServiceImpl.java |   37 ++++++------
 src/main/java/cc/mrbird/febs/video/controller/ViewVideoMemberController.java     |    1 
 src/main/resources/templates/febs/views/videoMember/memberList.html              |   15 +++-
 src/main/java/cc/mrbird/febs/video/mapper/VideoMemberMapper.java                 |    3 
 src/main/java/cc/mrbird/febs/video/vo/AdminVideoMemberEntityVo.java              |   73 ++++++++++++++++++++++++
 src/main/resources/mapper/modules/VideoMemberMapper.xml                          |   13 +++
 src/main/java/cc/mrbird/febs/video/service/IAdminVideoMemberService.java         |    3 
 9 files changed, 130 insertions(+), 28 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/video/controller/ViewVideoMemberController.java b/src/main/java/cc/mrbird/febs/video/controller/ViewVideoMemberController.java
index 72e93ee..922c018 100644
--- a/src/main/java/cc/mrbird/febs/video/controller/ViewVideoMemberController.java
+++ b/src/main/java/cc/mrbird/febs/video/controller/ViewVideoMemberController.java
@@ -32,6 +32,7 @@
         return FebsUtil.view("videoMember/memberList");
     }
 
+
     /**
      * 会员列表-设置会员
      * @param id
diff --git a/src/main/java/cc/mrbird/febs/video/dto/AdminSetVipDto.java b/src/main/java/cc/mrbird/febs/video/dto/AdminSetVipDto.java
index 0d24fa0..f4e6b56 100644
--- a/src/main/java/cc/mrbird/febs/video/dto/AdminSetVipDto.java
+++ b/src/main/java/cc/mrbird/febs/video/dto/AdminSetVipDto.java
@@ -7,9 +7,7 @@
 @Data
 @ApiModel(value = "ApiMyVideoCollectionDto", description = "接收参数类")
 public class AdminSetVipDto {
-    @NotBlank(message = "入参不能为空")
     private Long id;
-    @NotBlank(message = "入参不能为空")
     private String vipType;
 
 }
diff --git a/src/main/java/cc/mrbird/febs/video/entity/VideoMemberEntity.java b/src/main/java/cc/mrbird/febs/video/entity/VideoMemberEntity.java
index c018e54..f8cace1 100644
--- a/src/main/java/cc/mrbird/febs/video/entity/VideoMemberEntity.java
+++ b/src/main/java/cc/mrbird/febs/video/entity/VideoMemberEntity.java
@@ -1,7 +1,10 @@
 package cc.mrbird.febs.video.entity;
 
 import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.google.type.Date;
 import lombok.Data;
 
 @Data
@@ -93,4 +96,12 @@
      * 测试账号
      */
     public static final Integer ACCOUNT_TYPE_TEST = 2;
+
+    @TableField(exist = false)
+//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date buyTime;
+
+    @TableField(exist = false)
+//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date expireTime;
 }
diff --git a/src/main/java/cc/mrbird/febs/video/mapper/VideoMemberMapper.java b/src/main/java/cc/mrbird/febs/video/mapper/VideoMemberMapper.java
index 2652531..09b0045 100644
--- a/src/main/java/cc/mrbird/febs/video/mapper/VideoMemberMapper.java
+++ b/src/main/java/cc/mrbird/febs/video/mapper/VideoMemberMapper.java
@@ -2,6 +2,7 @@
 
 import cc.mrbird.febs.video.entity.AppVersion;
 import cc.mrbird.febs.video.entity.VideoMemberEntity;
+import cc.mrbird.febs.video.vo.AdminVideoMemberEntityVo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -15,7 +16,7 @@
 
     VideoMemberEntity selectInfoByAccountAndPwd(@Param("account") String account, @Param("password") String password);
 
-    IPage<VideoMemberEntity> selectVideoMemberListInPage(Page<VideoMemberEntity> page, @Param("record")VideoMemberEntity videoMember);
+    IPage<AdminVideoMemberEntityVo> selectVideoMemberListInPage(Page<VideoMemberEntity> page, @Param("record")VideoMemberEntity videoMember);
 
     IPage<AppVersion> getAppVersionListInPage(Page<AppVersion> page, AppVersion appVersion);
 }
diff --git a/src/main/java/cc/mrbird/febs/video/service/IAdminVideoMemberService.java b/src/main/java/cc/mrbird/febs/video/service/IAdminVideoMemberService.java
index 95e72bc..6356f9d 100644
--- a/src/main/java/cc/mrbird/febs/video/service/IAdminVideoMemberService.java
+++ b/src/main/java/cc/mrbird/febs/video/service/IAdminVideoMemberService.java
@@ -5,13 +5,14 @@
 import cc.mrbird.febs.video.dto.AdminSetVipDto;
 import cc.mrbird.febs.video.entity.AppVersion;
 import cc.mrbird.febs.video.entity.VideoMemberEntity;
+import cc.mrbird.febs.video.vo.AdminVideoMemberEntityVo;
 import cc.mrbird.febs.video.vo.AdminVideoMemberVo;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 public interface IAdminVideoMemberService extends IService<VideoMemberEntity> {
 
-    IPage<VideoMemberEntity> getVideoMembers(VideoMemberEntity videoMember, QueryRequest request);
+    IPage<AdminVideoMemberEntityVo> getVideoMembers(VideoMemberEntity videoMember, QueryRequest request);
 
     FebsResponse resetPwd(Long id);
 
diff --git a/src/main/java/cc/mrbird/febs/video/service/impl/AdminVideoMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/video/service/impl/AdminVideoMemberServiceImpl.java
index d254365..31af450 100644
--- a/src/main/java/cc/mrbird/febs/video/service/impl/AdminVideoMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/video/service/impl/AdminVideoMemberServiceImpl.java
@@ -13,6 +13,7 @@
 import cc.mrbird.febs.video.mapper.VideoVipInfoMapper;
 import cc.mrbird.febs.video.service.IAdminVideoMemberService;
 import cc.mrbird.febs.video.service.IApiVideoMemberService;
+import cc.mrbird.febs.video.vo.AdminVideoMemberEntityVo;
 import cc.mrbird.febs.video.vo.AdminVideoMemberVo;
 import cn.hutool.core.date.DateField;
 import cn.hutool.core.date.DateUtil;
@@ -41,9 +42,9 @@
     private final IApiVideoMemberService apiVideoMemberService;
 
     @Override
-    public IPage<VideoMemberEntity> getVideoMembers(VideoMemberEntity videoMember, QueryRequest request) {
+    public IPage<AdminVideoMemberEntityVo> getVideoMembers(VideoMemberEntity videoMember, QueryRequest request) {
         Page<VideoMemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
-        IPage<VideoMemberEntity> videoMembers = this.baseMapper.selectVideoMemberListInPage(page, videoMember);
+        IPage<AdminVideoMemberEntityVo> videoMembers = this.baseMapper.selectVideoMemberListInPage(page, videoMember);
         return videoMembers;
     }
 
@@ -58,7 +59,7 @@
         String pwd = SecureUtil.md5("a123456");
         videoMemberEntity.setPassword(pwd);
         this.baseMapper.updateById(videoMemberEntity);
-        return new FebsResponse().success().message("重置成功");
+        return new FebsResponse().success().message("重置成功,重置后的密码为:a123456");
     }
 
     @Override
@@ -107,21 +108,21 @@
 
         apiVideoMemberService.extendVipTime(adminSetVipDto.getVipType(), videoMemberEntity.getId());
 
-        VideoVipInfoEntity videoVipInfoEntity = new VideoVipInfoEntity();
-        videoVipInfoEntity.setMemberId(adminSetVipDto.getId());
-        videoVipInfoEntity.setVipType(adminSetVipDto.getVipType());
-        videoVipInfoEntity.setBuyTime(new Date());
-        videoVipInfoEntity.setState(1);
-        if(VipTypeEnum.MONTH.name().equals(adminSetVipDto.getVipType())){
-            videoVipInfoEntity.setExpireTime(DateUtil.offset(new Date(), DateField.MONTH,1));
-        }
-        if(VipTypeEnum.PERIOD.name().equals(adminSetVipDto.getVipType())){
-            videoVipInfoEntity.setExpireTime(DateUtil.offset(new Date(), DateField.MONTH,3));
-        }
-        if(VipTypeEnum.YEAR.name().equals(adminSetVipDto.getVipType())){
-            videoVipInfoEntity.setExpireTime(DateUtil.offset(new Date(), DateField.MONTH,12));
-        }
-        videoVipInfoMapper.insert(videoVipInfoEntity);
+//        VideoVipInfoEntity videoVipInfoEntity = new VideoVipInfoEntity();
+//        videoVipInfoEntity.setMemberId(adminSetVipDto.getId());
+//        videoVipInfoEntity.setVipType(adminSetVipDto.getVipType());
+//        videoVipInfoEntity.setBuyTime(new Date());
+//        videoVipInfoEntity.setState(1);
+//        if(VipTypeEnum.MONTH.name().equals(adminSetVipDto.getVipType())){
+//            videoVipInfoEntity.setExpireTime(DateUtil.offset(new Date(), DateField.MONTH,1));
+//        }
+//        if(VipTypeEnum.PERIOD.name().equals(adminSetVipDto.getVipType())){
+//            videoVipInfoEntity.setExpireTime(DateUtil.offset(new Date(), DateField.MONTH,3));
+//        }
+//        if(VipTypeEnum.YEAR.name().equals(adminSetVipDto.getVipType())){
+//            videoVipInfoEntity.setExpireTime(DateUtil.offset(new Date(), DateField.MONTH,12));
+//        }
+//        videoVipInfoMapper.insert(videoVipInfoEntity);
         return new FebsResponse().success();
     }
 
diff --git a/src/main/java/cc/mrbird/febs/video/vo/AdminVideoMemberEntityVo.java b/src/main/java/cc/mrbird/febs/video/vo/AdminVideoMemberEntityVo.java
new file mode 100644
index 0000000..1eef40e
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/video/vo/AdminVideoMemberEntityVo.java
@@ -0,0 +1,73 @@
+package cc.mrbird.febs.video.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel(value = "AdminVideoMemberEntityVo", description = "返回参数类")
+public class AdminVideoMemberEntityVo {
+
+    private Long id;
+    /**
+     * 账号
+     */
+    private String account;
+
+    /**
+     * 昵称
+     */
+    private String name;
+
+    /**
+     * 是否会员 1/是 2/否
+     */
+    private Integer isVip;
+
+    /**
+     * 是
+     */
+    public static final Integer ISVIP_STATUS_YES = 1;
+    /**
+     * 否
+     */
+    public static final Integer ISVIP_STATUS_NO = 2;
+
+    /**
+     * 账号状态 1/正常 2/禁用
+     */
+    private Integer accountStatus;
+    /**
+     * 启用
+     */
+    public static final Integer ACCOUNT_STATUS_ENABLE = 1;
+    /**
+     * 禁用
+     */
+    public static final Integer ACCOUNT_STATUS_DISABLED = 2;
+
+    /**
+     * 账号类型 1/正常 2/测试
+     */
+    private Integer accountType;
+
+    /**
+     * 正常账号
+     */
+    public static final Integer ACCOUNT_TYPE_NORMAL = 1;
+    /**
+     * 测试账号
+     */
+    public static final Integer ACCOUNT_TYPE_TEST = 2;
+
+    private Date createdTime;
+
+//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date buyTime;
+
+//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date expireTime;
+}
diff --git a/src/main/resources/mapper/modules/VideoMemberMapper.xml b/src/main/resources/mapper/modules/VideoMemberMapper.xml
index ab5d855..fd87314 100644
--- a/src/main/resources/mapper/modules/VideoMemberMapper.xml
+++ b/src/main/resources/mapper/modules/VideoMemberMapper.xml
@@ -14,10 +14,19 @@
         select * from video_member where account=#{account} and password=#{password}
     </select>
 
-    <select id="selectVideoMemberListInPage" resultType="cc.mrbird.febs.video.entity.VideoMemberEntity">
+    <select id="selectVideoMemberListInPage" resultType="cc.mrbird.febs.video.vo.AdminVideoMemberEntityVo">
         SELECT
-            a.*
+            a.id id,
+            a.account account,
+            a.name name,
+            a.is_vip isVip,
+            a.account_type accountType,
+            a.account_status accountStatus,
+            a.created_time createdTime,
+            b.buy_time buyTime,
+            b.expire_time expireTime
         FROM video_member a
+        left join video_vip_info b on a.id = b.member_id
         <where>
             <if test="record != null" >
                 <if test="record.account!=null and record.account!=''">
diff --git a/src/main/resources/templates/febs/views/videoMember/memberList.html b/src/main/resources/templates/febs/views/videoMember/memberList.html
index 12c9afc..b2ea356 100644
--- a/src/main/resources/templates/febs/views/videoMember/memberList.html
+++ b/src/main/resources/templates/febs/views/videoMember/memberList.html
@@ -186,6 +186,8 @@
                                 return ''
                             }
                         }, minWidth: 80,align:'center'},
+                    {field: 'buyTime', title: '会员开始日期', minWidth: 180,align:'center'},
+                    {field: 'expireTime', title: '会员结束日期', minWidth: 180,align:'center'},
                     {field: 'accountType', title: '账号类型',
                         templet: function (d) {
                             if (d.accountType === 2) {
@@ -210,10 +212,15 @@
                     {title: '操作',
                         templet: function (d) {
                             if (d.accountStatus === 1) {
-                                return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="resetPwd" shiro:hasPermission="user:update">重置密码</button>'
-                                    +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="close" shiro:hasPermission="user:update">禁用</button>'
-                                    +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="setVip" shiro:hasPermission="user:update">设置会员</button>'
-                                    +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="cancelVip" shiro:hasPermission="user:update">取消会员</button>'
+                                if(d.isVip === 2){
+                                    return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="resetPwd" shiro:hasPermission="user:update">重置密码</button>'
+                                        +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="close" shiro:hasPermission="user:update">禁用</button>'
+                                        +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="setVip" shiro:hasPermission="user:update">设置会员</button>'
+                                }else{
+                                    return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="resetPwd" shiro:hasPermission="user:update">重置密码</button>'
+                                        +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="close" shiro:hasPermission="user:update">禁用</button>'
+                                        +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="cancelVip" shiro:hasPermission="user:update">取消会员</button>'
+                                }
                             }else{
                                 return'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="resetPwd" shiro:hasPermission="user:update">重置密码</button>'
                                     +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="open" shiro:hasPermission="user:update">启用</button>'

--
Gitblit v1.9.1