From e825aefcd7285facc06fcb5bf69cdd5afc402b2d Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 08 十二月 2023 16:58:02 +0800 Subject: [PATCH] 11.27,9 --- cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml | 4 cloud-server-other/src/main/resources/logback-spring.xml | 2 cloud-server-course/pom.xml | 1 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 9 cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml | 61 ++--- cloud-server-activity/src/main/resources/logback-spring.xml | 4 cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java | 14 - cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java | 6 cloud-server-other/pom.xml | 2 cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java | 4 cloud-server-activity/pom.xml | 1 cloud-server-account/src/main/resources/sharding-jdbc.properties | 13 + cloud-server-management/pom.xml | 1 cloud-server-account/src/main/resources/logback-spring.xml | 2 cloud-server-activity/src/main/resources/sharding-jdbc.properties | 13 + cloud-server-course/src/main/resources/sharding-jdbc.properties | 13 + cloud-server-competition/src/main/resources/sharding-jdbc.properties | 13 + cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java | 6 cloud-server-competition/pom.xml | 1 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 189 ++++++++++------ cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java | 3 cloud-server-gateway/pom.xml | 1 cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/paike.html | 4 cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java | 1 cloud-server-account/pom.xml | 1 cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java | 7 cloud-server-course/src/main/resources/logback-spring.xml | 2 cloud-server-account/src/main/java/com/dsh/account/model/dto/Coupon.java | 2 cloud-server-gateway/src/main/resources/logback-spring.xml | 2 cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java | 2 cloud-server-competition/src/main/resources/logback-spring.xml | 2 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 205 +++++++----------- cloud-server-auth/pom.xml | 1 cloud-server-auth/src/main/resources/logback-spring.xml | 2 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java | 25 ++ cloud-server-course/src/main/java/com/dsh/course/model/RegisterOrderVO.java | 2 36 files changed, 348 insertions(+), 273 deletions(-) diff --git a/cloud-server-account/pom.xml b/cloud-server-account/pom.xml index 50581f7..1fe293d 100644 --- a/cloud-server-account/pom.xml +++ b/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> diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/dto/Coupon.java b/cloud-server-account/src/main/java/com/dsh/account/model/dto/Coupon.java index 81fecae..2fae339 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/model/dto/Coupon.java +++ b/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; /** * 封面图 diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java b/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java index 1133e92..0f8df47 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java +++ b/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";//应用公钥证书路径 diff --git a/cloud-server-account/src/main/resources/logback-spring.xml b/cloud-server-account/src/main/resources/logback-spring.xml index dd3f878..eb725a2 100644 --- a/cloud-server-account/src/main/resources/logback-spring.xml +++ b/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. 日志格式和颜色渲染 --> <!-- 彩色日志依赖的渲染类 --> diff --git a/cloud-server-account/src/main/resources/sharding-jdbc.properties b/cloud-server-account/src/main/resources/sharding-jdbc.properties index 8b2c49d..5542eb0 100644 --- a/cloud-server-account/src/main/resources/sharding-jdbc.properties +++ b/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 + + + diff --git a/cloud-server-activity/pom.xml b/cloud-server-activity/pom.xml index f09891d..f9a0ec0 100644 --- a/cloud-server-activity/pom.xml +++ b/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> diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java index 12d5793..a9096e4 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java +++ b/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支付宝) diff --git a/cloud-server-activity/src/main/resources/logback-spring.xml b/cloud-server-activity/src/main/resources/logback-spring.xml index dd3f878..37d854d 100644 --- a/cloud-server-activity/src/main/resources/logback-spring.xml +++ b/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> diff --git a/cloud-server-activity/src/main/resources/sharding-jdbc.properties b/cloud-server-activity/src/main/resources/sharding-jdbc.properties index d0f2143..a8273e2 100644 --- a/cloud-server-activity/src/main/resources/sharding-jdbc.properties +++ b/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 + + + diff --git a/cloud-server-auth/pom.xml b/cloud-server-auth/pom.xml index d627d86..057d696 100644 --- a/cloud-server-auth/pom.xml +++ b/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> diff --git a/cloud-server-auth/src/main/resources/logback-spring.xml b/cloud-server-auth/src/main/resources/logback-spring.xml index b13e9b3..4ad3892 100644 --- a/cloud-server-auth/src/main/resources/logback-spring.xml +++ b/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. 日志格式和颜色渲染 --> <!-- 彩色日志依赖的渲染类 --> diff --git a/cloud-server-competition/pom.xml b/cloud-server-competition/pom.xml index 1bdab18..81dc2e7 100644 --- a/cloud-server-competition/pom.xml +++ b/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> diff --git a/cloud-server-competition/src/main/resources/logback-spring.xml b/cloud-server-competition/src/main/resources/logback-spring.xml index dd3f878..eb725a2 100644 --- a/cloud-server-competition/src/main/resources/logback-spring.xml +++ b/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. 日志格式和颜色渲染 --> <!-- 彩色日志依赖的渲染类 --> diff --git a/cloud-server-competition/src/main/resources/sharding-jdbc.properties b/cloud-server-competition/src/main/resources/sharding-jdbc.properties index 59b5d2e..2346d3e 100644 --- a/cloud-server-competition/src/main/resources/sharding-jdbc.properties +++ b/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 + + + diff --git a/cloud-server-course/pom.xml b/cloud-server-course/pom.xml index 5b0d712..46b3c21 100644 --- a/cloud-server-course/pom.xml +++ b/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> diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java index 0f9a839..bbf7b1d 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java +++ b/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()); } diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java index 565114e..387fc1d 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java +++ b/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); diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java index 4d355e3..4e064b4 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java +++ b/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); diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java index b0faf43..1d3a63f 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java +++ b/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); diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/RegisterOrderVO.java b/cloud-server-course/src/main/java/com/dsh/course/model/RegisterOrderVO.java index b30bdee..3de0fba 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/model/RegisterOrderVO.java +++ b/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; diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java index 42a3aad..61331ad 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java +++ b/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++) { diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java index 25b9b3e..6ba5f76 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java +++ b/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; } diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java index e148d1e..899fbcf 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java +++ b/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); } } } diff --git a/cloud-server-course/src/main/resources/logback-spring.xml b/cloud-server-course/src/main/resources/logback-spring.xml index dd3f878..eb725a2 100644 --- a/cloud-server-course/src/main/resources/logback-spring.xml +++ b/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. 日志格式和颜色渲染 --> <!-- 彩色日志依赖的渲染类 --> diff --git a/cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml b/cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml index d5b02bd..51e74da 100644 --- a/cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml +++ b/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!= ''"> diff --git a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml index 1024ba2..3b96861 100644 --- a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml +++ b/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"> diff --git a/cloud-server-course/src/main/resources/sharding-jdbc.properties b/cloud-server-course/src/main/resources/sharding-jdbc.properties index 73a7a9a..d34043a 100644 --- a/cloud-server-course/src/main/resources/sharding-jdbc.properties +++ b/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 + + + diff --git a/cloud-server-gateway/pom.xml b/cloud-server-gateway/pom.xml index 1d58e08..65e4004 100644 --- a/cloud-server-gateway/pom.xml +++ b/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> diff --git a/cloud-server-gateway/src/main/resources/logback-spring.xml b/cloud-server-gateway/src/main/resources/logback-spring.xml index e98de73..a7d03bc 100644 --- a/cloud-server-gateway/src/main/resources/logback-spring.xml +++ b/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. 日志格式和颜色渲染 --> <!-- 彩色日志依赖的渲染类 --> diff --git a/cloud-server-management/pom.xml b/cloud-server-management/pom.xml index 1da1675..1446650 100644 --- a/cloud-server-management/pom.xml +++ b/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> diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java index ba075d2..98ae1de 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java +++ b/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<>(); diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java index 9fcfc58..0789e41 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java +++ b/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; } diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/paike.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/paike.html index 0be472f..f1d659e 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/paike.html +++ b/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 } ], diff --git a/cloud-server-other/pom.xml b/cloud-server-other/pom.xml index 0e4e55e..a0a4e2b 100644 --- a/cloud-server-other/pom.xml +++ b/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> diff --git a/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java b/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java index e05a3f2..426dcd2 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java +++ b/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); diff --git a/cloud-server-other/src/main/resources/logback-spring.xml b/cloud-server-other/src/main/resources/logback-spring.xml index dd3f878..eb725a2 100644 --- a/cloud-server-other/src/main/resources/logback-spring.xml +++ b/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. 日志格式和颜色渲染 --> <!-- 彩色日志依赖的渲染类 --> -- Gitblit v1.7.1