puzhibing
2023-12-08 e825aefcd7285facc06fcb5bf69cdd5afc402b2d
11.27,9
36个文件已修改
621 ■■■■■ 已修改文件
cloud-server-account/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/model/dto/Coupon.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/resources/logback-spring.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/resources/sharding-jdbc.properties 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/resources/logback-spring.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/resources/sharding-jdbc.properties 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-auth/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-auth/src/main/resources/logback-spring.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/resources/logback-spring.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/resources/sharding-jdbc.properties 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/model/RegisterOrderVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/resources/logback-spring.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/resources/sharding-jdbc.properties 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-gateway/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-gateway/src/main/resources/logback-spring.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/paike.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/pom.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/resources/logback-spring.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/pom.xml
@@ -129,6 +129,7 @@
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.4.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
cloud-server-account/src/main/java/com/dsh/account/model/dto/Coupon.java
@@ -1,6 +1,7 @@
package com.dsh.account.model.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
@@ -107,6 +108,7 @@
    /**
     * 添加时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date insertTime;
    /**
     * 封面图
cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
@@ -76,7 +76,7 @@
    private String key = "";//微信商户号
    private String callbackPath = "http://221.182.45.100:56666/account";//支付回调网关地址
    private String callbackPath = "http://8.137.22.229:56666/account";//支付回调网关地址
    private String app_cert_path = "C:/cert/alipay/user/app_cert_path.crt";//应用公钥证书路径
cloud-server-account/src/main/resources/logback-spring.xml
@@ -7,7 +7,7 @@
    <contextName>logback</contextName>
    <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
    <property name="log.path" value="/Users/java/logs"/>
    <property name="log.path" value="/usr/playpai/server/logs"/>
    <!--0. 日志格式和颜色渲染 -->
    <!-- 彩色日志依赖的渲染类 -->
cloud-server-account/src/main/resources/sharding-jdbc.properties
@@ -11,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_account?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-activity/pom.xml
@@ -96,6 +96,7 @@
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.4.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java
@@ -69,6 +69,7 @@
     * 领取时间
     */
    @TableField("insertTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date insertTime;
    /**
     * 现金支付方式(1=微信2支付宝)
cloud-server-activity/src/main/resources/logback-spring.xml
@@ -7,7 +7,7 @@
    <contextName>logback</contextName>
    <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
    <property name="log.path" value="/Users/java/logs"/>
    <property name="log.path" value="/usr/playpai/server/logs"/>
    <!--0. 日志格式和颜色渲染 -->
    <!-- 彩色日志依赖的渲染类 -->
@@ -223,7 +223,7 @@
            <appender-ref ref="ERROR_FILE"/>
            <appender-ref ref="ALL_FILE"/>
        </root>
        <logger name="com.dsh.course.mapper" level="error"/>
        <logger name="com.dsh.course.mapper" level="debug"/>
        <logger name="business-log" level="warn"/>
    </springProfile>
cloud-server-activity/src/main/resources/sharding-jdbc.properties
@@ -11,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-auth/pom.xml
@@ -112,6 +112,7 @@
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.4.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
cloud-server-auth/src/main/resources/logback-spring.xml
@@ -7,7 +7,7 @@
    <contextName>logback</contextName>
    <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
    <property name="log.path" value="/Users/java/logs"/>
    <property name="log.path" value="/usr/playpai/server/logs"/>
    <!--0. 日志格式和颜色渲染 -->
    <!-- 彩色日志依赖的渲染类 -->
cloud-server-competition/pom.xml
@@ -101,6 +101,7 @@
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.4.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
cloud-server-competition/src/main/resources/logback-spring.xml
@@ -7,7 +7,7 @@
    <contextName>logback</contextName>
    <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
    <property name="log.path" value="/Users/java/logs"/>
    <property name="log.path" value="/usr/playpai/server/logs"/>
    <!--0. 日志格式和颜色渲染 -->
    <!-- 彩色日志依赖的渲染类 -->
cloud-server-competition/src/main/resources/sharding-jdbc.properties
@@ -11,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/pom.xml
@@ -144,6 +144,7 @@
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.4.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java
@@ -115,7 +115,9 @@
            cancelClassesVO.setStartAndEnd(temp);
            TCoursePackagePayment byId = coursePackagePaymentService.getById(cancelClassesVO.getCoursePackagePaymentId());
            cancelClassesVO.setStoreName(storeClient.queryStoreById(cancelClassesVO.getStoreId()).getName());
            cancelClassesVO.setStudentName(studentClient.queryStudentById(byId.getStudentId()).getName());
            if(null != byId){
                cancelClassesVO.setStudentName(studentClient.queryStudentById(byId.getStudentId()).getName());
            }
            cancelClassesVO.setCoachName(coachClient.queryCoachById(cancelClassesVO.getCoachId()).getName());
        }
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -180,7 +180,6 @@
        coursePackageOrder.setStudentIds(String.valueOf(packagePayment.getStudentId()));
        coursePackageOrder.setCoursePackageId(packagePayment.getCoursePackageId());
        coursePackageOrder.setClassHours(packagePayment.getClassHours());
        coursePackageOrder.setLaveClassHours(packagePayment.getClassHours());
        coursePackageOrder.setOriginalPrice(packagePayment.getOriginalPrice());
        coursePackageOrder.setCashPayment(packagePayment.getCashPayment());
        coursePackageOrder.setPlayPaiCoin(packagePayment.getPlayPaiCoin());
@@ -471,7 +470,8 @@
                }
            }
            TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId());
            Student student = studentClient.queryStudentById(re.getStudentId());
            String[] split = re.getStudentIds().split(",");
            Student student = studentClient.queryStudentById(Integer.valueOf(split[0]));
            re.setPayStudent(student.getName());
            re.setPayUser(appUser.getName());
            re.setPhone(appUser.getPhone());
@@ -1962,7 +1962,6 @@
                        coursePackageScheduling.setAppUserId(userId);
                        coursePackageScheduling.setStudentId(sId);
                        coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                        coursePackageScheduling.setCoursePackagePaymentIds(coursePackageOrder.getId().toString());
                        Date parse = format1.parse(format.format(time) + " " + split[j]);
                        Date parse1 = format1.parse(format.format(time) + " " + split1[j]);
                        coursePackageScheduling.setClassDate(parse);
@@ -2023,7 +2022,6 @@
                        coursePackageScheduling.setAppUserId(userId);
                        coursePackageScheduling.setStudentId(sId);
                        coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                        coursePackageScheduling.setCoursePackagePaymentIds(coursePackageOrder.getId().toString());
                        Date parse = format1.parse(format.format(time) + " " + split[j]);
                        Date parse1 = format1.parse(format.format(time) + " " + split1[j]);
                        coursePackageScheduling.setClassDate(parse);
@@ -2100,7 +2098,6 @@
                        }
                        CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
                        coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                        coursePackageScheduling.setCoursePackagePaymentIds(coursePackagePayment.getId().toString());
                        Date parse = format1.parse(format.format(date) + " " + split[i1]);
                        Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
                        coursePackageScheduling.setClassDate(parse);
@@ -2164,7 +2161,6 @@
                        }
                        CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
                        coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                        coursePackageScheduling.setCoursePackagePaymentIds(coursePackagePayment.getId().toString());
                        Date parse = format1.parse(format.format(date) + " " + split[i1]);
                        Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
                        coursePackageScheduling.setClassDate(parse);
@@ -2277,7 +2273,6 @@
                    }
                    CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
                    coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                    coursePackageScheduling.setCoursePackagePaymentIds(pay.getId().toString());
                    Date parse = format1.parse(format.format(date) + " " + split[i1]);
                    Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
                    coursePackageScheduling.setClassDate(parse);
cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
@@ -76,18 +76,7 @@
    @RequestMapping("/bypac")
    @ResponseBody
    public List<Map<String, Object>> bypac(@RequestBody PacQueryDto pacQueryDto) {
        System.out.println("-====studentQeryDto=========" + pacQueryDto);
        if (pacQueryDto.getStoreIds() != null && pacQueryDto.getStoreIds().size() != 0) {
            // 根据门店id 查询课包ids
            List<Integer> coursePackageIds = coursePackageService.list(new QueryWrapper<TCoursePackage>()
                    .in("storeId", pacQueryDto.getStoreIds())).stream()
                    .map(TCoursePackage::getId).collect(Collectors.toList());
            pacQueryDto.setStoreIds(coursePackageIds);
        }
        List<Map<String, Object>> pays = paymentService.bypac(pacQueryDto);
        System.out.println("=========pays======" + pays);
        return pays;
    }
@@ -688,7 +677,6 @@
                        coursePackageScheduling.setAppUserId(userId);
                        coursePackageScheduling.setStudentId(sId);
                        coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                        coursePackageScheduling.setCoursePackagePaymentId();
                        Date parse = format1.parse(format.format(time) + " " + split[j]);
                        Date parse1 = format1.parse(format.format(time) + " " + split1[j]);
                        coursePackageScheduling.setClassDate(parse);
@@ -749,7 +737,6 @@
                        coursePackageScheduling.setAppUserId(userId);
                        coursePackageScheduling.setStudentId(sId);
                        coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                        coursePackageScheduling.setCoursePackagePaymentId();
                        Date parse = format1.parse(format.format(time) + " " + split[j]);
                        Date parse1 = format1.parse(format.format(time) + " " + split1[j]);
                        coursePackageScheduling.setClassDate(parse);
@@ -879,7 +866,6 @@
                    coursePackageScheduling.setAppUserId(student.getAppUserId());
                    coursePackageScheduling.setStudentId(Integer.valueOf(stuId));
                    coursePackageScheduling.setCoursePackageId(coursePackage1.getId());
                    coursePackageScheduling.setCoursePackagePaymentId();
                    Date parse = format1.parse(format.format(time) + " " + split[j]);
                    Date parse1 = format1.parse(format.format(time) + " " + split1[j]);
                    coursePackageScheduling.setClassDate(parse);
cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java
@@ -79,7 +79,8 @@
    List<Map<String, Object>> getStudentTotal(@Param("appUserIds") List<Integer> appUserIds, @Param("start") String start,
                                              @Param("end") String end);
    List<Map<String, Object>> pacQueryDto(PacQueryDto pacQueryDto);
    List<Map<String, Object>> pacQueryDto(@Param("start") String start, @Param("end") String end,
                                          @Param("storeIds") List<Integer> storeIds, @Param("name") String name);
    List<TCoursePackagePayment> listOne(@Param("ids") List<Integer> ids);
cloud-server-course/src/main/java/com/dsh/course/model/RegisterOrderVO.java
@@ -39,7 +39,7 @@
    private String payUser;
    private String phone;
    // 学员id
    private Integer studentId;
    private String studentIds;
    private String payStudent;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date insertTime;
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java
@@ -216,9 +216,12 @@
                    .eq("status", 1)
                    .eq("type", 1)
            );
            laveClassHours -= count;
            Integer codeTime = coursePackage.getCodeTime();
            laveClassHours -= count;
            //剩余数量不足以排课
            if (laveClassHours.compareTo(codeTime) < 0) {
                break;
            }
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            //生成一周的排课数据
            for (int i = 0; i < num; i++) {
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -49,6 +49,7 @@
import javax.annotation.Resource;
import javax.persistence.criteria.CriteriaBuilder;
import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -152,140 +153,96 @@
    @Override
    public List<Map<String, Object>> getStudentTotal(StudentQeryDto studentQeryDto) {
//        String cityCode = studentQeryDto.getCityCode();
//        String start = studentQeryDto.getStart();
//        String end = studentQeryDto.getEnd();
//        //获取用户数据
//        List<Integer> appUserIds = null;
//        if(ToolUtil.isNotEmpty(cityCode)){
//            List<AppUser> appUsers = appuClient.queryAppUserByCityCode(cityCode);
//            if(appUsers.size() > 0){
//                appUserIds = appUsers.stream().map(AppUser::getId).collect(Collectors.toList());
//            }
//        }
//        QueryWrapper<CoursePackageStudent> status = new QueryWrapper<CoursePackageStudent>().eq("payStatus", 2).eq("status", 1);
//        if(null != appUserIds){
//            status.in("appUserId", appUserIds);
//        }
//        List<Map<String, Object>> maps = this.baseMapper.getStudentTotal(appUserIds, studentQeryDto.getStart(), studentQeryDto.getEnd());
//        List<Map<String, Object>> list = new ArrayList<>();
//        for (Map<String, Object> objectMap : maps) {
//            Integer studentId = Integer.valueOf(objectMap.get("studentId").toString());
//            Integer appUserId = Integer.valueOf(objectMap.get("appUserId").toString());
//            Integer coursePackageId = Integer.valueOf(objectMap.get("coursePackageId").toString());
//            Integer number = Integer.valueOf(objectMap.get("number").toString());
//            Map<String, Object> map = new HashMap<>();
//            Student student = studentClient.queryStudentById(studentId);
//            map.put("studentName", student.getName());
//            AppUser appUser = appuClient.queryAppUser(appUserId);
//            map.put("province", appUser.getProvince());
//            map.put("provinceCode", appUser.getProvinceCode());
//            map.put("city", appUser.getCity());
//            map.put("cityCode", appUser.getCityCode());
//            TCoursePackage coursePackage = coursePackageService.getById(coursePackageId);
//            map.put("courseName", coursePackage.getName());
//            map.put("totalClassHours", number);
//            map.put("cashPayment", coursePackageOrder.getCashPayment());
//            map.put("hasHours", )
//
//
//        }
        String cityCode = studentQeryDto.getCityCode();
        //获取用户数据
        List<Integer> appUserIds = null;
        if(ToolUtil.isNotEmpty(cityCode)){
            List<AppUser> appUsers = appuClient.queryAppUserByCityCode(cityCode);
            if(appUsers.size() > 0){
                appUserIds = appUsers.stream().map(AppUser::getId).collect(Collectors.toList());
            }
        }
        QueryWrapper<CoursePackageStudent> status = new QueryWrapper<CoursePackageStudent>().eq("payStatus", 2).eq("status", 1);
        if(null != appUserIds){
            status.in("appUserId", appUserIds);
        }
        List<Map<String, Object>> maps = this.baseMapper.getStudentTotal(appUserIds, studentQeryDto.getStart(), studentQeryDto.getEnd());
        List<Map<String, Object>> list = new ArrayList<>();
        for (Map<String, Object> objectMap : maps) {
            if(null == objectMap.get("studentId")){
                continue;
            }
            Integer studentId = Integer.valueOf(objectMap.get("studentId").toString());
            Integer appUserId = Integer.valueOf(objectMap.get("appUserId").toString());
            Integer coursePackageId = Integer.valueOf(objectMap.get("coursePackageId").toString());
            Integer number = Integer.valueOf(objectMap.get("number").toString());
            Map<String, Object> map = new HashMap<>();
            Student student = studentClient.queryStudentById(studentId);
            if(null == student){
                continue;
            }
            map.put("studentName", student.getName());
            AppUser appUser = appuClient.queryAppUser(appUserId);
            if(null == appUser){
                continue;
            }
            map.put("province", appUser.getProvince());
            map.put("provinceCode", appUser.getProvinceCode());
            map.put("city", appUser.getCity());
            map.put("cityCode", appUser.getCityCode());
            TCoursePackage coursePackage = coursePackageService.getById(coursePackageId);
            map.put("courseName", coursePackage.getName());
            map.put("totalClassHours", number);
            CoursePackageOrder coursePackageOrder = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>().eq("appUserId", appUserId)
                    .eq("coursePackageId", coursePackageId).eq("payStatus", 2).eq("state", 1)
                    .gt("cashPayment", 0).last(" and studentIds like '%" + studentId + "%' order by insertTime desc limit 0, 1"));
            Double cashPayment = 0D;
            if(null != coursePackageOrder && coursePackageOrder.getClassHours() > 0){
                cashPayment = coursePackageOrder.getCashPayment().divide(new BigDecimal(coursePackageOrder.getClassHours()), new MathContext(2, RoundingMode.HALF_EVEN)).doubleValue();
            }
            map.put("cashPayment", cashPayment * number);
//        List<Map<String, Object>> studentTotal = this.baseMapper.getStudentTotal(studentQeryDto);
//        for (Map<String, Object> student : studentTotal) {
//            Integer appUserId = (Integer) student.get("appUserId");
//            AppUser appUser = appuClient.queryAppUser(appUserId);
//            student.put("province", appUser.getProvince());
//            student.put("provinceCode", appUser.getProvinceCode());
//
//            student.put("city", appUser.getCity());
//            student.put("cityCode", appUser.getCityCode());
//
//            Student studentId = studentClient.queryStudentById((Integer) student.get("studentId"));
//            student.put("studentName", studentId.getName());
//            BigDecimal cashPayment = (BigDecimal) student.get("cashPayment");
//            BigDecimal totalClassHours = (BigDecimal) student.get("totalClassHours");
//            BigDecimal hasHours = (BigDecimal) student.get("hasHours");
//            if (cashPayment == null) {
//                continue;
//            }
//            if (totalClassHours.compareTo(BigDecimal.ZERO) == 0) {
//                totalClassHours = totalClassHours.add(new BigDecimal("1"));
//            }
//            BigDecimal hasPayment = cashPayment.divide(totalClassHours, 2, RoundingMode.HALF_UP)
//                    .multiply(hasHours).setScale(2, RoundingMode.HALF_UP);
//            student.put("hasPayment", hasPayment);
//        }
//
//        if (studentQeryDto.getCityCode() != null && studentQeryDto.getCityCode() != "") {
//            String value = studentQeryDto.getCityCode();
//            boolean allZeros = value.substring(value.length() - 4).endsWith("0000");
//            System.out.println(allZeros); // Output: true
//            if (allZeros) {
//                Iterator<Map<String, Object>> iterator = studentTotal.iterator();
//                while (iterator.hasNext()) {
//                    Map<String, Object> student = iterator.next();
//                    String cityCode = (String) student.get("provinceCode");
//                    if (!cityCode.equals(studentQeryDto.getCityCode())) {
//                        iterator.remove(); // Remove the element from the list
//                    }
//                }
//            } else {
//                Iterator<Map<String, Object>> iterator = studentTotal.iterator();
//                while (iterator.hasNext()) {
//                    Map<String, Object> student = iterator.next();
//                    String cityCode = (String) student.get("cityCode");
//                    if (!cityCode.equals(studentQeryDto.getCityCode())) {
//                        iterator.remove(); // Remove the element from the list
//                    }
//                }
//            }
//        }
//
//        if (studentQeryDto.getStudentName() != null && studentQeryDto.getStudentName() != "") {
//            List<Map<String, Object>> totallike = new ArrayList<>();
//            for (Map<String, Object> student : studentTotal) {
//                String studentName = (String) student.get("studentName");
//                if (studentName.contains(studentQeryDto.getStudentName())) {
//                    totallike.add(student);
//                }
//
//            }
//            return totallike;
//        }
//        return studentTotal;
        return null;
            int count = coursePackageSchedulingService.count(new QueryWrapper<CoursePackageScheduling>().eq("studentId", studentId)
                    .eq("coursePackageId", coursePackageId).eq("status", 3));
            map.put("hasHours", count);
            map.put("hasPayment", count * cashPayment);
            list.add(map);
        }
        return list;
    }
    @Override
    public List<Map<String, Object>> bypac(PacQueryDto pacQueryDto) {
        if (pacQueryDto.getCityCode() != null && pacQueryDto.getCityCode() != "") {
            String value = pacQueryDto.getCityCode();
            boolean allZeros = value.substring(value.length() - 4).endsWith("0000");
            System.out.println(allZeros); // Output: true
        List<Map<String, Object>> maps = this.baseMapper.pacQueryDto(pacQueryDto.getStart(), pacQueryDto.getEnd(), pacQueryDto.getStoreIds(), pacQueryDto.getName());
        for (Map<String, Object> map : maps) {
            Integer id = Integer.valueOf(map.get("id").toString());
            Integer storeId = Integer.valueOf(map.get("storeId").toString());
            Integer number = Integer.valueOf(map.get("number").toString());
            Store store = storeClient.queryStoreById(storeId);
            map.put("store", store.getName());
            map.put("totalClassHours", number);
            if (allZeros) {
                pacQueryDto.setProvinceCode(pacQueryDto.getCityCode());
                pacQueryDto.setCityCode(null);
            List<CoursePackageOrder> list = coursePackageOrderService.list(new QueryWrapper<CoursePackageOrder>()
                    .eq("coursePackageId", id).eq("payStatus", 2).eq("state", 1)
                    .gt("cashPayment", 0));
            Double cashPayment = 0D;
            BigDecimal p = new BigDecimal(0);
            for (CoursePackageOrder coursePackageOrder : list) {
                p = p.add(coursePackageOrder.getCashPayment());
            }
        }
        List<Map<String, Object>> maps = this.baseMapper.pacQueryDto(pacQueryDto);
        if (pacQueryDto.getName() != null && pacQueryDto.getName() != "") {
            List<Map<String, Object>> totallike = new ArrayList<>();
            for (Map<String, Object> student : maps) {
                String studentName = (String) student.get("name");
                if (studentName.contains(pacQueryDto.getName())) {
                    totallike.add(student);
                }
            if(list.size() > 0){
                cashPayment = p.divide(new BigDecimal(list.size()), new MathContext(2, RoundingMode.HALF_EVEN)).doubleValue();
            }
            return totallike;
            map.put("cashPayment", cashPayment * number);
            int count = coursePackageSchedulingService.count(new QueryWrapper<CoursePackageScheduling>().eq("coursePackageId", id).eq("status", 3));
            map.put("hasHours", count);
            map.put("lavePay", count * cashPayment);
        }
        return maps;
    }
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -1210,6 +1210,7 @@
                    calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
                    coursePackageOrderStudent.setUseTime(calendar.getTime());
                    coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
                    //更新学员课时有效期
                    if(null == student.getValidity()){
                        student.setValidity(calendar.getTime());
@@ -1222,6 +1223,9 @@
                    //开始排课
                    addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent, student.getValidity());
                    //课时记录
                    CourseCounsum courseCounsum = new CourseCounsum();
                    courseCounsum.setPaymentId(coursePackageOrderStudent.getId());
@@ -1315,6 +1319,31 @@
                //上课星期
                String classWeeks = tCoursePackage.getClassWeeks();
                List<Integer> week = week(classWeeks);
                CoursePackageScheduling one = coursePackageSchedulingService.getOne(new QueryWrapper<CoursePackageScheduling>()
                        .eq("studentId", sId)
                        .eq("coursePackageId", tCoursePackage.getId())
                        .eq("status", 1)
                        .orderByDesc("classDate")
                        .last(" limit 0, 1")
                );
                if(null != one){
                    //先检测是否需要继续进行排课
                    Calendar calendar1 = Calendar.getInstance();
                    calendar1.setTime(one.getClassDate());
                    int day_week1 = calendar1.get(Calendar.DAY_OF_WEEK);
                    day_week1 = day_week1 - 1 == 0 ? 7 : day_week1 - 1;
                    int week_of_month = calendar1.get(Calendar.WEEK_OF_MONTH);
                    Calendar calendar2 = Calendar.getInstance();
                    calendar2.setTime(new Date());
                    int week_of_month1 = calendar2.get(Calendar.WEEK_OF_MONTH);
                    //最后一次的排课时间不在本周,且是一周的最后一天。(如果是本周则表明已经课时用完了)
                    if(week.get(week.size() - 1).equals(day_week1) && week_of_month == week_of_month1){
                        return;
                    }
                }
                //上课时段
                String[] split = tCoursePackage.getClassStartTime().split(",");
                String[] split1 = tCoursePackage.getClassEndTime().split(",");
@@ -1468,7 +1497,7 @@
    /**
     * 课时有效期更新后-更新历史排课数据
     * 课时有效期更新后-更新历史排课数据(因有效期限制的排课数据,还有剩余课时)
     * @param student
     */
    public void addOldPackageStudent(Student student){
@@ -1493,18 +1522,26 @@
            );
            Calendar calendar = Calendar.getInstance();
            //上课星期
            String classWeeks = coursePackage.getClassWeeks();
            List<Integer> week = week(classWeeks);
            Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
            Integer codeTime = coursePackage.getCodeTime();
            String classStartTime = coursePackage.getClassStartTime();
            String classEndTime = coursePackage.getClassEndTime();
            String format = sdf1.format(one.getClassDate());
            String time = format.substring(format.indexOf(" ") + 1);
            String[] split = classStartTime.split(",");
            String[] split1 = classEndTime.split(",");
            if(null == one){
                calendar.setTime(new Date());
                calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
                calendar.set(Calendar.HOUR_OF_DAY, 0);
                calendar.set(Calendar.MINUTE, 0);
                calendar.set(Calendar.SECOND, 0);
            }else{
                Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
                Integer codeTime = coursePackage.getCodeTime();
                String classStartTime = coursePackage.getClassStartTime();
                String classEndTime = coursePackage.getClassEndTime();
                String format = sdf1.format(one.getClassDate());
                String time = format.substring(format.indexOf(" ") + 1);
                String[] split = classStartTime.split(",");
                String[] split1 = classEndTime.split(",");
                int n = Arrays.asList(split).indexOf(time);
                if(n != split.length - 1){
                    calendar.setTime(one.getClassDate());
@@ -1544,72 +1581,84 @@
                    }
                }else{
                    calendar.setTime(one.getClassDate());
                    calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
                    calendar.set(Calendar.HOUR_OF_DAY, 0);
                    calendar.set(Calendar.MINUTE, 0);
                    calendar.set(Calendar.SECOND, 0);
                    int day_week1 = calendar.get(Calendar.DAY_OF_WEEK);
                    //先检测是否需要继续进行排课
                    Calendar calendar1 = Calendar.getInstance();
                    calendar1.setTime(one.getClassDate());
                    int day_week1 = calendar1.get(Calendar.DAY_OF_WEEK);
                    day_week1 = day_week1 - 1 == 0 ? 7 : day_week1 - 1;
                    int num = 8 - day_week1 + 7;
                    int week_of_month = calendar1.get(Calendar.WEEK_OF_MONTH);
                    //上课星期
                    String classWeeks = coursePackage.getClassWeeks();
                    List<Integer> week = week(classWeeks);
                    Calendar calendar2 = Calendar.getInstance();
                    calendar2.setTime(new Date());
                    int week_of_month1 = calendar2.get(Calendar.WEEK_OF_MONTH);
                    for (int i = 0; i < num; i++) {
                        Date time1 = calendar.getTime();
                        //判断当天是否在排课星期内
                        int day = calendar.get(Calendar.DAY_OF_WEEK);
                        day = day - 1 == 0 ? 7 : day - 1;
                        if (!week.contains(day)) {
                            calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
                            continue;
                        }
                        //大于有效期不进行排课
                        if (calendar.getTimeInMillis() >= validity.getTime()) {
                            break;
                        }
                        for (int j = 0; j < split.length; j++) {
                            //剩余数量不足以排课
                            if (laveClassHours.compareTo(codeTime) < 0) {
                                break;
                            }
                            laveClassHours -= codeTime;
                            CoursePackageScheduling packageScheduling = new CoursePackageScheduling();
                            packageScheduling.setType(coursePackage.getType());
                            packageScheduling.setAppUserId(coursePackageOrderStudent.getAppUserId());
                            packageScheduling.setStudentId(coursePackageOrderStudent.getStudentId());
                            packageScheduling.setCoursePackageId(coursePackage.getId());
                            try {
                                Date parse = sdf.parse(sdf1.format(time1) + " " + split[j]);
                                Date parse1 = sdf.parse(sdf1.format(time1) + " " + split1[j]);
                                packageScheduling.setClassDate(parse);
                                packageScheduling.setEndDate(parse1);
                            }catch (Exception e){
                                e.printStackTrace();
                            }
                            packageScheduling.setStatus(1);
                            coursePackageSchedulingService.save(packageScheduling);
                            CoursePackageStudent student1 = new CoursePackageStudent();
                            student1.setAppUserId(coursePackageOrderStudent.getAppUserId());
                            student1.setStudentId(coursePackageOrderStudent.getStudentId());
                            student1.setCoursePackageId(coursePackage.getId());
                            student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId());
                            student1.setCoursePackageSchedulingId(packageScheduling.getId());
                            student1.setSignInOrNot(1);
                            student1.setReservationStatus(1);
                            student1.setInsertTime(new Date());
                            coursePackageStudentMapper.insert(student1);
                        }
                        //增加日期,用于判断
                        calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
                    //最后一次的排课时间不在本周,且是一周的最后一天。(如果是本周则表明已经课时用完了)
                    if(week.get(week.size() - 1).equals(day_week1) && week_of_month != week_of_month1){
                        break;
                    }
                }
                calendar.setTime(one.getClassDate());
                calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
                calendar.set(Calendar.HOUR_OF_DAY, 0);
                calendar.set(Calendar.MINUTE, 0);
                calendar.set(Calendar.SECOND, 0);
            }
            int day_week = calendar.get(Calendar.DAY_OF_WEEK);
            day_week = day_week - 1 == 0 ? 7 : day_week - 1;
            int num = 8 - day_week + 7;
            for (int i = 0; i < num; i++) {
                Date time1 = calendar.getTime();
                //判断当天是否在排课星期内
                int day = calendar.get(Calendar.DAY_OF_WEEK);
                day = day - 1 == 0 ? 7 : day - 1;
                if (!week.contains(day)) {
                    calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
                    continue;
                }
                //大于有效期不进行排课
                if (calendar.getTimeInMillis() >= validity.getTime()) {
                    break;
                }
                for (int j = 0; j < split.length; j++) {
                    //剩余数量不足以排课
                    if (laveClassHours.compareTo(codeTime) < 0) {
                        break;
                    }
                    laveClassHours -= codeTime;
                    CoursePackageScheduling packageScheduling = new CoursePackageScheduling();
                    packageScheduling.setType(coursePackage.getType());
                    packageScheduling.setAppUserId(coursePackageOrderStudent.getAppUserId());
                    packageScheduling.setStudentId(coursePackageOrderStudent.getStudentId());
                    packageScheduling.setCoursePackageId(coursePackage.getId());
                    try {
                        Date parse = sdf.parse(sdf1.format(time1) + " " + split[j]);
                        Date parse1 = sdf.parse(sdf1.format(time1) + " " + split1[j]);
                        packageScheduling.setClassDate(parse);
                        packageScheduling.setEndDate(parse1);
                    }catch (Exception e){
                        e.printStackTrace();
                    }
                    packageScheduling.setStatus(1);
                    coursePackageSchedulingService.save(packageScheduling);
                    CoursePackageStudent student1 = new CoursePackageStudent();
                    student1.setAppUserId(coursePackageOrderStudent.getAppUserId());
                    student1.setStudentId(coursePackageOrderStudent.getStudentId());
                    student1.setCoursePackageId(coursePackage.getId());
                    student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId());
                    student1.setCoursePackageSchedulingId(packageScheduling.getId());
                    student1.setSignInOrNot(1);
                    student1.setReservationStatus(1);
                    student1.setInsertTime(new Date());
                    coursePackageStudentMapper.insert(student1);
                }
                //增加日期,用于判断
                calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
            }
        }
    }
cloud-server-course/src/main/resources/logback-spring.xml
@@ -7,7 +7,7 @@
    <contextName>logback</contextName>
    <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
    <property name="log.path" value="/Users/java/logs"/>
    <property name="log.path" value="/usr/playpai/server/logs"/>
    <!--0. 日志格式和颜色渲染 -->
    <!-- 彩色日志依赖的渲染类 -->
cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml
@@ -63,11 +63,11 @@
    </select>
    <select id="listAllRegister" resultType="com.dsh.course.model.RegisterOrderVO">
        select
        t1.id,t1.studentId,t1.payUserType,t1.payStatus,t1.payType,t1.originalPrice,t1.userCouponId,t1.payUserId,t1.giftClassHours,t1.appUserId,t1.cashPayment
        t1.id,t1.studentIds,t1.payUserType,t1.payStatus,t1.payType,t1.originalPrice,t1.userCouponId,t1.payUserId,t1.appUserId,t1.cashPayment
        as money,t1.playPaiCoin,
        t1.insertTime,
        CONCAT(t2.province,t2.city) as provinceAndCity,t2.coursePackageTypeId,t2.storeId,t2.name as coursePackageName
        from t_course_package_payment t1
        from t_course_package_order t1
        left join t_course_package t2 on t1.coursePackageId = t2.id
        <where>
            <if test="query.amount!=null and query.amount!= ''">
cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
@@ -191,48 +191,37 @@
        group by a.appUserId, a.studentId, a.coursePackageId
    </select>
    <select id="pacQueryDto" resultType="map">
        SELECT
        coursePackageId,
        SUM( cashPayment ) AS cashPayment,
        SUM( totalClassHours ) AS totalClassHours,
        SUM( totalClassHours - laveClassHours ) AS hasHours,
        ROUND( SUM(( totalClassHours - laveClassHours ) * ( cashPayment / totalClassHours )), 2 ) AS lavePay,
        cp.`name` ,
        cp.province,
        cp.city,
        cp.storeId,cp.cityCode,cp.provinceCode,py.insertTime
        FROM
        t_course_package_payment py
        LEFT JOIN t_course_package cp ON py.coursePackageId = cp.id
        <where>
            <if test="storeIds != null and storeIds.size()>0">
                AND cp.id IN
                <foreach collection="storeIds" separator="," item="id" open="(" close=")">
                    #{id}
        select
        id,
        name,
        province,
        city,
        storeId,
        count(1) as number
        from (
            select
            b.id,
            b.`name`,
            b.province,
            b.city,
            b.storeId
            from t_course_package_scheduling a
            left join t_course_package b on (a.coursePackageId = b.id)
            where a.`status` != 4 and b.status != 4 and b.auditStatus = 2 and b.state = 1
            <if test="null != storeIds and storeIds.size() > 0">
                and b.storeId in
                <foreach collection="storeIds" item="item" index="index" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
            <if test="null != start and '' != start and null != end and '' != end">
                py.insertTime between #{start} and #{end}
                and DATE_FORMAT(a.classDate, '%Y-%m-%d') between #{start} and #{end}
            </if>
            <if test="null != cityCode and '' != cityCode">
                and cityCode =#{cityCode}
            </if>
            <if test="null != provinceCode and '' != provinceCode">
                and provinceCode =#{provinceCode}
            </if>
            <if test="null != name and '' != name">
                and name like CONCAT('%', #{name}, '%')
                and b.name like CONCAT('%', #{name}, '%')
            </if>
        </where>
        GROUP BY
        coursePackageId
            order by classDate
        ) as aa group by aa.id, aa.name, aa.province, aa.city, aa.storeId
    </select>
    <select id="listOne" resultType="com.dsh.course.entity.TCoursePackagePayment">
cloud-server-course/src/main/resources/sharding-jdbc.properties
@@ -11,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
@@ -52,6 +52,7 @@
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.4.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
cloud-server-gateway/src/main/resources/logback-spring.xml
@@ -7,7 +7,7 @@
    <contextName>logback</contextName>
    <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
    <property name="log.path" value="/Users/java/logs"/>
    <property name="log.path" value="/usr/playpai/server/logs"/>
    <!--0. 日志格式和颜色渲染 -->
    <!-- 彩色日志依赖的渲染类 -->
cloud-server-management/pom.xml
@@ -261,6 +261,7 @@
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.4.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java
@@ -411,6 +411,9 @@
                        IncomeVO temp = new IncomeVO();
                        TAppUser tAppUser = appUserClient.queryById(competition.getAppUserId());
                        Competition competition1 = competitionClient.queryById(competition.getCompetitionId());
                        if(null == competition1){
                            continue;
                        }
                        if (!competition1.getStoreId().equals("")){
                            String[] split = competition1.getStoreId().split(",");
                            List<Integer> list = new ArrayList<>();
@@ -663,6 +666,9 @@
                    IncomeVO temp = new IncomeVO();
                    TAppUser tAppUser = appUserClient.queryById(competition.getAppUserId());
                    Competition competition1 = competitionClient.queryById(competition.getCompetitionId());
                    if(null == competition1){
                        continue;
                    }
                    if (!competition1.getStoreId().equals("")){
                        String[] split = competition1.getStoreId().split(",");
                        List<Integer> list = new ArrayList<>();
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
@@ -22,6 +22,7 @@
import com.dsh.course.service.TGameConfigService;
import com.dsh.guns.config.UserExt;
import com.dsh.guns.core.base.controller.BaseController;
import com.dsh.guns.core.util.ToolUtil;
import com.dsh.guns.modular.system.controller.util.MD5;
import com.dsh.guns.modular.system.model.*;
import com.dsh.guns.modular.system.model.dto.*;
@@ -899,19 +900,37 @@
    @RequestMapping("/bypac")
    @ResponseBody
    public List<Map<String, Object>>bypac(@RequestBody PacQueryDto pacQueryDto) {
        System.out.println("========ballQueryDto======"+pacQueryDto);
        if (pacQueryDto.getTimes()!=null&& pacQueryDto.getTimes()!=""){
            String[] split = pacQueryDto.getTimes().split(",");
            pacQueryDto.setStart(split[0]);
            pacQueryDto.setEnd(split[1]);
        }
        if (UserExt.getUser().getObjectType() == 2){
            List<Integer> storeIds = storeService.list(new QueryWrapper<TStore>().eq("operatorId", UserExt.getUser().getObjectId()))
            QueryWrapper<TStore> queryWrapper = new QueryWrapper<TStore>().eq("operatorId", UserExt.getUser().getObjectId()).eq("state", 1);
            if(ToolUtil.isNotEmpty(pacQueryDto.getCityCode())){
                queryWrapper.eq("cityCode", pacQueryDto.getCityCode());
            }
            if(ToolUtil.isNotEmpty(pacQueryDto.getName())){
                queryWrapper.like("name", pacQueryDto.getName());
            }
            List<Integer> storeIds = storeService.list(queryWrapper)
                    .stream().map(TStore::getId).collect(Collectors.toList());
            storeIds.add(-1);
            pacQueryDto.setStoreIds(storeIds);
        }else{
            QueryWrapper<TStore> queryWrapper = new QueryWrapper<TStore>().eq("state", 1);
            if(ToolUtil.isNotEmpty(pacQueryDto.getCityCode())){
                queryWrapper.eq("cityCode", pacQueryDto.getCityCode());
            }
            if(ToolUtil.isNotEmpty(pacQueryDto.getName())){
                queryWrapper.like("name", pacQueryDto.getName());
            }
            List<Integer> storeIds = storeService.list(queryWrapper)
                    .stream().map(TStore::getId).collect(Collectors.toList());
            storeIds.add(-1);
            pacQueryDto.setStoreIds(storeIds);
        }
        List<Map<String, Object>>  pays = coursePackageClient.bypac(pacQueryDto);
        System.out.println("=========getStudentTotal======="+pays);
        return pays;
    }
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/paike.html
@@ -62,7 +62,7 @@
                  "columns": [
                    {
                      "name": "studentName",
                      "label": "学院姓名",
                      "label": "学员姓名",
                      "type": "text",
                      "id": "u:631a38f8ab8f"
                    },
@@ -232,7 +232,7 @@
                  "perPageField": "",
                  "alwaysShowPagination": true,
                  "loadDataOnce": true,
                  "perPage": 5,
                  "perPage": 10,
                  "combineNum": 3
                }
              ],
cloud-server-other/pom.xml
@@ -113,6 +113,7 @@
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.4.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
@@ -121,7 +122,6 @@
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <repositories>
cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java
@@ -67,6 +67,9 @@
            List<SiteBooking> siteBookings = siteBookingMapper.selectList
                    (new LambdaQueryWrapper<SiteBooking>().eq(SiteBooking::getStatus, 1));
            for (SiteBooking siteBooking : siteBookings) {
                if(null == siteBooking.getEndTime()){
                    continue;
                }
                long time = siteBooking.getEndTime().getTime();
                if (System.currentTimeMillis() > time) {
                    siteBooking.setStatus(4);
@@ -87,6 +90,9 @@
            List<SiteBooking> siteBookings = siteBookingMapper.selectList(new LambdaQueryWrapper<SiteBooking>()
                    .eq(SiteBooking::getStatus, 1));
            for (SiteBooking siteBooking : siteBookings) {
                if(null == siteBooking.getEndTime()){
                    continue;
                }
                long time = siteBooking.getEndTime().getTime();
                if (System.currentTimeMillis() > time) {
                    siteBooking.setStatus(4);
cloud-server-other/src/main/resources/logback-spring.xml
@@ -7,7 +7,7 @@
    <contextName>logback</contextName>
    <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
    <property name="log.path" value="/Users/java/logs"/>
    <property name="log.path" value="/usr/playpai/server/logs"/>
    <!--0. 日志格式和颜色渲染 -->
    <!-- 彩色日志依赖的渲染类 -->