From 640ff18d2d7f4be02ddb7f8f75e899f05545eb98 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 05 二月 2024 11:56:52 +0800
Subject: [PATCH] 更新bug修改

---
 cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 109 insertions(+), 4 deletions(-)

diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java
index db6ace9..11b940e 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java
@@ -1,12 +1,33 @@
 package com.dsh.course.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.course.entity.CoursePackageScheduling;
 import com.dsh.course.entity.CoursePackageStudent;
+import com.dsh.course.entity.StudentClassInfo;
+import com.dsh.course.entity.TAppUser;
+import com.dsh.course.entity.dto.ClassListDto;
+import com.dsh.course.feignclient.account.AppUserClient;
+import com.dsh.course.feignclient.account.StudentClient;
+import com.dsh.course.feignclient.account.model.AppUser;
+import com.dsh.course.feignclient.account.model.Student;
+import com.dsh.course.mapper.CoursePackageSchedulingMapper;
 import com.dsh.course.mapper.CoursePackageStudentMapper;
+import com.dsh.course.model.QueryCoursePackageStudentList;
+import com.dsh.course.service.CoursePackageSchedulingService;
 import com.dsh.course.service.CoursePackageStudentService;
+import com.dsh.course.util.ToolUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -19,13 +40,97 @@
 @Service
 public class CoursePackageStudentServiceImpl extends ServiceImpl<CoursePackageStudentMapper, CoursePackageStudent> implements CoursePackageStudentService {
 
+    @Resource
+    private AppUserClient appUserClient;
+
+    @Resource
+    private StudentClient studentClient;
+
+
+    @Autowired
+    private CoursePackageSchedulingMapper coursePackageSchedulingService;
+
+    /**
+     * 获取排课预约数据
+     *
+     * @param queryCoursePackageStudentList
+     * @return
+     */
     @Override
-    public List<CoursePackageStudent> queryStuDeduClassHourNums(Integer courseId, Integer stuId, Integer appUserId) {
-        return this.baseMapper.queryStuDeduClassHourNums(courseId,stuId,appUserId);
+    public List<Map<String, Object>> queryCoursePackageStudentList(Page<Map<String, Object>> page, QueryCoursePackageStudentList queryCoursePackageStudentList) {
+        List<Integer> userId = null;
+        List<Integer> studentId = null;
+        if (ToolUtil.isNotEmpty(queryCoursePackageStudentList.getUserName())) {
+            List<AppUser> appUsers = appUserClient.queryAppUserListByName(queryCoursePackageStudentList.getUserName());
+            if (appUsers.size() > 0) {
+                userId = appUsers.stream().map(AppUser::getId).collect(Collectors.toList());
+            }
+        }
+        if (ToolUtil.isNotEmpty(queryCoursePackageStudentList.getStudentName())) {
+            List<Student> students = studentClient.queryStudentListByName(queryCoursePackageStudentList.getStudentName());
+            if (students.size() > 0) {
+                studentId = students.stream().map(Student::getId).collect(Collectors.toList());
+            }
+        }
+
+
+        CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingService.selectById(queryCoursePackageStudentList.getCoursePackageSchedulingId());
+        List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingService.selectList(new QueryWrapper<CoursePackageScheduling>()
+                .eq("coursePackageId", coursePackageScheduling.getCoursePackageId()).eq("classDate", coursePackageScheduling.getClassDate()));
+
+
+        List<Long> ids = new ArrayList<>();
+        for (CoursePackageScheduling packageScheduling : coursePackageSchedulings) {
+            ids.add(packageScheduling.getId());
+        }
+
+        List<Map<String, Object>> list = this.baseMapper.queryCoursePackageStudentList(page, ids, userId, studentId);
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
+        Integer now = Integer.valueOf(sdf.format(new Date()));
+        for (Map<String, Object> map : list) {
+            Integer appUserId = Integer.valueOf(map.get("appUserId").toString());
+            Integer student_Id = Integer.valueOf(map.get("studentId").toString());
+            TAppUser appUser = appUserClient.queryAppUser1(appUserId);
+            if(null != appUser){
+                map.put("userName", appUser.getName());
+                map.put("phone", appUser.getPhone());
+            }
+            Student student = studentClient.queryStudentById(student_Id);
+            if(null != student){
+                map.put("studentName", student.getName());
+                map.put("age", null != student.getBirthday() ? now - Integer.valueOf(sdf.format(student.getBirthday())) : "-");
+                map.put("sex", student.getSex());
+            }
+        }
+        return list;
     }
 
     @Override
-    public List<CoursePackageStudent> queryAppUserOfStuAttendClass(Integer appUserId, List<Integer> coursePackageIds) {
-        return this.baseMapper.queryAppUserOfStuAttendClass(appUserId,coursePackageIds);
+    public StudentClassInfo listAll(Integer tStudentId) {
+        return this.baseMapper.listAll(tStudentId);
+    }
+
+    @Override
+    public List<ClassListDto> getClassList(Integer tStudentId) {
+        List<ClassListDto> classList = this.baseMapper.getClassList(tStudentId);
+        List<ClassListDto> holiList = this.baseMapper.getHoliList(tStudentId);
+        classList.addAll(holiList);
+
+        return classList;
+    }
+
+    @Override
+    public Date getMaxDate(Integer tStudentId) {
+        return this.baseMapper.getMaxDate(tStudentId);
+    }
+
+    @Override
+    public Date getMinDate(Integer tStudentId) {
+        return null;
+    }
+
+    @Override
+    public void updateSignInOrNotById(Long id) {
+        this.baseMapper.updateSignInOrNotById(id);
     }
 }

--
Gitblit v1.7.1