Ver Fonte

酷乐秀优化

zouxuan há 3 meses atrás
pai
commit
75e3475b62

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

@@ -23,9 +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.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * Description 学生课后作业相关接口
@@ -93,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);
@@ -103,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()));
             }
         }

+ 10 - 3
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/CourseHomeworkController.java

@@ -94,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) {
@@ -139,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()));
             }

+ 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)) {

+ 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>