Przeglądaj źródła

Merge branch 'zx_online_update_1218' of http://git.dayaedu.com/yonge/cooleshow into feature/1219_opt

zouxuan 6 miesięcy temu
rodzic
commit
a8c62ec972

+ 16 - 10
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/CourseHomeworkController.java

@@ -3,12 +3,11 @@ package com.yonge.cooleshow.student.controller;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.dto.CourseHomeworkSubmitDto;
 import com.yonge.cooleshow.biz.dal.dto.search.HomeworkSearch;
+import com.yonge.cooleshow.biz.dal.entity.StudentAttendance;
+import com.yonge.cooleshow.biz.dal.entity.TeacherAttendance;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum;
-import com.yonge.cooleshow.biz.dal.service.CourseHomeworkService;
-import com.yonge.cooleshow.biz.dal.service.CourseScheduleService;
-import com.yonge.cooleshow.biz.dal.service.ImGroupService;
-import com.yonge.cooleshow.biz.dal.service.SysUserService;
+import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.CourseHomeworkDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.CourseHomeworkVo;
 import com.yonge.cooleshow.common.controller.BaseController;
@@ -24,8 +23,8 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * Description 学生课后作业相关接口
@@ -49,6 +48,8 @@ public class CourseHomeworkController extends BaseController {
 
     @Resource
     private ImGroupService imGroupService;
+    @Resource
+    private StudentAttendanceService studentAttendanceService;
 
 
     @ApiOperation(value = "首页-我的课程-课程详情(趣纠课)-课后作业信息详情",notes = "传入课程编号ID")
@@ -62,6 +63,10 @@ public class CourseHomeworkController extends BaseController {
         CourseHomeworkDetailVo detailVo = courseHomeworkService.getCourseHomeworkDetailByCourseId(courseId, userId);
         if (detailVo != null) {
             detailVo.setImUserId(imGroupService.getImUserId(String.valueOf(detailVo.getTeacherId()),ClientEnum.TEACHER.name()));
+            //获取学生考勤信息
+            StudentAttendance one = studentAttendanceService.lambdaQuery().eq(StudentAttendance::getCourseScheduleId, courseId)
+                    .eq(StudentAttendance::getStudentId, userId).last("limit 1").one();
+            detailVo.setAttendanceStatus(Objects.nonNull(one));
         }
         return succeed(detailVo);
     }
@@ -87,8 +92,9 @@ public class CourseHomeworkController extends BaseController {
     @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) {
+        Long userId = sysUserService.getUserId();
         query.setDecorate(YesOrNoEnum.YES);
-        query.setStudentId(sysUserService.getUserId());
+        query.setStudentId(userId);
         query.setCourseStatus(CourseScheduleEnum.COMPLETE);
         List<CourseScheduleEnum> list = new ArrayList<>();
         list.add(CourseScheduleEnum.PIANO_ROOM_CLASS);
@@ -97,9 +103,9 @@ public class CourseHomeworkController extends BaseController {
         query.setCourseType(list);
 
         IPage<CourseHomeworkVo> page = courseHomeworkService.selectPage(PageUtil.getPage(query), query);
-        if (CollectionUtils.isNotEmpty(page.getRecords())) {
-
-            for (CourseHomeworkVo item : page.getRecords()) {
+        List<CourseHomeworkVo> records = page.getRecords();
+        if (CollectionUtils.isNotEmpty(records)) {
+            for (CourseHomeworkVo item : records) {
                 item.setImUserId(imGroupService.getImUserId(String.valueOf(item.getTeacherId()),ClientEnum.TEACHER.name()));
             }
         }

+ 21 - 12
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/CourseHomeworkController.java

@@ -5,12 +5,10 @@ import com.yonge.cooleshow.biz.dal.dto.CourseHomeworkReviewDto;
 import com.yonge.cooleshow.biz.dal.dto.CourseHomeworkSaveDto;
 import com.yonge.cooleshow.biz.dal.dto.CourseScheduleHomeworkSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.HomeworkSearch;
+import com.yonge.cooleshow.biz.dal.entity.TeacherAttendance;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum;
-import com.yonge.cooleshow.biz.dal.service.CourseHomeworkService;
-import com.yonge.cooleshow.biz.dal.service.CourseScheduleService;
-import com.yonge.cooleshow.biz.dal.service.ImGroupService;
-import com.yonge.cooleshow.biz.dal.service.SysUserService;
+import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.CountVo;
 import com.yonge.cooleshow.biz.dal.vo.CourseHomeworkDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.CourseHomeworkVo;
@@ -30,6 +28,7 @@ import javax.annotation.Resource;
 import javax.validation.Valid;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * Description 老师课后作业相关接口
@@ -44,15 +43,14 @@ public class CourseHomeworkController extends BaseController {
 
     @Resource
     private SysUserService sysUserService;
-
     @Resource
     private CourseScheduleService courseScheduleService;
-
     @Resource
     private CourseHomeworkService courseHomeworkService;
-
     @Resource
     private ImGroupService imGroupService;
+    @Resource
+    private TeacherAttendanceService teacherAttendanceService;
 
     @ApiOperation(value = "未布置的课后作业数量")
     @GetMapping(value="/count")
@@ -77,12 +75,16 @@ public class CourseHomeworkController extends BaseController {
     public HttpResponseResult<CourseHomeworkDetailVo> detail(@ApiParam(value = "课程编号ID", required = true)
                                                                  @PathVariable("courseId") Long courseId,
                                                              @PathVariable("studentId") Long studentId) {
-
-        HttpResponseResult info = checkCourseSchedule(courseId,sysUserService.getUserId());
+        Long userId = sysUserService.getUserId();
+        HttpResponseResult info = checkCourseSchedule(courseId,userId);
         if (info != null) return info;
         CourseHomeworkDetailVo detailVo = courseHomeworkService.getCourseHomeworkDetailByCourseId(courseId, studentId);
         if (detailVo != null) {
             detailVo.setImUserId(imGroupService.getImUserId(String.valueOf(detailVo.getStudentId()),ClientEnum.STUDENT.name()));
+            //获取老师考勤信息
+            TeacherAttendance one = teacherAttendanceService.lambdaQuery().eq(TeacherAttendance::getCourseScheduleId, courseId)
+                    .eq(TeacherAttendance::getTeacherId, userId).last("limit 1").one();
+            detailVo.setAttendanceStatus(Objects.nonNull(one));
         }
 
         return succeed(detailVo);
@@ -92,9 +94,17 @@ public class CourseHomeworkController extends BaseController {
     @ApiOperation(value = "首页-我的课程-课程详情(琴房)-课后作业列表",notes = "传入课程编号ID")
     @PostMapping(value = "/detail/list")
     public HttpResponseResult<CourseScheduleHomeworkVo> detail(@RequestBody @Valid CourseScheduleHomeworkSearch query) {
-        HttpResponseResult info = checkCourseSchedule(query.getCourseId(),sysUserService.getUserId());
+        Long userId = sysUserService.getUserId();
+        HttpResponseResult info = checkCourseSchedule(query.getCourseId(),userId);
         if (info != null) return info;
-        return succeed(courseHomeworkService.getCourseHomeworkDetailByCourseId(query));
+        CourseScheduleHomeworkVo scheduleHomeworkVo = courseHomeworkService.getCourseHomeworkDetailByCourseId(query);
+        if (scheduleHomeworkVo != null) {
+            //获取老师考勤信息
+            TeacherAttendance one = teacherAttendanceService.lambdaQuery().eq(TeacherAttendance::getCourseScheduleId, query.getCourseId())
+                    .eq(TeacherAttendance::getTeacherId, userId).last("limit 1").one();
+            scheduleHomeworkVo.setAttendanceStatus(Objects.nonNull(one));
+        }
+        return succeed(scheduleHomeworkVo);
     }
 
     private HttpResponseResult checkCourseSchedule(Long courseId,Long userId) {
@@ -137,7 +147,6 @@ public class CourseHomeworkController extends BaseController {
 
         IPage<CourseHomeworkVo> page = courseHomeworkService.selectPage(PageUtil.getPage(query), query);
         if (CollectionUtils.isNotEmpty(page.getRecords())) {
-
             for (CourseHomeworkVo item : page.getRecords()) {
                 item.setImUserId(imGroupService.getImUserId(String.valueOf(item.getStudentId()),ClientEnum.STUDENT.name()));
             }

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

@@ -464,6 +464,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
                 e.setSubjectName(subjectMap.get(e.getSubjectId()));
                 com.yonge.cooleshow.biz.dal.entity.SysUser user = userMap.get(e.getTeacherId());
                 if(Objects.nonNull(user)){
+                    e.setCourseGroupName(e.getCourseGroupName() + "-" + user.getUsername());
                     e.setTeacherName(user.getUsername());
                     e.setTeacherAvatar(user.getAvatar());
                 }

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

@@ -149,11 +149,20 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
             List<CourseHomeworkVo> courseHomeworkVoList = studentCollect.get(record.getCourseId());
             CourseHomeworkVo courseHomeworkVo;
             if (!CollectionUtils.isEmpty(courseHomeworkVoList)) {
-                courseHomeworkVo = courseHomeworkVoList.get(0);
-                record.setStudentId(courseHomeworkVo.getStudentId());
-                record.setStudentAvatar(courseHomeworkVo.getStudentAvatar());
-                record.setStudentName(courseHomeworkVo.getStudentName());
-                record.setDelFlag(courseHomeworkVo.getDelFlag());
+                for (int i = 0; i < courseHomeworkVoList.size(); i++) {
+                    CourseHomeworkVo homeworkVo = courseHomeworkVoList.get(i);
+                    if (i == 0) {
+                        record.setStudentId(homeworkVo.getStudentId());
+                        record.setStudentAvatar(homeworkVo.getStudentAvatar());
+                        record.setStudentName(homeworkVo.getStudentName());
+                        record.setDelFlag(homeworkVo.getDelFlag());
+                    }else if(i < 2){
+                        record.setStudentName(record.getStudentName() + "、" + homeworkVo.getStudentName());
+                    }else {
+                        record.setStudentName(record.getStudentName() + "等" + courseHomeworkVoList.size() + "人");
+                        break;
+                    }
+                }
             }
             courseHomeworkVoList = teacherCollect.get(record.getCourseId());
             if (!CollectionUtils.isEmpty(courseHomeworkVoList)) {

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

@@ -124,6 +124,18 @@ public class CourseHomeworkDetailVo {
     @ApiModelProperty(value = "IM聊天用户ID")
     private String imUserId;
 
+    @ApiModelProperty(value = "考勤状态 , false:未考勤 true:已考勤")
+    private Boolean attendanceStatus;
+
+
+    public Boolean getAttendanceStatus() {
+        return attendanceStatus;
+    }
+
+    public void setAttendanceStatus(Boolean attendanceStatus) {
+        this.attendanceStatus = attendanceStatus;
+    }
+
     public String getCourseGroupName() {
         return courseGroupName;
     }

+ 0 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CourseHomeworkVo.java

@@ -98,8 +98,6 @@ public class CourseHomeworkVo{
 	@ApiModelProperty("IM用户ID")
 	private String imUserId;
 
-
-
     public Boolean getDelFlag() {
         return delFlag;
     }

+ 12 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CourseScheduleHomeworkVo.java

@@ -84,6 +84,18 @@ public class CourseScheduleHomeworkVo {
     @ApiModelProperty("学生课后作业列表")
     private IPage<StudentHomeworkVo> studentHomeworkList;
 
+    @ApiModelProperty(value = "考勤状态 , false:未考勤 true:已考勤")
+    private Boolean attendanceStatus;
+
+
+    public Boolean getAttendanceStatus() {
+        return attendanceStatus;
+    }
+
+    public void setAttendanceStatus(Boolean attendanceStatus) {
+        this.attendanceStatus = attendanceStatus;
+    }
+
 
     public String getImGroupId() {
         return imGroupId;

+ 3 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml

@@ -136,6 +136,9 @@
                     and sch.id_ is not null
                 </if>
             </if>
+            <if test="param.search != null and param.search != ''">
+                and cs.name_ like concat('%',#{param.search},'%')
+            </if>
             <if test="param.courseStatus != null">
                 and cs.status_ = #{param.courseStatus}
             </if>