From 440af299beb5088bbf87a4bab925cc5b530a7c8e Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 24 六月 2023 09:44:10 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java |   90 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 74 insertions(+), 16 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
index 4b65fc8..0a3793d 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -3,21 +3,25 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.account.entity.TAppUser;
+import com.dsh.account.entity.TStudent;
+import com.dsh.account.enums.WeeksEnum;
 import com.dsh.account.feignclient.course.CoursePaymentClient;
+import com.dsh.account.feignclient.course.model.CourseOfStoreVo;
 import com.dsh.account.feignclient.course.model.StuCourseResp;
-import com.dsh.account.mapper.TStudentMapper;
 import com.dsh.account.feignclient.other.ImgConfigClient;
 import com.dsh.account.feignclient.other.model.TImgConfig;
+import com.dsh.account.mapper.TAppUserMapper;
+import com.dsh.account.mapper.TStudentMapper;
 import com.dsh.account.model.AddAppUserVo;
 import com.dsh.account.model.LoginSMSCodeVo;
 import com.dsh.account.model.LoginWeChatVo;
+import com.dsh.account.model.vo.classDetails.CourseVenue;
+import com.dsh.account.model.vo.classDetails.ExerciseVideo;
 import com.dsh.account.model.vo.classDetails.RegisteredCourse;
-import com.dsh.account.service.TAppUserService;
-import com.dsh.account.entity.TAppUser;
-import com.dsh.account.entity.TStudent;
-import com.dsh.account.mapper.TAppUserMapper;
+import com.dsh.account.model.vo.classDetails.WeekedCourse;
 import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo;
-
+import com.dsh.account.service.TAppUserService;
 import com.dsh.account.util.*;
 import com.dsh.account.util.akeylogin.Md5Util;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -27,6 +31,7 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -40,7 +45,7 @@
 public class TAppUserServiceImpl extends ServiceImpl<TAppUserMapper, TAppUser> implements TAppUserService {
 
 
-    @Resource
+    @Autowired
     private TStudentMapper tsmapper;
 
     @Resource
@@ -58,21 +63,21 @@
     @Autowired
     private JwtTokenUtil jwtTokenUtil;
 
-
-
-
-
-    @Resource
+    @Autowired
     private CoursePaymentClient paymentClient;
+
+
+
+
     @Override
-    public ClassInfoVo queryUserOfStus(Integer id,String longitude,String latitude) {
+    public ClassInfoVo queryUserOfStus(Integer id,String latitude,String longitude) {
         TAppUser tAppUser = this.baseMapper.selectById(id);
+        ClassInfoVo classInfoVo = new ClassInfoVo();
         if (ToolUtil.isNotEmpty(tAppUser)){
             List<TStudent> tStudents = tsmapper.selectList(new QueryWrapper<TStudent>()
                     .eq("appUserId",tAppUser.getId())
                     .eq("state",1)
                     .eq("isDefault",1));
-            ClassInfoVo classInfoVo = new ClassInfoVo();
             if (tStudents.size() > 0 ){
                 TStudent tStudent = tStudents.get(0);
                 classInfoVo.setIsThere(1);
@@ -109,8 +114,13 @@
                 classInfoVo.setDeductedNums(deduct);
                 classInfoVo.setRemainingNums(remain);
 
+                List<CourseOfStoreVo> storeOfCourses = paymentClient.getStoreOfCourses();
+                classInfoVo.setWeekCourseList(dealDatas(storeOfCourses,longitude,latitude));
 
-//                classInfoVo.setWeekCourseList();
+                List<ExerciseVideo> videos = new ArrayList<>();
+
+
+                classInfoVo.setExerciseVideoList(videos);
             }else {
                 classInfoVo.setIsThere(2);
                 List<TImgConfig> tImgConfigs = configClient.getNoneStuImgs();
@@ -119,9 +129,57 @@
                 }
             }
         }
-        return null;
+        return classInfoVo;
     }
 
+    /**
+     * 处理数据
+     * @param storeOfCourses
+     * @param longitude
+     * @param latitude
+     * @return
+     */
+    public List<WeekedCourse> dealDatas(List<CourseOfStoreVo> storeOfCourses,String longitude ,String latitude){
+        List<WeekedCourse> weekedCourses = new ArrayList<>();
+        int weekStr = LocalDateTimeUtils.getWeekStr();
+        for (int i = 1; i < 8; i++) {
+            WeekedCourse weekedCourse = new WeekedCourse();
+            weekedCourse.setWeekNum(i);
+            weekedCourse.setWeekStr(WeeksEnum.getStr(i));
+            String weekOfDays = LocalDateTimeUtils.getWeekOfDays(i);
+            weekedCourse.setDayStr(weekOfDays);
+            List<CourseVenue> courseVenues = new ArrayList<>();
+            if (weekStr == i) {
+                weekedCourse.setIsToday(1);
+            } else {
+                weekedCourse.setIsToday(2);
+            }
+            Map<Integer, List<CourseOfStoreVo>> map = storeOfCourses.stream().collect(Collectors.groupingBy(CourseOfStoreVo::getStoreId));
+            for (Map.Entry<Integer, List<CourseOfStoreVo>> integerListEntry : map.entrySet()) {
+                List<CourseOfStoreVo> value = integerListEntry.getValue();
+                CourseVenue courseVenue = new CourseVenue();
+                courseVenue.setStoreId(value.get(0).getStoreId());
+                courseVenue.setAreaName(value.get(0).getStoreName());
+                courseVenue.setSiteDistance(LonlatUtils.distance(Double.parseDouble(longitude), Double.parseDouble(latitude),
+                        Double.parseDouble(value.get(0).getLon()), Double.parseDouble(value.get(0).getLat())) + "");
+
+                List<CourseVenue.CouList> courses = new ArrayList<>();
+                for (CourseOfStoreVo courseOfStoreVo : value) {
+                    CourseVenue.CouList couList = new CourseVenue.CouList();
+                    couList.setCourseID(courseOfStoreVo.getCourseId());
+                    couList.setCourseName(courseOfStoreVo.getCourseName());
+                    couList.setTimeStr(courseOfStoreVo.getClassStartTime() + "-" + courseOfStoreVo.getClassEndTime());
+                    couList.setDetail("");
+                    courses.add(couList);
+                }
+                courseVenue.setCourses(courses);
+                courseVenues.add(courseVenue);
+            }
+            weekedCourse.setDetails(courseVenues);
+            weekedCourses.add(weekedCourse);
+        }
+        return weekedCourses;
+    }
 
 
     /**

--
Gitblit v1.7.1