From e9085eb620dcae1ceae24bc8b70e1a6bca228b15 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期一, 27 十一月 2023 19:58:38 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai --- cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java | 4 - cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java | 10 +- cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml | 2 cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java | 9 + cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java | 25 +++--- cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 7 + cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 11 -- cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 7 + cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java | 2 cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java | 25 ++++-- cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml | 2 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 122 +++++++++++++----------------- 12 files changed, 105 insertions(+), 121 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java index 95d9604..f5619c9 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java +++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java @@ -143,9 +143,12 @@ if (null == appUserId) { return ResultUtil.tokenErr(); } - TAppGift one = appGiftService.getOne(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, appUserId)); - - return ResultUtil.success(one == null ? 0 : one.getNum()); + Integer num = 0; + List<TAppGift> list = appGiftService.list(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, appUserId)); + for (TAppGift tAppGift : list) { + num += tAppGift.getNum(); + } + return ResultUtil.success(num); } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java index 1467f9c..d3347a1 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java +++ b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java @@ -485,13 +485,9 @@ @ApiImplicitParam(value = "记录id", name = "detailsId", required = true, dataType = "string"), }) public ResultUtil<PointDetailsVo> redemptionDetails(Long detailsId) { -// try { PointDetailsVo pointDetailsVo = uicService.queryRedemptionDetails(detailsId); pointDetailsVo.getPics().remove(0); return ResultUtil.success(pointDetailsVo); -// }catch (Exception e){ -// return ResultUtil.runErr(); -// } } diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java index 87aa09e..dfc7229 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java @@ -1185,8 +1185,11 @@ ArrayList<String> list1 = new ArrayList<>(list11); list1.add(coursePackage.getCoverDrawing()); detailsVo.setPics(list1); - CoursePackagePaymentConfig coursePackagePaymentConfig = cpClient.queryConfigCoursePackData(pmdsServiceById.getCoursePackageConfigId()); - detailsVo.setClassHours(coursePackagePaymentConfig.getClassHours()); + detailsVo.setClassHours(0); + if(coursePackage.getType() != 3){ + CoursePackagePaymentConfig coursePackagePaymentConfig = cpClient.queryConfigCoursePackData(pmdsServiceById.getCoursePackageConfigId()); + detailsVo.setClassHours(coursePackagePaymentConfig.getClassHours()); + } Collections.sort(detailsVo.getPics(), (s1, s2) -> { if (s1.equals(coursePackage.getCoverDrawing())) { return -1; // s1排在前面 diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java index a920775..cb1398b 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java @@ -1,5 +1,6 @@ package com.dsh.activity.feignclient.course.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; @@ -52,6 +53,8 @@ * 最多预约人数 */ private Integer maxSubscribeNumber; + + private Integer codeTime; /** * 上课开始时间 */ @@ -81,25 +84,13 @@ */ private Integer sort; /** - * 支付方式(1=微信,2=支付宝,3=玩湃币,4=积分,5=积分+微信,6=积分+支付宝) + * 支付方式(1=现金,2=玩湃币) */ private Integer payType; /** * 有效天数 */ private Integer validDays; - /** - * 课后练习课程id - */ - private Integer courseId; - /** - * 课后练习视频介绍 - */ - private String introduce; - /** - * 完成课后练习获取积分 - */ - private Integer integral; /** * 课程状态(1=未开始,2=进行中,3=已结束,4=已取消) */ @@ -125,4 +116,12 @@ */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date insertTime; + private Integer type; + private Integer needNum; + + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date startTime; + + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date endTime; } diff --git a/cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml b/cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml index 0df05cb..90b4a32 100644 --- a/cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml +++ b/cloud-server-activity/src/main/resources/mapper/UserCouponMapper.xml @@ -13,7 +13,7 @@ DATE_FORMAT(b.endTime, '%Y-%m-%d') as endTime from t_user_coupon a left join t_coupon b on (a.couponId = b.id) - where a.`status` = 1 and b.type != 3 and a.userId = #{uid} and + where a.`status` = 1 and b.type != 3 and (now() between b.startTime and b.endTime) and a.userId = #{uid} and ( b.useScope = 1 or (b.useScope = 2 and b.id IN (SELECT couponId FROM t_coupon_city where provinceCode = #{provinceCode} and cityCode = #{cityCode}) ) or (b.useScope = 3 and b.id in (select couponId from t_coupon_store where storeId = #{storeId}))) 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 825445d..2097da1 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 @@ -647,11 +647,11 @@ Integer totalNu = 0; Integer dedutNu = 0; Integer remainNu = 0; - List<TCoursePackagePayment> byUserId = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() + List<CoursePackageOrderStudent> byUserId = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>() .eq("appUserId", getStuOfCoursesDetails.getAppUserId()) .eq("studentId", getStuOfCoursesDetails.getStuId())); if (byUserId.size() > 0) { - for (TCoursePackagePayment tCoursePackagePayment : byUserId) { + for (CoursePackageOrderStudent tCoursePackagePayment : byUserId) { totalNu = totalNu + tCoursePackagePayment.getTotalClassHours(); dedutNu = dedutNu + tCoursePackagePayment.getLaveClassHours(); remainNu = remainNu + (tCoursePackagePayment.getTotalClassHours() - tCoursePackagePayment.getLaveClassHours()); @@ -2279,13 +2279,14 @@ } //排课的ids List<Long> collect2 = list3.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList()); - if (collect2.isEmpty()) { + if (collect2.isEmpty()){ collect2.add(-1l); } List<CoursePackageStudent> list4 = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>() .eq(CoursePackageStudent::getAppUserId, courseDetailReq.getAppUserId()) + .eq(CoursePackageStudent::getStudentId, courseDetailReq.getStuId()) .eq(CoursePackageStudent::getCoursePackageId, tCoursePackage.getId()) .in(CoursePackageStudent::getCoursePackageSchedulingId, collect2) ); 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 f3ad740..3cdcbf9 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 @@ -110,7 +110,7 @@ //获取学员课时数信息 @RequestMapping("/getInfo") @ResponseBody - public StudentClassInfo list(@RequestParam("tStudentId") Integer tStudentId) { + public StudentClassInfo list(@RequestParam("tStudentId") Integer tStudentId){ // System.out.println("------------>"+tStudentId); diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java index c4a56a5..a6ca198 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java @@ -25,6 +25,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; /** * @author zhibing.pu @@ -60,21 +61,28 @@ .eq("status", 1) .orderByDesc("insertTime")); - List<Integer> ids = new ArrayList<>(); - for (CoursePackageOrderStudent tCoursePackagePayment : tCoursePackagePayments) { - ids.add(tCoursePackagePayment.getCoursePackageId()); - } + + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 23, 59, 59); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + List<CoursePackageScheduling> list = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>() + .eq("appUserId", appUserId) + .eq("studentId", stuId) +// .lt("classDate", sdf.format(calendar.getTime())) + .orderByAsc("classDate") + ); + List<Long> ids = list.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList()); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd"); SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm"); - if (tCoursePackagePayments.size() > 0) { + if (list.size() > 0) { // int pageNum = 1; // 页码 int pageSize = 10; // 每页记录数 Page<CoursePackageStudent> page = new Page<>(pageNum, pageSize); IPage<CoursePackageStudent> coursePackageStudentPage = cpsMapper.selectPage(page, new QueryWrapper<CoursePackageStudent>() - .in("coursePackageId", ids) - .eq("studentId", stuId) - .eq("appUserId", appUserId) + .in("coursePackageSchedulingId", ids) .eq("reservationStatus", 1)); List<CoursePackageStudent> coursePackageStudent1 = coursePackageStudentPage.getRecords(); @@ -111,7 +119,6 @@ if (byId == null) { continue; } - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString1 = sdf.format(byId.getClassDate()); String dateString2 = sdf.format(byId.getEndDate()); 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 b057995..624cee3 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 @@ -515,16 +515,7 @@ public CourseDetailsResponse queryRegisteredCourseDetails(Long coursePayId, Integer appUserId, String lon, String lat) { AppUser appUser = appuClient.queryAppUser(appUserId); CourseDetailsResponse response = new CourseDetailsResponse(); - CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(coursePayId); - CoursePackageOrder coursePackageOrder = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>() - .eq("appUserId", coursePackageOrderStudent.getAppUserId()) - .eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId()) - .eq("payStatus", 2) - .eq("state", 1) - .like("studentIds", coursePackageOrderStudent.getStudentId()) - .orderByDesc("insertTime") - .last(" limit 0, 1") - ); + CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(coursePayId); response.setChooseHours(coursePackageOrder.getClassHours()); 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 f8e2778..3226306 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 @@ -1,19 +1,10 @@ package com.dsh.course.service.impl; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.alipay.api.AlipayApiException; -import com.alipay.api.AlipayClient; -import com.alipay.api.DefaultAlipayClient; -import com.alipay.api.domain.*; -import com.alipay.api.request.AlipayTradeOrderSettleRequest; -import com.alipay.api.request.AlipayTradeRoyaltyRelationBindRequest; -import com.alipay.api.response.AlipayTradeOrderSettleResponse; import com.alipay.api.response.AlipayTradeQueryResponse; -import com.alipay.api.response.AlipayTradeRoyaltyRelationBindResponse; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -22,7 +13,6 @@ import com.dsh.course.feignclient.account.StudentClient; import com.dsh.course.feignclient.account.model.AppUser; import com.dsh.course.feignclient.account.model.Student; -import com.dsh.course.feignclient.account.model.TCourseInfoRecord; import com.dsh.course.feignclient.activity.CouponClient; import com.dsh.course.feignclient.activity.UserCouponClient; import com.dsh.course.feignclient.activity.model.Coupon; @@ -36,7 +26,6 @@ import com.dsh.course.model.*; import com.dsh.course.service.*; import com.dsh.course.util.*; -import io.vertx.core.json.Json; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -105,15 +94,6 @@ @Autowired private ICoursePackageOrderStudentService coursePackageOrderStudentService; - - - private String aliAppid = "2021004105665036";//支付宝appid - - private String appPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCi5i9nW/hGLJ3A06cZxTQdviFC7THpdSihoTYGLr9q006hu0V26ecBMY/o4w5bvIX0Ok/yofmZsVcCJpAPvbXL/uqVrIjnRRxXiaeBFThlxoBUTdunvbUSDYfzlEhJr5NvUKI6H6lz2niXlQGx4qy8Hau4ccWit9kM8jwUvsBVQoFgJA+xrjMvooA7YLopQtpOD+UJr5thApTSf1xrnr1W12yolTLEH15JmNV372cqXrYUuqnY0QsaPtxeqJUGAOcGdVLllQ7easEznP8DFBvDdHATcmp2SHNQDUEWN6MCVPbMgY06NQVqAXxqjTAYSVh+6TRu6bofPmpYC3TZB003AgMBAAECggEBAJAcR2+PA3NBYUYHeFrqBRMS8uX8ZR19kjZ7IgoSLTFaQsP9opRylPSPXhrPVBKAE5leRQAHn4MCSlESwHvMfxo7KFjFTFAc6dffZZpipYQUOc9bGampwJh58/3e/pyBgVMG6J23CPf/HJQtNFSkjd/V9+ayb/9l2dUEL3bC0fAZ/dbx8HsxdLw8wn3fLlWLj68hOMqa2deCZe3JdSVsPbeWqkh56FFsMLug0Nd+Ar4TgRl9/jnhXF0JWiD0LmPUYLhboY7EfUBzN4w1iYbDi1P+3zvoOYsiVKAXox9GMhQ2VzOO2UcSTuizSza2e98mGpabl/GpKmCz+RDFjtkX6eECgYEA2MyCij65eO3aGIm3FUe93DULRBYTfX8qJQSJq2WOWA3mmQlEW6L3O2B5/lG2h+8WmN6iLEs9eHpgycGYp7vAqgrANEn16ACVcuyx0scFtrZfZ+kmHMzFfiUWxJjVYk/6YngsGVBLdw6ueM42C8TTP67X9tU5TdVGoGWuqEj4W98CgYEAwFqwprXOch5Pqk/RPbb49r0Ou03K/UbciWnWWKzUhFFNS8MdlQPoDvQZbMwHLeWsa2VhaKITK3x5biLQb3U+0GLOn6lTvEyrEUH+ucREyLgVYTRAvwBPtnvlrzpyxPk2HnslQjju8WrvvLLBMKWUjlTrTOzhaHT21gz3pHMiOakCgYEAhLmfaXdBITGshb054sNLDtdCkGpbgEcrzAHdLps769iGxkYQHXHFngpQZUwtTUcoNGqIKknd1jZFrv7gsD+XkgKG7PwimehRlkwmCX5ilxtLiVgJRzRt6+5U5AMVD90a0tHzXYP0z2yjj73fBJF5KtGl0a10KZxaYrQdm1UhB00CgYBZZgzx/k9rtHC8LAqIj1CYhHejT92G53c6Gkl3vyOqN4sgKhfGmSEySfrDGPRBPZxr8ZtbIPCd5mUdberH0osWGMYFaJI1UsCy7aQwvGpniz7MhZeN7dweaOjwDs8mgtjHQ96mL4XGCDhR0BZ/wIURvZ/6iaGdhbbu9unlsWj3uQKBgQCmZYdsbbZkd3ev6f8rwyvMz+DrCQyYpY44cegBYuJgrZiQnL2fJioeN7ixX0UM48SfwsZEIrzshP/LGAwnc2MdjxKUl4jLN8SEe0NAjXOnz9Zaw740+aOmLpXcLWdP4uM2gIhWsvW1tEkQZCXmm7c9s/RsU8Pmzv+YL3+fSijOzA==";//支付宝开发者应用私钥 - - private String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAouYvZ1v4RiydwNOnGcU0Hb4hQu0x6XUooaE2Bi6/atNOobtFdunnATGP6OMOW7yF9DpP8qH5mbFXAiaQD721y/7qlayI50UcV4mngRU4ZcaAVE3bp721Eg2H85RISa+Tb1CiOh+pc9p4l5UBseKsvB2ruHHForfZDPI8FL7AVUKBYCQPsa4zL6KAO2C6KULaTg/lCa+bYQKU0n9ca569VtdsqJUyxB9eSZjVd+9nKl62FLqp2NELGj7cXqiVBgDnBnVS5ZUO3mrBM5z/AxQbw3RwE3JqdkhzUA1BFjejAlT2zIGNOjUFagF8ao0wGElYfuk0bum6Hz5qWAt02QdNNwIDAQAB";//支付宝应用公钥 - - private String alipay_public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmu8n/4yTHWbn7VOrNc9OsLtDL1bEQ8gC1dHkj8Wy5z0mkaOsjJRIG/28ze12M0V8jdCKuuDr5Z1OPKiqf+XO3ypguEh+mYUVMBM/cZodDFQfTY1TKLWjvQCuaqlA+QUTCK6f7T7stsgyQ1o9Jj0rXZDz6PM4QHSTzjrLIBaeqM5WIBvH+fy/X+QG5Utd+/UT0kc0JyvuKhZ65yVUd/C9VcwJJAPliRsAQNrqYterwAJ9zvw9tF11wj9W0XgJ8Ccu4x3gR1vrlLRJJo/OA97RmxPQ+5hSacWQZCUd1dwiBq+YCrKVHGTj14izRHXrLc0yBlRXo7tBOIqcy3IsvKVthQIDAQAB";//支付宝支付公钥 @Autowired private ICoursePackageOrderService coursePackageOrderService; @@ -831,7 +811,8 @@ //校验是否已经报满 Integer integer = coursePackagePaymentService.queryCountNumber(paymentCourseVo.getId()); TCoursePackage course = coursePackageService.getById(paymentCourseVo.getId()); - if (course.getType() != 3) { + if (course.getType() == 1) { + if (integer + paymentCourseVo.getStudentIds().split(";").length > course.getMaxSubscribeNumber()) { return ResultUtil.error("报名失败,已达最大报名人数"); } @@ -1191,53 +1172,57 @@ TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrder.getCoursePackageId()); String[] split = coursePackageOrder.getStudentIds().split(";"); for (String id : split) { - CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", id) - .eq("coursePackageId", coursePackageOrder.getCoursePackageId()).eq("status", 1).eq("state", 1)); - if (null == coursePackageOrderStudent) { - coursePackageOrderStudent = new CoursePackageOrderStudent(); - coursePackageOrderStudent.setAppUserId(coursePackageOrder.getAppUserId()); - coursePackageOrderStudent.setStudentId(Integer.valueOf(id)); - coursePackageOrderStudent.setCoursePackageId(coursePackageOrder.getCoursePackageId()); - coursePackageOrderStudent.setTotalClassHours(coursePackagePaymentConfig.getClassHours()); - coursePackageOrderStudent.setLaveClassHours(coursePackagePaymentConfig.getClassHours()); - coursePackageOrderStudent.setAbsencesNumber(0); - coursePackageOrderStudent.setStatus(1); - coursePackageOrderStudent.setState(1); - coursePackageOrderStudent.setInsertTime(new Date()); - coursePackageOrderStudent.setGiftClassHours(0); + if(coursePackage.getType() == 1){ + CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", id) + .eq("coursePackageId", coursePackageOrder.getCoursePackageId()).eq("status", 1).eq("state", 1)); + if (null == coursePackageOrderStudent) { + coursePackageOrderStudent = new CoursePackageOrderStudent(); + coursePackageOrderStudent.setAppUserId(coursePackageOrder.getAppUserId()); + coursePackageOrderStudent.setStudentId(Integer.valueOf(id)); + coursePackageOrderStudent.setCoursePackageId(coursePackageOrder.getCoursePackageId()); + coursePackageOrderStudent.setTotalClassHours(coursePackagePaymentConfig.getClassHours()); + coursePackageOrderStudent.setLaveClassHours(coursePackagePaymentConfig.getClassHours()); + coursePackageOrderStudent.setAbsencesNumber(0); + coursePackageOrderStudent.setStatus(1); + coursePackageOrderStudent.setState(1); + coursePackageOrderStudent.setInsertTime(new Date()); + coursePackageOrderStudent.setGiftClassHours(0); - Integer validDays = coursePackage.getValidDays(); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(new Date()); - calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays); - coursePackageOrderStudent.setUseTime(calendar.getTime()); - coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent); + Integer validDays = coursePackage.getValidDays(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays); + coursePackageOrderStudent.setUseTime(calendar.getTime()); + coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent); - //开始排课 - addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent); - } else { - Date useTime = coursePackageOrderStudent.getUseTime(); - coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + coursePackagePaymentConfig.getClassHours()); - coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() + coursePackagePaymentConfig.getClassHours()); - Integer validDays = coursePackage.getValidDays(); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(useTime.compareTo(new Date()) < 0 ? new Date() : useTime); - calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays); - coursePackageOrderStudent.setUseTime(calendar.getTime()); - coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent); - //中间断课,没有连续续费的情况需要重新排课 - if (useTime.compareTo(new Date()) < 0) { + //开始排课 addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent); + } else { + Date useTime = coursePackageOrderStudent.getUseTime(); + coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + coursePackagePaymentConfig.getClassHours()); + coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() + coursePackagePaymentConfig.getClassHours()); + Integer validDays = coursePackage.getValidDays(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(useTime.compareTo(new Date()) < 0 ? new Date() : useTime); + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays); + coursePackageOrderStudent.setUseTime(calendar.getTime()); + coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent); + //中间断课,没有连续续费的情况需要重新排课 + if (useTime.compareTo(new Date()) < 0) { + addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), coursePackageOrderStudent); + } } + CourseCounsum courseCounsum = new CourseCounsum(); + courseCounsum.setPaymentId(coursePackageOrderStudent.getId()); + courseCounsum.setChangeType(1); + courseCounsum.setNum(coursePackagePaymentConfig.getClassHours()); + courseCounsum.setInsertTime(new Date()); + courseCounsum.setReason("购买课包"); + courseCounsumService.save(courseCounsum); } - - CourseCounsum courseCounsum = new CourseCounsum(); - courseCounsum.setPaymentId(coursePackageOrderStudent.getId()); - courseCounsum.setChangeType(1); - courseCounsum.setNum(coursePackagePaymentConfig.getClassHours()); - courseCounsum.setInsertTime(new Date()); - courseCounsum.setReason("购买课包"); - courseCounsumService.save(courseCounsum); + if(coursePackage.getType() == 2){ + addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), null); + } } } @@ -1261,6 +1246,7 @@ String[] split1 = tCoursePackage.getClassEndTime().split(","); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + //剩余课时 Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours(); @@ -1345,10 +1331,8 @@ Calendar calendar = Calendar.getInstance(); //假期开始使用当前时间为起始时间进行排课 calendar.setTime(startTime.getTime() > System.currentTimeMillis() ? startTime : new Date()); - 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++) { + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + while (true) { Date time = calendar.getTime(); //判断当天是否在排课星期内 @@ -1360,7 +1344,7 @@ } //大于有效期不进行排课 - if (calendar.getTimeInMillis() >= endTime.getTime()) { + if (calendar.getTimeInMillis() > endTime.getTime()) { break; } for (int j = 0; j < split.length; j++) { @@ -1379,7 +1363,7 @@ student1.setAppUserId(userId); student1.setStudentId(sId); student1.setCoursePackageId(tCoursePackage.getId()); - student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId()); + student1.setCoursePackagePaymentId(null); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); diff --git a/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml b/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml index b18cee6..dba0115 100644 --- a/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml +++ b/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml @@ -43,7 +43,7 @@ SUM( py.laveClassHours ) AS restHours, SUM( py.giftClassHours ) as giftHours FROM - t_course_package_payment py + t_course_package_order_student py where py.studentId = #{tStudentId} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java index bcd5212..5d58749 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java @@ -408,9 +408,9 @@ @Override public ResultUtil cancelReservation(Long id) { CoursePackageStudent coursePackageStudent = coursePackageStudentClient.queryCoursePackageStudentById(id); - if(coursePackageStudent.getSignInOrNot() == 1){ - return ResultUtil.error("当前学员已到课不能请假"); - } +// if(coursePackageStudent.getSignInOrNot() == 1){ +// return ResultUtil.error("当前学员已到课不能请假"); +// } // TCoursePackagePayment payment = coursePackagePaymentClient.queryCoursePackagePaymentById(coursePackageStudent.getCoursePackagePaymentId()); // payment.setAbsencesNumber(payment.getAbsencesNumber()+1); // coursePackagePaymentClient.editCoursePackagePayment(payment); @@ -418,8 +418,8 @@ coursePackageStudent = new CoursePackageStudent(); coursePackageStudent.setId(id); - coursePackageStudent.setReservationStatus(0); - +// coursePackageStudent.setReservationStatus(0); + coursePackageStudent.setSignInOrNot(2); coursePackageStudent.getCoursePackagePaymentId(); -- Gitblit v1.7.1