liujie
2023-07-25 738f93e8f8226518e5b0e202b1f7afd19c01656e
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -32,7 +32,6 @@
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.model.vo.classDetails.WeekedCourse;
import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo;
import com.dsh.account.model.vo.userBenefitDetail.*;
import com.dsh.account.service.TAppUserService;
@@ -41,7 +40,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
@@ -129,7 +127,7 @@
    private SiteClient stClient;
    @Override
    public ClassInfoVo queryUserOfStus(Integer id,String latitude,String longitude) {
    public ClassInfoVo queryUserOfStus(Integer id) {
        TAppUser tAppUser = this.baseMapper.selectById(id);
        ClassInfoVo classInfoVo = new ClassInfoVo();
        if (ToolUtil.isNotEmpty(tAppUser)){
@@ -148,34 +146,22 @@
                classInfoVo.setHeight(tStudent.getHeight());
                classInfoVo.setWeight(tStudent.getWeight());
                classInfoVo.setBmi(tStudent.getBmi());
                classInfoVo.setBodyStatus(BMIBodyUtil.getBodyStatus(tStudent.getBmi()));
                List<RegisteredCourse> courseList = new ArrayList<>();
//                总学时数
                int total = 0;
//                已扣数
                int deduct = 0;
//                剩余数
                int remain = 0;
                List<StuCourseResp> stuCoursePayment = paymentClient.getStuCoursePayment();
                List<StuCourseResp> stuCoursePayment = paymentClient.getStuCoursePayment(tStudent.getId());
                if (stuCoursePayment.size() > 0){
                    for (StuCourseResp tCoursePackagePayment : stuCoursePayment) {
                        RegisteredCourse course = new RegisteredCourse();
                        course.setCourseId(tCoursePackagePayment.getCourseId());
                        course.setCourseName(tCoursePackagePayment.getCourseName());
                        total = total + (ToolUtil.isEmpty(tCoursePackagePayment.getTotalCourseNums()) ? 0 : tCoursePackagePayment.getTotalCourseNums());
                        deduct = deduct + (ToolUtil.isEmpty(tCoursePackagePayment.getDeductionNums()) ? 0 : tCoursePackagePayment.getDeductionNums());
                        remain = remain + (ToolUtil.isEmpty(tCoursePackagePayment.getResidueNums())? 0 : tCoursePackagePayment.getResidueNums());
                        course.setTotalNums(ToolUtil.isEmpty(tCoursePackagePayment.getTotalCourseNums()) ? 0 : tCoursePackagePayment.getTotalCourseNums());
                        course.setDeductedNums(ToolUtil.isEmpty(tCoursePackagePayment.getDeductionNums()) ? 0 : tCoursePackagePayment.getDeductionNums());
                        course.setRemainingNums(ToolUtil.isEmpty(tCoursePackagePayment.getResidueNums())? 0 : tCoursePackagePayment.getResidueNums());
                        courseList.add(course);
                    }
                }
                classInfoVo.setCourseList(courseList);
                classInfoVo.setTotalNums(total);
                classInfoVo.setDeductedNums(deduct);
                classInfoVo.setRemainingNums(remain);
                List<CourseOfStoreVo> storeOfCourses = paymentClient.getStoreOfCourses();
                classInfoVo.setWeekCourseList(dealDatas(storeOfCourses,longitude,latitude));
                List<ExerciseVideo> videos = new ArrayList<>();
@@ -198,36 +184,31 @@
     * @param latitude
     * @return
     */
    public List<WeekedCourse> dealDatas(List<CourseOfStoreVo> storeOfCourses,String longitude ,@RequestBody String latitude){
        List<WeekedCourse> weekedCourses = new ArrayList<>();
        for (int i = 1; i < 8; i++) {
            WeekedCourse weekedCourse = new WeekedCourse();
            List<CourseVenue> courseVenues = new ArrayList<>();
            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())) + "");
    public List<CourseVenue> dealDatas(List<CourseOfStoreVo> storeOfCourses, String longitude , String latitude){
        List<CourseVenue> courseVenues = new ArrayList<>();
        Map<Integer, List<CourseOfStoreVo>> map = storeOfCourses.stream().collect(Collectors.groupingBy(CourseOfStoreVo::getStoreId));
        for (Map.Entry<Integer, List<CourseOfStoreVo>> integerListEntry : map.entrySet()) {
            Integer storeId = integerListEntry.getKey();
            List<CourseOfStoreVo> value = integerListEntry.getValue();
            CourseVenue courseVenue = new CourseVenue();
            courseVenue.setStoreId(storeId);
            courseVenue.setAreaName(value.get(0).getCourseName());
            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);
            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("¥" + courseOfStoreVo.getCoursePrice() + "/会员扣2学时");
                courses.add(couList);
            }
            weekedCourse.setDetails(courseVenues);
            weekedCourses.add(weekedCourse);
            courseVenue.setCourses(courses);
            courseVenues.add(courseVenue);
        }
        return weekedCourses;
        return courseVenues;
    }
@@ -636,11 +617,11 @@
        if (rechargeConfig.size() > 0 ){
            for (Map<String, Object> stringObjectMap : rechargeConfig) {
                RechargeCentVo vo = new RechargeCentVo();
                vo.setAmount("¥ "+stringObjectMap.get("money"));
                vo.setAmount(""+stringObjectMap.get("money"));
                if (tAppUser.getIsVip() == 1){
                    vo.setWpGold(stringObjectMap.get("MemberCoins")+"币");
                    vo.setWpGold(stringObjectMap.get("MemberCoins")+"");
                }else {
                    vo.setWpGold(stringObjectMap.get("usersCoins")+"币");
                    vo.setWpGold(stringObjectMap.get("usersCoins")+"");
                }
                centVos.add(vo);
            }
@@ -1150,4 +1131,19 @@
    }
    @Override
    public List<CourseVenue> queryWeekOfCourseDetails(Integer appUserId ,Integer stuId, String time,String longitude,String latitude) {
        List<CourseVenue> courseVenues = new ArrayList<>();
        WeeksOfCourseRest weeksOfCourseRest = new WeeksOfCourseRest();
        weeksOfCourseRest.setTime(time);
        weeksOfCourseRest.setStuId(stuId);
        weeksOfCourseRest.setAppUserId(appUserId);
        List<CourseOfStoreVo> storeOfCourses = paymentClient.getStoreOfCourses(weeksOfCourseRest);
        if (storeOfCourses.size() > 0 ){
            courseVenues = dealDatas(storeOfCourses,longitude,latitude);
        }
        return courseVenues;
    }
}