فهرست منبع

Merge branch 'feature/0621-member' into online

yuanliang 1 سال پیش
والد
کامیت
482895a5db
13فایلهای تغییر یافته به همراه124 افزوده شده و 7 حذف شده
  1. 2 5
      cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/VideoLessonGroupController.java
  2. 11 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/CourseGroupSearch.java
  3. 15 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/VideoGroupSearch.java
  4. 13 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonGroup.java
  5. 15 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonGroupLog.java
  6. 5 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupDetailServiceImpl.java
  7. 3 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupServiceImpl.java
  8. 11 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CourseGroupVideoVo.java
  9. 14 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/LessonGroupVo.java
  10. 13 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/VideoLessonGroupUpVo.java
  11. 4 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseGroupMapper.xml
  12. 6 2
      cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupLogMapper.xml
  13. 12 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupMapper.xml

+ 2 - 5
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/VideoLessonGroupController.java

@@ -160,14 +160,11 @@ public class VideoLessonGroupController extends BaseController {
         }
 
         VideoLessonStudentVo videoLessonStudentVo = videoLessonGroupService.selectVideoLesson(groupId);
-        if (videoLessonStudentVo.getLessonGroup().getTeacherId().equals(sysUser.getId())) {
+        if (videoLessonStudentVo.getLessonGroup() != null && videoLessonStudentVo.getLessonGroup().getTeacherId().equals(sysUser.getId())) {
             videoLessonStudentVo.setMyself(true);
-        } else {
-            videoLessonStudentVo.setMyself(false);
-        }
-        if (videoLessonStudentVo.getLessonGroup() != null && sysUser.getId().equals(videoLessonStudentVo.getLessonGroup().getId())) {
             videoLessonStudentVo.setAlreadyBuy(true);
         } else {
+            videoLessonStudentVo.setMyself(false);
             videoLessonStudentVo.setAlreadyBuy(false);
         }
         return succeed(videoLessonStudentVo);

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/CourseGroupSearch.java

@@ -31,6 +31,9 @@ public class CourseGroupSearch extends QueryInfo {
     @ApiModelProperty(value = "课程状态 DOING UNPASS PASS")
     private String status;
 
+    @ApiModelProperty("收费方式,VIP:会员,PAY:购买")
+    private String payType;
+
     @ApiModelProperty(value = "结算状态")
     private String salaryStatus;
 
@@ -186,4 +189,12 @@ public class CourseGroupSearch extends QueryInfo {
     public void setShelvesFlag(Integer shelvesFlag) {
         this.shelvesFlag = shelvesFlag;
     }
+
+    public String getPayType() {
+        return payType;
+    }
+
+    public void setPayType(String payType) {
+        this.payType = payType;
+    }
 }

+ 15 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/VideoGroupSearch.java

@@ -1,11 +1,15 @@
 package com.yonge.cooleshow.biz.dal.dto.search;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yonge.cooleshow.biz.dal.valid.AddGroup;
+import com.yonge.cooleshow.biz.dal.valid.UpdateGroup;
 import com.yonge.toolset.base.page.QueryInfo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import javax.validation.constraints.NotBlank;
 import java.util.Date;
 
 /**
@@ -42,6 +46,9 @@ public class VideoGroupSearch extends QueryInfo {
     @ApiModelProperty(value = "历史记录所属视频组id")
     private Long groupId;
 
+    @ApiModelProperty(value = "收费方式:VIP:会员,PAY:购买;")
+    private String payType;
+
     public String getSearch() {
         return search;
     }
@@ -105,4 +112,12 @@ public class VideoGroupSearch extends QueryInfo {
     public void setGroupId(Long groupId) {
         this.groupId = groupId;
     }
+
+    public String getPayType() {
+        return payType;
+    }
+
+    public void setPayType(String payType) {
+        this.payType = payType;
+    }
 }

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonGroup.java

@@ -55,6 +55,11 @@ public class VideoLessonGroup extends BaseEntity {
     @NotBlank(message = "课程介绍不能为空;", groups = {AddGroup.class, UpdateGroup.class})
     private String lessonDesc;  //课程介绍
 
+    @TableField("pay_type_")
+    @ApiModelProperty(value = "收费方式:VIP:会员,PAY:购买;", required = true)
+    @NotBlank(message = "收费方式不能为空", groups = {AddGroup.class, UpdateGroup.class})
+    private String payType;
+
     @TableField("lesson_price_")
     @ApiModelProperty(value = "课程价格", required = true)
     @NotNull(message = "课程价格不能为空;", groups = {AddGroup.class, UpdateGroup.class})
@@ -351,4 +356,12 @@ public class VideoLessonGroup extends BaseEntity {
     public void setShelvesId(Long shelvesId) {
         this.shelvesId = shelvesId;
     }
+
+    public String getPayType() {
+        return payType;
+    }
+
+    public void setPayType(String payType) {
+        this.payType = payType;
+    }
 }

+ 15 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonGroupLog.java

@@ -5,11 +5,15 @@ import java.util.List;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.yonge.cooleshow.biz.dal.dto.VideoLessonGroupDetailDto;
 import com.yonge.cooleshow.biz.dal.enums.course.CourseRelationTypeEnum;
+import com.yonge.cooleshow.biz.dal.valid.AddGroup;
+import com.yonge.cooleshow.biz.dal.valid.UpdateGroup;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import io.swagger.annotations.ApiModelProperty;
 
+import javax.validation.constraints.NotBlank;
+
 /**
  * 对应数据库表(video_lesson_group_log):
  */
@@ -28,6 +32,9 @@ public class VideoLessonGroupLog {
 	
 	@ApiModelProperty(value = "课程介绍",required = false)
 	private String lessonDesc;
+
+	@ApiModelProperty(value = "收费方式:VIP:会员,PAY:购买;", required = false)
+	private String payType;
 	
 	@ApiModelProperty(value = "课程价格",required = false)
 	private java.math.BigDecimal lessonPrice;
@@ -330,6 +337,14 @@ public class VideoLessonGroupLog {
 		this.videoList = videoList;
 	}
 
+	public String getPayType() {
+		return payType;
+	}
+
+	public void setPayType(String payType) {
+		this.payType = payType;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 5 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupDetailServiceImpl.java

@@ -239,6 +239,11 @@ public class VideoLessonGroupDetailServiceImpl extends ServiceImpl<VideoLessonGr
             lessonStudentVo.setDegreeFlag(teacher.getDegreeFlag());
         }
 
+        VideoLessonGroup videoLessonGroup = videoLessonGroupDao.selectGroupById(groupId);
+        if (videoLessonGroup != null) {
+            videoLessonGroupVo.setPayType(videoLessonGroup.getPayType());
+        }
+
         lessonStudentVo.setLessonGroup(videoLessonGroupVo);
 
         VideoLessonSearch search = new VideoLessonSearch();

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupServiceImpl.java

@@ -434,6 +434,9 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         //添加组
         lessonGroup.setTeacherId(sysUser.getId());
         lessonGroup.setAuditVersion(YesOrNoEnum.NO);
+        if ("VIP".equals(lessonGroup.getPayType())) {
+            lessonGroup.setLessonPrice(BigDecimal.ZERO);
+        }
         videoLessonGroupDao.insert(lessonGroup);
 
         for (VideoLessonGroupDetail detail : lessonList) {

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CourseGroupVideoVo.java

@@ -24,6 +24,9 @@ public class CourseGroupVideoVo extends BaseEntity {
     private Long subjectId;
     @ApiModelProperty("声部名称")
     private String subjectName;
+
+    @ApiModelProperty("收费方式,VIP:会员,PAY:购买")
+    private String payType;
     @ApiModelProperty("购课人数")
     private Integer buyCount;
     @ApiModelProperty("课时总数")
@@ -192,4 +195,12 @@ public class CourseGroupVideoVo extends BaseEntity {
     public void setShelvesFlag(Integer shelvesFlag) {
         this.shelvesFlag = shelvesFlag;
     }
+
+    public String getPayType() {
+        return payType;
+    }
+
+    public void setPayType(String payType) {
+        this.payType = payType;
+    }
 }

+ 14 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/LessonGroupVo.java

@@ -2,11 +2,14 @@ package com.yonge.cooleshow.biz.dal.vo;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.yonge.cooleshow.biz.dal.enums.course.CourseRelationTypeEnum;
+import com.yonge.cooleshow.biz.dal.valid.AddGroup;
+import com.yonge.cooleshow.biz.dal.valid.UpdateGroup;
 import com.yonge.cooleshow.common.entity.BaseEntity;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
+import javax.validation.constraints.NotBlank;
 import java.math.BigDecimal;
 
 /**
@@ -30,6 +33,9 @@ public class LessonGroupVo extends BaseEntity {
     @ApiModelProperty(value = "课程介绍")
     private String lessonDesc;
 
+    @ApiModelProperty(value = "收费方式:VIP:会员,PAY:购买;")
+    private String payType;
+
     @ApiModelProperty(value = "课程价格")
     private BigDecimal lessonPrice;
 
@@ -188,4 +194,12 @@ public class LessonGroupVo extends BaseEntity {
     public void setRelationType(CourseRelationTypeEnum relationType) {
         this.relationType = relationType;
     }
+
+    public String getPayType() {
+        return payType;
+    }
+
+    public void setPayType(String payType) {
+        this.payType = payType;
+    }
 }

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/VideoLessonGroupUpVo.java

@@ -1,11 +1,14 @@
 package com.yonge.cooleshow.biz.dal.vo;
 
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.yonge.cooleshow.biz.dal.valid.AddGroup;
 import com.yonge.cooleshow.biz.dal.valid.ListValue;
+import com.yonge.cooleshow.biz.dal.valid.UpdateGroup;
 import com.yonge.cooleshow.common.entity.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Size;
 import java.util.Date;
@@ -53,6 +56,9 @@ public class VideoLessonGroupUpVo extends BaseEntity {
     @ListValue(vals = {0, 1, 2}, message = "审核状态必须提交指定值")
     private Integer auditStatus;
 
+    @ApiModelProperty(value = "收费方式:VIP:会员,PAY:购买;")
+    private String payType;
+
     public Long getId() {
         return id;
     }
@@ -141,4 +147,11 @@ public class VideoLessonGroupUpVo extends BaseEntity {
         this.auditStatus = auditStatus;
     }
 
+    public String getPayType() {
+        return payType;
+    }
+
+    public void setPayType(String payType) {
+        this.payType = payType;
+    }
 }

+ 4 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseGroupMapper.xml

@@ -580,6 +580,7 @@
             IFNULL(p.count_,0)  AS buyCount,
             g.teacher_id_ AS teacherId,
             u.username_ AS teacherName,
+            g.pay_type_ AS payType,
             u.real_name_ AS teacherRealName,
             g.create_time_ AS createTime,
             g.shelves_time_ AS recordTime,
@@ -622,6 +623,9 @@
             <if test="param.relationType != null">
                 AND g.relation_type_ = #{param.relationType}
             </if>
+            <if test="param.payType != null">
+                AND g.pay_type_ = #{param.payType}
+            </if>
         </where>
         order by g.top_flag_ desc ,g.sort_number_ desc,g.id_ desc
     </select>

+ 6 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupLogMapper.xml

@@ -11,6 +11,7 @@
 		<result column="lesson_subject_" property="lessonSubject" />
 		<result column="lesson_desc_" property="lessonDesc" />
 		<result column="lesson_price_" property="lessonPrice" />
+		<result column="pay_tpye_" property="payType" />
 		<result column="lesson_cover_url_" property="lessonCoverUrl" />
 		<result column="teacher_id_" property="teacherId" />
 		<result column="lesson_count_" property="lessonCount" />
@@ -49,8 +50,8 @@
 		useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO
 		video_lesson_group_log
-		(id_,video_lesson_group_id_,lesson_name_,lesson_subject_,lesson_desc_,lesson_price_,lesson_cover_url_,teacher_id_,lesson_count_,sort_number_,lesson_tag_,top_flag_,hot_flag_,shelves_flag_,shelves_time_,shelves_reason_,shelves_id_,modifier_id_,remarks,audit_version_,create_time_,update_time_,version_,video_detail_json_,draft_flag_,relation_type_)
-		VALUES(#{id},#{videoLessonGroupId},#{lessonName},#{lessonSubject},#{lessonDesc},#{lessonPrice},#{lessonCoverUrl},#{teacherId},#{lessonCount},#{sortNumber},#{lessonTag},#{topFlag},#{hotFlag},#{shelvesFlag},#{shelvesTime},#{shelvesReason},#{shelvesId},#{modifierId},#{remarks},#{auditVersion},#{createTime},#{updateTime},#{version},#{videoDetailJson},#{draftFlag},#{relationType})
+		(id_,video_lesson_group_id_,lesson_name_,lesson_subject_,pay_type_,lesson_desc_,lesson_price_,lesson_cover_url_,teacher_id_,lesson_count_,sort_number_,lesson_tag_,top_flag_,hot_flag_,shelves_flag_,shelves_time_,shelves_reason_,shelves_id_,modifier_id_,remarks,audit_version_,create_time_,update_time_,version_,video_detail_json_,draft_flag_,relation_type_)
+		VALUES(#{id},#{videoLessonGroupId},#{lessonName},#{lessonSubject},#{payType},#{lessonDesc},#{lessonPrice},#{lessonCoverUrl},#{teacherId},#{lessonCount},#{sortNumber},#{lessonTag},#{topFlag},#{hotFlag},#{shelvesFlag},#{shelvesTime},#{shelvesReason},#{shelvesId},#{modifierId},#{remarks},#{auditVersion},#{createTime},#{updateTime},#{version},#{videoDetailJson},#{draftFlag},#{relationType})
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->
@@ -67,6 +68,9 @@
 			<if test="lessonDesc != null">
 				lesson_desc_ = #{lessonDesc},
 			</if>
+			<if test="payType != null">
+				pay_type_ = #{payType},
+			</if>
 			<if test="modifierId != null">
 				modifier_id_ = #{modifierId},
 			</if>

+ 12 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupMapper.xml

@@ -7,6 +7,7 @@
 		<result column="lesson_name_" jdbcType="VARCHAR" property="lessonName" />
 		<result column="lesson_subject_" jdbcType="VARCHAR" property="lessonSubject" />
 		<result column="lesson_desc_" jdbcType="VARCHAR" property="lessonDesc" />
+		<result column="pay_type_" jdbcType="VARCHAR" property="payType" />
 		<result column="lesson_price_" jdbcType="INTEGER" property="lessonPrice" />
 		<result column="lesson_cover_url_" jdbcType="VARCHAR" property="lessonCoverUrl" />
 		<result column="teacher_id_" jdbcType="BIGINT" property="teacherId" />
@@ -32,6 +33,7 @@
 		g.lesson_name_ AS lessonName,
 		g.lesson_subject_ AS lessonSubject,
 		g.lesson_desc_ AS lessonDesc,
+		g.pay_type_ AS payType,
 		g.lesson_price_ AS lessonPrice,
 		g.lesson_cover_url_ AS lessonCoverUrl,
 		g.teacher_id_ AS teacherId,
@@ -59,6 +61,7 @@
 		g.lesson_subject_ AS lessonSubject,
 		g.lesson_desc_ AS lessonDesc,
 		g.lesson_price_ AS lessonPrice,
+		g.lesson_price_ AS lessonPrice,
 		g.lesson_cover_url_ AS lessonCoverUrl,
 		g.teacher_id_ AS teacherId,
 		g.lesson_count_ AS lessonCount,
@@ -85,6 +88,7 @@
 			<if test="lessonSubject !=null and lessonSubject !=''">lesson_subject_ = #{lessonSubject},</if>
 			<if test="lessonDesc !=null and lessonDesc !=''">lesson_desc_ = #{lessonDesc},</if>
 			<if test="lessonPrice !=null and lessonPrice !=''">lesson_price_ = #{lessonPrice},</if>
+			<if test="payType !=null and payType !=''">pay_type_ = #{payType},</if>
 			<if test="lessonCoverUrl !=null and lessonCoverUrl !=''">lesson_cover_url_ = #{lessonCoverUrl},</if>
 			<if test="sortNumber !=null">sort_number_ = #{sortNumber},</if>
 			<if test="lessonTag !=null and lessonTag !=''">lesson_tag_ = #{lessonTag},</if>
@@ -283,6 +287,7 @@
 			g.lesson_subject_ AS lessonSubject,
 			s.name_ AS lessonSubjectName,
 			g.lesson_desc_ AS lessonDesc,
+			g.pay_type_ AS payType,
 			g.lesson_price_ AS lessonPrice,
 			g.lesson_cover_url_ AS lessonCoverUrl,
 			g.lesson_count_ AS lessonCount,
@@ -335,6 +340,7 @@
 			g.lesson_subject_ AS lessonSubject,
 			s.name_ AS lessonSubjectName,
 			g.lesson_desc_ AS lessonDesc,
+			g.pay_type_ AS payType,
 			g.lesson_price_ AS lessonPrice,
 			g.lesson_cover_url_ AS lessonCoverUrl,
 			g.lesson_count_ AS lessonCount,
@@ -388,6 +394,7 @@
 			g.lesson_name_ AS lessonName,
 			g.lesson_subject_ AS lessonSubject,
 			g.lesson_desc_ AS lessonDesc,
+			g.pay_type_ AS payType,
 			g.lesson_price_ AS lessonPrice,
 			g.lesson_cover_url_ AS lessonCoverUrl,
 			g.teacher_id_ AS teacherId,
@@ -442,6 +449,9 @@
 			<if test="param.endTime !=null">
 				<![CDATA[AND g.create_time_ <= #{param.endTime} ]]>
 			</if>
+			<if test="param.payType != null">
+				AND g.pay_type_ = #{param.payType}
+			</if>
 		</where>
 		ORDER BY g.update_time_ desc, g.id_ desc
 	</select>
@@ -452,6 +462,7 @@
 			g.lesson_name_ AS lessonName,
 			g.lesson_subject_ AS lessonSubject,
 			g.lesson_desc_ AS lessonDesc,
+			g.pay_type_ AS payType,
 			g.lesson_price_ AS lessonPrice,
 			g.lesson_cover_url_ AS lessonCoverUrl,
 			g.teacher_id_ AS teacherId,
@@ -525,6 +536,7 @@
 			g.lesson_name_ AS lessonName,
 			g.lesson_subject_ AS lessonSubject,
 			g.lesson_desc_ AS lessonDesc,
+			g.pay_type_ AS payType,
 			g.lesson_price_ AS lessonPrice,
 			g.lesson_cover_url_ AS lessonCoverUrl,
 			g.teacher_id_ AS teacherId,