44323
2023-11-27 aa45df63fa01b2f010560e4157f00bec5150a1fb
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -38,6 +38,7 @@
import net.bytebuddy.asm.Advice;
import org.aspectj.weaver.ast.Var;
import io.swagger.models.auth.In;
import org.checkerframework.checker.units.qual.C;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
@@ -129,14 +130,36 @@
    private ICoursePackageSchedulingService coursePackageSchedulingService;
    @Autowired
    private CoursePackageStudentService coursePackageStudentService;
    @Autowired
    private TOrderService orderService;
    private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
    /**
     * 查询学员入学时间 根据第一次购买课包的时间
     * @return
     */
    @RequestMapping("/base/coursePackagePayment/getTime")
    public String getTime(@RequestBody Integer studentId){
        List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
                .eq("studentId", studentId)
                .orderByDesc("insertTime")
                .last("LIMIT 1"));
        if (list.size()>0){
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            Date insertTime = list.get(0).getInsertTime();
            String format1 = format.format(list.get(0).getInsertTime());
            return format1;
        }
        return "";
    }
    /**
     * 添加购课记录-后台
     * @return
     */
    @RequestMapping("/base/coursePackagePayment/add")
    public Object addCoursePackagePayment(@RequestBody TCoursePackagePayment packagePayment){
        packagePayment.setInsertTime(new Date());
        packagePayment.setInsertTime(new Date());
        Integer studentId = packagePayment.getStudentId();
@@ -254,6 +277,7 @@
        coursePackageStudent.setAppUserId(packagePayment.getAppUserId());
        packagePaymentService.save(packagePayment);
        coursePackageStudent.setCoursePackagePaymentId(packagePayment.getId());
        return coursePackageStudentService.save(coursePackageStudent);
    }
    /**
@@ -438,9 +462,17 @@
                .eq("appUserId",student.getAppUserId())
                .eq("studentId",stuId).eq("payStatus",2));
        Date date = new Date();
        if (byUserId.size() > 0 ){
            for (TCoursePackagePayment tCoursePackagePayment : byUserId) {
                TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId());
                if (tCoursePackagePayment.getUseTime()!=null) {
                    if (tCoursePackagePayment.getUseTime().after(date)) {
                        date = tCoursePackagePayment.getUseTime();
                    }
                }
                if (tCoursePackage.getType()==3){
                    continue;
                }
@@ -457,6 +489,7 @@
                }else {
                    resp.setIsAble(1);
                }
                if (tCoursePackagePayment.getUseTime()!=null){
//                String afterDayDate = DateUtil.getAfterDayDate2(tCoursePackage.getInsertTime(),tCoursePackage.getValidDays() + "");
//                resp.setPeriodOfValidity(afterDayDate);
@@ -472,6 +505,16 @@
                resps.add(resp);
            }
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String str = sdf.format(date);
        for (StuCourseResp resp : resps) {
            resp.setPeriodOfValidity(str);
        }
        return resps;
    }
@@ -1054,9 +1097,13 @@
    @ApiOperation(value = "已报名课程详情", tags = {"APP-开始上课"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
            @ApiImplicitParam(value = "经度", name = "lon", dataType = "string", required = false),
            @ApiImplicitParam(value = "纬度", name = "lat", dataType = "string", required = false),
            @ApiImplicitParam(name = "coursePayId" ,value = "课包记录id",dataType = "long"),
            @ApiImplicitParam(name = "orderId" ,value = "订单id",dataType = "int")
    })
    public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId){
    public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId, String lon, String lat,Integer orderId){
        try {
            Integer appUserId = tokenUtil.getUserIdFormRedis();
            if(null == appUserId){
@@ -1064,7 +1111,9 @@
            }
            return ResultUtil.success(packagePaymentService.queryRegisteredCourseDetails(coursePayId,appUserId));
        }catch (Exception e){
            return ResultUtil.runErr();
            e.printStackTrace();
            throw new RuntimeException(e.getMessage());
//            return ResultUtil.runErr();
        }
    }
@@ -1396,6 +1445,7 @@
            for (CancelledClasses cancelledClasses : voucher) {
                TCoursePackagePayment coursePackagePayment = packagePaymentService.getById(cancelledClasses.getCoursePackagePaymentId());
                coursePackagePayment.setLaveClassHours(coursePackagePayment.getLaveClassHours() + cancelledClasses.getCancelledClassesNumber());
                coursePackagePayment.setAppUserId(null);
                packagePaymentService.updateById(coursePackagePayment);
                cancelledClassesService.removeById(cancelledClasses.getId());
@@ -2088,10 +2138,15 @@
    HashMap<String, Object> weeksOfCourseDetailsList(@RequestBody CourseDetailReq courseDetailReq){
        HashMap<String, Object> map = new HashMap<>();
        ArrayList<DetailsListVo> objects = new ArrayList<>();
        try {
//        try {
            String time = courseDetailReq.getTime();
            Date parse = new SimpleDateFormat("yyyy-MM-dd").parse(time);
            int i = cn.hutool.core.date.DateUtil.dayOfWeek(parse)-1;
        Date parse = null;
        try {
            parse = new SimpleDateFormat("yyyy-MM-dd").parse(time);
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
        int i = cn.hutool.core.date.DateUtil.dayOfWeek(parse)-1;
            String week = week(i);
            Store store = sreClient.queryStoreById(courseDetailReq.getStoreId());
            String lat = store.getLat();
@@ -2183,7 +2238,7 @@
                    List<CoursePackageStudent> list5 = cspsService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", courseDetailReq.getStuId()).eq("coursePackageId",tCoursePackage.getId()));
                    if(list5.size()>0){
                    if(list5.size()>0&&list4.size()>0){
                        Integer signInOrNot = list4.get(0).getSignInOrNot();
                        detailsListVo.setType(1);
@@ -2238,10 +2293,10 @@
            map.put("data",objects);
            return map;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return map;
//        } catch (ParseException e) {
//            e.printStackTrace();
//        }
//        return map;
    }
    private String week(int i){
@@ -2290,7 +2345,7 @@
        for (TCoursePackagePayment tCoursePackagePayment : list1) {
            for (TCoursePackage tCoursePackage : list2) {
                if(tCoursePackagePayment.getCoursePackageId().equals(tCoursePackage.getId())){
                    tCoursePackagePayment.setType(tCoursePackage.getType());
                    tCoursePackagePayment.setType(tCoursePackage.getCoursePackageTypeId());
                }
            }
        }
@@ -2326,6 +2381,7 @@
        List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.listOne(userPt);
        int sum = tCoursePackagePayments.stream().mapToInt(TCoursePackagePayment::getTotalClassHours).sum();
        int sum1 = tCoursePackagePayments.stream().mapToInt(TCoursePackagePayment::getLaveClassHours).sum();
        // 查询介绍有礼课时数量
        map.put("allCourse",sum-sum1);
        //所有课包