puzhibing
2024-02-07 3f50662d2e84ff72b4f3cd48026ac66af4700454
新增加接口
21个文件已修改
6个文件已添加
556 ■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/resources/sharding-jdbc.properties 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/resources/sharding-jdbc.properties 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/resources/sharding-jdbc.properties 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/resources/sharding-jdbc.properties 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-gateway/pom.xml 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/HomeModuleController.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/entity/HomeModule.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/entity/Site.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/mapper/HomeModuleMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/model/StoreConfigVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/service/IHomeModuleService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/service/impl/HomeModuleServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/resources/mapper/HomeModuleMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/resources/mapper/SiteMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
@@ -109,7 +109,7 @@
    @ResponseBody
    @PostMapping("/api/startCource/weeksOfCourseDetailsList")
    @ApiOperation(value = "上课首页-课程列表2.0", tags = {"APP-开始上课"})
    @ApiOperation(value = "上课首页-课程列表", tags = {"APP-开始上课"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
            @ApiImplicitParam(value = "查询时间yyyy-MM-dd", name = "time", required = true, dataType = "string"),
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
@@ -124,11 +124,12 @@
    @Override
    public ResultUtil addStuOfAppUser(StuDetailsReq stu, Integer appUserId) throws Exception {
        TStudent student = new TStudent();
        if (ToolUtil.isNotEmpty(stu.getName()) && ToolUtil.isNotEmpty(stu.getIdCard())) {
            Boolean aBoolean = JuHeUtil.idcardAuthentication(stu.getIdCard(), stu.getName());
            if (!aBoolean) {
                return ResultUtil.error("身份证和姓名不匹配");
            }
        if(ToolUtil.isEmpty(stu.getIdCard())){
            return ResultUtil.error("请填写身份证号");
        }
        Boolean aBoolean = JuHeUtil.idcardAuthentication(stu.getIdCard(), stu.getName());
        if (!aBoolean) {
            return ResultUtil.error("身份证和姓名不匹配");
        }
        student.setAppUserId(appUserId);
        student.setName(stu.getName());
cloud-server-account/src/main/resources/sharding-jdbc.properties
@@ -1,20 +1,7 @@
#datasource.names=master0
#datasource.master0.type=com.alibaba.druid.pool.DruidDataSource
#datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver
#datasource.master0.url=jdbc:mysql://192.168.110.80:3306/playpai_account?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
#datasource.master0.username=root
#datasource.master0.password=123456
#datasource.master0.maxActive=20
#datasource.master0.maxWait=60000
#datasource.master0.minIdle=5
#datasource.master0.initialSize=2
datasource.names=master0
datasource.master0.type=com.alibaba.druid.pool.DruidDataSource
datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver
datasource.master0.url=jdbc:mysql://192.168.110.80/playpai_account?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
datasource.master0.url=jdbc:mysql://192.168.110.80:3306/playpai_account?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
datasource.master0.username=root
datasource.master0.password=123456
datasource.master0.maxActive=20
@@ -24,3 +11,16 @@
#datasource.names=master0
#datasource.master0.type=com.alibaba.druid.pool.DruidDataSource
#datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver
#datasource.master0.url=jdbc:mysql://192.168.110.80/playpai_account?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
#datasource.master0.username=root
#datasource.master0.password=123456
#datasource.master0.maxActive=20
#datasource.master0.maxWait=60000
#datasource.master0.minIdle=5
#datasource.master0.initialSize=2
cloud-server-activity/src/main/resources/sharding-jdbc.properties
@@ -1,22 +1,9 @@
#datasource.names=master0
#datasource.master0.type=com.alibaba.druid.pool.DruidDataSource
#datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver
#datasource.master0.url=jdbc:mysql://192.168.110.80:3306/playpai_activity?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
#datasource.master0.username=root
#datasource.master0.password=123456
#datasource.master0.maxActive=20
#datasource.master0.maxWait=60000
#datasource.master0.minIdle=5
#datasource.master0.initialSize=2
datasource.names=master0
datasource.master0.type=com.alibaba.druid.pool.DruidDataSource
datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver
datasource.master0.url=jdbc:mysql://127.0.0.1:3306/playpai_activity?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
datasource.master0.url=jdbc:mysql://192.168.110.80:3306/playpai_activity?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
datasource.master0.username=root
datasource.master0.password=playpai2023!
datasource.master0.password=123456
datasource.master0.maxActive=20
datasource.master0.maxWait=60000
datasource.master0.minIdle=5
@@ -24,4 +11,17 @@
#datasource.names=master0
#datasource.master0.type=com.alibaba.druid.pool.DruidDataSource
#datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver
#datasource.master0.url=jdbc:mysql://127.0.0.1:3306/playpai_activity?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
#datasource.master0.username=root
#datasource.master0.password=playpai2023!
#datasource.master0.maxActive=20
#datasource.master0.maxWait=60000
#datasource.master0.minIdle=5
#datasource.master0.initialSize=2
cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
@@ -352,7 +352,6 @@
            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public synchronized ResultUtil paymentCompetition(PaymentCompetitionVo paymentCompetitionVo) {
        try {
            Competition byId = competitionService.getById(paymentCompetitionVo.getId());
cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java
@@ -66,7 +66,7 @@
    @ResponseBody
    @PostMapping("/api/participant/queryParticipantList")
    @ApiOperation(value = "获取参赛人员列表", tags = {"APP-赛事活动列表", ""})
    @ApiOperation(value = "获取参赛人员列表", tags = {"APP-赛事活动列表", "我的二维码", "人员管理"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
            @ApiImplicitParam(value = "isPre(1过滤)", name = "是否过滤未实名", required = true, dataType = "int")
cloud-server-competition/src/main/resources/sharding-jdbc.properties
@@ -1,22 +1,9 @@
#datasource.names=master0
#datasource.master0.type=com.alibaba.druid.pool.DruidDataSource
#datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver
#datasource.master0.url=jdbc:mysql://192.168.110.80:3306/playpai_competition?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
#datasource.master0.username=root
#datasource.master0.password=123456
#datasource.master0.maxActive=20
#datasource.master0.maxWait=60000
#datasource.master0.minIdle=5
#datasource.master0.initialSize=2
datasource.names=master0
datasource.master0.type=com.alibaba.druid.pool.DruidDataSource
datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver
datasource.master0.url=jdbc:mysql://127.0.0.1:3306/playpai_competition?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
datasource.master0.url=jdbc:mysql://192.168.110.80:3306/playpai_competition?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
datasource.master0.username=root
datasource.master0.password=playpai2023!
datasource.master0.password=123456
datasource.master0.maxActive=20
datasource.master0.maxWait=60000
datasource.master0.minIdle=5
@@ -24,3 +11,16 @@
#datasource.names=master0
#datasource.master0.type=com.alibaba.druid.pool.DruidDataSource
#datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver
#datasource.master0.url=jdbc:mysql://127.0.0.1:3306/playpai_competition?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
#datasource.master0.username=root
#datasource.master0.password=playpai2023!
#datasource.master0.maxActive=20
#datasource.master0.maxWait=60000
#datasource.master0.minIdle=5
#datasource.master0.initialSize=2
cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java
@@ -214,7 +214,7 @@
        }
    }
    // 2.0
    @ResponseBody
    @PostMapping("/api/course/paymentCourseCouponList")
    @ApiOperation(value = "支付课程--完成后优惠券列表", tags = {"APP-课程列表"})
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -594,7 +594,6 @@
                            storeVo.setLon(store.getLon());
                            storeVo.setCoursePrice(ToolUtil.isEmpty(paymentConfig.getCashPayment()) ? (double) paymentConfig.getPlayPaiCoin() : paymentConfig.getCashPayment());
                            storeVo.setStatus(1);
                            // 2.0
                            storeVo.setAllNum(tCoursePackagePayment.getTotalClassHours());
                            storeVo.setLastNum(tCoursePackagePayment.getLaveClassHours());
                            storeVo.setUseNum(tCoursePackagePayment.getTotalClassHours() - tCoursePackagePayment.getLaveClassHours());
@@ -1037,7 +1036,7 @@
        }
    }
    // 2.0
    @ResponseBody
    @PostMapping("/api/startCource/payCourse")
    @ApiOperation(value = "课后练习-确认购课", tags = {"APP-开始上课"})
@@ -1303,18 +1302,7 @@
    @PostMapping("/coursePackagePayment/paymentDeductionClassHour")
    public void paymentDeductionClassHour(@RequestBody PaymentDeductionClassHour paymentDeductionClassHour) {
        try {
            // 2.0 用id进行查询
//            TCoursePackagePayment coursePackagePayment = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", paymentDeductionClassHour.getCourseId()).eq("payStatus", 2)
//                    .eq("status", 1).eq("state", 1).gt("laveClassHours", 0));
//            Integer classHour = paymentDeductionClassHour.getClassHour();
//            for (TCoursePackagePayment coursePackagePayment : list) {
            CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(paymentDeductionClassHour.getCourseId());
//            if (paymentDeductionClassHour.getClassHour() > coursePackageOrderStudent.getLaveClassHours()) {
//                return ResultUtil.error("当前课包课时数不足");
//            }
            TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId());
            coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - paymentDeductionClassHour.getClassHour());
            coursePackageOrderStudentService.updateById(coursePackageOrderStudent);
@@ -1342,133 +1330,6 @@
                            .eq("coursePackageSchedulingId", coursePackageScheduling.getId()));
                }
            }
//            if (coursePackagePayment.getLaveClassHours().compareTo(classHour) >= 0) {
//                coursePackagePayment.setLaveClassHours(coursePackagePayment.getLaveClassHours() - classHour);
//                coursePackagePayment.setAppUserId(null);
//                packagePaymentService.updateById(coursePackagePayment);
//
//                CourseCounsum courseCounsum = new CourseCounsum();
//                courseCounsum.setPaymentId(coursePackagePayment.getId());
//                courseCounsum.setChangeType(0);
//                courseCounsum.setNum(classHour);
//                courseCounsum.setInsertTime(new Date());
//                courseCounsum.setReason("报名赛事");
//                courseCounsumService.save(courseCounsum);
//
//
//                List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackagePayment.getStudentId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId()));
//                List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
//                coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id", collect));
//                coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", paymentDeductionClassHour.getId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId()));
//
//
//                TCoursePackage tCoursePackage = packageService.getById(coursePackagePayment.getCoursePackageId());
//                String classWeeks = tCoursePackage.getClassWeeks();
//                List<Integer> week = week(classWeeks);
//
//                TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", coursePackagePayment.getCoursePackageId()).eq("studentId", coursePackagePayment.getStudentId()));
//
//                Date today = new Date();
//                Calendar calendar = Calendar.getInstance();
//                calendar.add(Calendar.DATE, -1);
//                today = calendar.getTime();
//
//
//                Integer laveClassHours = pay.getLaveClassHours();
//                Integer codeTime = tCoursePackage.getCodeTime();
//                Integer can = laveClassHours / codeTime;
//
//                int count = 0;
//                String[] split = tCoursePackage.getClassStartTime().split(",");
//                String[] split1 = tCoursePackage.getClassEndTime().split(",");
//                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//                SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//
//                Date[] dates = generateDateArray(14, today);
//                for (Date date : dates) {
//                    if (count == can) {
//                        break;
//                    }
//                    int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date);
//                    if (week.contains(wei)) {
//                        for (int i1 = 0; i1 < split.length; i1++) {
//                            if (count == can) {
//                                break;
//                            }
//                            CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
//                            coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
//                            Date parse = format1.parse(format.format(date) + " " + split[i1]);
//                            Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
//                            coursePackageScheduling.setClassDate(parse);
//                            coursePackageScheduling.setEndDate(parse1);
//                            coursePackageScheduling.setStatus(1);
//                            coursePackageSchedulingService.save(coursePackageScheduling);
//                            CoursePackageStudent student1 = new CoursePackageStudent();
//                            student1.setAppUserId(pay.getAppUserId());
//                            student1.setStudentId(pay.getStudentId());
//                            student1.setCoursePackageId(pay.getCoursePackageId());
//                            student1.setCoursePackagePaymentId(pay.getId());
//                            student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
//                            student1.setSignInOrNot(1);
//                            student1.setReservationStatus(1);
//                            student1.setInsertTime(new Date());
//                            studentService.save(student1);
//                            count++;
//                        }
//                    }
//                }
//
//
//                // 2.0 少于3课时 推送
//                if (coursePackagePayment.getLaveClassHours() <= 3) {
//                    Integer appUserId = coursePackagePayment.getAppUserId();
//
//                    //调用推送
//                    HttpHeaders headers = new HttpHeaders();
//                    // 以表单的方式提交
//                    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
//                    String s1 = appUserId + "_" + "Three";
//                    //定时修改排课状态
//                    String s = internalRestTemplate.getForObject("http://mb-cloud-gateway/netty/sendMsgToClient?id=" + s1, String.class);
//                    JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
//                    if (jsonObject1.getIntValue("code") != 200) {
//                        System.err.println(jsonObject1.getString("msg"));
//                    }
//                }
//
//                CancelledClasses cancelledClasses = new CancelledClasses();
//                cancelledClasses.setType(2);
//                cancelledClasses.setVoucher(paymentDeductionClassHour.getCode());
//                cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId());
//                cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId());
//                cancelledClasses.setCancelledClassesNumber(classHour);
//                cancelledClasses.setInsertTime(new Date());
//                cancelledClassesService.save(cancelledClasses);
//
//            } else {
//                CancelledClasses cancelledClasses = new CancelledClasses();
//                cancelledClasses.setType(2);
//                cancelledClasses.setVoucher(paymentDeductionClassHour.getCode());
//                cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId());
//                cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId());
//                cancelledClasses.setCancelledClassesNumber(coursePackagePayment.getLaveClassHours());
//                cancelledClasses.setInsertTime(new Date());
//                cancelledClassesService.save(cancelledClasses);
//
//                coursePackagePayment.setLaveClassHours(0);
//                packagePaymentService.updateById(coursePackagePayment);
//
//                classHour -= cancelledClasses.getCancelledClassesNumber();
//            }
//                }
        } catch (Exception e) {
            e.printStackTrace();
        }
@@ -1630,7 +1491,6 @@
            appUser.setPlayPaiCoins(appUser.getPlayPaiCoins() - paymentConfig.getPlayPaiCoin());
            auClitn.updateAppUser(appUser);
            // 2.0
            TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord();
            tCourseInfoRecord.setUserId(userIdFormRedis);
            tCourseInfoRecord.setCourseId(coursePackage.getCoursePackageId());
@@ -1679,7 +1539,6 @@
        boolean id = packagePaymentService.update(packagePayment, new QueryWrapper<TCoursePackagePayment>()
                .eq("id", packagePayment.getId()));
        if (id) {
            // 2.0
            TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord();
            tCourseInfoRecord.setNum(packagePayment.getTotalClassHours());
            tCourseInfoRecord.setName("续课");
@@ -2192,7 +2051,6 @@
                }
            }
        }
        // 2.0
        TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord();
        tCourseInfoRecord.setUserId(userId);
        tCourseInfoRecord.setCourseId(courseId);
@@ -2229,7 +2087,6 @@
    }
    // 2.0 送课时
    @PostMapping("/base/coursePack/sendHours")
    public Integer sendHours(@RequestBody String s) throws ParseException {
        String[] split2 = s.split("_");
@@ -2460,7 +2317,7 @@
     */
    @ResponseBody
    @PostMapping("/api/startCource/reverse")
    @ApiOperation(value = "上课主页-预约操作--2.0改请假操作", tags = {"APP-开始上课"})
    @ApiOperation(value = "上课主页-预约操作--改请假操作", tags = {"APP-开始上课"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
            @ApiImplicitParam(value = "课包id", name = "courseID", required = true, dataType = "String"),
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderServiceImpl.java
@@ -64,7 +64,6 @@
            TCoursePackage coursePackage = coursePackageService.getById(order.getCoursePackageId());
            Store store = storeClient.queryStoreById(coursePackage.getStoreId());
            RegisterCourseVo registerCourseVo = new RegisterCourseVo();
            // 2.0
            registerCourseVo.setType(coursePackage.getType());
            registerCourseVo.setOrderId(order.getId());
@@ -74,7 +73,6 @@
            registerCourseVo.setPackageImg(coursePackage.getCoverDrawing());
            String storeAndCourse = coursePackage.getName() + "(" + store.getName() + ")";
            registerCourseVo.setCourseNameStore(storeAndCourse);
            // 2.0
            registerCourseVo.setCourseTime(new SimpleDateFormat("yyyy-MM-dd").format(order.getInsertTime()));
            Coach coach = coachClient.queryCoachById(coursePackage.getCoachId());
            registerCourseVo.setCourseTeacher(ToolUtil.isEmpty(coach) ? "" : coach.getName());
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -415,7 +415,6 @@
                    TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId());
                    Store store = stoClient.queryStoreById(coursePackage.getStoreId());
                    RegisterCourseVo registerCourseVo = new RegisterCourseVo();
                    // 2.0
                    registerCourseVo.setType(coursePackage.getType());
                    registerCourseVo.setOrderId(tCoursePackagePayment.getOrderId().longValue());
@@ -425,8 +424,6 @@
                    registerCourseVo.setPackageImg(coursePackage.getCoverDrawing());
                    String storeAndCourse = coursePackage.getName() + "(" + store.getName() + ")";
                    registerCourseVo.setCourseNameStore(storeAndCourse);
//                registerCourseVo.setCourseTime(coursePackage.getClassStartTime()+"-"+coursePackage.getClassEndTime());
                    // 2.0
                    registerCourseVo.setCourseTime(new SimpleDateFormat("yyyy-MM-dd").format(tCoursePackagePayment.getInsertTime()));
                    Coach coach = coachClient.queryCoachById(coursePackage.getCoachId());
                    registerCourseVo.setCourseTeacher(ToolUtil.isEmpty(coach) ? "" : coach.getName());
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -181,7 +181,6 @@
            coursePackageListVo.setStoreName(null != store ? store.getName() : "");
            coursePackageListVo.setCoverDrawing(coursePackage.getCoverDrawing());
            // 2.0修改
            String classStartTime = coursePackage.getClassStartTime();
            String classEndTime = coursePackage.getClassEndTime();
            ArrayList<String> classTime = new ArrayList<>();
@@ -411,7 +410,6 @@
                coursePackageListVo.setPayType(2);
            }
            // 2.0修改
            String classStartTime = coursePackage.getClassStartTime();
            String classEndTime = coursePackage.getClassEndTime();
            ArrayList<String> classTime = new ArrayList<>();
cloud-server-course/src/main/resources/sharding-jdbc.properties
@@ -1,22 +1,9 @@
#datasource.names=master0
#datasource.master0.type=com.alibaba.druid.pool.DruidDataSource
#datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver
#datasource.master0.url=jdbc:mysql://192.168.110.80:3306/playpai_course?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
#datasource.master0.username=root
#datasource.master0.password=123456
#datasource.master0.maxActive=20
#datasource.master0.maxWait=60000
#datasource.master0.minIdle=5
#datasource.master0.initialSize=2
datasource.names=master0
datasource.master0.type=com.alibaba.druid.pool.DruidDataSource
datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver
datasource.master0.url=jdbc:mysql://127.0.0.1:3306/playpai_course?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
datasource.master0.url=jdbc:mysql://192.168.110.80:3306/playpai_course?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
datasource.master0.username=root
datasource.master0.password=playpai2023!
datasource.master0.password=123456
datasource.master0.maxActive=20
datasource.master0.maxWait=60000
datasource.master0.minIdle=5
@@ -24,3 +11,16 @@
#datasource.names=master0
#datasource.master0.type=com.alibaba.druid.pool.DruidDataSource
#datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver
#datasource.master0.url=jdbc:mysql://127.0.0.1:3306/playpai_course?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
#datasource.master0.username=root
#datasource.master0.password=playpai2023!
#datasource.master0.maxActive=20
#datasource.master0.maxWait=60000
#datasource.master0.minIdle=5
#datasource.master0.initialSize=2
cloud-server-gateway/pom.xml
@@ -11,14 +11,11 @@
    <artifactId>mb-cloud-gateway</artifactId>
    <packaging>jar</packaging>
    <name>网关</name>444
    <name>网关</name>
    <description>网关</description>
    <dependencies>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
cloud-server-other/src/main/java/com/dsh/other/controller/HomeModuleController.java
New file
@@ -0,0 +1,41 @@
package com.dsh.other.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.other.entity.HomeModule;
import com.dsh.other.service.IHomeModuleService;
import com.dsh.other.util.ResultUtil;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("")
public class HomeModuleController {
    @Autowired
    private IHomeModuleService homeModuleService;
    @ResponseBody
    @PostMapping("/base/homeModule/getHomeModule")
    @ApiOperation(value = "获取平台配置模块详情【2.0】", tags = {"APP-加入玩湃"})
    @ApiImplicitParams({
    })
    public ResultUtil<HomeModule> getHomeModule(){
        HomeModule homeModule = homeModuleService.getOne(new QueryWrapper<HomeModule>().eq("isOpen", 1));
        return ResultUtil.success(homeModule);
    }
}
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -248,20 +248,8 @@
        }
    }
//    public ResultUtil<List<QuerySiteTimes>> querySiteTimes(Integer id, String day, String halfName, String siteName) throws Exception {
//
//        if (redisUtil.acquireLock(day,day)) {
//            try {
//                List<QuerySiteTimes> list = siteService.querySiteTimes(id, day,halfName,siteName);
//            return ResultUtil.success(list);
//            } finally {
//                redisUtil.releaseLock(day);
//            }
//        } else {
//            return ResultUtil.error("系统繁忙,请稍后再试!");
//        }
//
//    }
    /**
@@ -481,7 +469,7 @@
    @ResponseBody
    @PostMapping("/api/site/queryMySiteById")
    @ApiOperation(value = "获取我的预约场地列表详情2.0", tags = {"用户—预约场地"})
    @ApiOperation(value = "获取我的预约场地列表详情", tags = {"用户—预约场地"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "id", name = "id", dataType = "int", required = true),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java
@@ -1,8 +1,10 @@
package com.dsh.other.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.other.entity.HomeModule;
import com.dsh.other.entity.StoreConfig;
import com.dsh.other.model.StoreConfigVo;
import com.dsh.other.service.IHomeModuleService;
import com.dsh.other.service.StoreConfigService;
import com.dsh.other.util.ResultUtil;
import io.swagger.annotations.ApiImplicitParam;
@@ -10,10 +12,14 @@
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
/**
 * @author zhibing.pu
@@ -26,10 +32,17 @@
    @Autowired
    private StoreConfigService storeConfigService;
    @Autowired
    private IHomeModuleService homeModuleService;
    @ResponseBody
    @PostMapping("/base/store/queryStoreConfig")
    @ApiOperation(value = "获取门店模块配置", tags = {"APP-加入玩湃"})
    @ApiOperation(value = "获取门店模块配置【2.0】", tags = {"APP-加入玩湃"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "门店id", name = "storeId", dataType = "int", required = true),
    })
@@ -38,12 +51,22 @@
            return ResultUtil.paranErr("storeId");
        }
        try {
            List<StoreConfig> list = storeConfigService.list(new QueryWrapper<StoreConfig>().eq("storeId", storeId).orderByAsc("sort").eq("isOpen", 1));
            List<StoreConfig> list = storeConfigService.list(new QueryWrapper<StoreConfig>().eq("storeId", storeId)
                    .orderByAsc("sort").eq("isOpen", 1));
            HomeModule homeModule = homeModuleService.getOne(new QueryWrapper<HomeModule>().eq("isOpen", 1));
            List<StoreConfigVo> listVo = new ArrayList<>();
            if(null != homeModule){
                StoreConfigVo vo = new StoreConfigVo();
                vo.setType(0);
                vo.setIsOpen(homeModule.getIsOpen());
                vo.setSort(homeModule.getSort());
                vo.setBackgroundImage(homeModule.getBackgroundImage());
                listVo.add(vo);
            }
            for (StoreConfig storeConfig : list) {
                StoreConfigVo storeConfigVo = new StoreConfigVo();
                BeanUtils.copyProperties(storeConfig, storeConfigVo);
                if (storeConfig.getBackgroundImage() == null || storeConfig.getBackgroundImage().equals("")) {
                if (!StringUtils.hasLength(storeConfig.getBackgroundImage())) {
                    switch (storeConfigVo.getType()) {
                        case 1: {
                            storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/8b7073a4d33d4eea9f0d173cb4db92a7.png");
@@ -56,32 +79,30 @@
                        case 3: {
                            storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/08c5eca72fca4d479d21905d25870ef8.png");
                            break;
                        }
                        case 4: {
                            storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/8602be35e6cf4f76819b7b2d7b588efc.png");
                            break;
                        }
                        case 5: {
                            storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/694f84a1e2ba4d2c919f4f4ffaadece2.png");
                            break;
                        }
                        case 6: {
                            storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/81a83d229fea46a78be6a3ec1d5b7d6e.png");
                            break;
                        }
                        case 7: {
                            storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/312763e7565c48f2a16021c162c76018.png");
                            break;
                        }
                        case 8: {
                            storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/0771fb3bd4de43c08492d0912209e51f.png");
                            break;
                        }
                        case 9: {
                            storeConfigVo.setBackgroundImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/0771fb3bd4de43c08492d0912209e51f.png");
                            break;
                        }
                    }
@@ -89,6 +110,13 @@
                listVo.add(storeConfigVo);
            }
            //排序
            Collections.sort(listVo, new Comparator<StoreConfigVo>() {
                @Override
                public int compare(StoreConfigVo o1, StoreConfigVo o2) {
                    return o1.getSort().compareTo(o2.getSort());
                }
            });
            return ResultUtil.success(listVo);
        } catch (Exception e) {
            e.printStackTrace();
@@ -97,4 +125,9 @@
    }
}
cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
@@ -33,7 +33,6 @@
    @Autowired
    private StoreService storeService;
    @Autowired
    private GDMapGeocodingUtil gdMapGeocodingUtil;
@@ -42,6 +41,14 @@
    @Autowired
    private TBackRecordService backRecordService;
    @Autowired
    private TStoreOtherConfigTrueService tStoreOtherConfigTrueService;
    /**
     * 获取根据门店id 获取店长信息
@@ -408,12 +415,13 @@
        }
    }
    @Autowired
    private TStoreOtherConfigTrueService tStoreOtherConfigTrueService;
    @ResponseBody
    @PostMapping("/base/store/queryIndexSet")
    @ApiOperation(value = "获取门店首页设置 2.0", tags = {"APP-免费福利"})
    @ApiOperation(value = "获取门店首页设置", tags = {"APP-免费福利"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "门店id", name = "id", dataType = "int", required = true),
    })
cloud-server-other/src/main/java/com/dsh/other/entity/HomeModule.java
New file
@@ -0,0 +1,83 @@
package com.dsh.other.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * 平台首页模块配置
 */
@Data
@TableName("t_home_module")
public class HomeModule {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 是否开通(0=否,1=是)
     */
    @TableField("isOpen")
    private Integer isOpen;
    /**
     * 标题
     */
    @TableField("title")
    @ApiModelProperty("标题")
    private String title;
    /**
     * 置顶(0=否,1=是)
     */
    @TableField("isTop")
    private Integer isTop;
    /**
     * 排序
     */
    @TableField("sort")
    private Integer sort;
    /**
     * 背景图
     */
    @TableField("backgroundImage")
    private String backgroundImage;
    /**
     * 按钮图片
     */
    @TableField("buttonImage")
    @ApiModelProperty("按钮图片")
    private String buttonImage;
    /**
     * 跳转模块(0=不跳转,1=加入玩湃,2=开始课程,3=使用福利,4=探索玩湃)
     */
    @TableField("jumpModule")
    @ApiModelProperty("跳转模块(0=不跳转,1=加入玩湃,2=开始课程,3=使用福利,4=探索玩湃)")
    private Integer jumpModule;
    /**
     * 跳转页面(1=主页,2=课程列表,3=赛事活动列表,4=线上课得积分,5=看视频得奖励,6=预约场地,7=智慧球场,8=成为会员,9=充值中心,10=积分商城,11=本周福利,12=门店列表,13=常见问题,14=公告发布)
     */
    @TableField("jumpPage")
    @ApiModelProperty("跳转页面(1=主页,2=课程列表,3=赛事活动列表,4=线上课得积分,5=看视频得奖励,6=预约场地,7=智慧球场,8=成为会员,9=充值中心,10=积分商城,11=本周福利,12=门店列表,13=常见问题,14=公告发布)")
    private Integer jumpPage;
    /**
     * 跳转类型(1=主页,2=列表,3=详情,4=限时折扣,5=赠送课时,6=指定折扣)
     */
    @TableField("jumpType")
    @ApiModelProperty("跳转类型(1=主页,2=列表,3=详情,4=限时折扣,5=赠送课时,6=指定折扣)")
    private Integer jumpType;
    /**
     * 跳转详情id
     */
    @TableField("detailID")
    @ApiModelProperty("跳转详情id")
    private String detailID;
    /**
     * 富文本内容
     */
    @TableField("content")
    @ApiModelProperty("富文本内容")
    private String content;
}
cloud-server-other/src/main/java/com/dsh/other/entity/Site.java
@@ -62,6 +62,11 @@
    @TableField("cityCode")
    private String cityCode;
    /**
     * 是否可预约(0=否,1=是)
     */
    @TableField("isCanBeBooked")
    private Integer isCanBeBooked;
    /**
     * 预约开始时间
     */
    @TableField("appointmentStartTime")
cloud-server-other/src/main/java/com/dsh/other/mapper/HomeModuleMapper.java
New file
@@ -0,0 +1,7 @@
package com.dsh.other.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsh.other.entity.HomeModule;
public interface HomeModuleMapper extends BaseMapper<HomeModule> {
}
cloud-server-other/src/main/java/com/dsh/other/model/StoreConfigVo.java
@@ -11,7 +11,7 @@
@Data
@ApiModel
public class StoreConfigVo {
    @ApiModelProperty(" 数据类型(1=报名玩湃课程,2=预约场地,3=报名赛事及活动,4=免费福利,5=线上课程积分,6=购买优惠门票,7=看视频得奖励,8=智慧球场)")
    @ApiModelProperty(" 数据类型(0=平台配置模块,1=报名玩湃课程,2=预约场地,3=报名赛事及活动,4=免费福利,5=线上课程积分,6=购买优惠门票,7=看视频得奖励,8=智慧球场,9=社区世界杯)")
    private Integer type;
    @ApiModelProperty("是否开启(0=否,1=是)")
    private Integer isOpen;
cloud-server-other/src/main/java/com/dsh/other/service/IHomeModuleService.java
New file
@@ -0,0 +1,7 @@
package com.dsh.other.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.other.entity.HomeModule;
public interface IHomeModuleService extends IService<HomeModule> {
}
cloud-server-other/src/main/java/com/dsh/other/service/impl/HomeModuleServiceImpl.java
New file
@@ -0,0 +1,11 @@
package com.dsh.other.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.other.entity.HomeModule;
import com.dsh.other.mapper.HomeModuleMapper;
import com.dsh.other.service.IHomeModuleService;
import org.springframework.stereotype.Service;
@Service
public class HomeModuleServiceImpl extends ServiceImpl<HomeModuleMapper, HomeModule> implements IHomeModuleService {
}
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -70,6 +70,12 @@
    @Autowired
    private TBackRecordService backRecordService;
    @Autowired
    private ISiteBookingService iSiteBookingService;
    @Autowired
    private ISiteService siteService;
    /**
     * 获取场地列表
@@ -155,10 +161,7 @@
    }
    @Autowired
    private ISiteBookingService iSiteBookingService;
    @Autowired
    private ISiteService siteService;
    /**
     * 获取场地预约日期数据
@@ -432,7 +435,6 @@
        siteBooking.setState(1);
        siteBooking.setInsertTime(new Date());
        // 2.0
        siteBooking.setNextName(reservationSite.getNextName());
        siteBooking.setIsHalf(reservationSite.getIsHalf());
        siteBooking.setHalfName(reservationSite.getHalfName());
cloud-server-other/src/main/resources/mapper/HomeModuleMapper.xml
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsh.other.mapper.HomeModuleMapper">
</mapper>
cloud-server-other/src/main/resources/mapper/SiteMapper.xml
@@ -28,7 +28,7 @@
        from t_site a
        left join t_store b on (a.storeId = b.id)
        left join t_site_type c on (a.siteTypeId = c.id)
        where a.state = 1
        where a.state = 1 and a.isCanBeBooked = 1
        <if test="null != item.startTime and '' != item.startTime and null != item.endTime and '' != item.endTime">
            and CONCAT(DATE_FORMAT(now(), '%Y-%m-%d'), ' ', a.appointmentStartTime) &lt;= CONCAT(DATE_FORMAT(now(),
            '%Y-%m-%d'), ' ', #{item.startTime}) and CONCAT(DATE_FORMAT(now(), '%Y-%m-%d'), ' ', a.appointmentEndTime)