xiaoyong931011
2021-12-22 ab7a2f143723c84704fcf413678ab79ec7ffe66e
20211216
1 files added
8 files modified
150 ■■■■ changed files
src/main/java/cc/mrbird/febs/video/controller/ViewVideoMemberController.java 1 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/video/dto/AdminSetVipDto.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/video/entity/VideoMemberEntity.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/video/mapper/VideoMemberMapper.java 3 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/video/service/IAdminVideoMemberService.java 3 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/video/service/impl/AdminVideoMemberServiceImpl.java 37 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/video/vo/AdminVideoMemberEntityVo.java 73 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/VideoMemberMapper.xml 13 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/videoMember/memberList.html 7 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/video/controller/ViewVideoMemberController.java
@@ -32,6 +32,7 @@
        return FebsUtil.view("videoMember/memberList");
    }
    /**
     * 会员列表-设置会员
     * @param id
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;
}
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;
}
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);
}
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);
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();
    }
src/main/java/cc/mrbird/febs/video/vo/AdminVideoMemberEntityVo.java
New file
@@ -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;
}
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!=''">
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) {
                                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>'