lisy
2023-07-20 8b031a2a2965726ab1d3e1e2f448302530e1a531
完成开始上课的todo:查询课包信息
4个文件已修改
122 ■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/CourseOfStoreVo.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/feignclient/model/CourseOfStoreVo.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/CourseOfStoreVo.java
@@ -3,9 +3,6 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class CourseOfStoreVo {
@@ -22,14 +19,11 @@
    @ApiModelProperty(value = "课包结束时间")
    private String classEndTime;
    @ApiModelProperty(value = "课包 周列表 分号隔开1;2;3;4;5")
    private String classWeeks;
    @ApiModelProperty(value = "门店id")
    private Integer storeId;
    @ApiModelProperty(value = "门店名称")
    private String storeName;
    @ApiModelProperty(value = "门店详细地址")
    private String storeAddress;
    @ApiModelProperty(value = "经度")
    private String lat;
@@ -37,23 +31,6 @@
    @ApiModelProperty(value = "纬度")
    private String lon;
    public CourseOfStoreVo(Integer courseId, String courseName, Integer storeId, String storeName,String classWeeks) {
        this.courseId = courseId;
        this.courseName = courseName;
        this.storeId = storeId;
        this.storeName = storeName;
        this.classWeeks = classWeeks;
    }
    @ApiModelProperty(value = "周列表")
    private List<Integer> classWeekList;
    public List<Integer> getClassWeekList() {
        String[] split = this.classWeeks.split(";");
        List<Integer> integers = new ArrayList<>();
        for (String s : split) {
            int num = Integer.parseInt(s);
            integers.add(num);
        }
        return integers;
    }
    @ApiModelProperty(value = "课包课时价格")
    private double coursePrice;
}
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;
@@ -195,36 +194,31 @@
     * @param latitude
     * @return
     */
    public List<WeekedCourse> dealDatas(List<CourseOfStoreVo> storeOfCourses, String longitude , 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;
    }
@@ -1149,13 +1143,16 @@
    @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);
        paymentClient.getStoreOfCourses(weeksOfCourseRest);
// TODO: 2023/7/20 查询课包周课包列表
        return null;
        List<CourseOfStoreVo> storeOfCourses = paymentClient.getStoreOfCourses(weeksOfCourseRest);
        if (storeOfCourses.size() > 0 ){
            courseVenues = dealDatas(storeOfCourses,longitude,latitude);
        }
        return courseVenues;
    }
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -6,6 +6,8 @@
import com.dsh.course.feignclient.account.AppUserClient;
import com.dsh.course.feignclient.account.model.AppUser;
import com.dsh.course.feignclient.model.*;
import com.dsh.course.feignclient.other.StoreClient;
import com.dsh.course.feignclient.other.model.Store;
import com.dsh.course.model.BaseVo;
import com.dsh.course.model.dto.DiscountJsonDto;
import com.dsh.course.model.vo.CourseDetailRequest;
@@ -35,7 +37,10 @@
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Api
@@ -81,6 +86,9 @@
    private PayMoneyUtil payMoneyUtil;
    @Resource
    private AppUserClient auClitn;
    @Resource
    private StoreClient sreClient;
    private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
@@ -131,20 +139,24 @@
            if (list.size() >  0){
                for (TCoursePackagePayment tCoursePackagePayment : list) {
                    TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId());
                    CoursePackagePaymentConfig paymentConfig = icppcService.getOne(new QueryWrapper<CoursePackagePaymentConfig>()
                            .eq("coursePackageId",tCoursePackage.getId() )
                            .eq("classHours",tCoursePackagePayment.getClassHours()));
//                    获取课程有效结束时间,判断 查询的日期parse 是否在有效期范围内
                    Date expirationDate = DateTimeHelper.getExpirationDate(tCoursePackagePayment.getInsertTime(),tCoursePackage.getValidDays());
                    String classWeeks = tCoursePackage.getClassWeeks();
                    if (expirationDate.after(parse) && StrUtils.dealStrToList(classWeeks).contains(DateTimeHelper.getDayOfWeek(parse))){
                        CourseOfStoreVo storeVo = new CourseOfStoreVo();
                        storeVo.setCourseId(tCoursePackage.getId());
                        // TODO: 2023/7/20 查询课包对应门店信息
//                        storeVo.setCourseName();
//                        storeVo.setClassStartTime();
//                        storeVo.setClassEndTime();
//                        storeVo.setStoreId();
//                        storeVo.setStoreName();
//                        storeVo.setLat();
//                        storeVo.setLon();
                        storeVo.setCourseName(tCoursePackage.getName());
                        storeVo.setClassStartTime(tCoursePackage.getClassStartTime());
                        storeVo.setClassEndTime(tCoursePackage.getClassEndTime());
                        storeVo.setStoreId(tCoursePackage.getStoreId());
                        Store store = sreClient.queryStoreById(tCoursePackage.getStoreId());
                        storeVo.setStoreAddress(store.getAddress());
                        storeVo.setLat(store.getLat());
                        storeVo.setLon(store.getLon());
                        storeVo.setCoursePrice(ToolUtil.isEmpty(paymentConfig.getCashPayment()) ? (double) paymentConfig.getPlayPaiCoin():paymentConfig.getCashPayment());
                        course.add(storeVo);
                    }
                }
cloud-server-course/src/main/java/com/dsh/course/feignclient/model/CourseOfStoreVo.java
@@ -31,4 +31,6 @@
    @ApiModelProperty(value = "纬度")
    private String lon;
    @ApiModelProperty(value = "课包课时价格")
    private double coursePrice;
}