Browse Source

班级详情-学员名单

肖玮 5 years ago
parent
commit
2b22701fb5

+ 2 - 2
mec-education/src/main/java/com/ym/mec/education/controller/StudentAttendanceController.java

@@ -27,9 +27,9 @@ public class StudentAttendanceController {
     @Autowired
     private IStudentAttendanceService studentAttendanceService;
 
-    @PostMapping("/page")
+    @PostMapping("/list")
     @ApiOperation("点名记录列表")
-    public PageResponse page(@RequestBody StudentAttendanceReq studentAttendanceReq) {
+    public PageResponse list(@RequestBody StudentAttendanceReq studentAttendanceReq) {
         return studentAttendanceService.getPage(studentAttendanceReq);
     }
 

+ 36 - 0
mec-education/src/main/java/com/ym/mec/education/controller/StudentRegistrationController.java

@@ -0,0 +1,36 @@
+package com.ym.mec.education.controller;
+
+import com.ym.mec.education.base.PageResponse;
+import com.ym.mec.education.req.ClassGroupReq;
+import com.ym.mec.education.service.IStudentRegistrationService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+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;
+
+/**
+ * @program: mec
+ * @description: 学员名单
+ * @author: xw
+ * @create: 2019-09-26 19:40
+ */
+@RestController
+@RequestMapping("api/studentRegistration")
+@Api(tags = "学员名单")
+@Slf4j
+public class StudentRegistrationController {
+
+    @Autowired
+    private IStudentRegistrationService studentRegistrationService;
+
+    @PostMapping("/list")
+    @ApiOperation("学员名单列表")
+    public PageResponse list(@RequestBody ClassGroupReq classGroupReq) {
+        return studentRegistrationService.getPage(classGroupReq);
+    }
+
+}

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

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

+ 25 - 0
mec-education/src/main/java/com/ym/mec/education/resp/StudentRegistrationResp.java

@@ -0,0 +1,25 @@
+package com.ym.mec.education.resp;
+
+import com.ym.mec.education.base.BaseQuery;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * @program: mec
+ * @description: 学员名单出参
+ * @author: xw
+ * @create: 2019-09-26 19:42
+ */
+@Data
+@ApiModel(description = "学员名单出参")
+@Accessors(chain = true)
+public class StudentRegistrationResp extends BaseQuery {
+
+    @ApiModelProperty(value = "学员名称",required = true)
+    private String studentName;
+
+    @ApiModelProperty(value = "学员迟到情况",required = true)
+    private String studentAttendance;
+}

+ 4 - 1
mec-education/src/main/java/com/ym/mec/education/service/IStudentRegistrationService.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.StudentRegistration;
-import com.baomidou.mybatisplus.service.IService;
+import com.ym.mec.education.req.ClassGroupReq;
 
 /**
  * <p>
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.service.IService;
  */
 public interface IStudentRegistrationService extends IService<StudentRegistration> {
 
+     PageResponse getPage(ClassGroupReq classGroupReq);
 }

+ 41 - 1
mec-education/src/main/java/com/ym/mec/education/service/impl/StudentRegistrationServiceImpl.java

@@ -1,11 +1,25 @@
 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.google.common.collect.Lists;
+import com.ym.mec.education.base.PageResponse;
+import com.ym.mec.education.entity.StudentAttendance;
 import com.ym.mec.education.entity.StudentRegistration;
+import com.ym.mec.education.enums.StudentAttendanceStatusEnum;
 import com.ym.mec.education.mapper.StudentRegistrationMapper;
+import com.ym.mec.education.req.ClassGroupReq;
+import com.ym.mec.education.resp.StudentRegistrationResp;
+import com.ym.mec.education.service.IStudentAttendanceService;
 import com.ym.mec.education.service.IStudentRegistrationService;
-import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 学生报名表 服务实现类
@@ -17,4 +31,30 @@ import org.springframework.stereotype.Service;
 @Service
 public class StudentRegistrationServiceImpl extends ServiceImpl<StudentRegistrationMapper, StudentRegistration> implements IStudentRegistrationService {
 
+    @Autowired
+    private IStudentAttendanceService studentAttendanceService;
+
+    @Override
+    public PageResponse getPage(ClassGroupReq classGroupReq) {
+        Page<StudentRegistration> studentRegistrationPage = new Page<>(classGroupReq.getPageNo(), classGroupReq.getPageSize());
+        QueryWrapper<StudentRegistration> studentRegistrationQueryWrapper = new QueryWrapper<>();
+        studentRegistrationQueryWrapper.lambda().eq(true, StudentRegistration::getClassGroupId, classGroupReq.getGroupId());
+        IPage<StudentRegistration> page = page(studentRegistrationPage, studentRegistrationQueryWrapper);
+        Page<StudentRegistrationResp> studentRegistrationRespPage = new Page<>();
+        BeanUtils.copyProperties(page, studentRegistrationRespPage);
+        List<StudentRegistrationResp> list = Lists.newArrayList();
+        page.getRecords().forEach(item -> {
+            QueryWrapper<StudentAttendance> queryWrapper = new QueryWrapper<>();
+            //请假 旷课正常上课次数
+            queryWrapper.lambda().eq(true, StudentAttendance::getUserId, item.getUserId())
+                    .in(true, StudentAttendance::getStatus, StudentAttendanceStatusEnum.TRUANT.getCode(),
+                            StudentAttendanceStatusEnum.LEAVE.getCode());
+            int count = studentAttendanceService.count(queryWrapper);
+            StudentRegistrationResp studentRegistrationResp = new StudentRegistrationResp()
+                    .setStudentName(item.getName()).setStudentAttendance("连续缺到" + count + "次");
+            list.add(studentRegistrationResp);
+        });
+        studentRegistrationRespPage.setRecords(list);
+        return PageResponse.success(studentRegistrationRespPage);
+    }
 }