Browse Source

查询作业

chengpeng 5 năm trước cách đây
mục cha
commit
0c1c0b7a87

+ 70 - 0
mec-education/src/main/java/com/ym/mec/education/controller/HomeWorkController.java

@@ -0,0 +1,70 @@
+package com.ym.mec.education.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.netflix.hystrix.contrib.javanica.annotation.DefaultProperties;
+import com.ym.mec.education.base.BaseResponse;
+import com.ym.mec.education.base.PageResponse;
+import com.ym.mec.education.entity.StudentCourseHomework;
+import com.ym.mec.education.entity.SysUser;
+import com.ym.mec.education.req.HomeWorkReq;
+import com.ym.mec.education.req.MusicGroupReq;
+import com.ym.mec.education.resp.HomeWrokResp;
+import com.ym.mec.education.service.IStudentCourseHomeworkService;
+import com.ym.mec.education.service.ISysUserService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
+/**
+ * @version V1.0
+ * @Description: TODO
+ * @date Date : 2019年09月27日 19:31
+ */
+
+@RestController
+@RequestMapping("/api/homeWork")
+@DefaultProperties(defaultFallback = "defaultFallback")
+@Slf4j
+public class HomeWorkController {
+
+
+    @Autowired
+    private IStudentCourseHomeworkService studentCourseHomeworkService;
+
+    @Autowired
+    private ISysUserService sysUserService;
+    /**
+     * 服务降级处理
+     *
+     * @return
+     */
+    private BaseResponse defaultFallback() {
+        BaseResponse response = new BaseResponse();
+        response.setReturnCode(500);
+        response.setMessage("太拥挤了, 请稍后再试!");
+        return response;
+    }
+
+    /**
+     *
+     * @param req
+     * @return
+     */
+    @PostMapping(value = "/workList")
+    public PageResponse workList(@RequestBody HomeWorkReq req) {
+
+        return studentCourseHomeworkService.workList(req);
+    }
+}

+ 1 - 1
mec-education/src/main/java/com/ym/mec/education/mapper/StudentCourseHomeworkMapper.java

@@ -1,7 +1,7 @@
 package com.ym.mec.education.mapper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ym.mec.education.entity.StudentCourseHomework;
-import com.baomidou.mybatisplus.mapper.BaseMapper;
 
 /**
  * <p>

+ 15 - 0
mec-education/src/main/java/com/ym/mec/education/req/HomeWorkReq.java

@@ -0,0 +1,15 @@
+package com.ym.mec.education.req;
+
+import com.ym.mec.education.base.BaseQuery;
+import lombok.Data;
+
+/**
+ * @version V1.0
+ * @Description: TODO
+ * @date Date : 2019年09月25日 20:59
+ */
+@Data
+public class HomeWorkReq extends BaseQuery {
+
+    private String name;
+}

+ 39 - 0
mec-education/src/main/java/com/ym/mec/education/resp/HomeWrokResp.java

@@ -0,0 +1,39 @@
+package com.ym.mec.education.resp;
+
+import lombok.Data;
+import lombok.ToString;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @version V1.0
+ * @Description: TODO
+ * @date Date : 2019年09月26日 17:44
+ */
+
+@Data
+@ToString
+public class HomeWrokResp implements Serializable {
+
+    private String name;
+
+    /**
+     * 图像
+     */
+    private String avatar;
+
+    private Integer userId;
+
+    private Integer classGroupId;
+
+    private String isReplied;
+
+    private String status;
+
+    private String remark;
+
+    private Integer score;
+
+    private String attachments;
+}

+ 4 - 1
mec-education/src/main/java/com/ym/mec/education/service/IStudentCourseHomeworkService.java

@@ -1,7 +1,9 @@
 package com.ym.mec.education.service;
 
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ym.mec.education.base.PageResponse;
 import com.ym.mec.education.entity.StudentCourseHomework;
-import com.baomidou.mybatisplus.service.IService;
+import com.ym.mec.education.req.HomeWorkReq;
 
 /**
  * <p>
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.service.IService;
  */
 public interface IStudentCourseHomeworkService extends IService<StudentCourseHomework> {
 
+    PageResponse workList(HomeWorkReq req);
 }

+ 71 - 1
mec-education/src/main/java/com/ym/mec/education/service/impl/StudentCourseHomeworkServiceImpl.java

@@ -1,10 +1,28 @@
 package com.ym.mec.education.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ym.mec.education.base.PageResponse;
 import com.ym.mec.education.entity.StudentCourseHomework;
+import com.ym.mec.education.entity.SysUser;
+import com.ym.mec.education.enums.ReturnCodeEnum;
 import com.ym.mec.education.mapper.StudentCourseHomeworkMapper;
+import com.ym.mec.education.req.HomeWorkReq;
+import com.ym.mec.education.resp.HomeWrokResp;
 import com.ym.mec.education.service.IStudentCourseHomeworkService;
-import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.ym.mec.education.service.ISysUserService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -17,4 +35,56 @@ import org.springframework.stereotype.Service;
 @Service("IStudentCourseHomeworkService")
 public class StudentCourseHomeworkServiceImpl extends ServiceImpl<StudentCourseHomeworkMapper, StudentCourseHomework> implements IStudentCourseHomeworkService {
 
+    @Autowired
+    private ISysUserService sysUserService;
+
+
+
+    @Override
+    public PageResponse workList(HomeWorkReq req) {
+
+        PageResponse response = new PageResponse();
+        QueryWrapper<SysUser> userQueryWrapper = new QueryWrapper<>();
+
+        List<SysUser> userList = null;
+        if(req != null && StringUtils.isEmpty(req.getName())){
+            userQueryWrapper.like("real_name_",req.getName());
+            userList = sysUserService.list(userQueryWrapper);
+        }
+
+        List<Integer> userIds = null;
+        if(!CollectionUtils.isEmpty(userList)){
+            userIds = userList.stream().map(SysUser::getId).collect(Collectors.toList());
+        }
+        IPage ipage = new Page(req.getPageNo() == null ? 1: req.getPageNo(),req.getPageSize() == null ? 10:req.getPageSize());
+        QueryWrapper<StudentCourseHomework> queryWrapper = new QueryWrapper<>();
+        if(userIds != null && !userIds.isEmpty()){
+            queryWrapper.in("user_id_",userIds);
+        }
+        IPage<StudentCourseHomework> homeworkIPage =  this.page(ipage,queryWrapper);
+
+        List<StudentCourseHomework> courseHomeworkList = homeworkIPage.getRecords();
+
+        List<HomeWrokResp> homeWrokRespList = new ArrayList<>();
+        if(!CollectionUtils.isEmpty(courseHomeworkList)){
+            List<SysUser> finalUserList = userList;
+            courseHomeworkList.forEach(e ->{
+                HomeWrokResp homeWrokResp = new HomeWrokResp();
+                BeanUtils.copyProperties(e,homeWrokResp);
+                Optional<SysUser> optional = finalUserList.stream().filter(u -> u.getId().equals(e.getUserId())).findFirst();
+                if(optional.isPresent()){
+                    homeWrokResp.setAvatar(optional.get().getAvatar());
+                    homeWrokResp.setName(optional.get().getRealName());
+                }
+                homeWrokRespList.add(homeWrokResp);
+            });
+
+        }
+
+        response.setReturnCode(ReturnCodeEnum.CODE_200.getCode());
+        response.setMessage(ReturnCodeEnum.CODE_200.getValue());
+        response.setRecords(homeWrokRespList);
+        response.setTotal(Math.toIntExact(homeworkIPage.getTotal()));
+        return response;
+    }
 }