diff --git a/xjs-business/xjs-business-common/src/main/java/com/xjs/utils/Result.java b/xjs-business/xjs-business-common/src/main/java/com/xjs/utils/Result.java new file mode 100644 index 00000000..cf87fd54 --- /dev/null +++ b/xjs-business/xjs-business-common/src/main/java/com/xjs/utils/Result.java @@ -0,0 +1,64 @@ +package com.xjs.utils; + +import lombok.Data; + +//统一返回结果类 +@Data +public class Result { + + private Integer code; //状态码 + + private String message; //返回状态信息(成功 失败) + + private T data; //返回数据 + + public Result() {} + + //成功的方法,没有data数据 +// public static Result ok() { +// Result result = new Result<>(); +// result.setCode(200); +// result.setMessage("成功"); +// return result; +// } + + //失败的方法,没有data数据 +// public static Result fail() { +// Result result = new Result<>(); +// result.setCode(201); +// result.setMessage("失败"); +// return result; +// } + + //成功的方法,有data数据 + public static Result ok(T data) { + Result result = new Result<>(); + if(data != null) { + result.setData(data); + } + result.setCode(200); + result.setMessage("成功"); + return result; + } + + //失败的方法,有data数据 + public static Result fail(T data) { + Result result = new Result<>(); + if(data != null) { + result.setData(data); + } + result.setCode(500); + result.setMessage("失败"); + return result; + } + + public Result message(String msg){ + this.setMessage(msg); + return this; + } + + public Result code(Integer code){ + this.setCode(code); + return this; + } +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/CouponRangeType.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/CouponRangeType.java new file mode 100644 index 00000000..9d8118d2 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/CouponRangeType.java @@ -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; + } + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/CouponStatus.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/CouponStatus.java new file mode 100644 index 00000000..8fa1abe6 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/CouponStatus.java @@ -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; + } +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/CouponType.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/CouponType.java new file mode 100644 index 00000000..52a9a154 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/CouponType.java @@ -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; + } +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/OrderStatus.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/OrderStatus.java new file mode 100644 index 00000000..86e72b11 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/OrderStatus.java @@ -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; + } +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/PaymentStatus.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/PaymentStatus.java new file mode 100644 index 00000000..cafafd68 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/PaymentStatus.java @@ -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; + } + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/PaymentType.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/PaymentType.java new file mode 100644 index 00000000..6c673fff --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/enums/PaymentType.java @@ -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; + } + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/activity/CouponInfo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/activity/CouponInfo.java new file mode 100644 index 00000000..2542e745 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/activity/CouponInfo.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/activity/CouponUse.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/activity/CouponUse.java new file mode 100644 index 00000000..f02f25aa --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/activity/CouponUse.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/base/BaseEntity.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/base/BaseEntity.java new file mode 100644 index 00000000..f03fe7d9 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/base/BaseEntity.java @@ -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 param = new HashMap<>(); +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/base/BaseMongoEntity.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/base/BaseMongoEntity.java new file mode 100644 index 00000000..959d2418 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/base/BaseMongoEntity.java @@ -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 param = new HashMap<>(); +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/base/MqRepeatRecord.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/base/MqRepeatRecord.java new file mode 100644 index 00000000..d65bc472 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/base/MqRepeatRecord.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveCourse.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveCourse.java new file mode 100644 index 00000000..5c82ced1 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveCourse.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveCourseAccount.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveCourseAccount.java new file mode 100644 index 00000000..5d009d5b --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveCourseAccount.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveCourseConfig.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveCourseConfig.java new file mode 100644 index 00000000..fa015f09 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveCourseConfig.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveCourseDescription.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveCourseDescription.java new file mode 100644 index 00000000..f9633186 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveCourseDescription.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveCourseGoods.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveCourseGoods.java new file mode 100644 index 00000000..a737ffdd --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveCourseGoods.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveVisitor.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveVisitor.java new file mode 100644 index 00000000..42fd1b79 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/live/LiveVisitor.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/order/OrderDetail.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/order/OrderDetail.java new file mode 100644 index 00000000..b2a93eb4 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/order/OrderDetail.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/order/OrderInfo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/order/OrderInfo.java new file mode 100644 index 00000000..518e96e2 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/order/OrderInfo.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/order/PaymentInfo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/order/PaymentInfo.java new file mode 100644 index 00000000..55e0b231 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/order/PaymentInfo.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/user/UserInfo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/user/UserInfo.java new file mode 100644 index 00000000..724a5c16 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/user/UserInfo.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/user/UserLoginLog.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/user/UserLoginLog.java new file mode 100644 index 00000000..40806bc2 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/user/UserLoginLog.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Chapter.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Chapter.java new file mode 100644 index 00000000..388818bf --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Chapter.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Comment.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Comment.java new file mode 100644 index 00000000..3e99adde --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Comment.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Course.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Course.java new file mode 100644 index 00000000..64cd81be --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Course.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/CourseCollect.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/CourseCollect.java new file mode 100644 index 00000000..316eef5c --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/CourseCollect.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/CourseDescription.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/CourseDescription.java new file mode 100644 index 00000000..5da3203f --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/CourseDescription.java @@ -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 param = new HashMap<>(); + + @ApiModelProperty(value = "课程ID") + @TableField("course_id") + private Long courseId; + + @ApiModelProperty(value = "课程简介") + @TableField("description") + private String description; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Subject.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Subject.java new file mode 100644 index 00000000..b5ade054 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Subject.java @@ -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 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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Teacher.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Teacher.java new file mode 100644 index 00000000..600f5a86 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Teacher.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Video.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Video.java new file mode 100644 index 00000000..ee1148a9 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/Video.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/VideoVisitor.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/VideoVisitor.java new file mode 100644 index 00000000..fde39b9d --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/vod/VideoVisitor.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/wechat/Menu.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/wechat/Menu.java new file mode 100644 index 00000000..63a340b1 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/model/wechat/Menu.java @@ -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; +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/acl/AdminLoginVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/acl/AdminLoginVo.java new file mode 100644 index 00000000..f528e75b --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/acl/AdminLoginVo.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/activity/CouponInfoVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/activity/CouponInfoVo.java new file mode 100644 index 00000000..81816a18 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/activity/CouponInfoVo.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/activity/CouponUseQueryVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/activity/CouponUseQueryVo.java new file mode 100644 index 00000000..3225a1d9 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/activity/CouponUseQueryVo.java @@ -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; + +} + diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/activity/GiveCouponVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/activity/GiveCouponVo.java new file mode 100644 index 00000000..797aa320 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/activity/GiveCouponVo.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveCourseConfigVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveCourseConfigVo.java new file mode 100644 index 00000000..45dc31d6 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveCourseConfigVo.java @@ -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 liveCourseGoodsList; +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveCourseFormVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveCourseFormVo.java new file mode 100644 index 00000000..fccb68f3 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveCourseFormVo.java @@ -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; +} + diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveCourseGoodsView.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveCourseGoodsView.java new file mode 100644 index 00000000..5e182660 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveCourseGoodsView.java @@ -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 = ""; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveCourseQueryVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveCourseQueryVo.java new file mode 100644 index 00000000..f3c168fa --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveCourseQueryVo.java @@ -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; + + +} + diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveCourseVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveCourseVo.java new file mode 100644 index 00000000..0090f496 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveCourseVo.java @@ -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; + +} + diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveVisitorQueryVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveVisitorQueryVo.java new file mode 100644 index 00000000..20eb86b1 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/live/LiveVisitorQueryVo.java @@ -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; + +} + diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/order/OrderFormVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/order/OrderFormVo.java new file mode 100644 index 00000000..a3f26a6f --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/order/OrderFormVo.java @@ -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; +} + diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/order/OrderInfoQueryVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/order/OrderInfoQueryVo.java new file mode 100644 index 00000000..3c3813c1 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/order/OrderInfoQueryVo.java @@ -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; + +} + diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/order/OrderInfoVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/order/OrderInfoVo.java new file mode 100644 index 00000000..f9e8174b --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/order/OrderInfoVo.java @@ -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; +} + diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/user/BindPhoneVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/user/BindPhoneVo.java new file mode 100644 index 00000000..9763d327 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/user/BindPhoneVo.java @@ -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; + +} + diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/user/UserInfoQueryVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/user/UserInfoQueryVo.java new file mode 100644 index 00000000..3a00e067 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/user/UserInfoQueryVo.java @@ -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; + +} + diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/ChapterVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/ChapterVo.java new file mode 100644 index 00000000..5f403060 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/ChapterVo.java @@ -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 children = new ArrayList<>(); +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/CourseFormVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/CourseFormVo.java new file mode 100644 index 00000000..95f912e2 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/CourseFormVo.java @@ -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; +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/CourseProgressVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/CourseProgressVo.java new file mode 100644 index 00000000..30533ea6 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/CourseProgressVo.java @@ -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; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/CoursePublishVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/CoursePublishVo.java new file mode 100644 index 00000000..f4ad6122 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/CoursePublishVo.java @@ -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;//只用于显示 +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/CourseQueryVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/CourseQueryVo.java new file mode 100644 index 00000000..f438778f --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/CourseQueryVo.java @@ -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; + +} + diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/CourseVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/CourseVo.java new file mode 100644 index 00000000..40c57604 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/CourseVo.java @@ -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; +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/SubjectEeVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/SubjectEeVo.java new file mode 100644 index 00000000..d0a1c144 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/SubjectEeVo.java @@ -0,0 +1,30 @@ +package com.xjs.classroom.vo.vod; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +/** + *

+ * Dict + *

+ * + * @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; + + +} + diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/SubjectVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/SubjectVo.java new file mode 100644 index 00000000..fa041c70 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/SubjectVo.java @@ -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 children = new ArrayList<>(); +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/TeacherQueryVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/TeacherQueryVo.java new file mode 100644 index 00000000..c6164598 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/TeacherQueryVo.java @@ -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; + + +} + diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/VideoVisitorCountVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/VideoVisitorCountVo.java new file mode 100644 index 00000000..7b02bffa --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/VideoVisitorCountVo.java @@ -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; + + +} + diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/VideoVisitorQueryVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/VideoVisitorQueryVo.java new file mode 100644 index 00000000..13b51209 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/VideoVisitorQueryVo.java @@ -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; +} + diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/VideoVisitorVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/VideoVisitorVo.java new file mode 100644 index 00000000..f0e0a926 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/VideoVisitorVo.java @@ -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; +} + diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/VideoVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/VideoVo.java new file mode 100644 index 00000000..0bfcc32e --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/vod/VideoVo.java @@ -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; +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/wechat/CouponMessageVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/wechat/CouponMessageVo.java new file mode 100644 index 00000000..22de4adb --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/wechat/CouponMessageVo.java @@ -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; + + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/wechat/MenuVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/wechat/MenuVo.java new file mode 100644 index 00000000..055db5e8 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/wechat/MenuVo.java @@ -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 children; + +} diff --git a/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/wechat/WxJsapiSignatureVo.java b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/wechat/WxJsapiSignatureVo.java new file mode 100644 index 00000000..d0a0255f --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-model/src/main/java/com/xjs/classroom/vo/wechat/WxJsapiSignatureVo.java @@ -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; +} diff --git a/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/pom.xml b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/pom.xml index d933ea7c..3050b1dc 100644 --- a/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/pom.xml +++ b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/pom.xml @@ -20,7 +20,6 @@ com.baomidou mybatis-plus-generator - 3.3.1 diff --git a/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/ClassroomServiceVodApp.java b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/ClassroomServiceVodApp.java new file mode 100644 index 00000000..1e32ee0c --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/ClassroomServiceVodApp.java @@ -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); + } +} diff --git a/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/controller/TeacherController.java b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/controller/TeacherController.java new file mode 100644 index 00000000..923aaf15 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/controller/TeacherController.java @@ -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; + +/** + *

+ * 讲师 前端控制器 + *

+ * + * @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 findAllTeacher() { +// //调用service方法 +// List list = teacherService.list(); +// return list; +// } + @ApiOperation("查询所有讲师") + @GetMapping("findAll") + public Result> findAllTeacher() { + //模拟异常 +// try { +// int i = 10/0; +// }catch (Exception e) { +// //抛出异常 +// throw new GgktException(201,"执行自定义异常处理GgktException"); +// } + //调用service方法 + List 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 pageParam = new Page<>(current, limit); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.orderByDesc("id"); + + //判断teacherQueryVo对象是否为空 + if (teacherQueryVo == null) {//查询全部 + IPage 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 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() + .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 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; + } +} + + diff --git a/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/mapper/TeacherMapper.java b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/mapper/TeacherMapper.java new file mode 100644 index 00000000..76077fde --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/mapper/TeacherMapper.java @@ -0,0 +1,16 @@ +package com.xjs.classroom.vod.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.xjs.classroom.model.vod.Teacher; + +/** + *

+ * 讲师 Mapper 接口 + *

+ * + * @author xiejs + * @since 2022-06-29 + */ +public interface TeacherMapper extends BaseMapper { + +} diff --git a/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/mapper/xml/TeacherMapper.xml b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/mapper/xml/TeacherMapper.xml new file mode 100644 index 00000000..ec4eab27 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/mapper/xml/TeacherMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/service/TeacherService.java b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/service/TeacherService.java new file mode 100644 index 00000000..8d6df72f --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/service/TeacherService.java @@ -0,0 +1,16 @@ +package com.xjs.classroom.vod.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.xjs.classroom.model.vod.Teacher; + +/** + *

+ * 讲师 服务类 + *

+ * + * @author xiejs + * @since 2022-06-29 + */ +public interface TeacherService extends IService { + +} diff --git a/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/service/impl/TeacherServiceImpl.java b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/service/impl/TeacherServiceImpl.java new file mode 100644 index 00000000..ab3cb214 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/java/com/xjs/classroom/vod/service/impl/TeacherServiceImpl.java @@ -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; + +/** + *

+ * 讲师 服务实现类 + *

+ * + * @author xiejs + * @since 2022-06-29 + */ +@Service +public class TeacherServiceImpl extends ServiceImpl implements TeacherService { + +} diff --git a/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/resources/banner.txt b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/resources/banner.txt new file mode 100644 index 00000000..6f3fceaa --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/resources/banner.txt @@ -0,0 +1,8 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} +____ ___ ____. _________ _____.___._____.___.________ _________ +\ \/ / | |/ _____/ \__ | |\__ | |\______ \ / _____/ + \ / | |\_____ \ ______ / | | / | | | | \ \_____ \ + / \/\__| |/ \ /_____/ \____ | \____ | | ` \/ \ +/___/\ \________/_______ / / ______| / ______|/_______ /_______ / + \_/ \/ \/ \/ \/ \/ diff --git a/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/resources/bootstrap.yml b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/resources/bootstrap.yml new file mode 100644 index 00000000..ae280674 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/resources/bootstrap.yml @@ -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 diff --git a/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/resources/logback.xml b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/resources/logback.xml new file mode 100644 index 00000000..69761cab --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/resources/logback.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + + + diff --git a/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/resources/rebel.xml b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/resources/rebel.xml new file mode 100644 index 00000000..6d4a38cd --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/main/resources/rebel.xml @@ -0,0 +1,16 @@ + + + + + + classroom-service-vod + + + + + + + diff --git a/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/test/java/CodeGet.java b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/test/java/CodeGet.java new file mode 100644 index 00000000..fdf84e87 --- /dev/null +++ b/xjs-business/xjs-project-classroom/classroom-service/classroom-service-vod/src/test/java/CodeGet.java @@ -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(); + + } +}