parent
196e037077
commit
87d711fc67
|
|
@ -0,0 +1,64 @@
|
|||
package com.xjs.utils;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
//统一返回结果类
|
||||
@Data
|
||||
public class Result<T> {
|
||||
|
||||
private Integer code; //状态码
|
||||
|
||||
private String message; //返回状态信息(成功 失败)
|
||||
|
||||
private T data; //返回数据
|
||||
|
||||
public Result() {}
|
||||
|
||||
//成功的方法,没有data数据
|
||||
// public static<T> Result<T> ok() {
|
||||
// Result<T> result = new Result<>();
|
||||
// result.setCode(200);
|
||||
// result.setMessage("成功");
|
||||
// return result;
|
||||
// }
|
||||
|
||||
//失败的方法,没有data数据
|
||||
// public static<T> Result<T> fail() {
|
||||
// Result<T> result = new Result<>();
|
||||
// result.setCode(201);
|
||||
// result.setMessage("失败");
|
||||
// return result;
|
||||
// }
|
||||
|
||||
//成功的方法,有data数据
|
||||
public static<T> Result<T> ok(T data) {
|
||||
Result<T> result = new Result<>();
|
||||
if(data != null) {
|
||||
result.setData(data);
|
||||
}
|
||||
result.setCode(200);
|
||||
result.setMessage("成功");
|
||||
return result;
|
||||
}
|
||||
|
||||
//失败的方法,有data数据
|
||||
public static<T> Result<T> fail(T data) {
|
||||
Result<T> result = new Result<>();
|
||||
if(data != null) {
|
||||
result.setData(data);
|
||||
}
|
||||
result.setCode(500);
|
||||
result.setMessage("失败");
|
||||
return result;
|
||||
}
|
||||
|
||||
public Result<T> message(String msg){
|
||||
this.setMessage(msg);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Result<T> code(Integer code){
|
||||
this.setCode(code);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.xjs.classroom.enums;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum CouponRangeType {
|
||||
ALL(1,"通用"),
|
||||
;
|
||||
|
||||
@EnumValue
|
||||
private Integer code ;
|
||||
private String comment ;
|
||||
|
||||
CouponRangeType(Integer code, String comment ){
|
||||
this.code=code;
|
||||
this.comment=comment;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.xjs.classroom.enums;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum CouponStatus {
|
||||
NOT_USED(0,"未使用"),
|
||||
USED(1,"已使用");
|
||||
|
||||
@EnumValue
|
||||
private Integer code ;
|
||||
private String comment ;
|
||||
|
||||
CouponStatus(Integer code, String comment ){
|
||||
this.code=code;
|
||||
this.comment=comment;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.xjs.classroom.enums;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum CouponType {
|
||||
REGISTER(1,"注册"),
|
||||
RECOMMEND(2,"推荐购买");
|
||||
|
||||
@EnumValue
|
||||
private Integer code;
|
||||
private String comment ;
|
||||
|
||||
CouponType(Integer code, String comment ){
|
||||
this.code=code;
|
||||
this.comment=comment;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
package com.xjs.classroom.enums;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum OrderStatus {
|
||||
//订单状态【0->待付款;1->待发货;2->待团长收货;3->待用户收货,已完成;-1->已取消】
|
||||
UNPAID(0,"待支付"),
|
||||
PAID(1,"已支付"),
|
||||
;
|
||||
|
||||
@EnumValue
|
||||
private Integer code ;
|
||||
private String comment ;
|
||||
|
||||
OrderStatus(Integer code, String comment ){
|
||||
this.code = code;
|
||||
this.comment=comment;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
package com.xjs.classroom.enums;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum PaymentStatus {
|
||||
UNPAID(1,"支付中"),
|
||||
PAID(2,"已支付");
|
||||
//REFUND(-1,"已退款");
|
||||
|
||||
@EnumValue
|
||||
private Integer code ;
|
||||
private String comment ;
|
||||
|
||||
PaymentStatus(Integer code, String comment) {
|
||||
this.code = code;
|
||||
this.comment = comment;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.xjs.classroom.enums;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum PaymentType {
|
||||
ALIPAY(1,"支付宝"),
|
||||
WEIXIN(2,"微信" );
|
||||
|
||||
@EnumValue
|
||||
private Integer code ;
|
||||
private String comment ;
|
||||
|
||||
PaymentType(Integer code, String comment ){
|
||||
this.code = code;
|
||||
this.comment=comment;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
package com.xjs.classroom.model.activity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "CouponInfo")
|
||||
@TableName("coupon_info")
|
||||
public class CouponInfo extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "购物券类型 1 现金券")
|
||||
@TableField("coupon_type")
|
||||
private String couponType;
|
||||
|
||||
@ApiModelProperty(value = "优惠卷名字")
|
||||
@TableField("coupon_name")
|
||||
private String couponName;
|
||||
|
||||
@ApiModelProperty(value = "金额")
|
||||
@TableField("amount")
|
||||
private BigDecimal amount;
|
||||
|
||||
@ApiModelProperty(value = "使用门槛 0->没门槛")
|
||||
@TableField("condition_amount")
|
||||
private BigDecimal conditionAmount;
|
||||
|
||||
@ApiModelProperty(value = "可以领取的开始日期")
|
||||
@TableField("start_time")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date startTime;
|
||||
|
||||
@ApiModelProperty(value = "可以领取的结束日期")
|
||||
@TableField("end_time")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date endTime;
|
||||
|
||||
@ApiModelProperty(value = "使用范围[1->全场通用]")
|
||||
@TableField("range_type")
|
||||
private String rangeType;
|
||||
|
||||
@ApiModelProperty(value = "使用范围描述")
|
||||
@TableField("rule_desc")
|
||||
private String ruleDesc;
|
||||
|
||||
@ApiModelProperty(value = "发行数量")
|
||||
@TableField("publish_count")
|
||||
private Integer publishCount;
|
||||
|
||||
@ApiModelProperty(value = "每人限领张数")
|
||||
@TableField("per_limit")
|
||||
private Integer perLimit;
|
||||
|
||||
@ApiModelProperty(value = "已使用数量")
|
||||
@TableField("use_count")
|
||||
private Integer useCount;
|
||||
|
||||
@ApiModelProperty(value = "领取数量")
|
||||
@TableField("receive_count")
|
||||
private Integer receiveCount;
|
||||
|
||||
@ApiModelProperty(value = "过期时间")
|
||||
@TableField("expire_time")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date expireTime;
|
||||
|
||||
@ApiModelProperty(value = "发布状态[0-未发布,1-已发布]")
|
||||
@TableField("publish_status")
|
||||
private Boolean publishStatus;
|
||||
|
||||
@ApiModelProperty(value = "使用状态")
|
||||
@TableField(exist = false)
|
||||
private String couponStatus;
|
||||
|
||||
@ApiModelProperty(value = "优惠券领取表id")
|
||||
@TableField(exist = false)
|
||||
private Long couponUseId;
|
||||
|
||||
@ApiModelProperty(value = "领取时间")
|
||||
@TableField(exist = false)
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date getTime;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
package com.xjs.classroom.model.activity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "CouponUse")
|
||||
@TableName("coupon_use")
|
||||
public class CouponUse extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "购物券ID")
|
||||
@TableField("coupon_id")
|
||||
private Long couponId;
|
||||
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
@TableField("user_id")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "订单ID")
|
||||
@TableField("order_id")
|
||||
private Long orderId;
|
||||
|
||||
@ApiModelProperty(value = "购物券状态(0:未使用 1:已使用)")
|
||||
@TableField("coupon_status")
|
||||
private String couponStatus;
|
||||
|
||||
@ApiModelProperty(value = "获取时间")
|
||||
@TableField("get_time")
|
||||
private Date getTime;
|
||||
|
||||
@ApiModelProperty(value = "使用时间")
|
||||
@TableField("using_time")
|
||||
private Date usingTime;
|
||||
|
||||
@ApiModelProperty(value = "支付时间")
|
||||
@TableField("used_time")
|
||||
private Date usedTime;
|
||||
|
||||
@ApiModelProperty(value = "过期时间")
|
||||
@TableField("expire_time")
|
||||
private Date expireTime;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
package com.xjs.classroom.model.base;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class BaseEntity implements Serializable {
|
||||
|
||||
@ApiModelProperty(value = "id")
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField("create_time")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField("update_time")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "逻辑删除(1:已删除,0:未删除)")
|
||||
@JsonIgnore
|
||||
@TableLogic
|
||||
@TableField("is_deleted")
|
||||
private Integer isDeleted;
|
||||
|
||||
@ApiModelProperty(value = "其他参数")
|
||||
@TableField(exist = false)
|
||||
private Map<String,Object> param = new HashMap<>();
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package com.xjs.classroom.model.base;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.springframework.data.annotation.CreatedDate;
|
||||
import org.springframework.data.annotation.Id;
|
||||
import lombok.Data;
|
||||
import org.springframework.data.annotation.LastModifiedDate;
|
||||
import org.springframework.data.annotation.Transient;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class BaseMongoEntity implements Serializable {
|
||||
|
||||
@ApiModelProperty(value = "id")
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@CreatedDate
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
@LastModifiedDate
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "其他参数")
|
||||
@Transient //被该注解标注的,将不会被录入到数据库中。只作为普通的javaBean属性
|
||||
private Map<String,Object> param = new HashMap<>();
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.xjs.classroom.model.base;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "MqRepeatRecord")
|
||||
@TableName("mq_repeat_record")
|
||||
public class MqRepeatRecord extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "业务编号")
|
||||
@TableField("business_no")
|
||||
private String businessNo;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
package com.xjs.classroom.model.live;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "LiveCourse")
|
||||
@TableName("live_course")
|
||||
public class LiveCourse extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "课程id")
|
||||
@TableField("course_id")
|
||||
private Long courseId;
|
||||
|
||||
@ApiModelProperty(value = "直播名称")
|
||||
@TableField("course_name")
|
||||
private String courseName;
|
||||
|
||||
@ApiModelProperty(value = "直播开始时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField("start_time")
|
||||
private Date startTime;
|
||||
|
||||
@ApiModelProperty(value = "直播结束时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField("end_time")
|
||||
private Date endTime;
|
||||
|
||||
@ApiModelProperty(value = "主播老师id")
|
||||
@TableField("teacher_id")
|
||||
private Long teacherId;
|
||||
|
||||
@ApiModelProperty(value = "课程封面图片路径")
|
||||
@TableField("cover")
|
||||
private String cover;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package com.xjs.classroom.model.live;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "LiveCourseAccount")
|
||||
@TableName("live_course_account")
|
||||
public class LiveCourseAccount extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "直播课程id")
|
||||
@TableField("live_course_id")
|
||||
private Long liveCourseId;
|
||||
|
||||
@ApiModelProperty(value = "主播登录账号")
|
||||
@TableField("zhubo_account")
|
||||
private String zhuboAccount;
|
||||
|
||||
@ApiModelProperty(value = "主播登录密码")
|
||||
@TableField("zhubo_password")
|
||||
private String zhuboPassword;
|
||||
|
||||
@ApiModelProperty(value = "主播登录秘钥")
|
||||
@TableField("zhubo_key")
|
||||
private String zhuboKey;
|
||||
|
||||
@ApiModelProperty(value = "助教登录秘钥")
|
||||
@TableField("admin_key")
|
||||
private String adminKey;
|
||||
|
||||
@ApiModelProperty(value = "学生登录秘钥")
|
||||
@TableField("user_key")
|
||||
private String userKey;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
package com.xjs.classroom.model.live;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "LiveCourseConfig")
|
||||
@TableName("live_course_config")
|
||||
public class LiveCourseConfig extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "直播课程id")
|
||||
@TableField("live_course_id")
|
||||
private Long liveCourseId;
|
||||
|
||||
@ApiModelProperty(value = "界面模式 1全屏模式 0二分屏 2课件模式")
|
||||
@TableField("page_view_mode")
|
||||
private Integer pageViewMode;
|
||||
|
||||
@ApiModelProperty(value = "是否开启 观看人数 0否 1是")
|
||||
@TableField("number_enable")
|
||||
private Integer numberEnable;
|
||||
|
||||
@ApiModelProperty(value = "商城是否开启 0未开启 1开启")
|
||||
@TableField("store_enable")
|
||||
private Integer storeEnable;
|
||||
|
||||
@ApiModelProperty(value = "1商品列表,2商城链接,3商城二维码")
|
||||
@TableField("store_type")
|
||||
private Integer storeType;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.xjs.classroom.model.live;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "CourseDescription")
|
||||
@TableName("live_course_description")
|
||||
public class LiveCourseDescription extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "课程ID")
|
||||
@TableField("live_course_id")
|
||||
private Long liveCourseId;
|
||||
|
||||
@ApiModelProperty(value = "课程简介")
|
||||
@TableField("description")
|
||||
private String description;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
package com.xjs.classroom.model.live;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "LiveCourseGoods")
|
||||
@TableName("live_course_goods")
|
||||
public class LiveCourseGoods extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "直播课程id")
|
||||
@TableField("live_course_id")
|
||||
private Long liveCourseId;
|
||||
|
||||
@ApiModelProperty(value = "推荐点播课程id")
|
||||
@TableField("goods_id")
|
||||
private Long goodsId;
|
||||
|
||||
@ApiModelProperty(value = "商品名称")
|
||||
@TableField("name")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "图片")
|
||||
@TableField("img")
|
||||
private String img;
|
||||
|
||||
@ApiModelProperty(value = "商品现价")
|
||||
@TableField("price")
|
||||
private String price;
|
||||
|
||||
@ApiModelProperty(value = "商品原价")
|
||||
@TableField("originalPrice")
|
||||
private String originalPrice;
|
||||
|
||||
@ApiModelProperty(value = "商品标签")
|
||||
@TableField("tab")
|
||||
private Integer tab;
|
||||
|
||||
@ApiModelProperty(value = "商品链接")
|
||||
@TableField("url")
|
||||
private String url;
|
||||
|
||||
@ApiModelProperty(value = "商品状态:0下架,1上架,2推荐")
|
||||
@TableField("putaway")
|
||||
private String putaway;
|
||||
|
||||
@ApiModelProperty(value = "购买模式(1,链接购买 2,二维码购买)")
|
||||
@TableField("pay")
|
||||
private Integer pay;
|
||||
|
||||
@ApiModelProperty(value = "商品二维码")
|
||||
@TableField("qrcode")
|
||||
private String qrcode;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
package com.xjs.classroom.model.live;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "LiveVisitor")
|
||||
@TableName("live_visitor")
|
||||
public class LiveVisitor extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "直播课程id")
|
||||
@TableField("live_course_id")
|
||||
private Long liveCourseId;
|
||||
|
||||
@ApiModelProperty(value = "直播课程")
|
||||
@TableField("course_name")
|
||||
private String courseName;
|
||||
|
||||
@ApiModelProperty(value = "来访者用户id")
|
||||
@TableField("user_id")
|
||||
private String userId;
|
||||
|
||||
@ApiModelProperty(value = "昵称")
|
||||
@TableField("nick_name")
|
||||
private String nickName;
|
||||
|
||||
@ApiModelProperty(value = "进入时间")
|
||||
@TableField("join_time")
|
||||
private String joinTime;
|
||||
|
||||
@ApiModelProperty(value = "离开的时间")
|
||||
@TableField("leave_time")
|
||||
private String leaveTime;
|
||||
|
||||
@ApiModelProperty(value = "用户地理位置")
|
||||
@TableField("location")
|
||||
private String location;
|
||||
|
||||
@ApiModelProperty(value = "用户停留的时间(单位:秒)")
|
||||
@TableField("duration")
|
||||
private Long duration;
|
||||
|
||||
@ApiModelProperty(value = "用户停留时间(时分秒)")
|
||||
@TableField("duration_time")
|
||||
private String durationTime;
|
||||
|
||||
@ApiModelProperty(value = "平台来访者id,去重使用")
|
||||
@TableField("live_visitor_id")
|
||||
private String liveVisitorId;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
package com.xjs.classroom.model.order;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "OrderDetail")
|
||||
@TableName("order_detail")
|
||||
public class OrderDetail extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "课程id")
|
||||
@TableField("course_id")
|
||||
private Long courseId;
|
||||
|
||||
@ApiModelProperty(value = "课程名称")
|
||||
@TableField("course_name")
|
||||
private String courseName;
|
||||
|
||||
@ApiModelProperty(value = "课程封面图片路径")
|
||||
@TableField("cover")
|
||||
private String cover;
|
||||
|
||||
@ApiModelProperty(value = "订单编号")
|
||||
@TableField("order_id")
|
||||
private Long orderId;
|
||||
|
||||
@ApiModelProperty(value = "用户id")
|
||||
@TableField("user_id")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "原始金额")
|
||||
@TableField("origin_amount")
|
||||
private BigDecimal originAmount;
|
||||
|
||||
@ApiModelProperty(value = "优惠劵减免金额")
|
||||
@TableField("coupon_reduce")
|
||||
private BigDecimal couponReduce;
|
||||
|
||||
@ApiModelProperty(value = "最终金额")
|
||||
@TableField("final_amount")
|
||||
private BigDecimal finalAmount;
|
||||
|
||||
@ApiModelProperty(value = "会话id 当前会话id 继承购物车中会话id")
|
||||
@TableField("session_id")
|
||||
private String sessionId;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
package com.xjs.classroom.model.order;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "OrderInfo")
|
||||
@TableName("order_info")
|
||||
public class OrderInfo extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "用户id")
|
||||
@TableField("user_id")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "昵称")
|
||||
@TableField("nick_name")
|
||||
private String nickName;
|
||||
|
||||
@TableField("phone")
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty(value = "原始金额")
|
||||
@TableField("origin_amount")
|
||||
private BigDecimal originAmount;
|
||||
|
||||
@ApiModelProperty(value = "优惠券减免")
|
||||
@TableField("coupon_reduce")
|
||||
private BigDecimal couponReduce;
|
||||
|
||||
@ApiModelProperty(value = "最终金额")
|
||||
@TableField("final_amount")
|
||||
private BigDecimal finalAmount;
|
||||
|
||||
@ApiModelProperty(value = "订单状态")
|
||||
@TableField("order_status")
|
||||
private String orderStatus;
|
||||
|
||||
@ApiModelProperty(value = "订单交易编号(第三方支付用)")
|
||||
@TableField("out_trade_no")
|
||||
private String outTradeNo;
|
||||
|
||||
@ApiModelProperty(value = "订单描述(第三方支付用)")
|
||||
@TableField("trade_body")
|
||||
private String tradeBody;
|
||||
|
||||
@ApiModelProperty(value = "session id")
|
||||
@TableField("session_id")
|
||||
private String sessionId;
|
||||
|
||||
@ApiModelProperty(value = "地区id")
|
||||
@TableField("province")
|
||||
private String province;
|
||||
|
||||
@ApiModelProperty(value = "支付时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField("pay_time")
|
||||
private Date payTime;
|
||||
|
||||
@ApiModelProperty(value = "失效时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField("expire_time")
|
||||
private Date expireTime;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
package com.xjs.classroom.model.order;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.classroom.enums.PaymentStatus;
|
||||
import com.xjs.classroom.enums.PaymentType;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "PaymentInfo")
|
||||
@TableName("payment_info")
|
||||
public class PaymentInfo extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "对外业务编号")
|
||||
@TableField("out_trade_no")
|
||||
private String outTradeNo;
|
||||
|
||||
@ApiModelProperty(value = "订单编号")
|
||||
@TableField("order_id")
|
||||
private Long orderId;
|
||||
|
||||
@ApiModelProperty(value = "用户id")
|
||||
@TableField("user_id")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "支付宝交易编号")
|
||||
@TableField("alipay_trade_no")
|
||||
private String alipayTradeNo;
|
||||
|
||||
@ApiModelProperty(value = "支付金额")
|
||||
@TableField("total_amount")
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
@ApiModelProperty(value = "交易内容")
|
||||
@TableField("trade_body")
|
||||
private String tradeBody;
|
||||
|
||||
@ApiModelProperty(value = "paymentType")
|
||||
@TableField("payment_type")
|
||||
private PaymentType paymentType;
|
||||
|
||||
@ApiModelProperty(value = "支付状态")
|
||||
@TableField("payment_status")
|
||||
private PaymentStatus paymentStatus;
|
||||
|
||||
@ApiModelProperty(value = "回调信息")
|
||||
@TableField("callback_content")
|
||||
private String callbackContent;
|
||||
|
||||
@ApiModelProperty(value = "回调时间")
|
||||
@TableField("callback_time")
|
||||
private Date callbackTime;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
package com.xjs.classroom.model.user;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "UserInfo")
|
||||
@TableName("user_info")
|
||||
public class UserInfo extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "手机号")
|
||||
@TableField("phone")
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty(value = "用户密码")
|
||||
@TableField("password")
|
||||
private String password;
|
||||
|
||||
@ApiModelProperty(value = "用户姓名")
|
||||
@TableField("name")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "昵称")
|
||||
@TableField("nick_name")
|
||||
private String nickName;
|
||||
|
||||
@ApiModelProperty(value = "性别")
|
||||
@TableField("sex")
|
||||
private Integer sex;
|
||||
|
||||
@ApiModelProperty(value = "头像")
|
||||
@TableField("avatar")
|
||||
private String avatar;
|
||||
|
||||
@ApiModelProperty(value = "省")
|
||||
@TableField("province")
|
||||
private String province;
|
||||
|
||||
@ApiModelProperty(value = "0:未订阅 1:已订阅")
|
||||
@TableField("subscribe")
|
||||
private Integer subscribe;
|
||||
|
||||
@ApiModelProperty(value = "小程序open id")
|
||||
@TableField("open_id")
|
||||
private String openId;
|
||||
|
||||
@ApiModelProperty(value = "微信开放平台unionID")
|
||||
@TableField("union_id")
|
||||
private String unionId;
|
||||
|
||||
@ApiModelProperty(value = "推荐人用户id")
|
||||
@TableField("recommend_id")
|
||||
private Long recommendId;
|
||||
|
||||
@ApiModelProperty(value = "status")
|
||||
@TableField("status")
|
||||
private Integer status;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package com.xjs.classroom.model.user;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "UserLoginLog")
|
||||
@TableName("user_login_log")
|
||||
public class UserLoginLog extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "用户id")
|
||||
@TableField("user_id")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "登录ip")
|
||||
@TableField("ip")
|
||||
private String ip;
|
||||
|
||||
@ApiModelProperty(value = "登录城市")
|
||||
@TableField("city")
|
||||
private String city;
|
||||
|
||||
@ApiModelProperty(value = "登录类型【0-web,1-移动】")
|
||||
@TableField("type")
|
||||
private Boolean type;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package com.xjs.classroom.model.vod;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "Chapter")
|
||||
@TableName("chapter")
|
||||
public class Chapter extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "课程ID")
|
||||
@TableField("course_id")
|
||||
private Long courseId;
|
||||
|
||||
@ApiModelProperty(value = "章节名称")
|
||||
@TableField("title")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty(value = "显示排序")
|
||||
@TableField("sort")
|
||||
private Integer sort;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package com.xjs.classroom.model.vod;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "Comment")
|
||||
@TableName("comment")
|
||||
public class Comment extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "课程id")
|
||||
@TableField("course_id")
|
||||
private Long courseId;
|
||||
|
||||
@ApiModelProperty(value = "讲师id")
|
||||
@TableField("teacher_id")
|
||||
private Long teacherId;
|
||||
|
||||
@ApiModelProperty(value = "会员id")
|
||||
@TableField("user_id")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "会员昵称")
|
||||
@TableField("nickname")
|
||||
private String nickname;
|
||||
|
||||
@ApiModelProperty(value = "会员头像")
|
||||
@TableField("avatar")
|
||||
private String avatar;
|
||||
|
||||
@ApiModelProperty(value = "评论内容")
|
||||
@TableField("content")
|
||||
private String content;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
package com.xjs.classroom.model.vod;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "Course")
|
||||
@TableName("course")
|
||||
public class Course extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "课程讲师ID")
|
||||
@TableField("teacher_id")
|
||||
private Long teacherId;
|
||||
|
||||
@ApiModelProperty(value = "课程专业ID")
|
||||
@TableField("subject_id")
|
||||
private Long subjectId;
|
||||
|
||||
@ApiModelProperty(value = "课程专业父级ID")
|
||||
@TableField("subject_parent_id")
|
||||
private Long subjectParentId;
|
||||
|
||||
@ApiModelProperty(value = "课程标题")
|
||||
@TableField("title")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty(value = "课程销售价格,设置为0则可免费观看")
|
||||
@TableField("price")
|
||||
private BigDecimal price;
|
||||
|
||||
@ApiModelProperty(value = "总课时")
|
||||
@TableField("lesson_num")
|
||||
private Integer lessonNum;
|
||||
|
||||
@ApiModelProperty(value = "视频总时长(秒)")
|
||||
@TableField("duration_sum")
|
||||
private Float durationSum;
|
||||
|
||||
@ApiModelProperty(value = "课程封面图片路径")
|
||||
@TableField("cover")
|
||||
private String cover;
|
||||
|
||||
@ApiModelProperty(value = "销售数量")
|
||||
@TableField("buy_count")
|
||||
private Long buyCount;
|
||||
|
||||
@ApiModelProperty(value = "浏览数量")
|
||||
@TableField("view_count")
|
||||
private Long viewCount;
|
||||
|
||||
@ApiModelProperty(value = "课程状态 0未发布 1已发布")
|
||||
@TableField("status")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "课程发布时间")
|
||||
@TableField("publish_time")
|
||||
private Date publishTime;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.xjs.classroom.model.vod;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "CourseCollect")
|
||||
@TableName("course_collect")
|
||||
public class CourseCollect extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "课程讲师ID")
|
||||
@TableField("course_id")
|
||||
private Long courseId;
|
||||
|
||||
@ApiModelProperty(value = "会员ID")
|
||||
@TableField("user_id")
|
||||
private Long userId;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
package com.xjs.classroom.model.vod;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "CourseDescription")
|
||||
@TableName("course_description")
|
||||
public class CourseDescription {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "id")
|
||||
@TableId(type = IdType.INPUT)
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField("create_time")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField("update_time")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "逻辑删除(1:已删除,0:未删除)")
|
||||
@JsonIgnore
|
||||
@TableLogic
|
||||
@TableField("is_deleted")
|
||||
private Integer isDeleted;
|
||||
|
||||
@ApiModelProperty(value = "其他参数")
|
||||
@TableField(exist = false)
|
||||
private Map<String,Object> param = new HashMap<>();
|
||||
|
||||
@ApiModelProperty(value = "课程ID")
|
||||
@TableField("course_id")
|
||||
private Long courseId;
|
||||
|
||||
@ApiModelProperty(value = "课程简介")
|
||||
@TableField("description")
|
||||
private String description;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
package com.xjs.classroom.model.vod;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "Subject")
|
||||
@TableName("subject")
|
||||
public class Subject {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@ApiModelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField("create_time")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField("update_time")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "逻辑删除(1:已删除,0:未删除)")
|
||||
@JsonIgnore
|
||||
@TableLogic
|
||||
@TableField("is_deleted")
|
||||
private Integer isDeleted;
|
||||
|
||||
@ApiModelProperty(value = "其他参数")
|
||||
@TableField(exist = false)
|
||||
private Map<String,Object> param = new HashMap<>();
|
||||
|
||||
@ApiModelProperty(value = "类别名称")
|
||||
@TableField("title")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty(value = "父ID")
|
||||
@TableField("parent_id")
|
||||
private Long parentId;
|
||||
|
||||
@ApiModelProperty(value = "排序字段")
|
||||
@TableField("sort")
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty(value = "是否包含子节点")
|
||||
@TableField(exist = false)
|
||||
private boolean hasChildren;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
package com.xjs.classroom.model.vod;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import com.xjs.validation.group.AddGroup;
|
||||
import com.xjs.validation.group.UpdateGroup;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "Teacher")
|
||||
@TableName("teacher")
|
||||
public class Teacher extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "讲师名称")
|
||||
@TableField("name")
|
||||
@NotBlank(message = "讲师名称不能为空", groups = {UpdateGroup.class,AddGroup.class})
|
||||
@Size(max = 10, message = "请控制讲师名称长度在10字符", groups = {UpdateGroup.class, AddGroup.class})
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "讲师简介")
|
||||
@TableField("intro")
|
||||
@Size(max = 50, message = "请控制讲师简介长度在10字符", groups = {UpdateGroup.class,AddGroup.class})
|
||||
private String intro;
|
||||
|
||||
@ApiModelProperty(value = "讲师资历,一句话说明讲师")
|
||||
@Size(max = 500, message = "请控制讲师资历长度在500字符", groups = {UpdateGroup.class,AddGroup.class})
|
||||
@TableField("career")
|
||||
private String career;
|
||||
|
||||
@ApiModelProperty(value = "头衔 1高级讲师 2首席讲师")
|
||||
@TableField("level")
|
||||
@NotNull(message = "讲师名称不能为空", groups = {UpdateGroup.class,AddGroup.class})
|
||||
private Integer level;
|
||||
|
||||
@ApiModelProperty(value = "讲师头像")
|
||||
@TableField("avatar")
|
||||
@NotBlank(message = "讲师头像不能为空", groups = {UpdateGroup.class,AddGroup.class})
|
||||
private String avatar;
|
||||
|
||||
@ApiModelProperty(value = "排序")
|
||||
@TableField("sort")
|
||||
@NotNull(message = "排序不能为空", groups = {UpdateGroup.class,AddGroup.class})
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty(value = "入驻时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@TableField("join_date")
|
||||
@NotNull(message = "入驻时间不能为空", groups = {UpdateGroup.class,AddGroup.class})
|
||||
private LocalDate joinDate;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
package com.xjs.classroom.model.vod;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "Video")
|
||||
@TableName("video")
|
||||
public class Video extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "课程ID")
|
||||
@TableField("course_id")
|
||||
private Long courseId;
|
||||
|
||||
@ApiModelProperty(value = "章节ID")
|
||||
@TableField("chapter_id")
|
||||
private Long chapterId;
|
||||
|
||||
@ApiModelProperty(value = "节点名称")
|
||||
@TableField("title")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty(value = "云端视频资源")
|
||||
@TableField("video_source_id")
|
||||
private String videoSourceId;
|
||||
|
||||
@ApiModelProperty(value = "原始文件名称")
|
||||
@TableField("video_original_name")
|
||||
private String videoOriginalName;
|
||||
|
||||
@ApiModelProperty(value = "排序字段")
|
||||
@TableField("sort")
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty(value = "播放次数")
|
||||
@TableField("play_count")
|
||||
private Long playCount;
|
||||
|
||||
@ApiModelProperty(value = "是否可以试听:0收费 1免费")
|
||||
@TableField("is_free")
|
||||
private Integer isFree;
|
||||
|
||||
@ApiModelProperty(value = "视频时长(秒)")
|
||||
@TableField("duration")
|
||||
private Float duration;
|
||||
|
||||
@ApiModelProperty(value = "视频源文件大小(字节)")
|
||||
@TableField("size")
|
||||
private Long size;
|
||||
|
||||
@ApiModelProperty(value = "乐观锁")
|
||||
@TableField("version")
|
||||
private Long version;
|
||||
|
||||
@ApiModelProperty(value = "状态")
|
||||
@TableField("status")
|
||||
private Integer status;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
package com.xjs.classroom.model.vod;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "VideoVisitor")
|
||||
@TableName("video_visitor")
|
||||
public class VideoVisitor extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "课程id")
|
||||
@TableField("course_id")
|
||||
private Long courseId;
|
||||
|
||||
@ApiModelProperty(value = "视频id")
|
||||
@TableField("video_id")
|
||||
private Long videoId;
|
||||
|
||||
@ApiModelProperty(value = "来访者用户id")
|
||||
@TableField("user_id")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "昵称")
|
||||
@TableField("nick_name")
|
||||
private String nickName;
|
||||
|
||||
@ApiModelProperty(value = "进入时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField("join_time")
|
||||
private Date joinTime;
|
||||
|
||||
@ApiModelProperty(value = "离开的时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField("leave_time")
|
||||
private Date leaveTime;
|
||||
|
||||
@ApiModelProperty(value = "用户停留的时间(单位:秒)")
|
||||
@TableField("duration")
|
||||
private Long duration;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.xjs.classroom.model.wechat;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "菜单")
|
||||
@TableName("menu")
|
||||
public class Menu extends BaseEntity {
|
||||
|
||||
@ApiModelProperty(value = "id")
|
||||
@TableField("parent_id")
|
||||
private Long parentId;
|
||||
|
||||
@ApiModelProperty(value = "名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "类型")
|
||||
private String type;
|
||||
|
||||
@ApiModelProperty(value = "网页 链接,用户点击菜单可打开链接")
|
||||
private String url;
|
||||
|
||||
@ApiModelProperty(value = "菜单KEY值,用于消息接口推送")
|
||||
@TableField("meun_key")
|
||||
private String meunKey;
|
||||
|
||||
@ApiModelProperty(value = "排序")
|
||||
private Integer sort;
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.xjs.classroom.vo.acl;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "管理员登录信息")
|
||||
public class AdminLoginVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "管理员id")
|
||||
private Long adminId;
|
||||
|
||||
@ApiModelProperty(value = "姓名")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "仓库id")
|
||||
private Long wareId;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
package com.xjs.classroom.vo.activity;
|
||||
|
||||
import com.xjs.classroom.model.base.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "CouponInfo")
|
||||
public class CouponInfoVo extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "优惠券领取表id")
|
||||
private Long couponUseId;
|
||||
|
||||
@ApiModelProperty(value = "是否可用")
|
||||
private Integer available;
|
||||
|
||||
@ApiModelProperty(value = "优惠卷名字")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "卡有效开始时间 (时间戳, 单位毫秒)")
|
||||
private Long startAt;
|
||||
|
||||
@ApiModelProperty(value = "卡有效结束时间 (时间戳, 单位毫秒)")
|
||||
private Long endAt;
|
||||
|
||||
@ApiModelProperty(value = "满减条件")
|
||||
private String condition;
|
||||
|
||||
@ApiModelProperty(value = "描述信息,优惠券可用时展示")
|
||||
private String description;
|
||||
|
||||
@ApiModelProperty(value = "不可用原因,优惠券不可用时展示")
|
||||
private String reason;
|
||||
|
||||
@ApiModelProperty(value = "折扣券优惠金额,单位分")
|
||||
private String value;
|
||||
|
||||
@ApiModelProperty(value = "折扣券优惠金额文案")
|
||||
private String valueDesc;
|
||||
|
||||
@ApiModelProperty(value = "单位文案")
|
||||
private String unitDesc;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
package com.xjs.classroom.vo.activity;
|
||||
|
||||
import lombok.Data;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
@Data
|
||||
public class CouponUseQueryVo {
|
||||
|
||||
@ApiModelProperty(value = "购物券ID")
|
||||
private Long couponId;
|
||||
@ApiModelProperty(value = "购物券状态(1:未使用 2:已使用)")
|
||||
private String couponStatus;
|
||||
|
||||
@ApiModelProperty(value = "获取时间")
|
||||
private String getTimeBegin;
|
||||
|
||||
@ApiModelProperty(value = "使用时间")
|
||||
private String getTimeEnd;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package com.xjs.classroom.vo.activity;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "领取优惠券vo")
|
||||
public class GiveCouponVo {
|
||||
|
||||
@ApiModelProperty(value = "购物券类型")
|
||||
private Integer couponType;
|
||||
|
||||
@ApiModelProperty(value = "优惠卷名字")
|
||||
private Long userId;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package com.xjs.classroom.vo.live;
|
||||
|
||||
import com.xjs.classroom.model.live.LiveCourseConfig;
|
||||
import com.xjs.classroom.model.live.LiveCourseGoods;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "LiveCourseConfig")
|
||||
public class LiveCourseConfigVo extends LiveCourseConfig {
|
||||
|
||||
@ApiModelProperty(value = "商品列表")
|
||||
private List<LiveCourseGoods> liveCourseGoodsList;
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package com.xjs.classroom.vo.live;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class LiveCourseFormVo {
|
||||
|
||||
@ApiModelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "直播名称")
|
||||
private String courseName;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "直播开始时间")
|
||||
private Date startTime;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "直播结束时间")
|
||||
private Date endTime;
|
||||
|
||||
@ApiModelProperty(value = "主播老师id")
|
||||
private Long teacherId;
|
||||
|
||||
@ApiModelProperty(value = "主播密码")
|
||||
private String password;
|
||||
|
||||
@ApiModelProperty(value = "课程简介")
|
||||
private String description;
|
||||
|
||||
@ApiModelProperty(value = "课程封面图片路径")
|
||||
private String cover;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package com.xjs.classroom.vo.live;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "LiveCourseGoods")
|
||||
public class LiveCourseGoodsView {
|
||||
|
||||
@ApiModelProperty(value = "商品名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "图片")
|
||||
private String img;
|
||||
|
||||
@ApiModelProperty(value = "商品现价")
|
||||
private String price;
|
||||
|
||||
@ApiModelProperty(value = "商品原价")
|
||||
private String originalPrice;
|
||||
|
||||
@ApiModelProperty(value = "商品标签")
|
||||
private String tab;
|
||||
|
||||
@ApiModelProperty(value = "商品链接")
|
||||
private String url;
|
||||
|
||||
@ApiModelProperty(value = "商品状态:0下架,1上架,2推荐")
|
||||
private String putaway;
|
||||
|
||||
@ApiModelProperty(value = "购买模式(1,链接购买 2,二维码购买)")
|
||||
private String pay;
|
||||
|
||||
@ApiModelProperty(value = "商品二维码")
|
||||
private String qrcode = "";
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package com.xjs.classroom.vo.live;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class LiveCourseQueryVo {
|
||||
|
||||
@ApiModelProperty(value = "课程id")
|
||||
private Long courseId;
|
||||
|
||||
@ApiModelProperty(value = "直播名称")
|
||||
private String courseName;
|
||||
|
||||
@ApiModelProperty(value = "直播开始时间")
|
||||
private Date startTime;
|
||||
|
||||
@ApiModelProperty(value = "直播结束时间")
|
||||
private Date endTime;
|
||||
|
||||
@ApiModelProperty(value = "接入方主播账号或ID或手机号等,最长32位")
|
||||
private String account;
|
||||
|
||||
@ApiModelProperty(value = "主播表id")
|
||||
private Long liveZhuboId;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "updateTime")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "isDeleted")
|
||||
private Integer isDeleted;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.xjs.classroom.vo.live;
|
||||
|
||||
|
||||
import com.xjs.classroom.model.live.LiveCourse;
|
||||
import com.xjs.classroom.model.vod.Teacher;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class LiveCourseVo extends LiveCourse {
|
||||
|
||||
@ApiModelProperty(value = "主播老师")
|
||||
private Teacher teacher;
|
||||
|
||||
private Integer liveStatus;
|
||||
|
||||
@ApiModelProperty(value = "直播开始时间")
|
||||
private String startTimeString;
|
||||
|
||||
@ApiModelProperty(value = "直播结束时间")
|
||||
private String endTimeString;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.xjs.classroom.vo.live;
|
||||
|
||||
import lombok.Data;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
@Data
|
||||
public class LiveVisitorQueryVo {
|
||||
|
||||
@ApiModelProperty(value = "直播课程id")
|
||||
private Long liveCourseId;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.xjs.classroom.vo.order;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class OrderFormVo {
|
||||
|
||||
@ApiModelProperty(value = "课程id")
|
||||
private Long courseId;
|
||||
|
||||
@ApiModelProperty(value = "优惠券id")
|
||||
private Long couponId;
|
||||
|
||||
@ApiModelProperty(value = "优惠券领取表id")
|
||||
private Long couponUseId;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.xjs.classroom.vo.order;
|
||||
|
||||
import lombok.Data;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
@Data
|
||||
public class OrderInfoQueryVo {
|
||||
|
||||
@ApiModelProperty(value = "用户id")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "nickName")
|
||||
private String nickName;
|
||||
|
||||
@ApiModelProperty(value = "phone")
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty(value = "订单状态")
|
||||
private Integer orderStatus;
|
||||
|
||||
@ApiModelProperty(value = "订单交易编号(第三方支付用)")
|
||||
private String outTradeNo;
|
||||
|
||||
@ApiModelProperty(value = "地区id")
|
||||
private String province;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private String createTimeBegin;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private String createTimeEnd;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package com.xjs.classroom.vo.order;
|
||||
|
||||
import com.xjs.classroom.model.order.OrderInfo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class OrderInfoVo extends OrderInfo {
|
||||
|
||||
@ApiModelProperty(value = "课程id")
|
||||
private Long courseId;
|
||||
|
||||
@ApiModelProperty(value = "课程名称")
|
||||
private String courseName;
|
||||
|
||||
@ApiModelProperty(value = "课程封面图片路径")
|
||||
private String cover;
|
||||
|
||||
@ApiModelProperty(value = "总时长:分钟")
|
||||
private Integer durationSum;
|
||||
|
||||
@ApiModelProperty(value = "观看进度总时长:分钟")
|
||||
private Integer progressSum;
|
||||
|
||||
@ApiModelProperty(value = "观看进度")
|
||||
private Integer progress;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.xjs.classroom.vo.user;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BindPhoneVo {
|
||||
|
||||
@ApiModelProperty(value = "手机号")
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty(value = "验证码")
|
||||
private String code;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.xjs.classroom.vo.user;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UserInfoQueryVo {
|
||||
|
||||
@ApiModelProperty(value = "昵称")
|
||||
private String nickName;
|
||||
|
||||
@ApiModelProperty(value = "身份证号码")
|
||||
private String idNo;
|
||||
|
||||
@ApiModelProperty(value = "性别")
|
||||
private String sex;
|
||||
|
||||
@ApiModelProperty(value = "电话号码")
|
||||
private String phone;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.xjs.classroom.vo.vod;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@ApiModel("课程章节对象")
|
||||
@Data
|
||||
public class ChapterVo {
|
||||
|
||||
@ApiModelProperty(value = "章节ID")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "章节标题")
|
||||
private String title;
|
||||
@ApiModelProperty(value = "排序")
|
||||
private Integer sort;
|
||||
@ApiModelProperty(value = "章节下的课时列表")
|
||||
private List<VideoVo> children = new ArrayList<>();
|
||||
}
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
package com.xjs.classroom.vo.vod;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @author helen
|
||||
* @since 2020/6/6
|
||||
*/
|
||||
@ApiModel("课程基本信息")
|
||||
@Data
|
||||
public class CourseFormVo {
|
||||
|
||||
@ApiModelProperty(value = "课程ID")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "课程讲师ID")
|
||||
private Long teacherId;
|
||||
|
||||
@ApiModelProperty(value = "课程专业ID")
|
||||
private Long subjectId;
|
||||
|
||||
@ApiModelProperty(value = "课程专业父级ID")
|
||||
private Long subjectParentId;
|
||||
|
||||
@ApiModelProperty(value = "课程标题")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty(value = "课程销售价格,设置为0则可免费观看")
|
||||
private BigDecimal price;
|
||||
|
||||
@ApiModelProperty(value = "总课时")
|
||||
private Integer lessonNum;
|
||||
|
||||
@ApiModelProperty(value = "课程封面图片路径")
|
||||
private String cover;
|
||||
|
||||
@ApiModelProperty(value = "课程简介")
|
||||
private String description;
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
package com.xjs.classroom.vo.vod;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author helen
|
||||
* @since 2020/6/6
|
||||
*/
|
||||
@ApiModel("课程观看进度")
|
||||
@Data
|
||||
public class CourseProgressVo {
|
||||
|
||||
@ApiModelProperty(value = "课程ID")
|
||||
private Long courseId;
|
||||
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "总时长")
|
||||
private Float durationSum;
|
||||
|
||||
@ApiModelProperty(value = "观看进度总时长")
|
||||
private Float progressSum;
|
||||
|
||||
@ApiModelProperty(value = "观看进度")
|
||||
private Integer progress;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
package com.xjs.classroom.vo.vod;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author helen
|
||||
* @since 2020/6/6
|
||||
*/
|
||||
@ApiModel("课程发布对象")
|
||||
@Data
|
||||
public class CoursePublishVo {
|
||||
@ApiModelProperty(value = "课程ID")
|
||||
private String id;
|
||||
@ApiModelProperty(value = "课程标题")
|
||||
private String title;
|
||||
@ApiModelProperty(value = "课程封面图片路径")
|
||||
private String cover;
|
||||
@ApiModelProperty(value = "总课时")
|
||||
private Integer lessonNum;
|
||||
@ApiModelProperty(value = "一级分类标题")
|
||||
private String subjectParentTitle;
|
||||
@ApiModelProperty(value = "二级分类标题")
|
||||
private String subjectTitle;
|
||||
@ApiModelProperty(value = "讲师姓名")
|
||||
private String teacherName;
|
||||
@ApiModelProperty(value = "课程销售价格")
|
||||
private String price;//只用于显示
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.xjs.classroom.vo.vod;
|
||||
|
||||
import lombok.Data;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
@Data
|
||||
public class CourseQueryVo {
|
||||
|
||||
@ApiModelProperty(value = "课程讲师ID")
|
||||
private Long teacherId;
|
||||
|
||||
@ApiModelProperty(value = "课程专业ID")
|
||||
private Long subjectId;
|
||||
|
||||
@ApiModelProperty(value = "课程专业父级ID")
|
||||
private Long subjectParentId;
|
||||
|
||||
@ApiModelProperty(value = "课程标题")
|
||||
private String title;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package com.xjs.classroom.vo.vod;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author helen
|
||||
* @since 2020/6/6
|
||||
*/
|
||||
@ApiModel("课程对象")
|
||||
@Data
|
||||
public class CourseVo {
|
||||
|
||||
@ApiModelProperty(value = "课程ID")
|
||||
private String id;
|
||||
@ApiModelProperty(value = "课程标题")
|
||||
private String title;
|
||||
@ApiModelProperty(value = "一级分类标题")
|
||||
private String subjectParentTitle;
|
||||
@ApiModelProperty(value = "二级分类标题")
|
||||
private String subjectTitle;
|
||||
@ApiModelProperty(value = "讲师id")
|
||||
private Long teacherId;
|
||||
@ApiModelProperty(value = "讲师姓名")
|
||||
private String teacherName;
|
||||
@ApiModelProperty(value = "总课时")
|
||||
private Integer lessonNum;
|
||||
@ApiModelProperty(value = "课程销售价格")
|
||||
private String price;//只用于显示
|
||||
@ApiModelProperty(value = "课程封面图片路径")
|
||||
private String cover;
|
||||
@ApiModelProperty(value = "销售数量")
|
||||
private Long buyCount;
|
||||
@ApiModelProperty(value = "浏览数量")
|
||||
private Long viewCount;
|
||||
@ApiModelProperty(value = "课程状态")
|
||||
private String status;
|
||||
@ApiModelProperty(value = "课程发布时间")
|
||||
private String publishTime;
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
package com.xjs.classroom.vo.vod;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Dict
|
||||
* </p>
|
||||
*
|
||||
* @author qy
|
||||
*/
|
||||
@Data
|
||||
public class SubjectEeVo {
|
||||
|
||||
@ExcelProperty(value = "id" ,index = 0)
|
||||
private Long id;
|
||||
|
||||
@ExcelProperty(value = "课程分类名称" ,index = 1)
|
||||
private String title;
|
||||
|
||||
@ExcelProperty(value = "上级id" ,index = 2)
|
||||
private Long parentId;
|
||||
|
||||
@ExcelProperty(value = "排序" ,index = 3)
|
||||
private Integer sort;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package com.xjs.classroom.vo.vod;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author helen
|
||||
* @since 2020/6/5
|
||||
*/
|
||||
@ApiModel("课程分类列表")
|
||||
@Data
|
||||
public class SubjectVo {
|
||||
|
||||
@ApiModelProperty(value = "课程分类ID")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "课程分类名称")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty(value = "排序")
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty(value = "课程二级分类列表")
|
||||
private List<SubjectVo> children = new ArrayList<>();
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package com.xjs.classroom.vo.vod;
|
||||
|
||||
import com.xjs.validation.group.SelectGroup;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.Size;
|
||||
|
||||
@Data
|
||||
public class TeacherQueryVo {
|
||||
|
||||
@ApiModelProperty(value = "讲师姓名")
|
||||
@Size(max = 10, message = "请控制讲师名称长度在10字符", groups = {SelectGroup.class})
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "头衔 1高级讲师 2首席讲师")
|
||||
private Integer level;
|
||||
|
||||
@ApiModelProperty(value = "入驻时间")
|
||||
private String joinDateBegin;
|
||||
|
||||
@ApiModelProperty(value = "入驻时间")
|
||||
private String joinDateEnd;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.xjs.classroom.vo.vod;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class VideoVisitorCountVo {
|
||||
|
||||
@ApiModelProperty(value = "进入时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private String joinTime;
|
||||
|
||||
@ApiModelProperty(value = "用户个数")
|
||||
private Integer userCount;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.xjs.classroom.vo.vod;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class VideoVisitorQueryVo {
|
||||
|
||||
@ApiModelProperty(value = "课程id")
|
||||
private Long courseId;
|
||||
|
||||
@ApiModelProperty(value = "视频id")
|
||||
private Long videoId;
|
||||
|
||||
@ApiModelProperty(value = "进入时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date joinTime;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.xjs.classroom.vo.vod;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class VideoVisitorVo {
|
||||
|
||||
@ApiModelProperty(value = "课程id")
|
||||
@TableField("course_id")
|
||||
private Long courseId;
|
||||
|
||||
@ApiModelProperty(value = "视频id")
|
||||
@TableField("video_id")
|
||||
private Long videoId;
|
||||
|
||||
@ApiModelProperty(value = "来访者用户id")
|
||||
@TableField("user_id")
|
||||
private String userId;
|
||||
|
||||
@ApiModelProperty(value = "昵称")
|
||||
@TableField("nick_name")
|
||||
private String nickName;
|
||||
|
||||
@ApiModelProperty(value = "进入时间")
|
||||
@TableField("join_time")
|
||||
private String joinTime;
|
||||
|
||||
@ApiModelProperty(value = "用户停留的时间(单位:秒)")
|
||||
@TableField("duration")
|
||||
private Long duration;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.xjs.classroom.vo.vod;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@ApiModel("课时信息")
|
||||
@Data
|
||||
public class VideoVo {
|
||||
@ApiModelProperty(value = "课时ID")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "课时标题")
|
||||
private String title;
|
||||
@ApiModelProperty(value = "是否可以试听")
|
||||
private Integer isFree;
|
||||
@ApiModelProperty(value = "排序")
|
||||
private Integer sort;
|
||||
@ApiModelProperty(value = "视频ID")
|
||||
private String videoSourceId;
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.xjs.classroom.vo.wechat;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "优惠券消息")
|
||||
public class CouponMessageVo {
|
||||
|
||||
@ApiModelProperty(value = "优惠券id")
|
||||
private Long couponId;
|
||||
|
||||
@ApiModelProperty(value = "用户id")
|
||||
private Long userId;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package com.xjs.classroom.vo.wechat;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "菜单")
|
||||
public class MenuVo {
|
||||
|
||||
@ApiModelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "id")
|
||||
private Long parentId;
|
||||
|
||||
@ApiModelProperty(value = "名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "类型")
|
||||
private String type;
|
||||
|
||||
@ApiModelProperty(value = "url")
|
||||
private String url;
|
||||
|
||||
@ApiModelProperty(value = "菜单key")
|
||||
private String meunKey;
|
||||
|
||||
@ApiModelProperty(value = "排序")
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty(value = "下级")
|
||||
@TableField(exist = false)
|
||||
private List<MenuVo> children;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package com.xjs.classroom.vo.wechat;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
|
||||
@ApiModel("分享签名对象")
|
||||
@Data
|
||||
public class WxJsapiSignatureVo {
|
||||
|
||||
private String appId;
|
||||
private String nonceStr;
|
||||
private long timestamp;
|
||||
private String url;
|
||||
private String signature;
|
||||
//加密用户id
|
||||
private String userEedId;
|
||||
}
|
||||
|
|
@ -20,7 +20,6 @@
|
|||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-generator</artifactId>
|
||||
<version>3.3.1</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
package com.xjs.classroom.vod;
|
||||
|
||||
import com.ruoyi.common.security.annotation.EnableCustomConfig;
|
||||
import com.ruoyi.common.security.annotation.EnableRyFeignClients;
|
||||
import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
/**
|
||||
* 启动器
|
||||
* @author xiejs
|
||||
* @since 2022-06-29
|
||||
*/
|
||||
@SpringBootApplication
|
||||
@EnableCustomConfig
|
||||
@EnableCustomSwagger2
|
||||
@EnableRyFeignClients
|
||||
public class ClassroomServiceVodApp {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(ClassroomServiceVodApp.class, args);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,185 @@
|
|||
package com.xjs.classroom.vod.controller;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.xjs.classroom.model.vod.Teacher;
|
||||
import com.xjs.classroom.vo.vod.TeacherQueryVo;
|
||||
import com.xjs.classroom.vod.service.TeacherService;
|
||||
import com.xjs.utils.Result;
|
||||
import com.xjs.validation.group.AddGroup;
|
||||
import com.xjs.validation.group.SelectGroup;
|
||||
import com.xjs.validation.group.UpdateGroup;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 讲师 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author xiejs
|
||||
* @since 2022-06-29
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "讲师管理接口")
|
||||
@RequestMapping("/admin/vod/teacher")
|
||||
public class TeacherController {
|
||||
|
||||
@Autowired
|
||||
private TeacherService teacherService;
|
||||
|
||||
// http://localhost:8301/admin/vod/teacher/findAll
|
||||
//1 查询所有讲师
|
||||
// @ApiOperation("查询所有讲师")
|
||||
// @GetMapping("findAll")
|
||||
// public List<Teacher> findAllTeacher() {
|
||||
// //调用service方法
|
||||
// List<Teacher> list = teacherService.list();
|
||||
// return list;
|
||||
// }
|
||||
@ApiOperation("查询所有讲师")
|
||||
@GetMapping("findAll")
|
||||
public Result<List<Teacher>> findAllTeacher() {
|
||||
//模拟异常
|
||||
// try {
|
||||
// int i = 10/0;
|
||||
// }catch (Exception e) {
|
||||
// //抛出异常
|
||||
// throw new GgktException(201,"执行自定义异常处理GgktException");
|
||||
// }
|
||||
//调用service方法
|
||||
List<Teacher> list = teacherService.list();
|
||||
return Result.ok(list).message("查询数据成功");
|
||||
}
|
||||
|
||||
// remove/1
|
||||
//2 逻辑删除讲师
|
||||
@ApiOperation("逻辑删除讲师")
|
||||
@DeleteMapping("remove/{id}")
|
||||
public Result removeTeacher(@ApiParam(name = "id", value = "ID", required = true)
|
||||
@PathVariable(name = "id") Long id) {
|
||||
boolean isSuccess = teacherService.removeById(id);
|
||||
if (isSuccess) {
|
||||
return Result.ok(null);
|
||||
} else {
|
||||
return Result.fail(null);
|
||||
}
|
||||
}
|
||||
|
||||
//3 条件查询分页
|
||||
@ApiOperation("条件查询分页")
|
||||
@PostMapping("findQueryPage/{current}/{limit}")
|
||||
public Result findPage(@PathVariable long current,
|
||||
@PathVariable long limit,
|
||||
@RequestBody(required = false) @Validated(SelectGroup.class) TeacherQueryVo teacherQueryVo) {
|
||||
//创建page对象
|
||||
Page<Teacher> pageParam = new Page<>(current, limit);
|
||||
|
||||
QueryWrapper<Teacher> wrapper = new QueryWrapper<>();
|
||||
wrapper.orderByDesc("id");
|
||||
|
||||
//判断teacherQueryVo对象是否为空
|
||||
if (teacherQueryVo == null) {//查询全部
|
||||
IPage<Teacher> pageModel =
|
||||
teacherService.page(pageParam, null);
|
||||
return Result.ok(pageModel);
|
||||
} else {
|
||||
//获取条件值,
|
||||
String name = teacherQueryVo.getName();
|
||||
Integer level = teacherQueryVo.getLevel();
|
||||
String joinDateBegin = teacherQueryVo.getJoinDateBegin();
|
||||
String joinDateEnd = teacherQueryVo.getJoinDateEnd();
|
||||
//进行非空判断,条件封装
|
||||
if (StringUtils.hasText(name)) {
|
||||
wrapper.like("name", name);
|
||||
}
|
||||
if (!ObjectUtils.isEmpty(level)) {
|
||||
wrapper.eq("level", level);
|
||||
}
|
||||
if (StringUtils.hasText(joinDateBegin)) {
|
||||
wrapper.ge("join_date", joinDateBegin);
|
||||
}
|
||||
if (StringUtils.hasText(joinDateEnd)) {
|
||||
wrapper.le("join_date", joinDateEnd);
|
||||
}
|
||||
//调用方法分页查询
|
||||
IPage<Teacher> pageModel = teacherService.page(pageParam, wrapper);
|
||||
//返回
|
||||
return Result.ok(pageModel);
|
||||
}
|
||||
}
|
||||
|
||||
//4 添加讲师
|
||||
@ApiOperation("添加讲师")
|
||||
@PostMapping("saveTeacher")
|
||||
public Result saveTeacher(@RequestBody @Validated(AddGroup.class) Teacher teacher) {
|
||||
Teacher teacherOne = teacherService.getOne(new LambdaQueryWrapper<Teacher>()
|
||||
.eq(Teacher::getName, teacher.getName()), false);
|
||||
|
||||
if (!ObjectUtils.isEmpty(teacherOne)) {
|
||||
return Result.fail("讲师"+teacher.getName()+"已存在");
|
||||
}
|
||||
|
||||
boolean isSuccess = teacherService.save(teacher);
|
||||
if (isSuccess) {
|
||||
return Result.ok(null);
|
||||
} else {
|
||||
return Result.fail(null);
|
||||
}
|
||||
}
|
||||
|
||||
//5 修改-根据id查询
|
||||
@ApiOperation("根据id查询")
|
||||
@GetMapping("getTeacher/{id}")
|
||||
public Result getTeacher(@PathVariable Long id) {
|
||||
Teacher teacher = teacherService.getById(id);
|
||||
return Result.ok(teacher);
|
||||
}
|
||||
|
||||
//6 修改-最终实现
|
||||
// {...}
|
||||
@ApiOperation("修改最终实现")
|
||||
@PostMapping("updateTeacher")
|
||||
public Result updateTeacher(@RequestBody @Validated(UpdateGroup.class) Teacher teacher) {
|
||||
boolean isSuccess = teacherService.updateById(teacher);
|
||||
if (isSuccess) {
|
||||
return Result.ok(null);
|
||||
} else {
|
||||
return Result.fail(null);
|
||||
}
|
||||
}
|
||||
|
||||
//7 批量删除讲师
|
||||
// json数组 [1,2,3]
|
||||
@ApiOperation("批量删除讲师")
|
||||
@DeleteMapping("removeBatch")
|
||||
public Result removeBatch(@RequestBody List<Long> idList) {
|
||||
boolean isSuccess = teacherService.removeByIds(idList);
|
||||
if (isSuccess) {
|
||||
return Result.ok(null);
|
||||
} else {
|
||||
return Result.fail(null);
|
||||
}
|
||||
}
|
||||
|
||||
//根据id查询 远程调用
|
||||
@ApiOperation("根据id查询")
|
||||
@GetMapping("inner/getTeacher/{id}")
|
||||
public Teacher getTeacherInfo(@PathVariable Long id) {
|
||||
Teacher teacher = teacherService.getById(id);
|
||||
return teacher;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.xjs.classroom.vod.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.xjs.classroom.model.vod.Teacher;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 讲师 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author xiejs
|
||||
* @since 2022-06-29
|
||||
*/
|
||||
public interface TeacherMapper extends BaseMapper<Teacher> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<?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="com.xjs.classroom.vod.mapper.TeacherMapper">
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.xjs.classroom.vod.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.xjs.classroom.model.vod.Teacher;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 讲师 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author xiejs
|
||||
* @since 2022-06-29
|
||||
*/
|
||||
public interface TeacherService extends IService<Teacher> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.xjs.classroom.vod.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.xjs.classroom.model.vod.Teacher;
|
||||
import com.xjs.classroom.vod.mapper.TeacherMapper;
|
||||
import com.xjs.classroom.vod.service.TeacherService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 讲师 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author xiejs
|
||||
* @since 2022-06-29
|
||||
*/
|
||||
@Service
|
||||
public class TeacherServiceImpl extends ServiceImpl<TeacherMapper, Teacher> implements TeacherService {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
Spring Boot Version: ${spring-boot.version}
|
||||
Spring Application Name: ${spring.application.name}
|
||||
____ ___ ____. _________ _____.___._____.___.________ _________
|
||||
\ \/ / | |/ _____/ \__ | |\__ | |\______ \ / _____/
|
||||
\ / | |\_____ \ ______ / | | / | | | | \ \_____ \
|
||||
/ \/\__| |/ \ /_____/ \____ | \____ | | ` \/ \
|
||||
/___/\ \________/_______ / / ______| / ______|/_______ /_______ /
|
||||
\_/ \/ \/ \/ \/ \/
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
# Tomcat
|
||||
server:
|
||||
port: 8301
|
||||
|
||||
# Spring
|
||||
spring:
|
||||
application:
|
||||
# 应用名称
|
||||
name: xjs-classroom-service-vod
|
||||
profiles:
|
||||
# 环境配置
|
||||
active: dev
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
# 服务注册地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
config:
|
||||
# 配置中心地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
# 配置文件格式
|
||||
file-extension: yml
|
||||
# 共享配置
|
||||
shared-configs:
|
||||
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
|
||||
#配置组
|
||||
group: xjs
|
||||
#命名空间
|
||||
namespace: xjs-666
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration scan="true" scanPeriod="60 seconds" debug="false">
|
||||
<!-- 日志存放路径 -->
|
||||
<property name="log.path" value="logs/xjs-classroom/service-vod"/>
|
||||
<!-- 日志输出格式 -->
|
||||
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
|
||||
|
||||
<!-- 控制台输出 -->
|
||||
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>${log.pattern}</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- 系统日志输出 -->
|
||||
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${log.path}/info.log</file>
|
||||
<!-- 循环政策:基于时间创建日志文件 -->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!-- 日志文件名格式 -->
|
||||
<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||
<!-- 日志最大的历史 60天 -->
|
||||
<maxHistory>60</maxHistory>
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<pattern>${log.pattern}</pattern>
|
||||
</encoder>
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<!-- 过滤的级别 -->
|
||||
<level>INFO</level>
|
||||
<!-- 匹配时的操作:接收(记录) -->
|
||||
<onMatch>ACCEPT</onMatch>
|
||||
<!-- 不匹配时的操作:拒绝(不记录) -->
|
||||
<onMismatch>DENY</onMismatch>
|
||||
</filter>
|
||||
</appender>
|
||||
|
||||
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${log.path}/error.log</file>
|
||||
<!-- 循环政策:基于时间创建日志文件 -->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!-- 日志文件名格式 -->
|
||||
<fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||
<!-- 日志最大的历史 60天 -->
|
||||
<maxHistory>60</maxHistory>
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<pattern>${log.pattern}</pattern>
|
||||
</encoder>
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<!-- 过滤的级别 -->
|
||||
<level>ERROR</level>
|
||||
<!-- 匹配时的操作:接收(记录) -->
|
||||
<onMatch>ACCEPT</onMatch>
|
||||
<!-- 不匹配时的操作:拒绝(不记录) -->
|
||||
<onMismatch>DENY</onMismatch>
|
||||
</filter>
|
||||
</appender>
|
||||
|
||||
<!-- 系统模块日志级别控制 -->
|
||||
<logger name="com.xjs" level="info" />
|
||||
<!--打印feign DEBUG日志-->
|
||||
<logger name="com.xjs.common.client" level="debug"/>
|
||||
<!-- Spring日志级别控制 -->
|
||||
<logger name="org.springframework" level="warn" />
|
||||
|
||||
<root level="info">
|
||||
<appender-ref ref="console" />
|
||||
</root>
|
||||
|
||||
<!--系统操作日志-->
|
||||
<root level="info">
|
||||
<appender-ref ref="file_info" />
|
||||
<appender-ref ref="file_error" />
|
||||
</root>
|
||||
</configuration>
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
This is the JRebel configuration file. It maps the running application to your IDE workspace, enabling JRebel reloading for this project.
|
||||
Refer to https://manuals.jrebel.com/jrebel/standalone/config.html for more information.
|
||||
-->
|
||||
<application generated-by="intellij" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://update.zeroturnaround.com/jrebel/rebel-2_3.xsd">
|
||||
|
||||
<id>classroom-service-vod</id>
|
||||
|
||||
<classpath>
|
||||
<dir name="D:/Dev/IdeaPerject/GitHub/Cloud/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/target/classes">
|
||||
</dir>
|
||||
</classpath>
|
||||
|
||||
</application>
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
|
||||
import com.baomidou.mybatisplus.generator.config.OutputFile;
|
||||
import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
public class CodeGet {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
FastAutoGenerator.create("jdbc:mysql://localhost:3306/xjs-srb-core?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8",
|
||||
"root", "root")
|
||||
.globalConfig(builder -> {
|
||||
builder.author("xiejs") // 设置作者
|
||||
.enableSwagger() // 开启 swagger 模式
|
||||
.fileOverride() // 覆盖已生成文件
|
||||
.outputDir("D:\\Dev\\IdeaPerject\\GitHub\\Cloud\\xjs-business\\xjs-project-classroom\\classroom-service\\classroom-service-vod\\src\\main\\java"); // 指定输出目录
|
||||
})
|
||||
.packageConfig(builder -> {
|
||||
builder.parent("com.xjs.classroom") // 设置父包名
|
||||
.moduleName("vod") // 设置父包模块名
|
||||
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D:\\Dev\\IdeaPerject\\GitHub\\Cloud\\xjs-business\\xjs-project-classroom\\classroom-service\\classroom-service-vod\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
|
||||
})
|
||||
.strategyConfig(builder -> {
|
||||
builder.addInclude("integral_grade")
|
||||
.entityBuilder()
|
||||
.enableLombok()
|
||||
.logicDeleteColumnName("is_deleted")
|
||||
.build()
|
||||
; // 设置需要生成的表名
|
||||
//.addTablePrefix("t_", "c_"); // 设置过滤表前缀
|
||||
})
|
||||
|
||||
.templateEngine(new VelocityTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
|
||||
.execute();
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue