From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 11 七月 2024 10:47:51 +0800 Subject: [PATCH] 玩湃微信商户认证代码 --- cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 172 +++++++++++++++++++++++++++++++-------------------------- 1 files changed, 93 insertions(+), 79 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 9bc7408..a767089 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 @@ -28,6 +28,7 @@ import com.dsh.course.util.*; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.obs.services.internal.ServiceException; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -137,6 +138,12 @@ @Autowired private ICoursePackageOrderStudentService coursePackageOrderStudentService; + @Autowired + private ALiSendSms aLiSendSms; + + @Resource + private AppUserClient appuClient; + /** * 查询学员入学时间 根据第一次购买课包的时间 @@ -182,7 +189,9 @@ coursePackageOrder.setOriginalPrice(packagePayment.getOriginalPrice()); coursePackageOrder.setCashPayment(packagePayment.getCashPayment()); coursePackageOrder.setPlayPaiCoin(packagePayment.getPlayPaiCoin()); + coursePackageOrder.setCode(packagePayment.getCode()); coursePackageOrder.setPayStatus(1); + coursePackageOrder.setStatus(1); coursePackageOrder.setState(1); coursePackageOrder.setInsertTime(new Date()); coursePackageOrder.setSalesName(packagePayment.getSalesName()); @@ -241,11 +250,11 @@ calendar.setTime(new Date()); calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays); coursePackageOrderStudent.setUseTime(calendar.getTime()); - + coursePackageOrderStudent.setInsertTime(new Date()); coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent); Integer studentId = Integer.valueOf(byId1.getStudentIds()); //开始排课 - addPackageStudent1(byId, byId1.getAppUserId(), studentId, coursePackageOrderStudent); + addPackageStudent1(byId, byId1.getAppUserId(), studentId, byId1, coursePackageOrderStudent); } else { Date useTime = coursePackageOrderStudent.getUseTime(); coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + byId1.getClassHours()); @@ -274,16 +283,17 @@ calendar9.add(Calendar.DAY_OF_MONTH, byId.getValidDays()); Date time = calendar9.getTime(); coursePackageOrderStudent.setUseTime(time); + coursePackageOrderStudent.setInsertTime(new Date()); coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent); Integer studentId = Integer.valueOf(byId1.getStudentIds()); //中间断课,没有连续续费的情况需要重新排课 if (useTime.compareTo(new Date()) < 0) { - addPackageStudent1(byId, byId1.getAppUserId(), studentId, coursePackageOrderStudent); + addPackageStudent1(byId, byId1.getAppUserId(), studentId, byId1, coursePackageOrderStudent); } } } if(byId.getType() == 2){ - addPackageStudent1(byId, byId1.getAppUserId(), Integer.valueOf(byId1.getStudentIds()), null); + addPackageStudent1(byId, byId1.getAppUserId(), Integer.valueOf(byId1.getStudentIds()), byId1, null); } return packagePaymentService.changeState(dto); } @@ -333,7 +343,7 @@ Store store = storeClient.queryStoreById(re.getStoreId()); TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId()); String studentId = re.getStudentId(); - String[] split = studentId.split(","); + String[] split = studentId.split(";"); StringBuilder stringBuilder = new StringBuilder(""); for (String s : split) { @@ -468,7 +478,8 @@ } } TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId()); - Student student = studentClient.queryStudentById(re.getStudentId()); + String[] split = re.getStudentIds().split(","); + Student student = studentClient.queryStudentById(Integer.valueOf(split[0])); re.setPayStudent(student.getName()); re.setPayUser(appUser.getName()); re.setPhone(appUser.getPhone()); @@ -757,7 +768,6 @@ return lisco; } - @PostMapping("/base/coursePack/continuingCourse") public StudentOfCourseVo getStudentCourse(@RequestBody GetStudentCourse getStudentCourse) { StudentOfCourseVo courseVo = new StudentOfCourseVo(); @@ -766,7 +776,6 @@ .eq("coursePackageId", getStudentCourse.getCourseId()) .eq("studentId", getStudentCourse.getStuId())); if (tCoursePackagePayments.size() > 0) { - List<CourseHoursType> typeList = new ArrayList<>(); tCoursePackagePayments.forEach(cou -> { CourseHoursType hoursType = new CourseHoursType(); @@ -777,7 +786,6 @@ TCoursePackagePayment tCoursePackagePayment = tCoursePackagePayments.get(0); courseVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId()); courseVo.setTypeList(typeList); - TCoursePackage coursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId()); courseVo.setPackageImg(coursePackage.getCoverDrawing()); courseVo.setCourseName(coursePackage.getName()); @@ -919,7 +927,6 @@ Set<BaseVo> set = new HashSet<>(list); List<BaseVo> back = new ArrayList<>(set); - return ResultUtil.success(back); } catch (Exception e) { e.printStackTrace(); @@ -937,25 +944,11 @@ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) public ResultUtil<List<AppUserVideoResponse>> queryAfterSourceList(CourseOfAfterRequest search) throws Exception { -// try { Integer appUserId = tokenUtil.getUserIdFormRedis(); if (null == appUserId) { return ResultUtil.tokenErr(); } -// -// List<Integer> courseIds = new ArrayList<>(); -// QueryWrapper<TCoursePackagePayment> queryWrapper = new QueryWrapper<TCoursePackagePayment>().eq("appUserId", appUserId) -// .groupBy("coursePackageId"); -// if (ToolUtil.isNotEmpty(search.getCourseTypeId())){ -// queryWrapper.eq("coursePackageId",search.getCourseTypeId()); -// } -// List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.list(queryWrapper); -// if (tCoursePackagePayments.size() > 0 ){ -// courseIds = tCoursePackagePayments.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList()); -// } - - QueryWrapper<CoursePackageStudent> queryWrapper1 = new QueryWrapper<CoursePackageStudent>().eq("studentId", search.getStuId()); if (ToolUtil.isNotEmpty(search.getCourseTypeId())) { queryWrapper1.eq("coursePackageId", search.getCourseTypeId()); @@ -968,7 +961,6 @@ } System.out.println("======longs========" + longs); -// List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>().in("id",longs).isNotNull("courseId")); List<AppUserVideoResponse> coursePackageSchedulings1 = coursePackageSchedulingService.queryAll(longs); if (search.getSearch() != null) { @@ -983,11 +975,6 @@ } return ResultUtil.success(coursePackageSchedulings1); - - -// }catch (Exception e){ -// return ResultUtil.runErr(); -// } } /** @@ -1181,15 +1168,15 @@ }) public ResultUtil continuationOperation(ClasspaymentRequest request) { try { - Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); - if (null == userIdFormRedis) { + Integer userId = tokenUtil.getUserIdFormRedis(); + if (null == userId) { return ResultUtil.tokenErr(); } Integer couponId = request.getConponId(); if (couponId == null || couponId == 0) { request.setConponId(null); } - return packagePaymentService.ContinuationOrpaymentCourse(userIdFormRedis, request); + return packagePaymentService.ContinuationOrpaymentCourse(userId, request); } catch (Exception e) { return ResultUtil.runErr(); } @@ -1202,7 +1189,6 @@ */ @PostMapping("/base/coursePackage/alipayRegisteredCoursesCallback") public void alipayCallback(HttpServletRequest request, HttpServletResponse response) { - System.err.println("========支付宝支付回调========"); try { Map<String, String> map = payMoneyUtil.alipayCallback(request); if (null != map) { @@ -1332,6 +1318,12 @@ TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId()); coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - paymentDeductionClassHour.getClassHour()); coursePackageOrderStudentService.updateById(coursePackageOrderStudent); + Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours(); + if(3 >= laveClassHours){ + AppUser appUser = appuClient.queryAppUser(coursePackageOrderStudent.getAppUserId()); + //发送短信提醒 + aLiSendSms.sendSms(appUser.getPhone(), "SMS_463646317", ""); + } //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录 List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>() .eq("studentId", coursePackageOrderStudent.getStudentId()).eq("status", 1) @@ -1749,7 +1741,7 @@ if (student != null) { sId = student.getId(); } - addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePayment.getId()); + addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePayment, coursePackagePayment.getId()); CourseCounsum courseCounsum = new CourseCounsum(); @@ -1772,7 +1764,7 @@ if (student != null) { sId = student.getId(); } - addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePaymentServiceOne.getId()); + addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePaymentServiceOne, coursePackagePaymentServiceOne.getId()); CourseCounsum courseCounsum = new CourseCounsum(); @@ -1781,6 +1773,7 @@ courseCounsum.setNum(orderDto.getClassHours()); courseCounsum.setInsertTime(new Date()); courseCounsum.setReason("积分兑换"); + courseCounsum.setInsertTime(new Date()); courseCounsumService.save(courseCounsum); @@ -1830,7 +1823,6 @@ // 其他星期减一即可得到1-6的数字表示 dayOfWeek -= 1; } - // todo if (weeks.contains(String.valueOf(dayOfWeek))){ // 限时折扣判断是否在有效期 try { @@ -1922,7 +1914,8 @@ @Autowired private TCoursePackageService coursePackageService; - private void addPackageStudent1(TCoursePackage tCoursePackage, Integer userId, Integer sId, CoursePackageOrderStudent coursePackageOrderStudent) { + + private void addPackageStudent1(TCoursePackage tCoursePackage, Integer userId, Integer sId, CoursePackageOrder coursePackageOrder, CoursePackageOrderStudent coursePackageOrderStudent) { try { //1常规 2假期 3体验 if (tCoursePackage.getType() == 1) { @@ -2064,7 +2057,7 @@ e.printStackTrace(); } } - private void addPackageStudent(Integer courseId, Integer userId, Integer sId, Long paymentId) throws ParseException { + private void addPackageStudent(Integer courseId, Integer userId, Integer sId, TCoursePackagePayment coursePackagePayment, Long paymentId) throws ParseException { // 课包 TCoursePackage tCoursePackage = coursePackageService.getById(courseId); @@ -2388,16 +2381,23 @@ @ResponseBody @PostMapping("/coursePackagePayment/consumeCourse") - public ResultUtil consumeCourse(@RequestBody Integer coursePackagePaymentId) { + public Integer consumeCourse(@RequestBody Integer coursePackagePaymentId) { CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getById(coursePackagePaymentId); TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId()); if (coursePackageOrderStudent.getLaveClassHours()<coursePackage.getNeedNum()){ - return ResultUtil.error("当前学员课时数不足"); + return 1; } coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()-coursePackage.getNeedNum()); orderStudentService.updateById(coursePackageOrderStudent); + Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours(); + if(3 >= laveClassHours){ + AppUser appUser = appuClient.queryAppUser(coursePackageOrderStudent.getAppUserId()); + //发送短信提醒 + aLiSendSms.sendSms(appUser.getPhone(), "SMS_463646317", ""); + } + CourseCounsum courseCounsum = new CourseCounsum(); courseCounsum.setPaymentId(coursePackageOrderStudent.getId()); courseCounsum.setChangeType(0); @@ -2405,14 +2405,14 @@ courseCounsum.setInsertTime(new Date()); courseCounsum.setReason("补课"); courseCounsumService.save(courseCounsum); - return ResultUtil.success("补课成功"); + return 2; } @ResponseBody @PostMapping("/coursePackagePayment/CountqueryByClassId") public Integer CountqueryByClassId(@RequestBody Integer id) { - int coursePackageId = packagePaymentService.count(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", id)); + int coursePackageId = coursePackageOrderStudentService.count(new QueryWrapper<CoursePackageOrderStudent>().eq("coursePackageId", id)); return coursePackageId; @@ -2430,7 +2430,6 @@ coursePackagePayment.setAppUserId(null); packagePaymentService.updateById(coursePackagePayment); } - /** * 修改数据 @@ -2553,10 +2552,10 @@ 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<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); @@ -2568,21 +2567,6 @@ .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<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()); @@ -2630,6 +2614,7 @@ .eq(CoursePackageScheduling::getCoursePackageId, tCoursePackage.getId()) .like(CoursePackageScheduling::getClassDate, courseDetailReq.getTime()) ); + if (list3.isEmpty()) { detailsListVo.setType(2); objects.add(detailsListVo); @@ -2661,14 +2646,25 @@ detailsListVo.setIsType(list4.get(0).getType()); for (CoursePackageStudent coursePackageStudent : list4) { + CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingMapper.selectById(coursePackageStudent.getCoursePackageSchedulingId()); + if (coursePackageScheduling.getStatus()==4){ + detailsListVo.setIsType(3); + } + Integer signInOrNot1 = coursePackageStudent.getSignInOrNot(); detailsListVo.setType(1); if (signInOrNot1 == 2) { detailsListVo.setType(3); } + //体验购课去掉按钮 + if(coursePackageScheduling.getType() == 3){ + detailsListVo.setCourseType(3); + detailsListVo.setType(2); + } + + detailsListVo.setIsType(coursePackageStudent.getType()); - CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingMapper.selectById(coursePackageStudent.getCoursePackageSchedulingId()); Date classDate = coursePackageScheduling.getClassDate(); Date endDate = coursePackageScheduling.getEndDate(); SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); @@ -2697,6 +2693,10 @@ detailsListVo.setType(2); objects.add(detailsListVo); + } + //课程暂停 + if(tCoursePackage.getState() == 4){ + detailsListVo.setType(4); } } map.put("data", objects); @@ -2742,18 +2742,18 @@ ids.add(-1); } List<TCoursePackagePayment> list1 = packagePaymentService.listOne(ids); - List<Integer> collect = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList()); - 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.getType()); - } - } - } +// List<Integer> collect = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList()); +// 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.getType()); +// } +// } +// } List<Map<String, Object>> mapList = new ArrayList<>(); @@ -2762,7 +2762,7 @@ map.put("name", tCoursePackageType.getName()); int a = 0; for (TCoursePackagePayment tCoursePackagePayment : list1) { - if (tCoursePackagePayment.getType().equals(tCoursePackageType.getId())) { + if (null != tCoursePackagePayment.getType() && tCoursePackagePayment.getType().equals(tCoursePackageType.getId())) { a += tCoursePackagePayment.getLaveClassHours(); } } @@ -3047,10 +3047,7 @@ weekData.add(count2); weekData.add(count1); weekData.add(count); - map.put("weekData", weekData); - - LocalDateTime currentDateTime = LocalDateTime.now(); List<Integer> amountByDay = new ArrayList<>(Collections.nCopies(7, 0)); for (CoursePackageStudent coursePackageStudent : list) { @@ -3225,4 +3222,21 @@ return map; } + + + @ResponseBody + @PostMapping("/coursePackagePayment/queryPaymentCoursePackage") + public List<Integer> queryPaymentCoursePackage(@RequestBody List<Integer> storeIds){ + if(storeIds.size() == 0){ + return new ArrayList<>(); + } + List<TCoursePackage> list = coursePackageService.list(new QueryWrapper<TCoursePackage>().eq("auditStatus", 2) + .ne("status", 4).eq("state", 1).in("storeId", storeIds)); + List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList()); + if(collect.size() == 0){ + return new ArrayList<>(); + } + List<CoursePackageOrder> list1 = coursePackageOrderService.list(new QueryWrapper<CoursePackageOrder>().in("coursePackageId", collect).eq("payStatus", 2).eq("status", 1)); + return list1.stream().map(CoursePackageOrder::getAppUserId).collect(Collectors.toList()); + } } -- Gitblit v1.7.1