nickchange
2023-11-27 f68d6ca1925118bc06107f9f9979aefa3ed5195e
11.27.4
9个文件已修改
172 ■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java 88 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
@@ -143,9 +143,12 @@
            if (null == appUserId) {
                return ResultUtil.tokenErr();
            }
            TAppGift one = appGiftService.getOne(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, appUserId));
            return ResultUtil.success(one == null ? 0 : one.getNum());
            Integer num = 0;
            List<TAppGift> list = appGiftService.list(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, appUserId));
            for (TAppGift tAppGift : list) {
                num += tAppGift.getNum();
            }
            return ResultUtil.success(num);
        } catch (Exception e) {
            e.printStackTrace();
            return ResultUtil.runErr();
cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
@@ -485,13 +485,9 @@
            @ApiImplicitParam(value = "记录id", name = "detailsId", required = true, dataType = "string"),
    })
    public ResultUtil<PointDetailsVo> redemptionDetails(Long detailsId) {
//        try {
        PointDetailsVo pointDetailsVo = uicService.queryRedemptionDetails(detailsId);
        pointDetailsVo.getPics().remove(0);
        return ResultUtil.success(pointDetailsVo);
//        }catch (Exception e){
//            return ResultUtil.runErr();
//        }
    }
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -1162,8 +1162,11 @@
                    ArrayList<String> list1 = new ArrayList<>(list11);
                    list1.add(coursePackage.getCoverDrawing());
                    detailsVo.setPics(list1);
                    CoursePackagePaymentConfig coursePackagePaymentConfig = cpClient.queryConfigCoursePackData(pmdsServiceById.getCoursePackageConfigId());
                    detailsVo.setClassHours(coursePackagePaymentConfig.getClassHours());
                    detailsVo.setClassHours(0);
                    if(coursePackage.getType() != 3){
                        CoursePackagePaymentConfig coursePackagePaymentConfig = cpClient.queryConfigCoursePackData(pmdsServiceById.getCoursePackageConfigId());
                        detailsVo.setClassHours(coursePackagePaymentConfig.getClassHours());
                    }
                    Collections.sort(detailsVo.getPics(), (s1, s2) -> {
                        if (s1.equals(coursePackage.getCoverDrawing())) {
                            return -1; // s1排在前面
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java
@@ -1,5 +1,6 @@
package com.dsh.activity.feignclient.course.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
@@ -52,6 +53,8 @@
     * 最多预约人数
     */
    private Integer maxSubscribeNumber;
    private Integer codeTime;
    /**
     * 上课开始时间
     */
@@ -81,25 +84,13 @@
     */
    private Integer sort;
    /**
     * 支付方式(1=微信,2=支付宝,3=玩湃币,4=积分,5=积分+微信,6=积分+支付宝)
     * 支付方式(1=现金,2=玩湃币)
     */
    private Integer payType;
    /**
     * 有效天数
     */
    private Integer validDays;
    /**
     * 课后练习课程id
     */
    private Integer courseId;
    /**
     * 课后练习视频介绍
     */
    private String introduce;
    /**
     * 完成课后练习获取积分
     */
    private Integer integral;
    /**
     * 课程状态(1=未开始,2=进行中,3=已结束,4=已取消)
     */
@@ -125,4 +116,12 @@
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date insertTime;
    private Integer type;
    private Integer needNum;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;
}
cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml
@@ -13,7 +13,7 @@
        DATE_FORMAT(b.endTime, '%Y-%m-%d') as endTime
        from t_user_coupon a
        left join t_coupon b on (a.couponId = b.id)
        where a.`status` = 1 and b.type != 3 and a.userId = #{uid} and
        where a.`status` = 1 and b.type != 3 and (now() between b.startTime and b.endTime) and a.userId = #{uid} and
              (
            b.useScope = 1 or (b.useScope = 2 and b.id IN (SELECT couponId FROM t_coupon_city  where provinceCode = #{provinceCode} and cityCode = #{cityCode}) )
                           or (b.useScope = 3 and b.id in (select couponId from t_coupon_store where storeId = #{storeId})))
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -2354,6 +2354,7 @@
                List<CoursePackageStudent> list4 = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>()
                        .eq(CoursePackageStudent::getAppUserId, courseDetailReq.getAppUserId())
                        .eq(CoursePackageStudent::getStudentId, courseDetailReq.getStuId())
                        .eq(CoursePackageStudent::getCoursePackageId, tCoursePackage.getId())
                        .in(CoursePackageStudent::getCoursePackageSchedulingId, collect2)
                );
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java
@@ -25,6 +25,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @author zhibing.pu
@@ -60,21 +61,28 @@
                .eq("status", 1)
                .orderByDesc("insertTime"));
        List<Integer> ids = new ArrayList<>();
        for (CoursePackageOrderStudent tCoursePackagePayment : tCoursePackagePayments) {
            ids.add(tCoursePackagePayment.getCoursePackageId());
        }
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 23, 59, 59);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        List<CoursePackageScheduling> list = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>()
                        .eq("appUserId", appUserId)
                        .eq("studentId", stuId)
                        .lt("classDate", sdf.format(calendar.getTime()))
                        .orderByAsc("classDate")
        );
        List<Long> ids = list.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList());
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd");
        SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
        if (tCoursePackagePayments.size() > 0) {
        if (list.size() > 0) {
//            int pageNum = 1; // 页码
            int pageSize = 10; // 每页记录数
            Page<CoursePackageStudent> page = new Page<>(pageNum, pageSize);
            IPage<CoursePackageStudent> coursePackageStudentPage = cpsMapper.selectPage(page, new QueryWrapper<CoursePackageStudent>()
                    .in("coursePackageId", ids)
                    .eq("studentId", stuId)
                    .eq("appUserId", appUserId)
                    .in("coursePackageSchedulingId", ids)
                    .eq("reservationStatus", 1));
            List<CoursePackageStudent> coursePackageStudent1 = coursePackageStudentPage.getRecords();
@@ -111,7 +119,6 @@
                    if (byId == null) {
                        continue;
                    }
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    String dateString1 = sdf.format(byId.getClassDate());
                    String dateString2 = sdf.format(byId.getEndDate());
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -515,16 +515,7 @@
    public CourseDetailsResponse queryRegisteredCourseDetails(Long coursePayId, Integer appUserId, String lon, String lat) {
        AppUser appUser = appuClient.queryAppUser(appUserId);
        CourseDetailsResponse response = new CourseDetailsResponse();
        CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(coursePayId);
        CoursePackageOrder coursePackageOrder = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>()
                .eq("appUserId", coursePackageOrderStudent.getAppUserId())
                .eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId())
                .eq("payStatus", 2)
                .eq("state", 1)
                .like("studentIds", coursePackageOrderStudent.getStudentId())
                .orderByDesc("insertTime")
                .last(" limit 0, 1")
        );
        CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(coursePayId);
        response.setChooseHours(coursePackageOrder.getClassHours());
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -1192,53 +1192,57 @@
        TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrder.getCoursePackageId());
        String[] split = coursePackageOrder.getStudentIds().split(";");
        for (String id : split) {
            CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", id)
                    .eq("coursePackageId", coursePackageOrder.getCoursePackageId()).eq("status", 1).eq("state", 1));
            if (null == coursePackageOrderStudent) {
                coursePackageOrderStudent = new CoursePackageOrderStudent();
                coursePackageOrderStudent.setAppUserId(coursePackageOrder.getAppUserId());
                coursePackageOrderStudent.setStudentId(Integer.valueOf(id));
                coursePackageOrderStudent.setCoursePackageId(coursePackageOrder.getCoursePackageId());
                coursePackageOrderStudent.setTotalClassHours(coursePackagePaymentConfig.getClassHours());
                coursePackageOrderStudent.setLaveClassHours(coursePackagePaymentConfig.getClassHours());
                coursePackageOrderStudent.setAbsencesNumber(0);
                coursePackageOrderStudent.setStatus(1);
                coursePackageOrderStudent.setState(1);
                coursePackageOrderStudent.setInsertTime(new Date());
                coursePackageOrderStudent.setGiftClassHours(0);
            if(coursePackage.getType() == 1){
                CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", id)
                        .eq("coursePackageId", coursePackageOrder.getCoursePackageId()).eq("status", 1).eq("state", 1));
                if (null == coursePackageOrderStudent) {
                    coursePackageOrderStudent = new CoursePackageOrderStudent();
                    coursePackageOrderStudent.setAppUserId(coursePackageOrder.getAppUserId());
                    coursePackageOrderStudent.setStudentId(Integer.valueOf(id));
                    coursePackageOrderStudent.setCoursePackageId(coursePackageOrder.getCoursePackageId());
                    coursePackageOrderStudent.setTotalClassHours(coursePackagePaymentConfig.getClassHours());
                    coursePackageOrderStudent.setLaveClassHours(coursePackagePaymentConfig.getClassHours());
                    coursePackageOrderStudent.setAbsencesNumber(0);
                    coursePackageOrderStudent.setStatus(1);
                    coursePackageOrderStudent.setState(1);
                    coursePackageOrderStudent.setInsertTime(new Date());
                    coursePackageOrderStudent.setGiftClassHours(0);
                Integer validDays = coursePackage.getValidDays();
                Calendar calendar = Calendar.getInstance();
                calendar.setTime(new Date());
                calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
                coursePackageOrderStudent.setUseTime(calendar.getTime());
                coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
                    Integer validDays = coursePackage.getValidDays();
                    Calendar calendar = Calendar.getInstance();
                    calendar.setTime(new Date());
                    calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
                    coursePackageOrderStudent.setUseTime(calendar.getTime());
                    coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
                //开始排课
                addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent);
            } else {
                Date useTime = coursePackageOrderStudent.getUseTime();
                coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + coursePackagePaymentConfig.getClassHours());
                coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() + coursePackagePaymentConfig.getClassHours());
                Integer validDays = coursePackage.getValidDays();
                Calendar calendar = Calendar.getInstance();
                calendar.setTime(useTime.compareTo(new Date()) < 0 ? new Date() : useTime);
                calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
                coursePackageOrderStudent.setUseTime(calendar.getTime());
                coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
                //中间断课,没有连续续费的情况需要重新排课
                if (useTime.compareTo(new Date()) < 0) {
                    //开始排课
                    addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent);
                } else {
                    Date useTime = coursePackageOrderStudent.getUseTime();
                    coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + coursePackagePaymentConfig.getClassHours());
                    coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() + coursePackagePaymentConfig.getClassHours());
                    Integer validDays = coursePackage.getValidDays();
                    Calendar calendar = Calendar.getInstance();
                    calendar.setTime(useTime.compareTo(new Date()) < 0 ? new Date() : useTime);
                    calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
                    coursePackageOrderStudent.setUseTime(calendar.getTime());
                    coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
                    //中间断课,没有连续续费的情况需要重新排课
                    if (useTime.compareTo(new Date()) < 0) {
                        addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent);
                    }
                }
                CourseCounsum courseCounsum = new CourseCounsum();
                courseCounsum.setPaymentId(coursePackageOrderStudent.getId());
                courseCounsum.setChangeType(1);
                courseCounsum.setNum(coursePackagePaymentConfig.getClassHours());
                courseCounsum.setInsertTime(new Date());
                courseCounsum.setReason("购买课包");
                courseCounsumService.save(courseCounsum);
            }
            CourseCounsum courseCounsum = new CourseCounsum();
            courseCounsum.setPaymentId(coursePackageOrderStudent.getId());
            courseCounsum.setChangeType(1);
            courseCounsum.setNum(coursePackagePaymentConfig.getClassHours());
            courseCounsum.setInsertTime(new Date());
            courseCounsum.setReason("购买课包");
            courseCounsumService.save(courseCounsum);
            if(coursePackage.getType() == 2){
                addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), null);
            }
        }
    }