liujunchi пре 3 година
родитељ
комит
e61869f875

+ 24 - 64
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/CourseHomeworkController.java

@@ -1,87 +1,47 @@
 package com.yonge.cooleshow.admin.controller;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-
+import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.search.HomeworkSearch;
+import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum;
+import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
+import com.yonge.cooleshow.biz.dal.service.CourseHomeworkService;
 import com.yonge.cooleshow.biz.dal.support.PageUtil;
+import com.yonge.cooleshow.biz.dal.vo.CourseHomeworkDetailVo;
+import com.yonge.cooleshow.biz.dal.vo.CourseHomeworkVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.page.PageInfo;
-import com.yonge.toolset.utils.string.StringUtil;
-import io.swagger.annotations.*;
+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.web.bind.annotation.*;
 
 import javax.validation.Valid;
 
-import com.yonge.cooleshow.biz.dal.vo.CourseHomeworkVo;
-import com.yonge.cooleshow.biz.dal.dto.search.CourseHomeworkSearch;
-import com.yonge.cooleshow.biz.dal.entity.CourseHomework;
-import com.yonge.cooleshow.biz.dal.service.CourseHomeworkService;
-
 @RestController
-@RequestMapping("/courseHomework")
+@RequestMapping("/homework")
 @Api(value = "课程作业表", tags = "课程作业表")
 public class CourseHomeworkController extends BaseController {
 
     @Autowired
     private CourseHomeworkService courseHomeworkService;
 
-	/**
-     * 查询单条
-     */
-    @GetMapping("/detail/{id}")
-    @ApiOperation(value = "详情", notes = "传入id")
-    public HttpResponseResult<CourseHomeworkVo> detail(@PathVariable("id") Long id) {
-    	return succeed(courseHomeworkService.detail(id));
-	}
-    
-    /**
-     * 查询分页
-     */
-    @PostMapping("/page")
-    @ApiOperation(value = "查询分页", notes = "传入courseHomeworkSearch")
-    public HttpResponseResult<PageInfo<CourseHomeworkVo>> page(@RequestBody HomeworkSearch query) {
-		IPage<CourseHomeworkVo> pages = courseHomeworkService.selectPage(PageUtil.getPage(query), query);
-        return succeed(PageUtil.pageInfo(pages));
-	}
-    
-    /**
-	 * 新增
-	 */
-	@PostMapping("/save")
-	@ApiOperation(value = "新增", notes = "传入courseHomework")
-	public HttpResponseResult save(@Valid @RequestBody CourseHomework courseHomework) {
-    	return status(courseHomeworkService.save(courseHomework));
-	}
-    
-    /**
-	 * 修改
-	 */
-	@PostMapping("/update")
-	@ApiOperation(value = "修改", notes = "传入courseHomework")
-	public HttpResponseResult update(@Valid @RequestBody CourseHomework courseHomework) {
-        return status(courseHomeworkService.updateById(courseHomework));
+
+	@ApiOperation(value = "课后作业-列表", httpMethod = "POST", consumes = "application/json", produces = "application/json")
+	@PostMapping(value = "/list", consumes = "application/json", produces = "application/json")
+	public HttpResponseResult<PageInfo<CourseHomeworkVo>> list(@Valid @RequestBody HomeworkSearch query) {
+		query.setDecorate(YesOrNoEnum.YES);
+		query.setCourseStatus(CourseScheduleEnum.COMPLETE);
+		query.setCourseType(CourseScheduleEnum.PRACTICE);
+		return succeed(PageUtil.pageInfo(courseHomeworkService.selectPage(PageUtil.getPage(query),query)));
 	}
-    
-    /**
-	 * 新增或修改
-	 */
-    @PostMapping("/submit")
-    @ApiOperation(value = "新增或修改", notes = "传入courseHomework")
-	public HttpResponseResult submit(@Valid @RequestBody CourseHomework courseHomework) {
-        return status(courseHomeworkService.saveOrUpdate(courseHomework));
-    }
 
- 	/**
-	 * 删除
-	 */
-	@PostMapping("/remove")
-	@ApiOperation(value = "逻辑删除", notes = "传入ids")
-	public HttpResponseResult remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
-        if (StringUtil.isEmpty(ids)) {
-			return failed("参数不能为空");
-		}
-		return status(courseHomeworkService.removeByIds(StringUtil.toLongList(ids)));
+
+	@ApiOperation(value = "首页-我的课程-课程详情(陪练课)-课后作业信息详情",notes = "传入课程编号ID")
+	@GetMapping(value = "/detail/{courseId}")
+	public HttpResponseResult<CourseHomeworkDetailVo> detail(@ApiParam(value = "课程编号ID", required = true)
+															 @PathVariable("courseId") Long courseId) {
+		return succeed(courseHomeworkService.getCourseHomeworkDetailByCourseId(courseId));
 	}
 }

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/CourseHomeworkDao.java

@@ -56,12 +56,12 @@ public interface CourseHomeworkDao extends BaseMapper<CourseHomework> {
 	List<CourseHomeworkVo> selectStudentInfo(@Param("records") List<CourseHomeworkVo> records);
 
 	/**
-	 * 查询课程组声部信息
+	 * 查询课程组声部信息 和老师信息
 	 *
 	 * @param courseGroupId 课程组id
 	 * @return
 	 */
-	CourseHomeworkDetailVo selectSubjectInfo(@Param("courseGroupId") Long courseGroupId);
+	CourseHomeworkDetailVo selectSubjectAndTeacherInfo(@Param("courseGroupId") Long courseGroupId);
 
 	/**
 	 * 查询课程组声部信息

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

@@ -84,12 +84,15 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
                 .selectPaymentStudentInfo(courseHomeworkDetailVo.getCourseScheduleId());
 
         // 声部信息
-        CourseHomeworkDetailVo subjectInfoVo = baseMapper.selectSubjectInfo(courseHomeworkDetailVo.getCourseGroupId());
+        CourseHomeworkDetailVo subjectAndTeacherInfoVo = baseMapper
+                .selectSubjectAndTeacherInfo(courseHomeworkDetailVo.getCourseGroupId());
 
         // 拼接数据
         courseHomeworkDetailVo.setStudentName(studentInfoDetailVo.getStudentName());
         courseHomeworkDetailVo.setStudentAvatar(studentInfoDetailVo.getStudentAvatar());
-        courseHomeworkDetailVo.setSubjectName(subjectInfoVo.getSubjectName());
+        courseHomeworkDetailVo.setSubjectName(subjectAndTeacherInfoVo.getSubjectName());
+        courseHomeworkDetailVo.setTeacherAvatar(subjectAndTeacherInfoVo.getTeacherAvatar());
+        courseHomeworkDetailVo.setTeacherName(subjectAndTeacherInfoVo.getTeacherName());
         return courseHomeworkDetailVo;
     }
 

+ 17 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CourseHomeworkDetailVo.java

@@ -34,19 +34,19 @@ public class CourseHomeworkDetailVo {
     private CourseScheduleEnum courseType;
 
     @ApiModelProperty("上课日期")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private String classDate;
+    private Date classDate;
 
     @ApiModelProperty("上课时间")
-    @DateTimeFormat(pattern = "HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private String startTime;
+    private Date startTime;
 
     @ApiModelProperty("下课时间")
-    @DateTimeFormat(pattern = "HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private String endTime;
+    private Date endTime;
 
     @ApiModelProperty("课程状态 NOT_START未开始 ING进行中 COMPLETE已完成 CANCEL已取消")
     private CourseScheduleEnum courseStatus;
@@ -95,6 +95,11 @@ public class CourseHomeworkDetailVo {
     @ApiModelProperty("点评作业 0:未点评,1:已点评")
     private YesOrNoEnum reviewHomework;
 
+    @ApiModelProperty("作业布置时间")
+    private Date decorateTime;
+
+
+
     public String getTeacherName() {
         return teacherName;
     }
@@ -167,27 +172,27 @@ public class CourseHomeworkDetailVo {
         this.courseType = courseType;
     }
 
-    public String getClassDate() {
+    public Date getClassDate() {
         return classDate;
     }
 
-    public void setClassDate(String classDate) {
+    public void setClassDate(Date classDate) {
         this.classDate = classDate;
     }
 
-    public String getStartTime() {
+    public Date getStartTime() {
         return startTime;
     }
 
-    public void setStartTime(String startTime) {
+    public void setStartTime(Date startTime) {
         this.startTime = startTime;
     }
 
-    public String getEndTime() {
+    public Date getEndTime() {
         return endTime;
     }
 
-    public void setEndTime(String endTime) {
+    public void setEndTime(Date endTime) {
         this.endTime = endTime;
     }
 

+ 37 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CourseHomeworkVo.java

@@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.util.Date;
+
 /**
  * @Author: liweifan
  * @Data: 2022-03-30 13:53:51
@@ -23,19 +25,19 @@ public class CourseHomeworkVo{
 
 
 	@ApiModelProperty("上课日期")
-	@DateTimeFormat(pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
-	private String classDate;
+	private Date classDate;
 
 	@ApiModelProperty("上课时间")
-	@DateTimeFormat(pattern = "HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-	private String startTime;
+	private Date startTime;
 
 	@ApiModelProperty("下课时间")
-	@DateTimeFormat(pattern = "HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-	private String endTime;
+	private Date endTime;
 
 	@ApiModelProperty("声部名称")
 	private String subjectName;
@@ -56,6 +58,29 @@ public class CourseHomeworkVo{
 	@ApiModelProperty("旷课 0:否,1:是")
 	private YesOrNoEnum absenteeism;
 
+	@ApiModelProperty("作业布置时间")
+	private Date decorateTime;
+
+	@ApiModelProperty("作业提交时间")
+	private Date submitTime;
+
+
+	public Date getDecorateTime() {
+		return decorateTime;
+	}
+
+	public void setDecorateTime(Date decorateTime) {
+		this.decorateTime = decorateTime;
+	}
+
+	public Date getSubmitTime() {
+		return submitTime;
+	}
+
+	public void setSubmitTime(Date submitTime) {
+		this.submitTime = submitTime;
+	}
+
 	public String getTeacherName() {
 		return teacherName;
 	}
@@ -88,27 +113,27 @@ public class CourseHomeworkVo{
 		this.courseGroupId = courseGroupId;
 	}
 
-	public String getClassDate() {
+	public Date getClassDate() {
 		return classDate;
 	}
 
-	public void setClassDate(String classDate) {
+	public void setClassDate(Date classDate) {
 		this.classDate = classDate;
 	}
 
-	public String getStartTime() {
+	public Date getStartTime() {
 		return startTime;
 	}
 
-	public void setStartTime(String startTime) {
+	public void setStartTime(Date startTime) {
 		this.startTime = startTime;
 	}
 
-	public String getEndTime() {
+	public Date getEndTime() {
 		return endTime;
 	}
 
-	public void setEndTime(String endTime) {
+	public void setEndTime(Date endTime) {
 		this.endTime = endTime;
 	}
 

+ 7 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml

@@ -43,7 +43,9 @@
         cs.course_group_id_ AS courseGroupId,
         cs.class_date_ AS classDate,
         cs.start_time_ AS startTime,
-        cs.end_time_ AS endTime
+        cs.end_time_ AS endTime,
+        ch.create_time_ as decorateTime,
+        sch.submit_time_ as submitTime
         from course_schedule cs
         left join course_homework ch on ch.course_schedule_id_ = cs.id_
         left join student_course_homework sch on ch.id_ = sch.course_homework_id_
@@ -131,10 +133,13 @@
     </select>
 
 
-    <select id="selectSubjectInfo" resultType="com.yonge.cooleshow.biz.dal.vo.CourseHomeworkDetailVo">
+    <select id="selectSubjectAndTeacherInfo" resultType="com.yonge.cooleshow.biz.dal.vo.CourseHomeworkDetailVo">
         select s.name_ as subjectName
+        ,su.username_ as teacherName
+        ,su.avatar_ as teacherAvatar
         from course_group cg
         left join subject s on cg.subject_id_ = s.id_
+        left join sys_user su on cg.teacher_id_ = su.id_
         <where>
             <if test="courseGroupId != null">
                 and cg.id_ = #{courseGroupId}