瀏覽代碼

bug修改

cy 3 年之前
父節點
當前提交
1ea6167b60

+ 1 - 1
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonController.java

@@ -88,7 +88,7 @@ public class VideoLessonController extends BaseController {
      */
     @ApiOperation(value = "老师详情-视频课详情-教学计划", httpMethod = "POST", consumes = "application/json", produces = "application/json")
     @PostMapping(value = "/teacher/plan", consumes = "application/json", produces = "application/json")
-    public HttpResponseResult<PageInfo<VideoLessonGroupDetail>> page(@Validated(SelectGroup.class) @RequestBody VideoLessonSearch search) {
+    public HttpResponseResult<PageInfo<VideoLessonGroupDetailVo>> page(@Validated(SelectGroup.class) @RequestBody VideoLessonSearch search) {
         return succeed(PageUtil.pageInfo(videoLessonGroupDetailService.selectPage(PageUtil.getPage(search), search)));
     }
 

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonGroupDetailDao.java

@@ -5,6 +5,7 @@ import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonSearch;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupDetailUpVo;
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonPurchaseStudent;
 import org.apache.ibatis.annotations.Param;
 
@@ -31,4 +32,6 @@ public interface VideoLessonGroupDetailDao extends BaseMapper<VideoLessonGroupDe
 
     //根据组id删除视频课
     void deleteByGroupId(Long groupId);
+
+    List<VideoLessonGroupDetailVo> selectPageAuth(IPage page, @Param("param") VideoLessonSearch query);
 }

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonGroupDetailService.java

@@ -6,6 +6,7 @@ import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonSearch;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupDetailUpVo;
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonPurchaseStudent;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonStudentVo;
 
@@ -18,7 +19,7 @@ import java.util.List;
  * @version v1.0
  **/
 public interface VideoLessonGroupDetailService extends IService<VideoLessonGroupDetail> {
-    IPage<VideoLessonGroupDetail> selectPage(IPage<VideoLessonGroupDetail> page, VideoLessonSearch query);
+    IPage<VideoLessonGroupDetailVo> selectPage(IPage<VideoLessonGroupDetailVo> page, VideoLessonSearch query);
 
     IPage<VideoLessonPurchaseStudent> selectPageStudent(IPage<VideoLessonPurchaseStudent> page, VideoLessonSearch query);
 

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

@@ -8,7 +8,6 @@ import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonSearch;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonGroupDetailDao;
-import com.yonge.cooleshow.biz.dal.enums.AuditEnum;
 import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupDetailService;
 import com.yonge.cooleshow.biz.dal.vo.*;
@@ -50,8 +49,8 @@ public class VideoLessonGroupDetailServiceImpl extends ServiceImpl<VideoLessonGr
     * @Date: 2022/3/31
     */
     @Override
-    public IPage<VideoLessonGroupDetail> selectPage(IPage<VideoLessonGroupDetail> page, VideoLessonSearch query) {
-        return page.setRecords(baseMapper.selectPage(page,query));
+    public IPage<VideoLessonGroupDetailVo> selectPage(IPage<VideoLessonGroupDetailVo> page, VideoLessonSearch query) {
+        return page.setRecords(baseMapper.selectPageAuth(page,query));
     }
 
     /**

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

@@ -21,6 +21,7 @@ import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.utils.obj.ObjectUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
@@ -83,6 +84,14 @@ public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLesso
             throw new BizException("课程组不存在!");
         }
 
+        //校验课程是否购买
+        VideoLessonPurchaseRecord isAlreadyBuy= videoLessonPurchaseRecordDao.selectOne(Wrappers.<VideoLessonPurchaseRecord>lambdaQuery()
+                .eq(VideoLessonPurchaseRecord::getStudentId, studentId)
+                .eq(VideoLessonPurchaseRecord::getVideoLessonGroupId, groupId));
+        if (!ObjectUtil.isEmpty(isAlreadyBuy)){
+            throw new BizException("已购买过该课程");
+        }
+
         purchaseRecord.setOrderNo(orderNo);
         purchaseRecord.setStudentId(studentId);
         purchaseRecord.setOrderStatus(0);

+ 35 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/VideoLessonGroupDetailVo.java

@@ -0,0 +1,35 @@
+package com.yonge.cooleshow.biz.dal.vo;
+
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Author: cy
+ * @Date: 2022/4/25
+ */
+@ApiModel(value = "VideoLessonGroupDetailVo")
+public class VideoLessonGroupDetailVo extends VideoLessonGroupDetail {
+
+    @ApiModelProperty(value = "老师姓名")
+    private String teacherName;  //主键ID
+
+    @ApiModelProperty(value = "老师手机号")
+    private String teacherPhone;
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
+    public String getTeacherPhone() {
+        return teacherPhone;
+    }
+
+    public void setTeacherPhone(String teacherPhone) {
+        this.teacherPhone = teacherPhone;
+    }
+}

+ 24 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupDetailMapper.xml

@@ -71,6 +71,30 @@
 		FROM video_lesson_purchase_record
 		WHERE video_lesson_group_id_ = #{param.videoLessonGroupId})
 	</select>
+	<select id="selectPageAuth" resultType="com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupDetailVo">
+			SELECT
+			d.id_ AS id,
+			d.video_lesson_group_id_ AS videoLessonGroupId,
+			d.video_title_ AS videoTitle,
+			d.video_content_ AS videoContent,
+			d.video_url_ AS videoUrl,
+			d.cover_url_ AS coverUrl,
+			d.charge_flag_ AS chargeFlag,
+			d.sort_number_ AS sortNumber,
+			d.teacher_id_ AS teacherId,
+			u.username_ AS teacherName,
+			u.phone_ AS teacherPhone,
+			d.create_time_ AS createTime,
+			d.update_by_ AS updateBy,
+			d.update_time_ AS updateTime
+			FROM video_lesson_group_detail d
+			LEFT JOIN sys_user u ON d.teacher_id_=u.id_
+			<where>
+				<if test="param.videoLessonGroupId !=null">
+					AND video_lesson_group_id_ = #{param.videoLessonGroupId}
+				</if>
+			</where>
+	</select>
 	<insert id="insertVideoLesson" parameterType="java.util.List">
 		INSERT INTO video_lesson_group_detail (video_lesson_group_id_,video_title_,video_content_,video_url_,cover_url_,teacher_id_)
 		VALUES

+ 3 - 2
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/VideoLessonGroupDetailController.java

@@ -9,6 +9,7 @@ import com.yonge.cooleshow.biz.dal.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.valid.impl.ValidList;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonEvaluateVo;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupDetailUpVo;
+import com.yonge.cooleshow.biz.dal.vo.VideoLessonGroupDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonPurchaseStudent;
 import com.yonge.cooleshow.common.page.PageInfo;
 import io.swagger.annotations.Api;
@@ -50,8 +51,8 @@ public class VideoLessonGroupDetailController extends BaseController {
      */
     @ApiOperation(value = "查询视频课", httpMethod = "POST", consumes = "application/json", produces = "application/json")
     @PostMapping(value = "/page", consumes = "application/json", produces = "application/json")
-    public HttpResponseResult<PageInfo<VideoLessonGroupDetail>> page(@RequestBody VideoLessonSearch query) {
-        IPage<VideoLessonGroupDetail> pages = videoLessonGroupDetailService.selectPage(PageUtil.getPage(query), query);
+    public HttpResponseResult<PageInfo<VideoLessonGroupDetailVo>> page(@RequestBody VideoLessonSearch query) {
+        IPage<VideoLessonGroupDetailVo> pages = videoLessonGroupDetailService.selectPage(PageUtil.getPage(query), query);
         return succeed(PageUtil.pageInfo(pages));
     }