Parcourir la source

酷乐秀优化

zouxuan il y a 4 mois
Parent
commit
227b10d279

+ 19 - 2
cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/CourseHomeworkController.java

@@ -1,11 +1,14 @@
 package com.yonge.cooleshow.admin.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.yonge.cooleshow.biz.dal.dto.search.HomeworkAdminSearch;
 import com.yonge.cooleshow.biz.dal.entity.StudentCourseHomework;
+import com.yonge.cooleshow.biz.dal.entity.SysUser;
 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.StudentCourseHomeworkService;
+import com.yonge.cooleshow.biz.dal.service.SysUserService;
 import com.yonge.cooleshow.biz.dal.vo.CourseHomeworkDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.CourseHomeworkVo;
 import com.yonge.cooleshow.biz.dal.wrapper.HomeworkWrapper;
@@ -17,6 +20,7 @@ import com.yonge.toolset.mybatis.support.PageUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
@@ -24,6 +28,8 @@ import javax.annotation.Resource;
 import javax.validation.Valid;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 @RestController
 @RequestMapping("${app-config.url.admin:}/homework")
@@ -38,6 +44,8 @@ public class CourseHomeworkController extends BaseController {
 
 	@Resource
 	private StudentCourseHomeworkService studentCourseHomeworkService;
+	@Resource
+	private SysUserService sysUserService;
 
 	@ApiOperation(value = "课后作业-列表", httpMethod = "POST", consumes = "application/json", produces = "application/json")
 	@PostMapping(value = "/list", consumes = "application/json", produces = "application/json")
@@ -85,7 +93,16 @@ public class CourseHomeworkController extends BaseController {
 	@ApiOperation(value = "根据作业编号,获取学员作业列表")
 	@GetMapping(value = "/studentList")
 	@PreAuthorize("@pcs.hasPermissions('homework/studentList')")
-	public HttpResponseResult<List<StudentCourseHomework>> studentList(Long homeworkId) {
-		return succeed(studentCourseHomeworkService.lambdaQuery().eq(StudentCourseHomework::getCourseHomeworkId, homeworkId).list());
+	public HttpResponseResult<List<HomeworkWrapper.StudentCourseHomeworkDto>> studentList(Long homeworkId) {
+		List<StudentCourseHomework> list = studentCourseHomeworkService.lambdaQuery().eq(StudentCourseHomework::getCourseHomeworkId, homeworkId).list();
+		if (CollectionUtils.isNotEmpty(list)){
+			List<HomeworkWrapper.StudentCourseHomeworkDto> dtos = JSON.parseArray(JSON.toJSONString(list), HomeworkWrapper.StudentCourseHomeworkDto.class);
+			List<Long> studentIds = dtos.stream().map(StudentCourseHomework::getStudentId).collect(Collectors.toList());
+			List<SysUser> sysUsers = sysUserService.getDao().selectBatchIds(studentIds);
+			Map<Long, String> nameMap = sysUsers.stream().collect(Collectors.toMap(SysUser::getId, SysUser::getUsername));
+			dtos.forEach(e -> e.setUsername(nameMap.get(e.getStudentId())));
+			return succeed(dtos);
+		}
+		return succeed(new ArrayList<>());
 	}
 }

+ 2 - 89
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/StudentCourseHomework.java

@@ -10,12 +10,14 @@ import io.swagger.annotations.ApiModelProperty;
 import java.io.Serializable;
 import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 学生课程作业
  */
 @TableName("student_course_homework")
+@Data
 @ApiModel(value = "StudentCourseHomework对象", description = "学生课程作业")
 public class StudentCourseHomework implements Serializable {
 	private static final long serialVersionUID = 1L;
@@ -58,93 +60,4 @@ public class StudentCourseHomework implements Serializable {
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
     private Date updateTime;
-
-	public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-    
-	public Long getCourseHomeworkId() {
-        return courseHomeworkId;
-    }
-
-    public void setCourseHomeworkId(Long courseHomeworkId) {
-        this.courseHomeworkId = courseHomeworkId;
-    }
-    
-	public String getCourseGroupType() {
-        return courseGroupType;
-    }
-
-    public void setCourseGroupType(String courseGroupType) {
-        this.courseGroupType = courseGroupType;
-    }
-    
-	public Long getCourseGroupId() {
-        return courseGroupId;
-    }
-
-    public void setCourseGroupId(Long courseGroupId) {
-        this.courseGroupId = courseGroupId;
-    }
-    
-	public Long getCourseScheduleId() {
-        return courseScheduleId;
-    }
-
-    public void setCourseScheduleId(Long courseScheduleId) {
-        this.courseScheduleId = courseScheduleId;
-    }
-    
-	public Long getStudentId() {
-        return studentId;
-    }
-
-    public void setStudentId(Long studentId) {
-        this.studentId = studentId;
-    }
-    
-	public String getAttachments() {
-        return attachments;
-    }
-
-    public void setAttachments(String attachments) {
-        this.attachments = attachments;
-    }
-    
-	public String getTeacherReplied() {
-        return teacherReplied;
-    }
-
-    public void setTeacherReplied(String teacherReplied) {
-        this.teacherReplied = teacherReplied;
-    }
-    
-	public Date getSubmitTime() {
-        return submitTime;
-    }
-
-    public void setSubmitTime(Date submitTime) {
-        this.submitTime = submitTime;
-    }
-    
-	public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-    
-	public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
-    }
-    
 }

+ 12 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/HomeworkWrapper.java

@@ -1,6 +1,7 @@
 package com.yonge.cooleshow.biz.dal.wrapper;
 
 import com.alibaba.excel.annotation.ExcelProperty;
+import com.yonge.cooleshow.biz.dal.entity.StudentCourseHomework;
 import com.yonge.cooleshow.biz.dal.entity.SysUser;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -61,4 +62,15 @@ public class HomeworkWrapper {
         @ApiModelProperty("课程组编号")
         private Long courseGroupId;
     }
+
+    @Data
+    @Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel("学员作业列表")
+    public static class StudentCourseHomeworkDto extends StudentCourseHomework {
+
+        @ApiModelProperty("学员姓名")
+        private String username;
+    }
 }