From aa925d851857f50eff0556411366690d9a78a0e5 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期一, 27 十一月 2023 17:30:26 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai --- cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 1587 +++++++++++++++++++++++++++++++--------------------------- 1 files changed, 851 insertions(+), 736 deletions(-) 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 3c66c3b..5e6438c 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 @@ -1,11 +1,8 @@ package com.dsh.course.controller; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.entity.*; import com.dsh.course.entity.TAppUser; @@ -15,12 +12,11 @@ import com.dsh.course.feignclient.account.model.Student; import com.dsh.course.feignclient.account.model.TCourseInfoRecord; import com.dsh.course.feignclient.account.model.TStudent; -import com.dsh.course.feignclient.activity.CouponClient; -import com.dsh.course.feignclient.activity.model.Coupon; import com.dsh.course.feignclient.model.*; import com.dsh.course.feignclient.other.StoreClient; import com.dsh.course.feignclient.other.model.Store; import com.dsh.course.mapper.CoursePackageSchedulingMapper; +import com.dsh.course.mapper.TCoursePackageMapper; import com.dsh.course.model.*; import com.dsh.course.model.dto.DiscountJsonDto; import com.dsh.course.model.vo.CourseDetailRequest; @@ -35,16 +31,10 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; -import net.bytebuddy.asm.Advice; -import org.aspectj.weaver.ast.Var; -import io.swagger.models.auth.In; -import org.checkerframework.checker.units.qual.C; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import org.springframework.web.client.RestTemplate; @@ -65,12 +55,13 @@ @RestController @RequestMapping("") public class CoursePackagePaymentController { - private Logger logger = LoggerFactory.getLogger("business-log"); - @Autowired private TCoursePackagePaymentService packagePaymentService; + + @Autowired + private ICoursePackageOrderService coursePackageOrderService; @Autowired private TCoursePackageService tcpService; @@ -103,31 +94,33 @@ @Resource private CoursePackageStudentService cspsService; - @Autowired private PayMoneyUtil payMoneyUtil; + @Resource private AppUserClient auClitn; @Resource private StoreClient sreClient; - @Autowired + @Resource private AppUserClient appUserClient; @Autowired private RestTemplate internalRestTemplate; - @Autowired - private CouponClient couponClient; - @Autowired + + @Resource private StoreClient storeClient; + @Autowired private TCoursePackageDiscountService discountService; @Resource private CoursePackageSchedulingMapper coursePackageSchedulingMapper; + @Autowired private ICoursePackageSchedulingService coursePackageSchedulingService; + @Autowired private CoursePackageStudentService coursePackageStudentService; @Autowired @@ -135,17 +128,24 @@ private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm"); + + + @Autowired + private ICoursePackageOrderStudentService coursePackageOrderStudentService; + + /** * 查询学员入学时间 根据第一次购买课包的时间 + * * @return */ @RequestMapping("/base/coursePackagePayment/getTime") - public String getTime(@RequestBody Integer studentId){ + public String getTime(@RequestBody Integer studentId) { List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() .eq("studentId", studentId) .orderByDesc("insertTime") .last("LIMIT 1")); - if (list.size()>0){ + if (list.size() > 0) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date insertTime = list.get(0).getInsertTime(); String format1 = format.format(list.get(0).getInsertTime()); @@ -153,13 +153,14 @@ } return ""; } + /** * 添加购课记录-后台 + * * @return */ @RequestMapping("/base/coursePackagePayment/add") - public Object addCoursePackagePayment(@RequestBody TCoursePackagePayment packagePayment){ - + public Object addCoursePackagePayment(@RequestBody TCoursePackagePayment packagePayment) { packagePayment.setInsertTime(new Date()); packagePayment.setInsertTime(new Date()); Integer studentId = packagePayment.getStudentId(); @@ -169,22 +170,22 @@ .orderByDesc("insertTime") .last("LIMIT 1")); - if (one!=null){ + if (one != null) { Integer totalClassHours = one.getTotalClassHours(); Integer absencesNumber = one.getAbsencesNumber(); // 没有过期 - if (one.getUseTime().after(new Date())){ - if (one.getLaveClassHours()-packagePayment.getClassHours()<0){ + if (one.getUseTime().after(new Date())) { + if (one.getLaveClassHours() - packagePayment.getClassHours() < 0) { return 5002; } packagePayment.setTotalClassHours(one.getTotalClassHours()); - packagePayment.setLaveClassHours(one.getLaveClassHours()-packagePayment.getClassHours()); + packagePayment.setLaveClassHours(one.getLaveClassHours() - packagePayment.getClassHours()); packagePayment.setAbsencesNumber(one.getAbsencesNumber()); } packagePayment.setTotalClassHours(packagePayment.getClassHours()); packagePayment.setLaveClassHours(packagePayment.getClassHours()); packagePayment.setAbsencesNumber(one.getAbsencesNumber()); - }else{ + } else { packagePayment.setTotalClassHours(packagePayment.getClassHours()); packagePayment.setLaveClassHours(packagePayment.getClassHours()); packagePayment.setAbsencesNumber(0); @@ -203,13 +204,13 @@ String[] star = value.split(","); String[] end = value1.split(","); for (int i = 0; i < star.length; i++) { - // int index = star[i].indexOf(","); - // String result = value.substring(0, index).trim(); + // int index = star[i].indexOf(","); + // String result = value.substring(0, index).trim(); String classStartTime = star[i]; String[] split = classStartTime.split(":"); - // String value1 = en; + // String value1 = en; int index1 = value1.indexOf(","); - // String result1 = value.substring(0, index1).trim(); + // String result1 = value.substring(0, index1).trim(); String classEndTime = end[i]; String[] split1 = classEndTime.split(":"); Calendar s = Calendar.getInstance(); @@ -224,10 +225,10 @@ e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 14); long timeInMillis = e.getTimeInMillis(); - while (true){ + while (true) { int w = s.get(Calendar.DAY_OF_WEEK); WeekEnum weekEnum = WeekEnum.getWeekEnum(w); - if(list.contains(weekEnum.getChineseName())){ + if (list.contains(weekEnum.getChineseName())) { Calendar classDate = Calendar.getInstance(); classDate.setTime(s.getTime()); classDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0])); @@ -252,13 +253,13 @@ .eq("coursePackageId", coursePackage.getId()) .eq("classDate", classDate.getTime()) .eq("endDate", endDate.getTime())); - if (list1.size()+1>coursePackage.getMaxSubscribeNumber()){ + if (list1.size() + 1 > coursePackage.getMaxSubscribeNumber()) { // 当前课包预约人数已满 return 5001; } } s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1); - if(s.getTimeInMillis() > timeInMillis){ + if (s.getTimeInMillis() > timeInMillis) { break; } } @@ -280,33 +281,37 @@ return coursePackageStudentService.save(coursePackageStudent); } + /** * 手动支付 + * * @return */ @RequestMapping("/base/coursePackagePayment/changeState") - public Object changeState(@RequestBody CoursePackagePayDTO dto){ + public Object changeState(@RequestBody CoursePackagePayDTO dto) { return packagePaymentService.changeState(dto); } + @GetMapping("/coursePackagePayment/courseStore/{appUserId}/{coursePackageId}") - public List<TCoursePackagePayment> getByUserIdAndCoursePackageId(@PathVariable("appUserId") Integer appUserId,@PathVariable("coursePackageId") Integer coursePackageId){ + public List<TCoursePackagePayment> getByUserIdAndCoursePackageId(@PathVariable("appUserId") Integer appUserId, @PathVariable("coursePackageId") Integer coursePackageId) { List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() .eq("appUserId", appUserId) .eq("coursePackageId", coursePackageId)); return list; } + /** * 获取购课记录 */ @ResponseBody @RequestMapping("/coursePackagePayment/listAll") - public List<CoursePackagePaymentVO> listAll(@RequestBody CoursePackagePaymentQuery query){ + public List<CoursePackagePaymentVO> listAll(@RequestBody CoursePackagePaymentQuery query) { List<CoursePackagePaymentVO> res = packagePaymentService.listAll(query); List<CoursePackagePaymentVO> result = new ArrayList<>(); for (CoursePackagePaymentVO re : res) { - if (re.getCashPayment()==null){ - if (re.getPlayPaiCoin()!=null){ + if (re.getCashPayment() == null) { + if (re.getPlayPaiCoin() != null) { String value = String.valueOf(re.getPlayPaiCoin()); re.setCashPayment(new BigDecimal(value)); } @@ -319,16 +324,16 @@ re.setPayUser(appUser.getName()); re.setPhone(appUser.getPhone()); re.setStoreName(store.getName()); - if (query.getPayUser()== null || query.getPayUser().equals("") ){ - }else{ + if (query.getPayUser() == null || query.getPayUser().equals("")) { + } else { List<AppUser> appUsers = appUserClient.queryAppUserListByName(query.getPayUser()); for (AppUser user : appUsers) { - if (appUser.getName().equals(user.getName())){ - if (query.getPayStudent()== null || query.getPayStudent().equals("")){ - }else{ + if (appUser.getName().equals(user.getName())) { + if (query.getPayStudent() == null || query.getPayStudent().equals("")) { + } else { List<Student> students = studentClient.queryStudentListByName(query.getPayStudent()); for (Student student1 : students) { - if (student.getName().equals(student1.getName())){ + if (student.getName().equals(student1.getName())) { result.add(re); } } @@ -337,54 +342,54 @@ } } - if (re.getPayType()!=null){ - if (re.getPayType()==1){ + if (re.getPayType() != null) { + if (re.getPayType() == 1) { re.setBuyTypeName("微信支付"); - }else if(re.getPayType()==2){ + } else if (re.getPayType() == 2) { re.setBuyTypeName("支付宝支付"); - }else if(re.getPayType()==3){ + } else if (re.getPayType() == 3) { re.setBuyTypeName("玩湃币支付"); - }else if(re.getPayType()==4){ + } else if (re.getPayType() == 4) { re.setBuyTypeName("积分支付"); - }else if(re.getPayType()==5){ + } else if (re.getPayType() == 5) { re.setBuyTypeName("积分+微信支付"); - }else if(re.getPayType()==6){ + } else if (re.getPayType() == 6) { re.setBuyTypeName("积分+支付宝支付"); - }else if(re.getPayType()==7){ - re.setBuyTypeName("手动支付"+"-"+re.getBuyTypeName()); + } else if (re.getPayType() == 7) { + re.setBuyTypeName("手动支付" + "-" + re.getBuyTypeName()); } } // 如果支付用户类型为管理员 则购买方式则为1线下购买 - if (re.getPayUserType()!=null){ - if (re.getPayUserType()== 2){ + if (re.getPayUserType() != null) { + if (re.getPayUserType() == 2) { re.setBuyType(1); - }else{ + } else { // 如果当前课包有折扣 则为3折扣购买 if (discountService.list(new QueryWrapper<TCoursePackageDiscount>() - .eq("coursePackageId",re.getCoursePackageId()).eq("auditStatus",2)).size()>0){ + .eq("coursePackageId", re.getCoursePackageId()).eq("auditStatus", 2)).size() > 0) { re.setBuyType(3); re.setDiscountAmount(re.getOriginalPrice().subtract(re.getPayMoney())); - }else{ + } else { re.setBuyType(2); } } } - if(re.getCashPayment()==null){ + if (re.getCashPayment() == null) { BigDecimal bigDecimal = new BigDecimal("0.00"); re.setDiscountAmount(bigDecimal); continue; } BigDecimal subtract = re.getOriginalPrice().subtract(re.getCashPayment()); re.setDiscountAmount(subtract); - } - if (query.getPayStudent()== null || query.getPayStudent().equals("")){ - if (query.getPayUser()== null || query.getPayUser().equals("")){ + } + if (query.getPayStudent() == null || query.getPayStudent().equals("")) { + if (query.getPayUser() == null || query.getPayUser().equals("")) { return res; - }else{ + } else { return result; } - }else{ + } else { return result; } } @@ -394,26 +399,26 @@ */ @ResponseBody @RequestMapping("/registerOrder/listAllRegister") - public List<RegisterOrderVO> listAllRegister(@RequestBody RegisterOrderQuery query){ - if (query.getStudentName()!=null){ - if (!query.getStudentName().equals("")){ + public List<RegisterOrderVO> listAllRegister(@RequestBody RegisterOrderQuery query) { + if (query.getStudentName() != null) { + if (!query.getStudentName().equals("")) { List<TStudent> students1 = studentClient.queryTStudentListByName(query.getStudentName()); List<Integer> studentIds = students1.stream().map(TStudent::getId).collect(Collectors.toList()); query.setStudentIds(studentIds); - if (students1.size()==0){ + if (students1.size() == 0) { return new ArrayList<>(); } } } List<RegisterOrderVO> res = packagePaymentService.listAllRegister(query); // 该运营商下没有门店 - if (query.getInsertType() == 2){ - if (query.getStoresIds()!=null){ - if (query.getStoresIds().size()==0){ + if (query.getInsertType() == 2) { + if (query.getStoresIds() != null) { + if (query.getStoresIds().size() == 0) { List<RegisterOrderVO> registerOrderVOS = new ArrayList<>(); return registerOrderVOS; } - }else{ + } else { List<RegisterOrderVO> registerOrderVOS = new ArrayList<>(); return registerOrderVOS; } @@ -433,9 +438,9 @@ re.setPayMoneyAndType("¥" + re.getMoney()); } } - if (re.getStoreId()!=null){ + if (re.getStoreId() != null) { Store store = storeClient.queryStoreById(re.getStoreId()); - if (store!=null){ + if (store != null) { re.setStoreName(store.getName()); } } @@ -450,30 +455,31 @@ /** * 获取 没有学员信息的图片配置 + * * @param stuId 学员id - * @return 课包列表 + * @return 课包列表 */ @ResponseBody @PostMapping("/base/coursePack/queryPayment") - public List<StuCourseResp> getStuCoursePackagePayment(@RequestBody Integer stuId){ + public List<StuCourseResp> getStuCoursePackagePayment(@RequestBody Integer stuId) { List<StuCourseResp> resps = new ArrayList<>(); Student student = studentClient.queryStudentById(stuId); - List<TCoursePackagePayment> byUserId = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() - .eq("appUserId",student.getAppUserId()) - .eq("studentId",stuId).eq("payStatus",2)); + List<CoursePackageOrderStudent> byUserId = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>() + .eq("appUserId", student.getAppUserId()) + .eq("studentId", stuId)); Date date = new Date(); - if (byUserId.size() > 0 ){ - for (TCoursePackagePayment tCoursePackagePayment : byUserId) { + if (byUserId.size() > 0) { + for (CoursePackageOrderStudent tCoursePackagePayment : byUserId) { TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId()); - if (tCoursePackagePayment.getUseTime()!=null) { + if (tCoursePackagePayment.getUseTime() != null) { if (tCoursePackagePayment.getUseTime().after(date)) { date = tCoursePackagePayment.getUseTime(); } } - if (tCoursePackage.getType()==3){ + if (tCoursePackage.getType() == 3) { continue; } StuCourseResp resp = new StuCourseResp(); @@ -482,79 +488,66 @@ resp.setCourseName(tCoursePackage.getName()); resp.setTotalCourseNums(tCoursePackagePayment.getTotalClassHours()); resp.setResidueNums(tCoursePackagePayment.getLaveClassHours()); - resp.setDeductionNums(tCoursePackagePayment.getTotalClassHours()-tCoursePackagePayment.getLaveClassHours()); + resp.setDeductionNums(tCoursePackagePayment.getTotalClassHours() - tCoursePackagePayment.getLaveClassHours()); resp.setCourseType(tCoursePackage.getType()); - if (tCoursePackage.getType()!=1||tCoursePackage.getState()==2||tCoursePackagePayment.getPayStatus()==1){ + if (tCoursePackage.getType() != 1 || tCoursePackage.getState() == 2) { resp.setIsAble(0); - }else { + } else { resp.setIsAble(1); } - if (tCoursePackagePayment.getUseTime()!=null){ -// String afterDayDate = DateUtil.getAfterDayDate2(tCoursePackage.getInsertTime(),tCoursePackage.getValidDays() + ""); -// resp.setPeriodOfValidity(afterDayDate); - - + if (tCoursePackagePayment.getUseTime() != null) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String str = sdf.format(tCoursePackagePayment.getUseTime()); resp.setPeriodOfValidity(str); } - - - resps.add(resp); } } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String str = sdf.format(date); - for (StuCourseResp resp : resps) { - - resp.setPeriodOfValidity(str); } - - return resps; } /** - * * 获取发布的 课包列表 */ @ResponseBody @PostMapping("/base/coursePack/storeOfCourse") - public List<CourseOfStoreVo> getStuCourseWithStores(@RequestBody WeeksOfCourseRest courseRest){ + public List<CourseOfStoreVo> getStuCourseWithStores(@RequestBody WeeksOfCourseRest courseRest) { List<CourseOfStoreVo> course = new ArrayList<>(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); try { Date parse = simpleDateFormat.parse(courseRest.getTime()); List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() - .eq("appUserId",courseRest.getAppUserId() ) - .eq("studentId",courseRest.getStuId()) - .eq("payStatus",2) - .eq("status",1) - .eq("state",1) + .eq("appUserId", courseRest.getAppUserId()) + .eq("studentId", courseRest.getStuId()) + .eq("payStatus", 2) + .eq("status", 1) + .eq("state", 1) .groupBy("coursePackageId")); - if (list.size() > 0){ + if (list.size() > 0) { for (TCoursePackagePayment tCoursePackagePayment : list) { List<CoursePackageStudent> packageStudent = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>() .eq(CoursePackageStudent::getAppUserId, courseRest.getAppUserId()) - .eq(CoursePackageStudent::getStudentId,courseRest.getStuId()) - .eq(CoursePackageStudent::getCoursePackagePaymentId,tCoursePackagePayment.getId()) - .eq(CoursePackageStudent::getCoursePackageId,tCoursePackagePayment.getCoursePackageId())); - if (ToolUtil.isEmpty(packageStudent) || (ToolUtil.isNotEmpty(packageStudent) && packageStudent.get(0).getReservationStatus() == 1)){ + .eq(CoursePackageStudent::getStudentId, courseRest.getStuId()) + .eq(CoursePackageStudent::getCoursePackagePaymentId, tCoursePackagePayment.getId()) + .eq(CoursePackageStudent::getCoursePackageId, tCoursePackagePayment.getCoursePackageId())); + if (ToolUtil.isEmpty(packageStudent) || (ToolUtil.isNotEmpty(packageStudent) && packageStudent.get(0).getReservationStatus() == 1)) { // 没有预约过的/已经取消了的 TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId()); CoursePackagePaymentConfig paymentConfig = icppcService.getOne(new QueryWrapper<CoursePackagePaymentConfig>() - .eq("coursePackageId",tCoursePackage.getId() ) - .eq("classHours",tCoursePackagePayment.getClassHours())); + .eq("coursePackageId", tCoursePackage.getId()) + .eq("classHours", tCoursePackagePayment.getClassHours())); // 获取课程有效结束时间,判断 查询的日期parse 是否在有效期范围内 - Date expirationDate = DateTimeHelper.getExpirationDate(tCoursePackagePayment.getInsertTime(),tCoursePackage.getValidDays()); + Date expirationDate = DateTimeHelper.getExpirationDate(tCoursePackagePayment.getInsertTime(), tCoursePackage.getValidDays()); System.out.println(expirationDate.after(parse)); String classWeeks = tCoursePackage.getClassWeeks(); System.out.println(StrUtils.dealStrToList(classWeeks).contains(DateTimeHelper.getDayOfWeek(parse))); - if (expirationDate.after(parse) && StrUtils.dealStrToList(classWeeks).contains(DateTimeHelper.getDayOfWeek(parse))){ + if (expirationDate.after(parse) && StrUtils.dealStrToList(classWeeks).contains(DateTimeHelper.getDayOfWeek(parse))) { CourseOfStoreVo storeVo = new CourseOfStoreVo(); storeVo.setCourseId(tCoursePackagePayment.getId()); storeVo.setCourseName(tCoursePackage.getName()); @@ -565,12 +558,12 @@ storeVo.setStoreAddress(store.getAddress()); storeVo.setLat(store.getLat()); storeVo.setLon(store.getLon()); - storeVo.setCoursePrice(ToolUtil.isEmpty(paymentConfig.getCashPayment()) ? (double) paymentConfig.getPlayPaiCoin():paymentConfig.getCashPayment()); + storeVo.setCoursePrice(ToolUtil.isEmpty(paymentConfig.getCashPayment()) ? (double) paymentConfig.getPlayPaiCoin() : paymentConfig.getCashPayment()); storeVo.setStatus(1); // 2.0 storeVo.setAllNum(tCoursePackagePayment.getTotalClassHours()); storeVo.setLastNum(tCoursePackagePayment.getLaveClassHours()); - storeVo.setUseNum(tCoursePackagePayment.getTotalClassHours()-tCoursePackagePayment.getLaveClassHours()); + storeVo.setUseNum(tCoursePackagePayment.getTotalClassHours() - tCoursePackagePayment.getLaveClassHours()); course.add(storeVo); } @@ -584,32 +577,60 @@ } } + @Autowired + private ICoursePackageOrderStudentService orderStudentService; /** - * * 课程名称列表 */ @PostMapping("/base/coursePack/sessionNames") - public List<StuSessionDetailsVo> getStuSessionList(@RequestBody CourseDetailRequest request){ + public List<StuSessionDetailsVo> getStuSessionList(@RequestBody CourseDetailRequest request) { List<StuSessionDetailsVo> detailsVos = new ArrayList<>(); - List<TCoursePackagePayment> byUserId = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() - .between("insertTime", request.getStartTime(),request.getEndTime()) - .eq("appUserId",request.getAppUserId()) - .eq("studentId",request.getStuId())); - if (byUserId.size() > 0){ - List<Integer> collect = byUserId.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList()); + List<CoursePackageOrderStudent> byUserId = orderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>() + .between("insertTime", request.getStartTime(), request.getEndTime()) + .eq("appUserId", request.getAppUserId()) + .eq("studentId", request.getStuId())); + if (byUserId.size() > 0) { + List<Integer> collect = byUserId.stream().map(CoursePackageOrderStudent::getCoursePackageId).collect(Collectors.toList()); List<TCoursePackage> list = tcpService.list(new QueryWrapper<TCoursePackage>() .in("id", collect)); - list.forEach(vo -> { + + byUserId.forEach(vo -> { + StuSessionDetailsVo detVo = new StuSessionDetailsVo(); - if (vo.getType()!=2) { - detVo.setSessionid(vo.getId()); - detVo.setSessionName(vo.getName()); - String afterDayDate = DateUtil.getAfterDayDate2(vo.getInsertTime(), vo.getValidDays() + ""); - detVo.setPeriodOfValidity(afterDayDate); - detailsVos.add(detVo); - } + detVo.setSessionid(vo.getCoursePackageId()); + TCoursePackage byId = coursePackageService.getById(vo.getCoursePackageId()); + detVo.setSessionName(byId.getName()); +// String afterDayDate = DateUtil.getAfterDayDate2(vo.getInsertTime(), vo.getValidDays() + ""); + + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String format1 = simpleDateFormat.format(vo.getUseTime()); + detVo.setPeriodOfValidity(format1); + + detVo.setTotalNums(vo.getTotalClassHours()); + detVo.setDeductedNums(vo.getTotalClassHours() - vo.getLaveClassHours()); + detVo.setRemainingNums(vo.getLaveClassHours()); + + detailsVos.add(detVo); + + }); + +// list.forEach(vo -> { +// StuSessionDetailsVo detVo = new StuSessionDetailsVo(); +// if (vo.getType()!=2) { +// detVo.setSessionid(vo.getId()); +// detVo.setSessionName(vo.getName()); +// String afterDayDate = DateUtil.getAfterDayDate2(vo.getInsertTime(), vo.getValidDays() + ""); +// detVo.setPeriodOfValidity(afterDayDate); +// +// detVo.setTotalNums(ToolUtil.isEmpty(tCoursePackagePayment.getTotalCourseNums()) ? 0 : tCoursePackagePayment.getTotalCourseNums()); +// detVo.setDeductedNums(ToolUtil.isEmpty(tCoursePackagePayment.getDeductionNums()) ? 0 : tCoursePackagePayment.getDeductionNums()); +// detVo.setRemainingNums(ToolUtil.isEmpty(tCoursePackagePayment.getResidueNums())? 0 : tCoursePackagePayment.getResidueNums()); +// +// detailsVos.add(detVo); +// } +// }); } return detailsVos; } @@ -619,13 +640,13 @@ List<PurchaseRecordVo> purchaseRecordVos = new ArrayList<>(); List<TCoursePackagePayment> coursePackage = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() - .between("insertTime", sessionList.getStartTime(),sessionList.getEndTime()) - .eq("appUserId",sessionList.getAppUserId()) - .eq("studentId",sessionList.getStuId())); - if (coursePackage.size() > 0 ){ - coursePackage.forEach( cspackage -> { + .between("insertTime", sessionList.getStartTime(), sessionList.getEndTime()) + .eq("appUserId", sessionList.getAppUserId()) + .eq("studentId", sessionList.getStuId())); + if (coursePackage.size() > 0) { + coursePackage.forEach(cspackage -> { PurchaseRecordVo recordVo = new PurchaseRecordVo(); - recordVo.setPurchaseAmount("+"+cspackage.getClassHours()); + recordVo.setPurchaseAmount("+" + cspackage.getClassHours()); recordVo.setPurchaseTime(format.format(cspackage.getInsertTime())); recordVo.setPurchaseType("购买课包"); purchaseRecordVos.add(recordVo); @@ -643,32 +664,32 @@ @PostMapping("/base/coursePack/getRecord") public List<PurchaseRecordVo> getRecord(@RequestBody RecordTimeRequest recordTimeRequest) { - List<TCoursePackagePayment> list = new ArrayList<>(); - Integer [] changes = {1,0}; - if (recordTimeRequest.getType()==null) { - list = coursePackagePaymentService.list(new QueryWrapper<TCoursePackagePayment>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime")); - }else { + List<CoursePackageOrderStudent> list = new ArrayList<>(); + Integer[] changes = {1, 0}; + if (recordTimeRequest.getType() == null) { + list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime")); + } else { - list = coursePackagePaymentService.list(new QueryWrapper<TCoursePackagePayment>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime")); - + list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime")); } - List<Long> ids = new ArrayList<>(); - for (TCoursePackagePayment coursePackagePayment : list) { - ids.add(coursePackagePayment.getId()); - } + List<Integer> appUserIds = list.stream().map(CoursePackageOrderStudent::getAppUserId).collect(Collectors.toList()); + List<CoursePackageOrderStudent> list1 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>() + .in("appUserId", appUserIds) + .eq("coursePackageId", recordTimeRequest.getLessionId()) + .eq("state", 1) + ); + List<Long> collect = list1.stream().map(CoursePackageOrderStudent::getId).collect(Collectors.toList()); + QueryWrapper<CourseCounsum> in = new QueryWrapper<CourseCounsum>().in("paymentId", collect).in("changeType", changes); - - QueryWrapper<CourseCounsum> in = new QueryWrapper<CourseCounsum>().in("paymentId", ids).in("changeType", changes); - - if (recordTimeRequest.getType()!=null){ - if (recordTimeRequest.getType()==2){ + if (recordTimeRequest.getType() != null) { + if (recordTimeRequest.getType() == 2) { recordTimeRequest.setType(0); } - in.eq("changeType",recordTimeRequest.getType()); + in.eq("changeType", recordTimeRequest.getType()); } List<CourseCounsum> paymentId = courseCounsumService.list(in); - List<PurchaseRecordVo> recordVos =new ArrayList<>(); + List<PurchaseRecordVo> recordVos = new ArrayList<>(); for (CourseCounsum courseCounsum : paymentId) { PurchaseRecordVo purchaseRecordVo = new PurchaseRecordVo(); if (courseCounsum.getChangeType() == 0) { @@ -691,21 +712,20 @@ } - @PostMapping("/base/coursePack/stuOfCourses") - public StuWithCoursesListVo getStuOfCoursesDetails(@RequestBody GetStuOfCoursesDetails getStuOfCoursesDetails){ + public StuWithCoursesListVo getStuOfCoursesDetails(@RequestBody GetStuOfCoursesDetails getStuOfCoursesDetails) { StuWithCoursesListVo lisco = new StuWithCoursesListVo(); Integer totalNu = 0; Integer dedutNu = 0; Integer remainNu = 0; List<TCoursePackagePayment> byUserId = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() - .eq("appUserId",getStuOfCoursesDetails.getAppUserId()) - .eq("studentId",getStuOfCoursesDetails.getStuId())); - if (byUserId.size() > 0 ){ + .eq("appUserId", getStuOfCoursesDetails.getAppUserId()) + .eq("studentId", getStuOfCoursesDetails.getStuId())); + if (byUserId.size() > 0) { for (TCoursePackagePayment tCoursePackagePayment : byUserId) { totalNu = totalNu + tCoursePackagePayment.getTotalClassHours(); dedutNu = dedutNu + tCoursePackagePayment.getLaveClassHours(); - remainNu = remainNu + (tCoursePackagePayment.getTotalClassHours()-tCoursePackagePayment.getLaveClassHours()); + remainNu = remainNu + (tCoursePackagePayment.getTotalClassHours() - tCoursePackagePayment.getLaveClassHours()); } lisco.setTotalNums(totalNu); lisco.setDeductedNums(remainNu); @@ -715,15 +735,14 @@ } - @PostMapping("/base/coursePack/continuingCourse") - public StudentOfCourseVo getStudentCourse(@RequestBody GetStudentCourse getStudentCourse){ + public StudentOfCourseVo getStudentCourse(@RequestBody GetStudentCourse getStudentCourse) { StudentOfCourseVo courseVo = new StudentOfCourseVo(); List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() .eq("appUserId", getStudentCourse.getAppUserId()) .eq("coursePackageId", getStudentCourse.getCourseId()) .eq("studentId", getStudentCourse.getStuId())); - if (tCoursePackagePayments.size() > 0 ){ + if (tCoursePackagePayments.size() > 0) { List<CourseHoursType> typeList = new ArrayList<>(); tCoursePackagePayments.forEach(cou -> { @@ -742,26 +761,26 @@ courseVo.setCoachId(coursePackage.getCoachId()); String classWeeks = coursePackage.getClassWeeks(); List<Integer> integers = StrUtils.dealStrToList(classWeeks); - if (integers.size() > 0){ + if (integers.size() > 0) { StringBuilder courWeeks = new StringBuilder("每"); for (Integer integer : integers) { courWeeks.append(integer).append("、"); } - if (courWeeks.length() > 0 && courWeeks.charAt(courWeeks.length() - 1) == '、'){ + if (courWeeks.length() > 0 && courWeeks.charAt(courWeeks.length() - 1) == '、') { courWeeks.deleteCharAt(courWeeks.length() - 1); } courseVo.setCourseWeek(courWeeks.toString()); } - courseVo.setCourseTime(coursePackage.getClassStartTime()+"-"+coursePackage.getClassEndTime()); + courseVo.setCourseTime(coursePackage.getClassStartTime() + "-" + coursePackage.getClassEndTime()); Integer payType = tCoursePackagePayment.getPayType(); BigDecimal cashPayment = tCoursePackagePayment.getCashPayment(); double cashPaymentValue = cashPayment.doubleValue(); Integer playPaiCoin = tCoursePackagePayment.getPlayPaiCoin(); TCoursePackageDiscount coursePackageDiscount = tcpdService.getOne(new QueryWrapper<TCoursePackageDiscount>() - .eq("coursePackageId",coursePackage.getId() ) - .eq("type",1) - .eq("auditStatus",2)); + .eq("coursePackageId", coursePackage.getId()) + .eq("type", 1) + .eq("auditStatus", 2)); ObjectMapper objectMapper = new ObjectMapper(); String content = coursePackageDiscount.getContent(); double discountMember = 0.0; @@ -790,17 +809,17 @@ @PostMapping("/base/coursePack/afterCourseTwos") - public List<AfterVideoVo> getAfterCourseTwos(@RequestParam("appUserId") Integer appUserId){ + public List<AfterVideoVo> getAfterCourseTwos(@RequestParam("appUserId") Integer appUserId) { List<AfterVideoVo> videoVos = new ArrayList<>(); List<UserVideoDetails> list = uvdsService.list(new QueryWrapper<UserVideoDetails>() - .eq("appUserId",appUserId) - .eq("state",1)); - if (list.size() > 0 ){ + .eq("appUserId", appUserId) + .eq("state", 1)); + if (list.size() > 0) { List<Integer> courseIds = list.stream().map(UserVideoDetails::getCourseId).collect(Collectors.toList()); List<TCourse> courseList = tcService.list(new QueryWrapper<TCourse>() - .in("id",courseIds) - .eq("type",1) - .eq("state",1) + .in("id", courseIds) + .eq("type", 1) + .eq("state", 1) .last("ORDER BY insertTime desc LIMIT 2")); for (TCourse tCourse : courseList) { AfterVideoVo videoVo = new AfterVideoVo(); @@ -812,21 +831,31 @@ return videoVos; } + + + @PostMapping("/base/coursePack/allPaymentCourseList") @ResponseBody - public List<CouponPaymentVo> getAppuserCourseList(@RequestBody Integer appUserId){ + public List<CouponPaymentVo> getAppuserCourseList(@RequestBody Integer appUserId) { List<CouponPaymentVo> paymentVos = new ArrayList<>(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() - .eq("appUserId", appUserId) - .eq("payType", 3) +// List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() +// .eq("appUserId", appUserId) +// .eq("payType", 3) +// .eq("payStatus", 2) +// .eq("state", 1)); + + + List<CoursePackageOrder> list = coursePackageOrderService.list(new QueryWrapper<CoursePackageOrder>().eq("appUserId", appUserId).eq("payType", 3) .eq("payStatus", 2) .eq("state", 1)); - if (list.size() > 0 ){ - for (TCoursePackagePayment tCoursePackagePayment : list) { + + + if (list.size() > 0) { + for (CoursePackageOrder tCoursePackagePayment : list) { CouponPaymentVo couponPaymentVo = new CouponPaymentVo(); couponPaymentVo.setTime(simpleDateFormat.format(tCoursePackagePayment.getInsertTime())); - couponPaymentVo.setAmount( tCoursePackagePayment.getPlayPaiCoin()); + couponPaymentVo.setAmount(tCoursePackagePayment.getPlayPaiCoin()); paymentVos.add(couponPaymentVo); } } @@ -836,10 +865,10 @@ @ResponseBody @PostMapping("/base/coursePack/allAmountPayRecordOfUser") - public BillingRequestVo getAmountPayRecord(@RequestBody BillingDataRequestVo billingDataRequestVo){ + public BillingRequestVo getAmountPayRecord(@RequestBody BillingDataRequestVo billingDataRequestVo) { BillingRequestVo requestVo = new BillingRequestVo(); List<BillingRequest> billingRequests = packagePaymentService.queryAmountDatas(billingDataRequestVo.getAppUserId(), billingDataRequestVo.getMonthStart(), billingDataRequestVo.getMonthEnd()); - if (billingRequests.size() >0){ + if (billingRequests.size() > 0) { requestVo.setRequests(billingRequests); } return requestVo; @@ -851,14 +880,14 @@ @ApiOperation(value = "课后练习-获取布置课程列表", tags = {"APP-开始上课"}) @ApiImplicitParams({ }) - public ResultUtil<List<BaseVo>> queryArrangePackageType(){ + public ResultUtil<List<BaseVo>> queryArrangePackageType() { try { Integer appUserId = tokenUtil.getUserIdFormRedis(); - if(null == appUserId){ + if (null == appUserId) { return ResultUtil.tokenErr(); } List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() - .eq("appUserId",appUserId)); + .eq("appUserId", appUserId)); List<BaseVo> list = new ArrayList<>(); tCoursePackagePayments.forEach(c -> { BaseVo baseVo = new BaseVo(); @@ -872,7 +901,7 @@ List<BaseVo> back = new ArrayList<>(set); return ResultUtil.success(back); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } @@ -887,13 +916,13 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) - public ResultUtil<List<AppUserVideoResponse>> queryAfterSourceList( CourseOfAfterRequest search) throws Exception { + public ResultUtil<List<AppUserVideoResponse>> queryAfterSourceList(CourseOfAfterRequest search) throws Exception { // try { - Integer appUserId = tokenUtil.getUserIdFormRedis(); + Integer appUserId = tokenUtil.getUserIdFormRedis(); - if(null == appUserId){ - return ResultUtil.tokenErr(); - } + if (null == appUserId) { + return ResultUtil.tokenErr(); + } // // List<Integer> courseIds = new ArrayList<>(); // QueryWrapper<TCoursePackagePayment> queryWrapper = new QueryWrapper<TCoursePackagePayment>().eq("appUserId", appUserId) @@ -907,36 +936,33 @@ // } - QueryWrapper<CoursePackageStudent> queryWrapper1 = new QueryWrapper<CoursePackageStudent>().eq("studentId", search.getStuId()); - if (ToolUtil.isNotEmpty(search.getCourseTypeId())){ - queryWrapper1.eq("coursePackageId",search.getCourseTypeId()); - } + QueryWrapper<CoursePackageStudent> queryWrapper1 = new QueryWrapper<CoursePackageStudent>().eq("studentId", search.getStuId()); + if (ToolUtil.isNotEmpty(search.getCourseTypeId())) { + queryWrapper1.eq("coursePackageId", search.getCourseTypeId()); + } - List<CoursePackageStudent> list = coursePackageStudentService.list(queryWrapper1); - List<Long> longs = new ArrayList<>(); - for (CoursePackageStudent coursePackageStudent : list) { - longs.add(coursePackageStudent.getCoursePackageSchedulingId()); - } + List<CoursePackageStudent> list = coursePackageStudentService.list(queryWrapper1); + List<Long> longs = new ArrayList<>(); + for (CoursePackageStudent coursePackageStudent : list) { + longs.add(coursePackageStudent.getCoursePackageSchedulingId()); + } - System.out.println("======longs========"+longs); + System.out.println("======longs========" + longs); // List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>().in("id",longs).isNotNull("courseId")); - List<AppUserVideoResponse> coursePackageSchedulings1 = coursePackageSchedulingService.queryAll(longs); + List<AppUserVideoResponse> coursePackageSchedulings1 = coursePackageSchedulingService.queryAll(longs); - if (search.getSearch()!=null) { - List<AppUserVideoResponse> filteredList = new ArrayList<>(); - for (AppUserVideoResponse response : coursePackageSchedulings1) { - if (response.getVideoName().contains(search.getSearch())) { - filteredList.add(response); - } - } - return ResultUtil.success(filteredList); + if (search.getSearch() != null) { + List<AppUserVideoResponse> filteredList = new ArrayList<>(); + for (AppUserVideoResponse response : coursePackageSchedulings1) { + if (response.getVideoName().contains(search.getSearch())) { + filteredList.add(response); + } + } + return ResultUtil.success(filteredList); - } + } - return ResultUtil.success(coursePackageSchedulings1); - - - + return ResultUtil.success(coursePackageSchedulings1); // }catch (Exception e){ @@ -953,14 +979,14 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) - public ResultUtil<CourseOfVideoResponse> queryAfterSourceDetails( CourseWithDetailsRequest detailsRequest){ + public ResultUtil<CourseOfVideoResponse> queryAfterSourceDetails(CourseWithDetailsRequest detailsRequest) { try { Integer appUserId = tokenUtil.getUserIdFormRedis(); - if(null == appUserId){ + if (null == appUserId) { return ResultUtil.tokenErr(); } - return ResultUtil.success(packagePaymentService.queryVideoDetails(detailsRequest,appUserId)); - }catch (Exception e){ + return ResultUtil.success(packagePaymentService.queryVideoDetails(detailsRequest, appUserId)); + } catch (Exception e) { return ResultUtil.runErr(); } } @@ -971,7 +997,7 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) - public ResultUtil<PayCourseInfoReq> payCourseInfo(Integer courseId){ + public ResultUtil<PayCourseInfoReq> payCourseInfo(Integer courseId) { try { PayCourseInfoReq payCourseInfoReq = packagePaymentService.payCourseInfo(courseId); @@ -981,7 +1007,7 @@ return ResultUtil.success(payCourseInfoReq); - }catch (Exception e){ + } catch (Exception e) { return ResultUtil.runErr(); } } @@ -992,14 +1018,14 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) - public ResultUtil<List<PayCourseRes>> getMyCourseList(Integer storeId){ + public ResultUtil<List<PayCourseRes>> getMyCourseList(Integer storeId) { try { Integer appUserId = tokenUtil.getUserIdFormRedis(); - if(null == appUserId){ + if (null == appUserId) { return ResultUtil.tokenErr(); } - return ResultUtil.success(packagePaymentService.getMyCourseList(storeId,appUserId)); - }catch (Exception e){ + return ResultUtil.success(packagePaymentService.getMyCourseList(storeId, appUserId)); + } catch (Exception e) { return ResultUtil.runErr(); } } @@ -1011,14 +1037,14 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) - public ResultUtil<?> payCourse(PayCourseReq req){ + public ResultUtil<?> payCourse(PayCourseReq req) { try { Integer appUserId = tokenUtil.getUserIdFormRedis(); - if(null == appUserId){ + if (null == appUserId) { return ResultUtil.tokenErr(); } - return packagePaymentService.payCourse(req,appUserId); - }catch (Exception e){ + return packagePaymentService.payCourse(req, appUserId); + } catch (Exception e) { return ResultUtil.runErr(); } } @@ -1032,14 +1058,14 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) - public ResultUtil updateVideoStatus( UpdateCourseVideoStatusRequest detailsRequest){ + public ResultUtil updateVideoStatus(UpdateCourseVideoStatusRequest detailsRequest) { try { Integer appUserId = tokenUtil.getUserIdFormRedis(); - if(null == appUserId){ + if (null == appUserId) { return ResultUtil.tokenErr(); } - return ResultUtil.success(packagePaymentService.updateVideoStatus(detailsRequest,appUserId)); - }catch (Exception e){ + return ResultUtil.success(packagePaymentService.updateVideoStatus(detailsRequest, appUserId)); + } catch (Exception e) { return ResultUtil.runErr(); } } @@ -1050,7 +1076,7 @@ @ApiOperation(value = "已报名课程-获取课程类型列表", tags = {"APP-课程列表"}) @ApiImplicitParams({ }) - public ResultUtil<List<BaseVo>> queryCoursePackageType(){ + public ResultUtil<List<BaseVo>> queryCoursePackageType() { try { List<TCoursePackageType> coursePackageTypes = coursePackageTypeService.list(new QueryWrapper<TCoursePackageType>().eq("state", 1)); List<BaseVo> list = new ArrayList<>(); @@ -1060,7 +1086,7 @@ list.add(baseVo); }); return ResultUtil.success(list); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } @@ -1076,17 +1102,18 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) - public ResultUtil<List<RegisterCourseVo>> queryRegisteredCoursesDetails( CourseOfAfterRequest courseTypeId){ + public ResultUtil<List<RegisterCourseVo>> queryRegisteredCoursesDetails(CourseOfAfterRequest courseTypeId) { try { Integer appUserId = tokenUtil.getUserIdFormRedis(); - if(null == appUserId){ + if (null == appUserId) { return ResultUtil.tokenErr(); } - return ResultUtil.success(packagePaymentService.queryRegisteredCourseList(courseTypeId,appUserId)); - }catch (Exception e){ + return ResultUtil.success(coursePackageOrderService.queryRegisteredCourseList(courseTypeId, appUserId)); + } catch (Exception e) { return ResultUtil.runErr(); } } + /** @@ -1099,21 +1126,29 @@ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(value = "经度", name = "lon", dataType = "string", required = false), @ApiImplicitParam(value = "纬度", name = "lat", dataType = "string", required = false), - @ApiImplicitParam(name = "coursePayId" ,value = "课包记录id",dataType = "long"), - @ApiImplicitParam(name = "orderId" ,value = "订单id",dataType = "int") + @ApiImplicitParam(name = "coursePayId", value = "课包记录id", dataType = "long"), + @ApiImplicitParam(name = "orderId", value = "订单id", dataType = "int") }) - public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId, String lon, String lat,Integer orderId){ + public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId, String lon, String lat, Integer orderId) { try { Integer appUserId = tokenUtil.getUserIdFormRedis(); - if(null == appUserId){ + if (null == appUserId) { return ResultUtil.tokenErr(); } - return ResultUtil.success(packagePaymentService.queryRegisteredCourseDetails(coursePayId,appUserId)); - }catch (Exception e){ + CourseDetailsResponse courseDetailsResponse = packagePaymentService.queryRegisteredCourseDetails(coursePayId, appUserId, lon, lat); + + + + +// if (orderId != null) { +// TOrder byId = orderService.getById(orderId); +// courseDetailsResponse.setAmount(byId.getPrice()); +// } + return ResultUtil.success(courseDetailsResponse); + } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e.getMessage()); -// return ResultUtil.runErr(); } } @@ -1127,45 +1162,44 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) - public ResultUtil continuationOperation(ClasspaymentRequest request){ + public ResultUtil continuationOperation(ClasspaymentRequest request) { try { Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); - if(null == userIdFormRedis){ + if (null == userIdFormRedis) { return ResultUtil.tokenErr(); } Integer couponId = request.getConponId(); - if(couponId==null || couponId==0){ + if (couponId == null || couponId == 0) { request.setConponId(null); } - return packagePaymentService.ContinuationOrpaymentCourse(userIdFormRedis,request); - }catch (Exception e){ + return packagePaymentService.ContinuationOrpaymentCourse(userIdFormRedis, request); + } catch (Exception e) { return ResultUtil.runErr(); } } - /** * 课包续课支付宝支付回调接口 */ @PostMapping("/base/coursePackage/alipayRegisteredCoursesCallback") - public void alipayCallback(HttpServletRequest request, HttpServletResponse response){ + public void alipayCallback(HttpServletRequest request, HttpServletResponse response) { System.err.println("========支付宝支付回调========"); try { Map<String, String> map = payMoneyUtil.alipayCallback(request); - if(null != map){ + if (null != map) { String out_trade_no = map.get("out_trade_no"); String transaction_id = map.get("transaction_id"); ResultUtil resultUtil = packagePaymentService.insertVipPaymentCallback(out_trade_no, transaction_id); - if(resultUtil.getCode() == 200){ + if (resultUtil.getCode() == 200) { PrintWriter out = response.getWriter(); out.write("success"); out.flush(); out.close(); } } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } @@ -1175,37 +1209,36 @@ * 课包续课微信支付回调接口 */ @PostMapping("/base/coursePackage/wechatRegisteredCoursesCallback") - public void weChatCallback(HttpServletRequest request, HttpServletResponse response){ + public void weChatCallback(HttpServletRequest request, HttpServletResponse response) { try { Map<String, String> map = payMoneyUtil.weixinpayCallback(request); - if(null != map){ + if (null != map) { String out_trade_no = map.get("out_trade_no"); String transaction_id = map.get("transaction_id"); String result = map.get("result"); ResultUtil resultUtil = packagePaymentService.insertVipPaymentCallback(out_trade_no, transaction_id); - if(resultUtil.getCode() == 200){ + if (resultUtil.getCode() == 200) { PrintWriter out = response.getWriter(); out.write(result); out.flush(); out.close(); } } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } - - /** * 获取学员剩余课时 + * * @param id * @return */ @ResponseBody @PostMapping("/coursePackagePayment/queryResidueClassHour") - public Integer queryResidueClassHour(@RequestBody Integer id){ + public Integer queryResidueClassHour(@RequestBody Integer id) { try { List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>().eq("studentId", id).eq("payStatus", 2) .eq("status", 1).eq("state", 1).gt("laveClassHours", 0)); @@ -1214,30 +1247,32 @@ total += coursePackagePayment.getLaveClassHours(); } return total; - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return 0; } } + /** * 获取学员剩余课时 + * * @param id * @return */ @ResponseBody @PostMapping("/coursePackagePayment/queryResidueClassHourById") - public Integer queryResidueClassHourById(@RequestBody Long id){ + public Integer queryResidueClassHourById(@RequestBody Long id) { try { - TCoursePackagePayment list = packagePaymentService.getById(id); - return list.getLaveClassHours(); - }catch (Exception e){ + CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(id); + return coursePackageOrderStudent.getLaveClassHours(); + } catch (Exception e) { e.printStackTrace(); return 0; } } - public static Date[] generateDateArray(int numDays,Date date) { + public static Date[] generateDateArray(int numDays, Date date) { // LocalDate tomorrow = LocalDate.now().plusDays(1); LocalDate tomorrow = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate().plusDays(1); @@ -1252,162 +1287,189 @@ } @Autowired - private TCoursePackageService packageService; + private TCoursePackageService packageService; @Autowired - CoursePackageStudentService studentService ; + CoursePackageStudentService studentService; + /** * 课程用于支付进行扣减 + * * @param paymentDeductionClassHour */ @ResponseBody @PostMapping("/coursePackagePayment/paymentDeductionClassHour") - public void paymentDeductionClassHour(@RequestBody PaymentDeductionClassHour paymentDeductionClassHour){ + public void paymentDeductionClassHour(@RequestBody PaymentDeductionClassHour paymentDeductionClassHour) { try { // 2.0 用id进行查询 - TCoursePackagePayment coursePackagePayment= packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", paymentDeductionClassHour.getCourseId()).eq("payStatus", 2) - .eq("status", 1).eq("state", 1).gt("laveClassHours", 0)); - Integer classHour = paymentDeductionClassHour.getClassHour(); +// TCoursePackagePayment coursePackagePayment = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", paymentDeductionClassHour.getCourseId()).eq("payStatus", 2) +// .eq("status", 1).eq("state", 1).gt("laveClassHours", 0)); +// Integer classHour = paymentDeductionClassHour.getClassHour(); // for (TCoursePackagePayment coursePackagePayment : list) { - if (coursePackagePayment.getLaveClassHours().compareTo(classHour) >= 0) { - coursePackagePayment.setLaveClassHours(coursePackagePayment.getLaveClassHours() - classHour); - coursePackagePayment.setAppUserId(null); - packagePaymentService.updateById(coursePackagePayment); - CourseCounsum courseCounsum = new CourseCounsum(); - courseCounsum.setPaymentId(coursePackagePayment.getId()); - courseCounsum.setChangeType(0); - courseCounsum.setNum(classHour); - courseCounsum.setInsertTime(new Date()); - courseCounsum.setReason("报名赛事"); - courseCounsumService.save(courseCounsum); + + + CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(paymentDeductionClassHour.getCourseId()); +// if (paymentDeductionClassHour.getClassHour() > coursePackageOrderStudent.getLaveClassHours()) { +// return ResultUtil.error("当前课包课时数不足"); +// } + TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId()); + coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - paymentDeductionClassHour.getClassHour()); + coursePackageOrderStudentService.updateById(coursePackageOrderStudent); + //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录 + List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>() + .eq("studentId", coursePackageOrderStudent.getStudentId()).eq("status", 1) + .eq("type", 1).orderByDesc("classDate")); + //已经排课但没有使用的课时数量 + int number = list1.size() * coursePackage.getNeedNum(); + Integer laveClassHours1 = coursePackageOrderStudent.getLaveClassHours(); + //需要删除多余的排课记录 + if(number > laveClassHours1){ + int n = number - laveClassHours1; + for (int i = 0; i < n; i++) { + CoursePackageScheduling coursePackageScheduling = list1.get(i); + coursePackageSchedulingService.getBaseMapper().deleteById(coursePackageScheduling.getId()); + + coursePackageStudentService.getBaseMapper().delete(new QueryWrapper<CoursePackageStudent>() + .eq("coursePackageSchedulingId", coursePackageScheduling.getId())); + } + } - List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackagePayment.getStudentId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId())); - List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); - coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id",collect)); - coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", paymentDeductionClassHour.getId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId())); - - - - - - TCoursePackage tCoursePackage = packageService.getById(coursePackagePayment.getCoursePackageId()); - String classWeeks = tCoursePackage.getClassWeeks(); - List<Integer> week = week(classWeeks); - - TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", coursePackagePayment.getCoursePackageId()).eq("studentId", coursePackagePayment.getStudentId())); - - Date today = new Date(); - Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DATE, -1); - today = calendar.getTime(); - - - Integer laveClassHours = pay.getLaveClassHours(); - Integer codeTime = tCoursePackage.getCodeTime(); - Integer can = laveClassHours/codeTime; - - int count = 0; - String[] split = tCoursePackage.getClassStartTime().split(","); - String[] split1 = tCoursePackage.getClassEndTime().split(","); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - - Date[] dates = generateDateArray(14,today); - for (Date date : dates) { - if (count==can){ - break; - } - int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date); - if (week.contains(wei)){ - for (int i1 = 0; i1 < split.length; i1++) { - if (count==can){ - break; - } - CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); - coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); - Date parse = format1.parse(format.format(date) + " " + split[i1]); - Date parse1 = format1.parse(format.format(date) + " " + split1[i1]); - coursePackageScheduling.setClassDate(parse); - coursePackageScheduling.setEndDate(parse1); - coursePackageScheduling.setStatus(1); - coursePackageSchedulingService.save(coursePackageScheduling); - CoursePackageStudent student1 = new CoursePackageStudent(); - student1.setAppUserId(pay.getAppUserId()); - student1.setStudentId(pay.getStudentId()); - student1.setCoursePackageId(pay.getCoursePackageId()); - student1.setCoursePackagePaymentId(pay.getId()); - student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); - student1.setSignInOrNot(1); - student1.setReservationStatus(1); - student1.setInsertTime(new Date()); - studentService.save(student1); - count++; - } - } - } - - - - - // 2.0 少于3课时 推送 - if (coursePackagePayment.getLaveClassHours() <= 3) { - Integer appUserId = coursePackagePayment.getAppUserId(); - - //调用推送 - HttpHeaders headers = new HttpHeaders(); - // 以表单的方式提交 - headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); - String s1 = appUserId + "_" + "Three"; - //定时修改排课状态 - String s = internalRestTemplate.getForObject("http://mb-cloud-gateway/netty/sendMsgToClient?id=" + s1, String.class); - JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); - if (jsonObject1.getIntValue("code") != 200) { - System.err.println(jsonObject1.getString("msg")); - } - } - - CancelledClasses cancelledClasses = new CancelledClasses(); - cancelledClasses.setType(2); - cancelledClasses.setVoucher(paymentDeductionClassHour.getCode()); - cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId()); - cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId()); - cancelledClasses.setCancelledClassesNumber(classHour); - cancelledClasses.setInsertTime(new Date()); - cancelledClassesService.save(cancelledClasses); - - }else{ - CancelledClasses cancelledClasses = new CancelledClasses(); - cancelledClasses.setType(2); - cancelledClasses.setVoucher(paymentDeductionClassHour.getCode()); - cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId()); - cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId()); - cancelledClasses.setCancelledClassesNumber(coursePackagePayment.getLaveClassHours()); - cancelledClasses.setInsertTime(new Date()); - cancelledClassesService.save(cancelledClasses); - - coursePackagePayment.setLaveClassHours(0); - packagePaymentService.updateById(coursePackagePayment); - - classHour -= cancelledClasses.getCancelledClassesNumber(); - } +// if (coursePackagePayment.getLaveClassHours().compareTo(classHour) >= 0) { +// coursePackagePayment.setLaveClassHours(coursePackagePayment.getLaveClassHours() - classHour); +// coursePackagePayment.setAppUserId(null); +// packagePaymentService.updateById(coursePackagePayment); +// +// CourseCounsum courseCounsum = new CourseCounsum(); +// courseCounsum.setPaymentId(coursePackagePayment.getId()); +// courseCounsum.setChangeType(0); +// courseCounsum.setNum(classHour); +// courseCounsum.setInsertTime(new Date()); +// courseCounsum.setReason("报名赛事"); +// courseCounsumService.save(courseCounsum); +// +// +// List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackagePayment.getStudentId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId())); +// List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); +// coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id", collect)); +// coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", paymentDeductionClassHour.getId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId())); +// +// +// TCoursePackage tCoursePackage = packageService.getById(coursePackagePayment.getCoursePackageId()); +// String classWeeks = tCoursePackage.getClassWeeks(); +// List<Integer> week = week(classWeeks); +// +// TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", coursePackagePayment.getCoursePackageId()).eq("studentId", coursePackagePayment.getStudentId())); +// +// Date today = new Date(); +// Calendar calendar = Calendar.getInstance(); +// calendar.add(Calendar.DATE, -1); +// today = calendar.getTime(); +// +// +// Integer laveClassHours = pay.getLaveClassHours(); +// Integer codeTime = tCoursePackage.getCodeTime(); +// Integer can = laveClassHours / codeTime; +// +// int count = 0; +// String[] split = tCoursePackage.getClassStartTime().split(","); +// String[] split1 = tCoursePackage.getClassEndTime().split(","); +// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); +// SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); +// +// Date[] dates = generateDateArray(14, today); +// for (Date date : dates) { +// if (count == can) { +// break; +// } +// int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date); +// if (week.contains(wei)) { +// for (int i1 = 0; i1 < split.length; i1++) { +// if (count == can) { +// break; +// } +// CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); +// coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); +// Date parse = format1.parse(format.format(date) + " " + split[i1]); +// Date parse1 = format1.parse(format.format(date) + " " + split1[i1]); +// coursePackageScheduling.setClassDate(parse); +// coursePackageScheduling.setEndDate(parse1); +// coursePackageScheduling.setStatus(1); +// coursePackageSchedulingService.save(coursePackageScheduling); +// CoursePackageStudent student1 = new CoursePackageStudent(); +// student1.setAppUserId(pay.getAppUserId()); +// student1.setStudentId(pay.getStudentId()); +// student1.setCoursePackageId(pay.getCoursePackageId()); +// student1.setCoursePackagePaymentId(pay.getId()); +// student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); +// student1.setSignInOrNot(1); +// student1.setReservationStatus(1); +// student1.setInsertTime(new Date()); +// studentService.save(student1); +// count++; +// } +// } +// } +// +// +// // 2.0 少于3课时 推送 +// if (coursePackagePayment.getLaveClassHours() <= 3) { +// Integer appUserId = coursePackagePayment.getAppUserId(); +// +// //调用推送 +// HttpHeaders headers = new HttpHeaders(); +// // 以表单的方式提交 +// headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); +// String s1 = appUserId + "_" + "Three"; +// //定时修改排课状态 +// String s = internalRestTemplate.getForObject("http://mb-cloud-gateway/netty/sendMsgToClient?id=" + s1, String.class); +// JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class); +// if (jsonObject1.getIntValue("code") != 200) { +// System.err.println(jsonObject1.getString("msg")); +// } +// } +// +// CancelledClasses cancelledClasses = new CancelledClasses(); +// cancelledClasses.setType(2); +// cancelledClasses.setVoucher(paymentDeductionClassHour.getCode()); +// cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId()); +// cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId()); +// cancelledClasses.setCancelledClassesNumber(classHour); +// cancelledClasses.setInsertTime(new Date()); +// cancelledClassesService.save(cancelledClasses); +// +// } else { +// CancelledClasses cancelledClasses = new CancelledClasses(); +// cancelledClasses.setType(2); +// cancelledClasses.setVoucher(paymentDeductionClassHour.getCode()); +// cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId()); +// cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId()); +// cancelledClasses.setCancelledClassesNumber(coursePackagePayment.getLaveClassHours()); +// cancelledClasses.setInsertTime(new Date()); +// cancelledClassesService.save(cancelledClasses); +// +// coursePackagePayment.setLaveClassHours(0); +// packagePaymentService.updateById(coursePackagePayment); +// +// classHour -= cancelledClasses.getCancelledClassesNumber(); +// } // } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } - private List<Integer> week(String week){ + private List<Integer> week(String week) { String[] split = week.split(";"); ArrayList<Integer> integers = new ArrayList<>(); for (String s : split) { - switch (s){ + switch (s) { case "周一": integers.add(1); break; @@ -1433,13 +1495,15 @@ } return integers; } + /** * 取消赛事回退支付课时 + * * @param paymentDeductionClassHour */ @ResponseBody @PostMapping("/coursePackagePayment/rollbackPaymentDeductionClassHour") - public void rollbackPaymentDeductionClassHour(@RequestBody PaymentDeductionClassHour paymentDeductionClassHour){ + public void rollbackPaymentDeductionClassHour(@RequestBody PaymentDeductionClassHour paymentDeductionClassHour) { try { List<CancelledClasses> voucher = cancelledClassesService.list(new QueryWrapper<CancelledClasses>().eq("voucher", paymentDeductionClassHour.getCode())); for (CancelledClasses cancelledClasses : voucher) { @@ -1450,20 +1514,23 @@ cancelledClassesService.removeById(cancelledClasses.getId()); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } + @Resource + private TCoursePackageMapper tcpmapper; /** * 找出符合门店的课包 + * * @param s * @return */ @ResponseBody @PostMapping("/coursePackagePayment/paymentCompetitionCourseList") - public List<PayCourseRes> paymentCompetitionCourseList(@RequestBody String s){ + public List<PayCourseRes> paymentCompetitionCourseList(@RequestBody String s) { ArrayList<PayCourseRes> objects = new ArrayList<>(); String[] split = s.split("_"); @@ -1476,51 +1543,73 @@ for (String s2 : split1) { storeIds.add(Integer.valueOf(s2)); } - List<TCoursePackagePayment> list = packagePaymentService.list(new LambdaQueryWrapper<TCoursePackagePayment>().eq(TCoursePackagePayment::getAppUserId, integer).ge(TCoursePackagePayment::getLaveClassHours, 0).eq(TCoursePackagePayment::getStatus, 1).eq(TCoursePackagePayment::getState, 1)); - for (TCoursePackagePayment tCoursePackagePayment : list) { - Integer coursePackageId = tCoursePackagePayment.getCoursePackageId(); - TCoursePackage byId = tcpService.getById(coursePackageId); - if (byId.getType()==3){ +// List<TCoursePackagePayment> list = packagePaymentService.list(new LambdaQueryWrapper<TCoursePackagePayment>().eq(TCoursePackagePayment::getAppUserId, integer).ge(TCoursePackagePayment::getLaveClassHours, 0).eq(TCoursePackagePayment::getStatus, 1).eq(TCoursePackagePayment::getState, 1)); +// for (TCoursePackagePayment tCoursePackagePayment : list) { +// Integer coursePackageId = tCoursePackagePayment.getCoursePackageId(); +// TCoursePackage byId = tcpService.getById(coursePackageId); +// if (byId.getType() == 3) { +// continue; +// } +// if (storeIds.contains(byId.getStoreId())) { +// PayCourseRes payCourseRes = new PayCourseRes(); +// payCourseRes.setCourseNum(tCoursePackagePayment.getLaveClassHours()); +// payCourseRes.setId(tCoursePackagePayment.getId()); +// payCourseRes.setName(byId.getName()); +// objects.add(payCourseRes); +// } +// } + + + + List<CoursePackageOrderStudent> tCoursePackagePayments = coursePackageOrderStudentService.list(new LambdaQueryWrapper<CoursePackageOrderStudent>().eq(CoursePackageOrderStudent::getAppUserId, integer)); +// ArrayList<PayCourseRes> payCourseRes = new ArrayList<>(); + for (CoursePackageOrderStudent tCoursePackagePayment : tCoursePackagePayments) { + TCoursePackage tCoursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId()); + if (tCoursePackage.getType() != 1) { continue; } - if(storeIds.contains(byId.getStoreId())){ + if (storeIds.contains(tCoursePackage.getStoreId())) { PayCourseRes payCourseRes = new PayCourseRes(); payCourseRes.setCourseNum(tCoursePackagePayment.getLaveClassHours()); payCourseRes.setId(tCoursePackagePayment.getId()); - payCourseRes.setName(byId.getName()); + payCourseRes.setName(tCoursePackage.getName()); objects.add(payCourseRes); + } } + + return objects; } @ResponseBody @PostMapping("/coursePackagePayment/isHave") - public Integer isHave(@RequestBody String ids){ + public Integer isHave(@RequestBody String ids) { String[] split = ids.split(","); - return coursePackagePaymentService.count(new QueryWrapper<TCoursePackagePayment>().in("studentId",split)); + return coursePackagePaymentService.count(new QueryWrapper<TCoursePackagePayment>().in("studentId", split)); } /** * 课包续费玩湃币支付 + * * @param */ @PostMapping("/coursePackagePayment/courseRenewPlayPaiPay") - public int paymentWanpaiRenewCourse(@RequestBody PlayPaiGoldCoursePackage coursePackage){ + public int paymentWanpaiRenewCourse(@RequestBody PlayPaiGoldCoursePackage coursePackage) { try { Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); - if (null == userIdFormRedis){ + if (null == userIdFormRedis) { return 2; } CoursePackagePaymentConfig paymentConfig = icppcService.getById(coursePackage.getCoursePayConfigId()); AppUser appUser = auClitn.queryAppUser(userIdFormRedis); - if (appUser.getPlayPaiCoins() < paymentConfig.getPlayPaiCoin()){ + if (appUser.getPlayPaiCoins() < paymentConfig.getPlayPaiCoin()) { return 3; } TCoursePackagePayment packagePayment = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>() - .eq("code",coursePackage.getCode() )); + .eq("code", coursePackage.getCode())); packagePayment.setPayStatus(2); packagePayment.setPayUserId(userIdFormRedis); packagePayment.setClassHours(paymentConfig.getClassHours()); @@ -1529,7 +1618,7 @@ packagePayment.setLaveClassHours(paymentConfig.getClassHours()); packagePaymentService.updateById(packagePayment); - appUser.setPlayPaiCoins(appUser.getPlayPaiCoins()-paymentConfig.getPlayPaiCoin()); + appUser.setPlayPaiCoins(appUser.getPlayPaiCoins() - paymentConfig.getPlayPaiCoin()); auClitn.updateAppUser(appUser); // 2.0 @@ -1557,29 +1646,30 @@ } @PostMapping("/base/coursePack/getPaymentCoursePackage") - public TCoursePackagePayment getCoursePackagePaymentByCode(@RequestBody String code){ + public TCoursePackagePayment getCoursePackagePaymentByCode(@RequestBody String code) { return packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>() - .eq("code",code)); + .eq("code", code)); } @PostMapping("/base/coursePack/getCoursePackagePaymentById") - public TCoursePackagePayment getCoursePackagePaymentById(@RequestBody Long id){ + public TCoursePackagePayment getCoursePackagePaymentById(@RequestBody Long id) { TCoursePackagePayment byId = packagePaymentService.getById(id); - System.out.println("======byId=========="+byId); + System.out.println("======byId==========" + byId); return byId; } @PostMapping("/base/coursePack/delPaymentCoursePackage") - public boolean delPaymentCoursePackage(@RequestBody Integer payId){ + public boolean delPaymentCoursePackage(@RequestBody Integer payId) { return packagePaymentService.removeById(payId); } + @PostMapping("/base/coursePack/updatePaymentCoursePackage") - public boolean updatePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment){ + public boolean updatePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment) { boolean id = packagePaymentService.update(packagePayment, new QueryWrapper<TCoursePackagePayment>() .eq("id", packagePayment.getId())); - if(id){ + if (id) { // 2.0 TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord(); tCourseInfoRecord.setNum(packagePayment.getTotalClassHours()); @@ -1604,7 +1694,7 @@ } @PostMapping("/base/coursePack/savePaymentCoursePackage") - public boolean savePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment){ + public boolean savePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment) { return packagePaymentService.save(packagePayment); } @@ -1616,11 +1706,10 @@ String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); String[] split = orderDto.getStuIds().split(","); for (String s : split) { - TCoursePackagePayment coursePackagePaymentServiceOne = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", s).eq("coursePackageId",orderDto.getClassId())); + TCoursePackagePayment coursePackagePaymentServiceOne = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", s).eq("coursePackageId", orderDto.getClassId())); - - if (coursePackagePaymentServiceOne==null) { + if (coursePackagePaymentServiceOne == null) { TCoursePackagePayment coursePackagePayment = new TCoursePackagePayment(); coursePackagePayment.setCode(code); coursePackagePayment.setAppUserId(orderDto.getAppUserId()); @@ -1654,10 +1743,10 @@ courseCounsum.setReason("积分兑换"); courseCounsumService.save(courseCounsum); - }else { - coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+orderDto.getClassHours()); - coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+orderDto.getClassHours()); - coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+orderDto.getClassHours()); + } else { + coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours() + orderDto.getClassHours()); + coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours() + orderDto.getClassHours()); + coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours() + orderDto.getClassHours()); coursePackagePaymentServiceOne.setAppUserId(null); coursePackagePaymentService.updateById(coursePackagePaymentServiceOne); @@ -1701,11 +1790,12 @@ @Autowired private TCoursePackageService coursePackageService; - private void addPackageStudent(Integer courseId, Integer userId, Integer sId,Long paymentId) throws ParseException { + + private void addPackageStudent(Integer courseId, Integer userId, Integer sId, Long paymentId) throws ParseException { // 课包 TCoursePackage tCoursePackage = coursePackageService.getById(courseId); - if (tCoursePackage.getType()==1) { + if (tCoursePackage.getType() == 1) { String classWeeks = tCoursePackage.getClassWeeks(); List<Integer> week = week(classWeeks); @@ -1773,7 +1863,7 @@ } } - }else if (tCoursePackage.getType()==2){ + } else if (tCoursePackage.getType() == 2) { String classWeeks = tCoursePackage.getClassWeeks(); List<Integer> week = week(classWeeks); @@ -1785,7 +1875,7 @@ LocalDate endDate = endTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); Period period = Period.between(startDate, endDate); int days = period.getDays() + 1; - Integer can =999; + Integer can = 999; int count = 0; String[] split = tCoursePackage.getClassStartTime().split(","); String[] split1 = tCoursePackage.getClassEndTime().split(","); @@ -1799,18 +1889,18 @@ TCoursePackagePayment pay = coursePackagePaymentService.getById(paymentId); - Date[] dates = generateDateArray(days,calendar.getTime()); + Date[] dates = generateDateArray(days, calendar.getTime()); for (Date date : dates) { - if (count==can){ + if (count == can) { break; } - int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date)-1; - if (wei == 0){ - wei =7; + int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date) - 1; + if (wei == 0) { + wei = 7; } - if (week.contains(wei)){ + if (week.contains(wei)) { for (int i1 = 0; i1 < split.length; i1++) { - if (count==can){ + if (count == can) { break; } CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); @@ -1853,9 +1943,9 @@ @ResponseBody @PostMapping("/base/coursePack/obtainStudentClassDetails") - public List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody WeeksOfCourseRest stuId){ + public List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody WeeksOfCourseRest stuId) { // try { - return packagePaymentService.obtainStuClassDetails(stuId.getStuId(),stuId.getAppUserId(),stuId.getPageNum()); + return coursePackageOrderStudentService.obtainStuClassDetails(stuId.getStuId(), stuId.getAppUserId(), stuId.getPageNum()); // }catch (Exception e){ // e.printStackTrace(); // throw new RuntimeException(); @@ -1864,27 +1954,26 @@ @PostMapping("/base/coursePack/getCoursePackageConfig") - public List<CoursePackagePaymentConfig> getCourseConfigList(@RequestBody Integer coursePackageId){ + public List<CoursePackagePaymentConfig> getCourseConfigList(@RequestBody Integer coursePackageId) { return icppcService.list(new QueryWrapper<CoursePackagePaymentConfig>() - .eq("coursePackageId",coursePackageId)); + .eq("coursePackageId", coursePackageId)); } - @PostMapping("/base/coursePack/getCoursePackagePaymentOfCode") - public List<TCoursePackagePayment> getCoursePackagePaymentOfCode(@RequestBody String code){ + public List<TCoursePackagePayment> getCoursePackagePaymentOfCode(@RequestBody String code) { return packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() - .eq("code",code)); + .eq("code", code)); } // 2.0 送课时 @PostMapping("/base/coursePack/sendHours") - public Integer sendHours(@RequestBody String s) throws ParseException { + public Integer sendHours(@RequestBody String s) throws ParseException { String[] split2 = s.split("_"); TCoursePackagePayment byId = packagePaymentService.getById(Long.valueOf(split2[0])); - byId.setTotalClassHours(byId.getTotalClassHours()+Integer.valueOf(split2[2])); - boolean b = packagePaymentService.updateHoursById(byId,Integer.valueOf(split2[2])); + byId.setTotalClassHours(byId.getTotalClassHours() + Integer.valueOf(split2[2])); + boolean b = packagePaymentService.updateHoursById(byId, Integer.valueOf(split2[2])); CourseCounsum courseCounsum = new CourseCounsum(); courseCounsum.setPaymentId(byId.getId()); @@ -1897,11 +1986,8 @@ List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", byId.getStudentId()).eq("coursePackageId", byId.getCoursePackageId())); List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); - coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id",collect)); + coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id", collect)); coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", byId.getStudentId()).eq("coursePackageId", byId.getCoursePackageId())); - - - TCoursePackage tCoursePackage = packageService.getById(byId.getCoursePackageId()); @@ -1914,7 +2000,7 @@ Integer laveClassHours = pay.getLaveClassHours(); Integer codeTime = tCoursePackage.getCodeTime(); - Integer can = laveClassHours/codeTime; + Integer can = laveClassHours / codeTime; int count = 0; String[] split = tCoursePackage.getClassStartTime().split(","); @@ -1922,15 +2008,15 @@ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - Date[] dates = generateDateArray(14,today); + Date[] dates = generateDateArray(14, today); for (Date date : dates) { - if (count==can){ + if (count == can) { break; } - int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date); - if (week.contains(wei)){ + int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date); + if (week.contains(wei)) { for (int i1 = 0; i1 < split.length; i1++) { - if (count==can){ + if (count == can) { break; } CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); @@ -1957,16 +2043,9 @@ } - - - - - - - - if(b){ + if (b) { return 1; - }else { + } else { return 0; } @@ -1975,23 +2054,25 @@ /** * 查询课时 + * * @param courseConfigId * @return */ @PostMapping("/base/coursePack/getClassHour") - public Integer getClassHour(@RequestBody Integer courseConfigId){ + public Integer getClassHour(@RequestBody Integer courseConfigId) { CoursePackagePaymentConfig byId = icppcService.getById(courseConfigId); return byId.getClassHours(); } /** * 获取课包报名信息列表 + * * @param queryRegistrationRecord * @return */ @ResponseBody @PostMapping("/coursePackagePayment/queryRegistrationRecord") - public Page<Map<String, Object>> queryRegistrationRecord(@RequestBody QueryRegistrationRecord queryRegistrationRecord){ + public Page<Map<String, Object>> queryRegistrationRecord(@RequestBody QueryRegistrationRecord queryRegistrationRecord) { Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(queryRegistrationRecord.getLimit(), queryRegistrationRecord.getOffset(), queryRegistrationRecord.getSort(), queryRegistrationRecord.getOrder()); Page<Map<String, Object>> mapPage = page.setRecords(packagePaymentService.queryRegistrationRecord(page, queryRegistrationRecord)); return mapPage; @@ -2000,12 +2081,13 @@ /** * 获取未预约排课学员列表 + * * @param queryWalkInStudentList * @return */ @ResponseBody @PostMapping("/coursePackagePayment/queryWalkInStudentList") - public Page<Map<String, Object>> queryWalkInStudentList(@RequestBody QueryWalkInStudentList queryWalkInStudentList){ + public Page<Map<String, Object>> queryWalkInStudentList(@RequestBody QueryWalkInStudentList queryWalkInStudentList) { Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(queryWalkInStudentList.getLimit(), queryWalkInStudentList.getOffset(), queryWalkInStudentList.getSort(), queryWalkInStudentList.getOrder()); Page<Map<String, Object>> mapPage = page.setRecords(packagePaymentService.queryWalkInStudentList(page, queryWalkInStudentList)); return mapPage; @@ -2014,19 +2096,47 @@ /** * 根据id获取数据 + * * @param id * @return */ @ResponseBody @PostMapping("/coursePackagePayment/queryCoursePackagePaymentById") - public TCoursePackagePayment queryCoursePackagePaymentById(@RequestParam("id")Long id){ + public TCoursePackagePayment queryCoursePackagePaymentById(@RequestParam("id") Long id) { return packagePaymentService.getById(id); + } + + +// @Autowired +// private ICoursePackageOrderStudentService orderStudentService; + + + @ResponseBody + @PostMapping("/coursePackagePayment/consumeCourse") + public ResultUtil consumeCourse(@RequestBody Integer coursePackagePaymentId) { + CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getById(coursePackagePaymentId); + + TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId()); + + if (coursePackageOrderStudent.getLaveClassHours()<coursePackage.getNeedNum()){ + return ResultUtil.error("当前学员课时数不足"); + } + coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()-coursePackage.getNeedNum()); + orderStudentService.updateById(coursePackageOrderStudent); + CourseCounsum courseCounsum = new CourseCounsum(); + courseCounsum.setPaymentId(coursePackageOrderStudent.getId()); + courseCounsum.setChangeType(0); + courseCounsum.setNum(coursePackage.getNeedNum()); + courseCounsum.setInsertTime(new Date()); + courseCounsum.setReason("补课"); + courseCounsumService.save(courseCounsum); + return ResultUtil.success("补课成功"); } @ResponseBody @PostMapping("/coursePackagePayment/CountqueryByClassId") - public Integer CountqueryByClassId(@RequestBody Integer id){ + public Integer CountqueryByClassId(@RequestBody Integer id) { int coursePackageId = packagePaymentService.count(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", id)); @@ -2036,25 +2146,26 @@ /** * 修改数据 + * * @param coursePackagePayment */ @ResponseBody @PostMapping("/coursePackagePayment/editCoursePackagePayment") - public void editCoursePackagePayment(TCoursePackagePayment coursePackagePayment){ + public void editCoursePackagePayment(TCoursePackagePayment coursePackagePayment) { coursePackagePayment.setAppUserId(null); packagePaymentService.updateById(coursePackagePayment); } - /** * 修改数据 + * * @param coursePackagePayment */ @ResponseBody @PostMapping("/coursePackagePayment/editCoursePackagePayment1") - public void editCoursePackagePayment1(@RequestBody TCoursePackagePayment coursePackagePayment){ - System.out.println("editCoursePackagePayment1====coursePackagePayment"+coursePackagePayment); + public void editCoursePackagePayment1(@RequestBody TCoursePackagePayment coursePackagePayment) { + System.out.println("editCoursePackagePayment1====coursePackagePayment" + coursePackagePayment); // coursePackagePayment.setCoursePackageId(null); packagePaymentService.updateBytime(coursePackagePayment); } @@ -2072,20 +2183,20 @@ @ApiImplicitParam(value = "时间 yyyy-MM-dd", name = "time", required = true, dataType = "String"), @ApiImplicitParam(value = "学员id", name = "stuId", required = true, dataType = "int"), }) - public ResultUtil reverse(String courseID,String time,Integer stuId){ + public ResultUtil reverse(String courseID, String time, Integer stuId) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); try { Integer appUserId = tokenUtil.getUserIdFormRedis(); - if(null == appUserId){ + if (null == appUserId) { return ResultUtil.tokenErr(); } - List<TCoursePackagePayment> packagePayment = packagePaymentService.list(new LambdaQueryWrapper<TCoursePackagePayment>() - .eq(TCoursePackagePayment::getCoursePackageId,courseID ) - .eq(TCoursePackagePayment::getAppUserId,appUserId) - .eq(TCoursePackagePayment::getStudentId,stuId) + List<CoursePackageOrderStudent> packagePayment = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>() + .eq("coursePackageId", courseID) + .eq("appUserId", appUserId) + .eq("studentId", stuId) ); - if (ToolUtil.isEmpty(packagePayment) || packagePayment.size()==0){ + if (ToolUtil.isEmpty(packagePayment) || packagePayment.size() == 0) { return ResultUtil.error("该用户未购买该课包"); } List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingMapper.selectList(new LambdaQueryWrapper<CoursePackageScheduling>() @@ -2094,234 +2205,240 @@ ); List<CoursePackageStudent> coursePackageStudent = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>() - .in(CoursePackageStudent::getCoursePackagePaymentId,packagePayment.stream().map(TCoursePackagePayment::getId).collect(Collectors.toList())) - .in(CoursePackageStudent::getCoursePackageSchedulingId,coursePackageSchedulings.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList())) - .eq(CoursePackageStudent::getCoursePackageId,courseID) - .eq(CoursePackageStudent::getStudentId,stuId) - .eq(CoursePackageStudent::getAppUserId,appUserId) + .in(CoursePackageStudent::getCoursePackagePaymentId, packagePayment.stream().map(CoursePackageOrderStudent::getId).collect(Collectors.toList())) + .in(CoursePackageStudent::getCoursePackageSchedulingId, coursePackageSchedulings.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList())) + .eq(CoursePackageStudent::getCoursePackageId, courseID) + .eq(CoursePackageStudent::getStudentId, stuId) + .eq(CoursePackageStudent::getAppUserId, appUserId) ); - if (ToolUtil.isNotEmpty(coursePackageStudent)){ + if (ToolUtil.isNotEmpty(coursePackageStudent)) { for (CoursePackageStudent packageStudent : coursePackageStudent) { - if(packageStudent.getReservationStatus()==1){ + if (packageStudent.getReservationStatus() == 1) { packageStudent.setSignInOrNot(2); cspsService.updateSignInOrNotById(packageStudent.getId()); } } - }else { + } else { } return ResultUtil.success(); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } } - @ResponseBody @PostMapping("/base/coursePack/getConsumes") List<CourseCounsum> getConsumes(@RequestBody BillingDataRequestVo requestVo) { - Integer[] integers = {2,3}; - QueryWrapper<CourseCounsum> courseCounsumQueryWrapper = new QueryWrapper<CourseCounsum>().in("changeType",integers).eq("appUserId",requestVo.getAppUserId()); - if (requestVo.getMonthEnd()!=null){ - courseCounsumQueryWrapper.ge("insertTime",requestVo.getMonthStart()); - courseCounsumQueryWrapper.le("insertTime",requestVo.getMonthEnd()); + Integer[] integers = {2, 3}; + QueryWrapper<CourseCounsum> courseCounsumQueryWrapper = new QueryWrapper<CourseCounsum>().in("changeType", integers).eq("appUserId", requestVo.getAppUserId()); + if (requestVo.getMonthEnd() != null) { + courseCounsumQueryWrapper.ge("insertTime", requestVo.getMonthStart()); + courseCounsumQueryWrapper.le("insertTime", requestVo.getMonthEnd()); } - return courseCounsumService.list(courseCounsumQueryWrapper); + return courseCounsumService.list(courseCounsumQueryWrapper); } + @ResponseBody @PostMapping("/base/coursePack/weeksOfCourseDetailsList") - HashMap<String, Object> weeksOfCourseDetailsList(@RequestBody CourseDetailReq courseDetailReq){ + public HashMap<String, Object> weeksOfCourseDetailsList(@RequestBody CourseDetailReq courseDetailReq) { HashMap<String, Object> map = new HashMap<>(); ArrayList<DetailsListVo> objects = new ArrayList<>(); -// try { - String time = courseDetailReq.getTime(); + String time = courseDetailReq.getTime(); Date parse = null; try { parse = new SimpleDateFormat("yyyy-MM-dd").parse(time); } catch (ParseException e) { throw new RuntimeException(e); } - int i = cn.hutool.core.date.DateUtil.dayOfWeek(parse)-1; - String week = week(i); - Store store = sreClient.queryStoreById(courseDetailReq.getStoreId()); - String lat = store.getLat(); - String lon = store.getLon(); + int i = cn.hutool.core.date.DateUtil.dayOfWeek(parse) - 1; + String week = week(i); + Store store = sreClient.queryStoreById(courseDetailReq.getStoreId()); + String lat = store.getLat(); + String lon = store.getLon(); - Map<String, Double> distance = GeodesyUtil.getDistance(courseDetailReq.getLon() + "," + courseDetailReq.getLat(), lon + "," + lat); - double wgs84 = distance.get("WGS84") / 1000; - map.put("distance",wgs84); - map.put("name",store.getName()); - map.put("lon",lon); - map.put("lat",lat); + Map<String, Double> distance = GeodesyUtil.getDistance(courseDetailReq.getLon() + "," + courseDetailReq.getLat(), lon + "," + lat); + double wgs84 = distance.get("WGS84") / 1000; + map.put("distance", wgs84); + map.put("name", store.getName()); + map.put("lon", lon); + map.put("lat", lat); + // 找出门店的所有课程 排出体验 + List<TCoursePackage> list = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().eq(TCoursePackage::getStoreId, courseDetailReq.getStoreId()).ne(TCoursePackage::getType, 3).eq(TCoursePackage::getState, 1).like(TCoursePackage::getClassWeeks, week)); + List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList()); + if (collect.size() == 0) { + collect.add(-1); + } - String time1 = courseDetailReq.getTime(); + List<CoursePackageScheduling> list8 = coursePackageSchedulingMapper.selectList(new LambdaQueryWrapper<CoursePackageScheduling>() + .eq(CoursePackageScheduling::getAppUserId, courseDetailReq.getAppUserId()) + .eq(CoursePackageScheduling::getStudentId, courseDetailReq.getStuId()) + .in(CoursePackageScheduling::getCoursePackageId, collect) + ); + List<Integer> collect1 = list8.stream().map(CoursePackageScheduling::getCoursePackageId).collect(Collectors.toList()); + // 找出购买的课包 + List<CoursePackageOrderStudent> list1 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>() + .eq("appUserId", courseDetailReq.getAppUserId()) + .eq("studentId", courseDetailReq.getStuId()) + .in("coursePackageId", collect1) + .eq("status", 1) + .eq("state", 1) + ); - // 找出门店的所有课程 排出体验 - List<TCoursePackage> list = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().eq(TCoursePackage::getStoreId, courseDetailReq.getStoreId()).ne(TCoursePackage::getType, 3).eq(TCoursePackage::getState,1).like(TCoursePackage::getClassWeeks,week)); - List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList()); - if(collect.size()==0){ - collect.add(-1); + + +// List<Integer> collect1 = list1.stream().map(CoursePackageOrderStudent::getCoursePackageId).collect(Collectors.toList()); +// List<Long> ids = list1.stream().map(CoursePackageOrderStudent::getId).collect(Collectors.toList()); + + + for (TCoursePackage tCoursePackage : list) { + DetailsListVo detailsListVo = new DetailsListVo(); + detailsListVo.setId(tCoursePackage.getId()); + detailsListVo.setName(tCoursePackage.getName()); + detailsListVo.setCourseType(tCoursePackage.getType()); + String classStartTime = tCoursePackage.getClassStartTime(); + String[] split = classStartTime.split(","); + String classEndTime = tCoursePackage.getClassEndTime(); + String[] split1 = classEndTime.split(","); + ArrayList<String> strings = new ArrayList<>(); + if (ToolUtil.isNotEmpty(classStartTime)) { + for (int i1 = 0; i1 < split.length; i1++) { + String s = split[i1].substring(0, 5) + "-" + split1[i1].substring(0, 5); + strings.add(s); + } } - // 找出购买的课包 - List<TCoursePackagePayment> list1 = packagePaymentService.list(new LambdaQueryWrapper<TCoursePackagePayment>().eq(TCoursePackagePayment::getAppUserId, courseDetailReq.getAppUserId()).eq(TCoursePackagePayment::getStudentId, courseDetailReq.getStuId()).in(TCoursePackagePayment::getCoursePackageId, collect)); - List<Integer> collect1 = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList()); - List<Long> ids = list1.stream().map(TCoursePackagePayment::getId).collect(Collectors.toList()); + if (detailsListVo.getCourseType() == 1) { + detailsListVo.setTime(strings); + } else { + Date startTime = tCoursePackage.getStartTime(); + Date endTime = tCoursePackage.getEndTime(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String formattedStartTime = sdf.format(startTime); + String formattedEndTime = sdf.format(endTime); + + String result = formattedStartTime + "至" + formattedEndTime; + List<String> stringLists = new ArrayList<>(); + stringLists.add(result); + detailsListVo.setTime(stringLists); + + } + //价格 + List<CoursePackagePaymentConfig> list2 = icppcService.list(new LambdaQueryWrapper<CoursePackagePaymentConfig>().eq(CoursePackagePaymentConfig::getCoursePackageId, tCoursePackage.getId()).orderByAsc(CoursePackagePaymentConfig::getCashPayment)); + if (list2.size() > 0) { + Double cashPayment = list2.get(0).getCashPayment(); + detailsListVo.setMoney(cashPayment); + } + detailsListVo.setNum(tCoursePackage.getNeedNum()); - for (TCoursePackage tCoursePackage : list) { - DetailsListVo detailsListVo = new DetailsListVo(); - detailsListVo.setId(tCoursePackage.getId()); - detailsListVo.setName(tCoursePackage.getName()); - detailsListVo.setCourseType(tCoursePackage.getType()); - String classStartTime = tCoursePackage.getClassStartTime(); - String[] split = classStartTime.split(","); - String classEndTime = tCoursePackage.getClassEndTime(); - String[] split1 = classEndTime.split(","); - ArrayList<String> strings = new ArrayList<>(); - if(ToolUtil.isNotEmpty(classStartTime)){ - for (int i1 = 0; i1 < split.length; i1++) { - String s = split[i1].substring(0,5) + "-" + split1[i1].substring(0,5); - strings.add(s); - } + + if (collect1.contains(tCoursePackage.getId())) { + // 找出排课记录 + List<CoursePackageScheduling> list3 = coursePackageSchedulingMapper.selectList(new LambdaQueryWrapper<CoursePackageScheduling>() + .eq(CoursePackageScheduling::getCoursePackageId, tCoursePackage.getId()) + .like(CoursePackageScheduling::getClassDate, courseDetailReq.getTime()) + ); + if (list3.isEmpty()) { + detailsListVo.setType(2); + objects.add(detailsListVo); + continue; } - if (detailsListVo.getCourseType()==1) { - detailsListVo.setTime(strings); - }else { - Date startTime = tCoursePackage.getStartTime(); - Date endTime = tCoursePackage.getEndTime(); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - String formattedStartTime = sdf.format(startTime); - String formattedEndTime = sdf.format(endTime); - - String result = formattedStartTime + "至" + formattedEndTime; - List<String> stringLists = new ArrayList<>(); - stringLists.add(result); - detailsListVo.setTime(stringLists); - + //排课的ids + List<Long> collect2 = list3.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList()); + if (collect2.isEmpty()) { + collect2.add(-1l); } - //价格 - List<CoursePackagePaymentConfig> list2 = icppcService.list(new LambdaQueryWrapper<CoursePackagePaymentConfig>().eq(CoursePackagePaymentConfig::getCoursePackageId, tCoursePackage.getId()).orderByAsc(CoursePackagePaymentConfig::getCashPayment)); - if (list2.size() > 0) { - Double cashPayment = list2.get(0).getCashPayment(); - detailsListVo.setMoney(cashPayment); - } - detailsListVo.setNum(tCoursePackage.getNeedNum()); - if (collect1.contains(tCoursePackage.getId())) { - // 找出排课记录 - List<CoursePackageScheduling> list3 = coursePackageSchedulingMapper.selectList(new LambdaQueryWrapper<CoursePackageScheduling>() - .eq(CoursePackageScheduling::getCoursePackageId, tCoursePackage.getId()) - .like(CoursePackageScheduling::getClassDate, courseDetailReq.getTime()) - ); - if(list3.size()==0){ - detailsListVo.setType(2); - objects.add(detailsListVo); - continue; + + + List<CoursePackageStudent> list4 = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>() + .eq(CoursePackageStudent::getAppUserId, courseDetailReq.getAppUserId()) + .eq(CoursePackageStudent::getCoursePackageId, tCoursePackage.getId()) + .in(CoursePackageStudent::getCoursePackageSchedulingId, collect2) + ); + + List<CoursePackageStudent> list5 = cspsService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", courseDetailReq.getStuId()).eq("coursePackageId", tCoursePackage.getId())); + + if (list5.size() > 0 && list4.size() > 0) { + Integer signInOrNot = list4.get(0).getSignInOrNot(); + detailsListVo.setType(1); + + if (signInOrNot == 2) { + detailsListVo.setType(3); } - //排课的ids - List<Long> collect2 = list3.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList()); - if(collect2.size()==0){ - collect2.add(-1l); - } + detailsListVo.setIsType(list4.get(0).getType()); - - List<CoursePackageStudent> list4 = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>() - .eq(CoursePackageStudent::getAppUserId, courseDetailReq.getAppUserId()) - .eq(CoursePackageStudent::getCoursePackageId, tCoursePackage.getId()) - .in(CoursePackageStudent::getCoursePackageSchedulingId, collect2). - in(CoursePackageStudent::getCoursePackagePaymentId, ids) - ); - - List<CoursePackageStudent> list5 = cspsService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", courseDetailReq.getStuId()).eq("coursePackageId",tCoursePackage.getId())); - - if(list5.size()>0&&list4.size()>0){ - Integer signInOrNot = list4.get(0).getSignInOrNot(); + for (CoursePackageStudent coursePackageStudent : list4) { + Integer signInOrNot1 = coursePackageStudent.getSignInOrNot(); detailsListVo.setType(1); - if(signInOrNot==2){ + if (signInOrNot1 == 2) { detailsListVo.setType(3); } - detailsListVo.setIsType(list4.get(0).getType()); + detailsListVo.setIsType(coursePackageStudent.getType()); + CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingMapper.selectById(coursePackageStudent.getCoursePackageSchedulingId()); + Date classDate = coursePackageScheduling.getClassDate(); + Date endDate = coursePackageScheduling.getEndDate(); + SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); + String formattedClassDate = sdf.format(classDate); + String formattedEndDate = sdf.format(endDate); - for (CoursePackageStudent coursePackageStudent : list4) { - Integer signInOrNot1 = coursePackageStudent.getSignInOrNot(); - detailsListVo.setType(1); - - if(signInOrNot1==2){ - detailsListVo.setType(3); - } - detailsListVo.setIsType(coursePackageStudent.getType()); - CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingMapper.selectById(coursePackageStudent.getCoursePackageSchedulingId()); - Date classDate = coursePackageScheduling.getClassDate(); - Date endDate = coursePackageScheduling.getEndDate(); - SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); - String formattedClassDate = sdf.format(classDate); - String formattedEndDate = sdf.format(endDate); - - String result = formattedClassDate + "-" + formattedEndDate; - List<String> strings1 =new ArrayList<>(); - strings1.add(result); - detailsListVo.setTime(strings1); - DetailsListVo detailsListVo1 = new DetailsListVo(); + String result = formattedClassDate + "-" + formattedEndDate; + List<String> strings1 = new ArrayList<>(); + strings1.add(result); + detailsListVo.setTime(strings1); + DetailsListVo detailsListVo1 = new DetailsListVo(); // detailsListVo1.setId(coursePackageStudent.getId()); - BeanUtils.copyProperties(detailsListVo,detailsListVo1); - objects.add(detailsListVo1); - } - - - - - - }else { - detailsListVo.setType(2); - objects.add(detailsListVo); - + BeanUtils.copyProperties(detailsListVo, detailsListVo1); + objects.add(detailsListVo1); } + } else { detailsListVo.setType(2); objects.add(detailsListVo); } -// objects.add(detailsListVo); - } - map.put("data",objects); - return map; -// } catch (ParseException e) { -// e.printStackTrace(); -// } -// return map; + } else { + detailsListVo.setType(2); + objects.add(detailsListVo); + + } + } + map.put("data", objects); + + return map; } - private String week(int i){ + private String week(int i) { String a = ""; - switch (i){ + switch (i) { case 1: - a="周一"; + a = "周一"; break; case 2: - a="周二"; + a = "周二"; break; case 3: - a="周三"; + a = "周三"; break; case 4: - a="周四"; + a = "周四"; break; case 5: - a="周五"; + a = "周五"; break; case 6: - a="周六"; + a = "周六"; break; case 7: - a="周日"; + a = "周日"; break; } return a; @@ -2330,38 +2447,38 @@ @ResponseBody @PostMapping("/coursePackagePayment/queryCourseData") - public List<Map<String,Object>> queryCourseData(@RequestBody List<Integer> ids){ + public List<Map<String, Object>> queryCourseData(@RequestBody List<Integer> ids) { // 找出课程类型 找出剩余的课时数 List<TCoursePackageType> list = coursePackageTypeService.list(); - if(ids.size()==0){ + if (ids.size() == 0) { ids.add(-1); } List<TCoursePackagePayment> list1 = packagePaymentService.listOne(ids); List<Integer> collect = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList()); - if(collect.size()==0){ + if (collect.size() == 0) { collect.add(-1); } List<TCoursePackage> list2 = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().in(TCoursePackage::getId, collect)); for (TCoursePackagePayment tCoursePackagePayment : list1) { for (TCoursePackage tCoursePackage : list2) { - if(tCoursePackagePayment.getCoursePackageId().equals(tCoursePackage.getId())){ - tCoursePackagePayment.setType(tCoursePackage.getCoursePackageTypeId()); + if (tCoursePackagePayment.getCoursePackageId().equals(tCoursePackage.getId())) { + tCoursePackagePayment.setType(tCoursePackage.getType()); } } } - List<Map<String,Object>> mapList = new ArrayList<>(); + List<Map<String, Object>> mapList = new ArrayList<>(); for (TCoursePackageType tCoursePackageType : list) { HashMap<String, Object> map = new HashMap<>(); - map.put("name",tCoursePackageType.getName()); - int a =0; + map.put("name", tCoursePackageType.getName()); + int a = 0; for (TCoursePackagePayment tCoursePackagePayment : list1) { - if(tCoursePackagePayment.getType().equals(tCoursePackageType.getId())){ + if (tCoursePackagePayment.getType().equals(tCoursePackageType.getId())) { a += tCoursePackagePayment.getLaveClassHours(); } } - map.put("value",a); + map.put("value", a); mapList.add(map); } @@ -2370,11 +2487,10 @@ } - @ResponseBody @PostMapping("/coursePackagePayment/coursePt") - HashMap<String, Object> coursePt(@RequestBody List<Integer> userPt){ - if(userPt.size()==0){ + HashMap<String, Object> coursePt(@RequestBody List<Integer> userPt) { + if (userPt.size() == 0) { userPt.add(-1); } HashMap<String, Object> map = new HashMap<>(); @@ -2394,10 +2510,10 @@ for (CoursePackageStudent coursePackageStudent : list) { for (TCoursePackage coursePackage : coursePackages) { - if(coursePackageStudent.getCoursePackageId().equals(coursePackage.getId())){ - if(ToolUtil.isEmpty(coursePackage.getNeedNum())){ + if (coursePackageStudent.getCoursePackageId().equals(coursePackage.getId())) { + if (ToolUtil.isEmpty(coursePackage.getNeedNum())) { coursePackageStudent.setNeedNum(0); - }else { + } else { coursePackageStudent.setNeedNum(coursePackage.getNeedNum()); } } @@ -2407,7 +2523,7 @@ ArrayList<Object> integers = new ArrayList<>(); int year = cn.hutool.core.date.DateUtil.year(new Date()); for (int i = 0; i < 10; i++) { - integers.add(year-i); + integers.add(year - i); } List<Object> collect = integers.stream().sorted().collect(Collectors.toList()); // 年 @@ -2419,8 +2535,7 @@ years.add(sum2); } - map.put("yearData",years); - + map.put("yearData", years); ArrayList<Integer> months = new ArrayList<>(); @@ -2430,16 +2545,16 @@ // 月 for (int i = 1; i <= 12; i++) { - String m=i+""; - if(i<10){ - m="0"+i; + String m = i + ""; + if (i < 10) { + m = "0" + i; } String s = year + "-" + m; List<CoursePackageStudent> collect1 = list.stream().filter(e -> format.format(e.getInsertTime()).contains(s)).filter(student -> student.getNeedNum() != null).collect(Collectors.toList()); int sum2 = collect1.stream().mapToInt(CoursePackageStudent::getNeedNum).sum(); months.add(sum2); } - map.put("monthData",months); + map.put("monthData", months); // 周 // 获取最近四周 @@ -2460,7 +2575,7 @@ LocalDateTime s8 = maxNow.minusDays(20); ArrayList<Object> weekData = new ArrayList<>(); - int count = 0; + int count = 0; int count1 = 0; @@ -2468,7 +2583,7 @@ int count3 = 0; for (CoursePackageStudent coursePackageStudent : list) { - if (coursePackageStudent.getNeedNum()==null){ + if (coursePackageStudent.getNeedNum() == null) { continue; } // 如果到课状态为否 则不计算 @@ -2477,15 +2592,15 @@ Instant instant = insertTime.toInstant(); ZoneId zoneId = ZoneId.systemDefault(); LocalDateTime dateTime = instant.atZone(zoneId).toLocalDateTime(); - if (dateTime.isAfter(s1) && dateTime.isBefore(s2)){ + if (dateTime.isAfter(s1) && dateTime.isBefore(s2)) { - count+=coursePackageStudent.getNeedNum(); - }else if(dateTime.isAfter(s3) && dateTime.isBefore(s4)){ - count1+=coursePackageStudent.getNeedNum(); - }else if(dateTime.isAfter(s5) && dateTime.isBefore(s6)){ - count2+=coursePackageStudent.getNeedNum(); - }else if(dateTime.isAfter(s7) && dateTime.isBefore(s8)){ - count3+=coursePackageStudent.getNeedNum(); + count += coursePackageStudent.getNeedNum(); + } else if (dateTime.isAfter(s3) && dateTime.isBefore(s4)) { + count1 += coursePackageStudent.getNeedNum(); + } else if (dateTime.isAfter(s5) && dateTime.isBefore(s6)) { + count2 += coursePackageStudent.getNeedNum(); + } else if (dateTime.isAfter(s7) && dateTime.isBefore(s8)) { + count3 += coursePackageStudent.getNeedNum(); } } @@ -2495,11 +2610,11 @@ weekData.add(count1); weekData.add(count); - map.put("weekData",weekData); + map.put("weekData", weekData); LocalDateTime currentDateTime = LocalDateTime.now(); - List<Integer> amountByDay = new ArrayList<>(Collections.nCopies(7,0)); + List<Integer> amountByDay = new ArrayList<>(Collections.nCopies(7, 0)); for (CoursePackageStudent coursePackageStudent : list) { Date insertTime = coursePackageStudent.getInsertTime(); // 将 Date 转换为 LocalDateTime @@ -2510,7 +2625,7 @@ if (daysDifference >= 0 && daysDifference < 7) { int index = (int) (6 - daysDifference); // 计算对应的索引位置 Integer needNum = coursePackageStudent.getNeedNum(); - if (needNum!=null){ + if (needNum != null) { int i = amountByDay.get(index) + needNum; amountByDay.set(index, i); } @@ -2522,17 +2637,18 @@ return map; } + @ResponseBody @PostMapping("/coursePackagePayment/courseYys") - HashMap<String, Object> courseYys(@RequestBody List<Integer> userPt){ - if(userPt.size()==0){ + HashMap<String, Object> courseYys(@RequestBody List<Integer> userPt) { + if (userPt.size() == 0) { userPt.add(-1); } HashMap<String, Object> map = new HashMap<>(); List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.listOne(userPt); int sum = tCoursePackagePayments.stream().mapToInt(TCoursePackagePayment::getTotalClassHours).sum(); int sum1 = tCoursePackagePayments.stream().mapToInt(TCoursePackagePayment::getLaveClassHours).sum(); - map.put("allCourse",sum-sum1); + map.put("allCourse", sum - sum1); //所有课包 List<TCoursePackage> coursePackages = tcpService.list(); @@ -2544,10 +2660,10 @@ for (CoursePackageStudent coursePackageStudent : list) { for (TCoursePackage coursePackage : coursePackages) { - if(coursePackageStudent.getCoursePackageId().equals(coursePackage.getId())){ - if(ToolUtil.isEmpty(coursePackage.getNeedNum())){ + if (coursePackageStudent.getCoursePackageId().equals(coursePackage.getId())) { + if (ToolUtil.isEmpty(coursePackage.getNeedNum())) { coursePackageStudent.setNeedNum(0); - }else { + } else { coursePackageStudent.setNeedNum(coursePackage.getNeedNum()); } } @@ -2557,7 +2673,7 @@ ArrayList<Object> integers = new ArrayList<>(); int year = cn.hutool.core.date.DateUtil.year(new Date()); for (int i = 0; i < 10; i++) { - integers.add(year-i); + integers.add(year - i); } List<Object> collect = integers.stream().sorted().collect(Collectors.toList()); // 年 @@ -2569,8 +2685,7 @@ years.add(sum2); } - map.put("yearData",years); - + map.put("yearData", years); ArrayList<Integer> months = new ArrayList<>(); @@ -2580,16 +2695,16 @@ // 月 for (int i = 1; i <= 12; i++) { - String m=i+""; - if(i<10){ - m="0"+i; + String m = i + ""; + if (i < 10) { + m = "0" + i; } String s = year + "-" + m; List<CoursePackageStudent> collect1 = list.stream().filter(e -> format.format(e.getInsertTime()).contains(s)).filter(student -> student.getNeedNum() != null).collect(Collectors.toList()); int sum2 = collect1.stream().mapToInt(CoursePackageStudent::getNeedNum).sum(); months.add(sum2); } - map.put("monthData",months); + map.put("monthData", months); // 周 // 获取最近四周 @@ -2610,7 +2725,7 @@ LocalDateTime s8 = maxNow.minusDays(20); ArrayList<Object> weekData = new ArrayList<>(); - int count = 0; + int count = 0; int count1 = 0; @@ -2618,7 +2733,7 @@ int count3 = 0; for (CoursePackageStudent coursePackageStudent : list) { - if (coursePackageStudent.getNeedNum()==null){ + if (coursePackageStudent.getNeedNum() == null) { continue; } // 如果到课状态为否 则不计算 @@ -2627,15 +2742,15 @@ Instant instant = insertTime.toInstant(); ZoneId zoneId = ZoneId.systemDefault(); LocalDateTime dateTime = instant.atZone(zoneId).toLocalDateTime(); - if (dateTime.isAfter(s1) && dateTime.isBefore(s2)){ + if (dateTime.isAfter(s1) && dateTime.isBefore(s2)) { - count+=coursePackageStudent.getNeedNum(); - }else if(dateTime.isAfter(s3) && dateTime.isBefore(s4)){ - count1+=coursePackageStudent.getNeedNum(); - }else if(dateTime.isAfter(s5) && dateTime.isBefore(s6)){ - count2+=coursePackageStudent.getNeedNum(); - }else if(dateTime.isAfter(s7) && dateTime.isBefore(s8)){ - count3+=coursePackageStudent.getNeedNum(); + count += coursePackageStudent.getNeedNum(); + } else if (dateTime.isAfter(s3) && dateTime.isBefore(s4)) { + count1 += coursePackageStudent.getNeedNum(); + } else if (dateTime.isAfter(s5) && dateTime.isBefore(s6)) { + count2 += coursePackageStudent.getNeedNum(); + } else if (dateTime.isAfter(s7) && dateTime.isBefore(s8)) { + count3 += coursePackageStudent.getNeedNum(); } } @@ -2645,11 +2760,11 @@ weekData.add(count1); weekData.add(count); - map.put("weekData",weekData); + map.put("weekData", weekData); LocalDateTime currentDateTime = LocalDateTime.now(); - List<Integer> amountByDay = new ArrayList<>(Collections.nCopies(7,0)); + List<Integer> amountByDay = new ArrayList<>(Collections.nCopies(7, 0)); for (CoursePackageStudent coursePackageStudent : list) { Date insertTime = coursePackageStudent.getInsertTime(); // 将 Date 转换为 LocalDateTime @@ -2660,7 +2775,7 @@ if (daysDifference >= 0 && daysDifference < 7) { int index = (int) (6 - daysDifference); // 计算对应的索引位置 Integer needNum = coursePackageStudent.getNeedNum(); - if (needNum!=null){ + if (needNum != null) { int i = amountByDay.get(index) + needNum; amountByDay.set(index, i); } @@ -2672,17 +2787,18 @@ return map; } + @ResponseBody @PostMapping("/coursePackagePayment/courseStore") - HashMap<String, Object> courseStore(@RequestBody List<Integer> userPt){ - if(userPt.size()==0){ + HashMap<String, Object> courseStore(@RequestBody List<Integer> userPt) { + if (userPt.size() == 0) { userPt.add(-1); } HashMap<String, Object> map = new HashMap<>(); List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.listOne(userPt); int sum = tCoursePackagePayments.stream().mapToInt(TCoursePackagePayment::getTotalClassHours).sum(); int sum1 = tCoursePackagePayments.stream().mapToInt(TCoursePackagePayment::getLaveClassHours).sum(); - map.put("allCourse",sum-sum1); + map.put("allCourse", sum - sum1); //所有课包 List<TCoursePackage> coursePackages = tcpService.list(); @@ -2694,10 +2810,10 @@ for (CoursePackageStudent coursePackageStudent : list) { for (TCoursePackage coursePackage : coursePackages) { - if(coursePackageStudent.getCoursePackageId().equals(coursePackage.getId())){ - if(ToolUtil.isEmpty(coursePackage.getNeedNum())){ + if (coursePackageStudent.getCoursePackageId().equals(coursePackage.getId())) { + if (ToolUtil.isEmpty(coursePackage.getNeedNum())) { coursePackageStudent.setNeedNum(0); - }else { + } else { coursePackageStudent.setNeedNum(coursePackage.getNeedNum()); } } @@ -2707,7 +2823,7 @@ ArrayList<Object> integers = new ArrayList<>(); int year = cn.hutool.core.date.DateUtil.year(new Date()); for (int i = 0; i < 10; i++) { - integers.add(year-i); + integers.add(year - i); } List<Object> collect = integers.stream().sorted().collect(Collectors.toList()); // 年 @@ -2719,8 +2835,7 @@ years.add(sum2); } - map.put("yearData",years); - + map.put("yearData", years); ArrayList<Integer> months = new ArrayList<>(); @@ -2730,16 +2845,16 @@ // 月 for (int i = 1; i <= 12; i++) { - String m=i+""; - if(i<10){ - m="0"+i; + String m = i + ""; + if (i < 10) { + m = "0" + i; } String s = year + "-" + m; List<CoursePackageStudent> collect1 = list.stream().filter(e -> format.format(e.getInsertTime()).contains(s)).filter(student -> student.getNeedNum() != null).collect(Collectors.toList()); int sum2 = collect1.stream().mapToInt(CoursePackageStudent::getNeedNum).sum(); months.add(sum2); } - map.put("monthData",months); + map.put("monthData", months); // 周 // 获取最近四周 @@ -2760,7 +2875,7 @@ LocalDateTime s8 = maxNow.minusDays(20); ArrayList<Object> weekData = new ArrayList<>(); - int count = 0; + int count = 0; int count1 = 0; @@ -2768,7 +2883,7 @@ int count3 = 0; for (CoursePackageStudent coursePackageStudent : list) { - if (coursePackageStudent.getNeedNum()==null){ + if (coursePackageStudent.getNeedNum() == null) { continue; } // 如果到课状态为否 则不计算 @@ -2777,15 +2892,15 @@ Instant instant = insertTime.toInstant(); ZoneId zoneId = ZoneId.systemDefault(); LocalDateTime dateTime = instant.atZone(zoneId).toLocalDateTime(); - if (dateTime.isAfter(s1) && dateTime.isBefore(s2)){ + if (dateTime.isAfter(s1) && dateTime.isBefore(s2)) { - count+=coursePackageStudent.getNeedNum(); - }else if(dateTime.isAfter(s3) && dateTime.isBefore(s4)){ - count1+=coursePackageStudent.getNeedNum(); - }else if(dateTime.isAfter(s5) && dateTime.isBefore(s6)){ - count2+=coursePackageStudent.getNeedNum(); - }else if(dateTime.isAfter(s7) && dateTime.isBefore(s8)){ - count3+=coursePackageStudent.getNeedNum(); + count += coursePackageStudent.getNeedNum(); + } else if (dateTime.isAfter(s3) && dateTime.isBefore(s4)) { + count1 += coursePackageStudent.getNeedNum(); + } else if (dateTime.isAfter(s5) && dateTime.isBefore(s6)) { + count2 += coursePackageStudent.getNeedNum(); + } else if (dateTime.isAfter(s7) && dateTime.isBefore(s8)) { + count3 += coursePackageStudent.getNeedNum(); } } @@ -2795,11 +2910,11 @@ weekData.add(count1); weekData.add(count); - map.put("weekData",weekData); + map.put("weekData", weekData); LocalDateTime currentDateTime = LocalDateTime.now(); - List<Integer> amountByDay = new ArrayList<>(Collections.nCopies(7,0)); + List<Integer> amountByDay = new ArrayList<>(Collections.nCopies(7, 0)); for (CoursePackageStudent coursePackageStudent : list) { Date insertTime = coursePackageStudent.getInsertTime(); // 将 Date 转换为 LocalDateTime @@ -2810,7 +2925,7 @@ if (daysDifference >= 0 && daysDifference < 7) { int index = (int) (6 - daysDifference); // 计算对应的索引位置 Integer needNum = coursePackageStudent.getNeedNum(); - if (needNum!=null){ + if (needNum != null) { int i = amountByDay.get(index) + needNum; amountByDay.set(index, i); } -- Gitblit v1.7.1