From 3e803d1ec0583cb60dfedc63a8e31fb7b29fffdc Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 15 Dec 2021 14:23:22 +0800
Subject: [PATCH] 20211214
---
src/main/resources/mapper/modules/VideoCollectionMapper.xml | 41 ++++
src/main/java/cc/mrbird/febs/video/vo/ApiMyVideoHistoryVo.java | 31 +++
src/main/java/cc/mrbird/febs/video/vo/ApiVideoMemberVo.java | 105 +++++++++++
pom.xml | 29 +++
src/main/java/cc/mrbird/febs/video/controller/ApiVideoMemberController.java | 71 +++++++
src/main/java/cc/mrbird/febs/video/dto/ApiMyVideoCollectionDto.java | 19 ++
src/main/java/cc/mrbird/febs/video/entity/DataDictionaryCustom.java | 19 ++
src/main/java/cc/mrbird/febs/video/vo/ApiMyVideoCollectionVo.java | 22 ++
src/main/java/cc/mrbird/febs/video/conversion/VideoMemberConversion.java | 15 +
src/main/java/cc/mrbird/febs/video/mapper/DataDictionaryCustomMapper.java | 14 +
src/main/java/cc/mrbird/febs/video/service/IApiVideoMemberService.java | 12 +
src/main/java/cc/mrbird/febs/video/dto/ApiMyVideoHistoryDto.java | 20 ++
src/main/resources/mapper/modules/DataDictionaryCustomMapper.xml | 14 +
src/main/java/cc/mrbird/febs/video/service/impl/ApiVideoMemberServiceImpl.java | 67 ++++++-
src/main/java/cc/mrbird/febs/common/utils/LoginUserUtil.java | 15 +
src/main/java/cc/mrbird/febs/video/mapper/VideoCollectionMapper.java | 17 +
src/main/java/cc/mrbird/febs/video/vo/ApiVipCostVo.java | 20 ++
17 files changed, 519 insertions(+), 12 deletions(-)
diff --git a/pom.xml b/pom.xml
index 48804c6..6498c71 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,9 +22,17 @@
<swagger.ui>2.9.2</swagger.ui>
<tomcat.version>9.0.31</tomcat.version>
<hutool.version>5.3.1</hutool.version>
+ <mapstruct.version>1.3.1.Final</mapstruct.version>
</properties>
<dependencies>
+
+ <dependency>
+ <groupId>org.mapstruct</groupId>
+ <artifactId>mapstruct</artifactId>
+ <version>${mapstruct.version}</version>
+ </dependency>
+
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
@@ -228,6 +236,27 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.5.1</version>
+ <configuration>
+ <source>${java.version}</source>
+ <target>${java.version}</target>
+ <annotationProcessorPaths>
+ <path>
+ <groupId>org.mapstruct</groupId>
+ <artifactId>mapstruct-processor</artifactId>
+ <version>${mapstruct.version}</version>
+ </path>
+ <path>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok</artifactId>
+ <version>${lombok.version}</version>
+ </path>
+ </annotationProcessorPaths>
+ </configuration>
+ </plugin>
</plugins>
</build>
</project>
diff --git a/src/main/java/cc/mrbird/febs/common/utils/LoginUserUtil.java b/src/main/java/cc/mrbird/febs/common/utils/LoginUserUtil.java
new file mode 100644
index 0000000..8af2d91
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/common/utils/LoginUserUtil.java
@@ -0,0 +1,15 @@
+package cc.mrbird.febs.common.utils;
+
+import cc.mrbird.febs.video.entity.VideoMemberEntity;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+
+public class LoginUserUtil {
+
+ public static VideoMemberEntity getLoginUser() {
+ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest();
+ return (VideoMemberEntity) request.getSession().getAttribute("member");
+ }
+}
diff --git a/src/main/java/cc/mrbird/febs/video/controller/ApiVideoMemberController.java b/src/main/java/cc/mrbird/febs/video/controller/ApiVideoMemberController.java
new file mode 100644
index 0000000..5cb81f7
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/video/controller/ApiVideoMemberController.java
@@ -0,0 +1,71 @@
+package cc.mrbird.febs.video.controller;
+
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.video.dto.ApiMyVideoCollectionDto;
+import cc.mrbird.febs.video.dto.ApiMyVideoHistoryDto;
+import cc.mrbird.febs.video.service.IApiVideoMemberService;
+import cc.mrbird.febs.video.vo.ApiMyVideoCollectionVo;
+import cc.mrbird.febs.video.vo.ApiMyVideoHistoryVo;
+import cc.mrbird.febs.video.vo.ApiVideoMemberVo;
+import cc.mrbird.febs.video.vo.ApiVipCostVo;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+@Slf4j
+@CrossOrigin("*")
+@RequiredArgsConstructor
+@RestController
+@RequestMapping(value = "/api/member")
+public class ApiVideoMemberController {
+
+ private final IApiVideoMemberService memberService;
+
+ @ApiOperation(value = "退出登录", notes = "退出登录")
+ @PostMapping(value = "/logout")
+ public FebsResponse logout() {
+ return memberService.logout();
+ }
+
+ @ApiOperation(value = "获取用户信息", notes = "获取用户信息")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ApiVideoMemberVo.class)
+ })
+ @GetMapping(value = "/findMemberInfo")
+ public FebsResponse findMemberInfo() {
+ return memberService.findMemberInfo();
+ }
+
+ @ApiOperation(value = "我的收藏")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ApiMyVideoCollectionVo.class)
+ })
+ @PostMapping(value = "/myCollection")
+ public FebsResponse myCollection(@RequestBody ApiMyVideoCollectionDto apiMyVideoCollectionDto) {
+ return memberService.myCollection(apiMyVideoCollectionDto);
+ }
+
+ @ApiOperation(value = "观看历史")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ApiMyVideoHistoryVo.class)
+ })
+ @PostMapping(value = "/myHistory")
+ public FebsResponse myHistory(@RequestBody ApiMyVideoHistoryDto apiMyVideoHistoryDto) {
+ return memberService.myHistory(apiMyVideoHistoryDto);
+ }
+
+ @ApiOperation(value = "视频VIP价格", notes = "视频VIP价格")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ApiVipCostVo.class)
+ })
+ @GetMapping(value = "/vipCostInfo")
+ public FebsResponse vipCostInfo() {
+ return memberService.vipCostInfo();
+ }
+
+
+
+}
diff --git a/src/main/java/cc/mrbird/febs/video/conversion/VideoMemberConversion.java b/src/main/java/cc/mrbird/febs/video/conversion/VideoMemberConversion.java
new file mode 100644
index 0000000..42af423
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/video/conversion/VideoMemberConversion.java
@@ -0,0 +1,15 @@
+package cc.mrbird.febs.video.conversion;
+
+import cc.mrbird.febs.video.entity.VideoMemberEntity;
+import cc.mrbird.febs.video.vo.ApiVideoMemberVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+@Mapper
+public abstract class VideoMemberConversion {
+
+ public static final VideoMemberConversion INSTANCE = Mappers.getMapper(VideoMemberConversion.class);
+
+ public abstract ApiVideoMemberVo entityToVo(VideoMemberEntity videoMemberEntity);
+
+}
diff --git a/src/main/java/cc/mrbird/febs/video/dto/ApiMyVideoCollectionDto.java b/src/main/java/cc/mrbird/febs/video/dto/ApiMyVideoCollectionDto.java
new file mode 100644
index 0000000..ba4f2c0
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/video/dto/ApiMyVideoCollectionDto.java
@@ -0,0 +1,19 @@
+package cc.mrbird.febs.video.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiMyVideoCollectionDto", description = "接收参数类")
+public class ApiMyVideoCollectionDto {
+
+ @ApiModelProperty(value = "一页多少个", example = "10")
+ private Integer pageSize;
+
+ @ApiModelProperty(value = "页码", example = "1")
+ private Integer pageNum;
+
+ @ApiModelProperty(hidden = true)
+ private Long memberId;
+}
diff --git a/src/main/java/cc/mrbird/febs/video/dto/ApiMyVideoHistoryDto.java b/src/main/java/cc/mrbird/febs/video/dto/ApiMyVideoHistoryDto.java
new file mode 100644
index 0000000..e2abefa
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/video/dto/ApiMyVideoHistoryDto.java
@@ -0,0 +1,20 @@
+package cc.mrbird.febs.video.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiMyVideoHistoryDto", description = "接收参数类")
+public class ApiMyVideoHistoryDto {
+
+ @ApiModelProperty(value = "一页多少个", example = "10")
+ private Integer pageSize;
+
+ @ApiModelProperty(value = "页码", example = "1")
+ private Integer pageNum;
+
+ @ApiModelProperty(hidden = true)
+ private Long memberId;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/video/entity/DataDictionaryCustom.java b/src/main/java/cc/mrbird/febs/video/entity/DataDictionaryCustom.java
new file mode 100644
index 0000000..88687a9
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/video/entity/DataDictionaryCustom.java
@@ -0,0 +1,19 @@
+package cc.mrbird.febs.video.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("data_dictionary_custom")
+public class DataDictionaryCustom extends BaseEntity {
+
+ private String type;
+
+ private String code;
+
+ private String value;
+
+ private String description;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/video/mapper/DataDictionaryCustomMapper.java b/src/main/java/cc/mrbird/febs/video/mapper/DataDictionaryCustomMapper.java
new file mode 100644
index 0000000..0f3280e
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/video/mapper/DataDictionaryCustomMapper.java
@@ -0,0 +1,14 @@
+package cc.mrbird.febs.video.mapper;
+
+import cc.mrbird.febs.video.entity.DataDictionaryCustom;
+import cc.mrbird.febs.video.vo.ApiVipCostVo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface DataDictionaryCustomMapper extends BaseMapper<DataDictionaryCustom> {
+
+ List<ApiVipCostVo> selectApiVipCostByType(@Param("type") String type);
+
+}
diff --git a/src/main/java/cc/mrbird/febs/video/mapper/VideoCollectionMapper.java b/src/main/java/cc/mrbird/febs/video/mapper/VideoCollectionMapper.java
new file mode 100644
index 0000000..c0a822b
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/video/mapper/VideoCollectionMapper.java
@@ -0,0 +1,17 @@
+package cc.mrbird.febs.video.mapper;
+
+import cc.mrbird.febs.video.dto.ApiMyVideoCollectionDto;
+import cc.mrbird.febs.video.dto.ApiMyVideoHistoryDto;
+import cc.mrbird.febs.video.entity.VideoCollectionEntity;
+import cc.mrbird.febs.video.vo.ApiMyVideoCollectionVo;
+import cc.mrbird.febs.video.vo.ApiMyVideoHistoryVo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+
+public interface VideoCollectionMapper extends BaseMapper<VideoCollectionEntity> {
+
+ IPage<ApiMyVideoCollectionVo> selectApiVideoCollectionInPage(IPage<ApiMyVideoCollectionVo> page, @Param("record")ApiMyVideoCollectionDto apiMyVideoCollectionDto);
+
+ IPage<ApiMyVideoHistoryVo> selectApiMyVideoHistoryInPage(IPage<ApiMyVideoHistoryVo> page, @Param("record")ApiMyVideoHistoryDto apiMyVideoHistoryDto);
+}
diff --git a/src/main/java/cc/mrbird/febs/video/service/IApiVideoMemberService.java b/src/main/java/cc/mrbird/febs/video/service/IApiVideoMemberService.java
index 36a707d..914db3e 100644
--- a/src/main/java/cc/mrbird/febs/video/service/IApiVideoMemberService.java
+++ b/src/main/java/cc/mrbird/febs/video/service/IApiVideoMemberService.java
@@ -1,6 +1,8 @@
package cc.mrbird.febs.video.service;
import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.video.dto.ApiMyVideoCollectionDto;
+import cc.mrbird.febs.video.dto.ApiMyVideoHistoryDto;
import cc.mrbird.febs.video.dto.LoginDto;
import cc.mrbird.febs.video.dto.RegisterDto;
import cc.mrbird.febs.video.entity.VideoMemberEntity;
@@ -11,4 +13,14 @@
FebsResponse register(RegisterDto registerDto);
FebsResponse toLogin(LoginDto loginDto);
+
+ FebsResponse logout();
+
+ FebsResponse findMemberInfo();
+
+ FebsResponse myCollection(ApiMyVideoCollectionDto apiMyVideoCollectionDto);
+
+ FebsResponse myHistory(ApiMyVideoHistoryDto apiMyVideoHistoryDto);
+
+ FebsResponse vipCostInfo();
}
diff --git a/src/main/java/cc/mrbird/febs/video/service/impl/ApiVideoMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/video/service/impl/ApiVideoMemberServiceImpl.java
index 5b0b4be..8379729 100644
--- a/src/main/java/cc/mrbird/febs/video/service/impl/ApiVideoMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/video/service/impl/ApiVideoMemberServiceImpl.java
@@ -3,13 +3,24 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.AppContants;
+import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.common.utils.ShareCodeUtil;
+import cc.mrbird.febs.video.conversion.VideoMemberConversion;
+import cc.mrbird.febs.video.dto.ApiMyVideoCollectionDto;
+import cc.mrbird.febs.video.dto.ApiMyVideoHistoryDto;
import cc.mrbird.febs.video.dto.LoginDto;
import cc.mrbird.febs.video.dto.RegisterDto;
+import cc.mrbird.febs.video.entity.DataDictionaryCustom;
import cc.mrbird.febs.video.entity.VideoMemberEntity;
+import cc.mrbird.febs.video.mapper.DataDictionaryCustomMapper;
+import cc.mrbird.febs.video.mapper.VideoCollectionMapper;
import cc.mrbird.febs.video.mapper.VideoMemberMapper;
import cc.mrbird.febs.video.service.IApiVideoMemberService;
+import cc.mrbird.febs.video.vo.ApiMyVideoCollectionVo;
+import cc.mrbird.febs.video.vo.ApiMyVideoHistoryVo;
+import cc.mrbird.febs.video.vo.ApiVideoMemberVo;
+import cc.mrbird.febs.video.vo.ApiVipCostVo;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
@@ -17,13 +28,15 @@
import cn.hutool.crypto.asymmetric.KeyType;
import cn.hutool.crypto.asymmetric.RSA;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
-import java.math.BigDecimal;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
@Slf4j
@@ -32,6 +45,8 @@
public class ApiVideoMemberServiceImpl extends ServiceImpl<VideoMemberMapper, VideoMemberEntity> implements IApiVideoMemberService {
private final RedisUtils redisUtils;
+ private final VideoCollectionMapper videoCollectionMapper;
+ private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
@Override
public FebsResponse register(RegisterDto registerDto) {
@@ -39,28 +54,17 @@
if (videoMember != null) {
throw new FebsException("该账号已被占用");
}
-
videoMember = new VideoMemberEntity();
videoMember.setPassword(SecureUtil.md5(registerDto.getPassword()));
-
-// // 判断账号类型
-// if (AppContants.ACCOUNT_TYPE_MOBILE.equals(registerDto.getType())) {
-// videoMember.setPhone(registerDto.getAccount());
-// } else {
-// videoMember.setEmail(registerDto.getAccount());
-// }
-
videoMember.setAccount(registerDto.getAccount());
videoMember.setName(registerDto.getAccount());
videoMember.setAccountStatus(VideoMemberEntity.ACCOUNT_STATUS_ENABLE);
videoMember.setAccountType(VideoMemberEntity.ACCOUNT_TYPE_NORMAL);
videoMember.setIsVip(VideoMemberEntity.ISVIP_STATUS_NO);
-
this.baseMapper.insert(videoMember);
String inviteId = ShareCodeUtil.toSerialCode(videoMember.getId());
videoMember.setInviteId(inviteId);
-
//推荐人和推荐人链
boolean flag = false;
String parentId = videoMember.getRefererId();
@@ -123,6 +127,45 @@
return new FebsResponse().success().data(authInfo);
}
+ @Override
+ public FebsResponse logout() {
+ Long id = LoginUserUtil.getLoginUser().getId();
+ redisUtils.del(AppContants.APP_LOGIN_PREFIX + id);
+ return new FebsResponse().success().message("退出登录");
+ }
+
+ @Override
+ public FebsResponse findMemberInfo() {
+ Long id = LoginUserUtil.getLoginUser().getId();
+ VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(id);
+ ApiVideoMemberVo apiVideoMemberVo = VideoMemberConversion.INSTANCE.entityToVo(videoMemberEntity);
+ return new FebsResponse().success().data(apiVideoMemberVo);
+ }
+
+ @Override
+ public FebsResponse myCollection(ApiMyVideoCollectionDto apiMyVideoCollectionDto) {
+ IPage<ApiMyVideoCollectionVo> page = new Page<>(apiMyVideoCollectionDto.getPageNum(), apiMyVideoCollectionDto.getPageSize());
+ Long id = LoginUserUtil.getLoginUser().getId();
+ apiMyVideoCollectionDto.setMemberId(id);
+ IPage<ApiMyVideoCollectionVo> pages = videoCollectionMapper.selectApiVideoCollectionInPage(page, apiMyVideoCollectionDto);
+ return new FebsResponse().success().data(pages);
+ }
+
+ @Override
+ public FebsResponse myHistory(ApiMyVideoHistoryDto apiMyVideoHistoryDto) {
+ IPage<ApiMyVideoHistoryVo> page = new Page<>(apiMyVideoHistoryDto.getPageNum(), apiMyVideoHistoryDto.getPageSize());
+ Long id = LoginUserUtil.getLoginUser().getId();
+ apiMyVideoHistoryDto.setMemberId(id);
+ IPage<ApiMyVideoHistoryVo> pages = videoCollectionMapper.selectApiMyVideoHistoryInPage(page, apiMyVideoHistoryDto);
+ return new FebsResponse().success().data(pages);
+ }
+
+ @Override
+ public FebsResponse vipCostInfo() {
+ List<ApiVipCostVo> dataDictionaryCustoms = dataDictionaryCustomMapper.selectApiVipCostByType("VIP_COST");
+ return new FebsResponse().success().data(dataDictionaryCustoms);
+ }
+
public String generateAsaToken(String token) {
RSA rsa = new RSA(null, AppContants.PUBLIC_KEY);
diff --git a/src/main/java/cc/mrbird/febs/video/vo/ApiMyVideoCollectionVo.java b/src/main/java/cc/mrbird/febs/video/vo/ApiMyVideoCollectionVo.java
new file mode 100644
index 0000000..10ffc3a
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/video/vo/ApiMyVideoCollectionVo.java
@@ -0,0 +1,22 @@
+package cc.mrbird.febs.video.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiMyVideoCollectionVo", description = "返回参数类")
+public class ApiMyVideoCollectionVo {
+
+ @ApiModelProperty(value = "视频ID")
+ private Long id;
+
+ @ApiModelProperty(value = "标题")
+ private String title;
+
+ @ApiModelProperty(value = "简介")
+ private String intro;
+
+ @ApiModelProperty(value = "缩略图")
+ private String thumb;
+}
diff --git a/src/main/java/cc/mrbird/febs/video/vo/ApiMyVideoHistoryVo.java b/src/main/java/cc/mrbird/febs/video/vo/ApiMyVideoHistoryVo.java
new file mode 100644
index 0000000..f0fbe9b
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/video/vo/ApiMyVideoHistoryVo.java
@@ -0,0 +1,31 @@
+package cc.mrbird.febs.video.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiMyVideoHistoryVo", description = "返回参数类")
+public class ApiMyVideoHistoryVo {
+
+ @ApiModelProperty(value = "视频ID")
+ private Long id;
+
+ @ApiModelProperty(value = "标题")
+ private String title;
+
+ @ApiModelProperty(value = "简介")
+ private String intro;
+
+ @ApiModelProperty(value = "缩略图")
+ private String thumb;
+
+ @ApiModelProperty(value = "章节名称")
+ private String name;
+
+ @ApiModelProperty(value = "视频地址")
+ private String videoUrl;
+
+ @ApiModelProperty(value = "资源ID")
+ private Long sourceId;
+}
diff --git a/src/main/java/cc/mrbird/febs/video/vo/ApiVideoMemberVo.java b/src/main/java/cc/mrbird/febs/video/vo/ApiVideoMemberVo.java
new file mode 100644
index 0000000..49bce2c
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/video/vo/ApiVideoMemberVo.java
@@ -0,0 +1,105 @@
+package cc.mrbird.febs.video.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiVideoMemberVo", description = "返回参数类")
+public class ApiVideoMemberVo {
+
+ private Long id;
+
+ /**
+ * 账号
+ */
+
+ @ApiModelProperty(value = "账号")
+ private String account;
+
+ /**
+ * 昵称
+ */
+ @ApiModelProperty(value = "昵称")
+ private String name;
+
+ /**
+ * 头像
+ */
+ @ApiModelProperty(value = "头像")
+ private String avatar;
+
+ /**
+ * 手机号
+ */
+ @ApiModelProperty(value = "手机号")
+ private String phone;
+
+ /**
+ * 邮箱
+ */
+ @ApiModelProperty(value = "邮箱")
+ private String email;
+
+ /**
+ * 邀请码
+ */
+ @ApiModelProperty(value = "邀请码")
+ private String inviteId;
+
+ /**
+ * 父级邀请码
+ */
+// @ApiModelProperty(value = "父级邀请码")
+// private String refererId;
+
+ /**
+ * 父级邀请码链
+ */
+// @ApiModelProperty(value = "父级邀请码链")
+// private String refererIds;
+
+ /**
+ * 是否会员 1/是 2/否
+ */
+ @ApiModelProperty(value = "是否会员 1/是 2/否")
+ private Integer isVip;
+
+ /**
+ * 是
+ */
+ public static final Integer ISVIP_STATUS_YES = 1;
+ /**
+ * 否
+ */
+ public static final Integer ISVIP_STATUS_NO = 2;
+
+ /**
+ * 账号状态 1/正常 2/禁用
+ */
+ @ApiModelProperty(value = "账号状态 1/正常 2/禁用")
+ private Integer accountStatus;
+ /**
+ * 启用
+ */
+ public static final Integer ACCOUNT_STATUS_ENABLE = 1;
+ /**
+ * 禁用
+ */
+ public static final Integer ACCOUNT_STATUS_DISABLED = 2;
+
+ /**
+ * 账号类型 1/正常 2/测试
+ */
+ @ApiModelProperty(value = "账号类型 1/正常 2/测试")
+ private Integer accountType;
+
+ /**
+ * 正常账号
+ */
+ public static final Integer ACCOUNT_TYPE_NORMAL = 1;
+ /**
+ * 测试账号
+ */
+ public static final Integer ACCOUNT_TYPE_TEST = 2;
+}
diff --git a/src/main/java/cc/mrbird/febs/video/vo/ApiVipCostVo.java b/src/main/java/cc/mrbird/febs/video/vo/ApiVipCostVo.java
new file mode 100644
index 0000000..f2abbde
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/video/vo/ApiVipCostVo.java
@@ -0,0 +1,20 @@
+package cc.mrbird.febs.video.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiVipMemberVo", description = "返回参数类")
+public class ApiVipCostVo {
+
+ @ApiModelProperty(value = "编码")
+ private String code;
+
+ @ApiModelProperty(value = "价格")
+ private String value;
+
+ @ApiModelProperty(value = "描述")
+ private String description;
+
+}
diff --git a/src/main/resources/mapper/modules/DataDictionaryCustomMapper.xml b/src/main/resources/mapper/modules/DataDictionaryCustomMapper.xml
new file mode 100644
index 0000000..dfc1568
--- /dev/null
+++ b/src/main/resources/mapper/modules/DataDictionaryCustomMapper.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cc.mrbird.febs.video.mapper.DataDictionaryCustomMapper">
+
+ <select id="selectApiVipCostByType" resultType="cc.mrbird.febs.video.vo.ApiVipCostVo">
+ select
+ a.code code,
+ a.value value,
+ a.description description
+ from data_dictionary_custom a
+ where a.type = #{type}
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/VideoCollectionMapper.xml b/src/main/resources/mapper/modules/VideoCollectionMapper.xml
new file mode 100644
index 0000000..2b2d77e
--- /dev/null
+++ b/src/main/resources/mapper/modules/VideoCollectionMapper.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cc.mrbird.febs.video.mapper.VideoCollectionMapper">
+
+ <select id="selectApiVideoCollectionInPage" resultType="cc.mrbird.febs.video.vo.ApiMyVideoCollectionVo">
+ select
+ a.video_id id,
+ b.title title,
+ b.intro intro,
+ b.thumb thumb
+ from video_collection a
+ left join video_master_info b on a.video_id = b.id
+ <where>
+ <if test="record.memberId != null">
+ and a.member_id=#{record.memberId}
+ </if>
+ </where>
+ order by a.created_time desc
+ </select>
+
+ <select id="selectApiMyVideoHistoryInPage" resultType="cc.mrbird.febs.video.vo.ApiMyVideoHistoryVo">
+ select
+ a.video_id id,
+ b.title title,
+ b.intro intro,
+ b.thumb thumb,
+ c.name name,
+ c.video_url videoUrl,
+ c.source_id sourceId
+ from video_history a
+ left join video_master_info b on a.video_id = b.id
+ left join video_master_items c on a.video_item_id = c.id
+ <where>
+ <if test="record.memberId != null">
+ and a.member_id=#{record.memberId}
+ </if>
+ </where>
+ order by a.created_time desc
+ </select>
+
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.1