From 3c12858927ce26f277ba758e520c81be599d8df1 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期二, 28 十一月 2023 15:42:24 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java | 65 + cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/ListQuery.java | 3 cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml | 28 cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java | 348 ++++--- cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/ListQuery.java | 3 cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePayDTO.java | 2 cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 3 cloud-server-activity/pom.xml | 5 cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition.js | 11 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 2 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_edit.html | 29 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachController.java | 132 ++ cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/CoursePackageOrderStudent.java | 96 ++ cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/GameDataQuery.java | 9 cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/GameDataQuery.java | 9 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 31 cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java | 2 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java | 85 + cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java | 25 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentConfigController.java | 13 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html | 97 + cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java | 2 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 57 cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentConfigClient.java | 7 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePaymentVO.java | 2 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java | 7 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java | 18 cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml | 18 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStore.java | 2 cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_edit.html | 30 cloud-server-course/pom.xml | 13 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 578 ++++++++++--- cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java | 2 cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java | 6 cloud-server-course/src/main/java/com/dsh/course/entity/CoursePackageOrderStudent.java | 1 cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java | 8 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java | 73 cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment_info.js | 5 cloud-server-management/src/main/java/com/dsh/course/feignClient/other/BallClient.java | 6 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java | 5 cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment.js | 19 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java | 49 cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_add.js | 49 cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit.html | 30 cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js | 67 + cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java | 2 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_add.html | 4 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition.html | 2 cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java | 5 cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/TGameRecord.java | 69 + cloud-server-account/pom.xml | 1 cloud-server-management/src/main/java/com/dsh/course/entity/CoursePackageOrderStudent.java | 94 ++ cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java | 9 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java | 43 cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePaymentVO.java | 7 cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java | 14 cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackagePaymentConfigMapper.java | 2 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePayDTO.java | 2 cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html | 228 +++-- cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java | 21 60 files changed, 1,815 insertions(+), 740 deletions(-) diff --git a/cloud-server-account/pom.xml b/cloud-server-account/pom.xml index f88ad28..50581f7 100644 --- a/cloud-server-account/pom.xml +++ b/cloud-server-account/pom.xml @@ -15,7 +15,6 @@ <description>账户</description> <dependencies> <!--日志处理--> - <!-- <dependency>--> <!-- <groupId>com.github.binarywang</groupId>--> <!-- <artifactId>wx-java-pay-spring-boot-starter</artifactId>--> diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java index 17ea143..3f390b1 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java @@ -607,6 +607,7 @@ Date time = sdf.parse(substring); return !time.before(lastWeekStartDate) && !time.after(lastOfDate); } catch (ParseException e) { + e.printStackTrace(); return false; } }) @@ -621,6 +622,7 @@ Date time = sdf.parse(record.getTimeFrame().substring(11)); return !time.before(lastMonthStartDate) && !time.after(lastOfDate); } catch (ParseException e) { + e.printStackTrace(); return false; } }) @@ -635,6 +637,7 @@ Date time = sdf.parse(record.getTimeFrame().substring(11)); return !time.before(lastYearStartDate) && !time.after(lastOfDate); } catch (ParseException e) { + e.printStackTrace(); return false; } }) diff --git a/cloud-server-activity/pom.xml b/cloud-server-activity/pom.xml index 2435023..f09891d 100644 --- a/cloud-server-activity/pom.xml +++ b/cloud-server-activity/pom.xml @@ -14,6 +14,11 @@ <name>福利</name> <description>福利</description> <dependencies> + <dependency> + <groupId>org.gavaghan</groupId> + <artifactId>geodesy</artifactId> + <version>1.1.3</version> + </dependency> <!--日志处理--> <dependency> <groupId>cn.mb.cloud</groupId> diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java index 133becb..3458faa 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java @@ -873,15 +873,38 @@ } else if (merchandise.getUseScope() == 3) { // 指定门店 - List<PointsMerchandiseStore> list = pmdstoService.list(new LambdaQueryWrapper<PointsMerchandiseStore>().eq(PointsMerchandiseStore::getPointsMerchandiseId, merchandise.getId())); + List<PointsMerchandiseStore> list = pmdstoService.list(new LambdaQueryWrapper<PointsMerchandiseStore>() + .eq(PointsMerchandiseStore::getPointsMerchandiseId, merchandise.getId())); List<Integer> collect = list.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList()); detailsResponse.setSid(collect); if (collect.size() > 0) { // 获取rid - List<Integer> rid = stoClient.querySiteIdById(collect); - detailsResponse.setRid(rid); +// List<Integer> rid= stoClient.querySiteIdById(collect); + //detailsResponse.setRid(rid); + // todo 修改区域id 临时 + // 根据门店id 写死区域id 后续调整为门票指定多个区域 + // 以下代码均为临时代码 + for (Integer integer : collect) { + ArrayList<Integer> list2 = new ArrayList<>(); + if (integer==2024){ + list2.add(32); + detailsResponse.setRid(list2); + } + // 临时 根据门票id 指定的区域 + if (integer==9919){ + if (pointsMerchandise.getPointsMerchandiseId()==196||pointsMerchandise.getPointsMerchandiseId()==198){ + // 返回儿童区id + ArrayList<Integer> list3 = new ArrayList<>(); + list3.add(44); + detailsResponse.setRid(list3); + }else { + ArrayList<Integer> list4 = new ArrayList<>(); + list4.add(43); + detailsResponse.setRid(list4); + } + } + } } - } diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java index 8340f5c..b5cb1f8 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java @@ -466,7 +466,6 @@ if (null != map) { String code = map.get("out_trade_no"); String trade_no = map.get("trade_no"); - PaymentCompetition paymentCompetition = paymentCompetitionService.getOne(new QueryWrapper<PaymentCompetition>().eq("code", code).eq("payType", 2)); if (paymentCompetition.getPayStatus() == 1) { paymentCompetition.setAppUserId(null); @@ -474,7 +473,6 @@ paymentCompetition.setPayTime(new Date()); paymentCompetition.setPayOrderNo(trade_no); paymentCompetitionService.updateById(paymentCompetition); - Competition competition = cttService.getById(paymentCompetition.getCompetitionId()); competition.setApplicantsNumber(competition.getApplicantsNumber() + 1); cttService.updateById(competition); @@ -617,18 +615,21 @@ wrapper.lt(Competition::getStartTime, listQuery.getTime().split(" - ")[0] + " 00:00:00"); wrapper.gt(Competition::getEndTime, listQuery.getTime().split(" - ")[1] + " 23:59:59"); } - - if (ToolUtil.isNotEmpty(listQuery.getRegisterCondition())) { - wrapper.eq(Competition::getRegisterCondition, listQuery.getRegisterCondition()); + if(ToolUtil.isNotEmpty(listQuery.getRegisterCondition())){ + wrapper.eq(Competition::getRegisterCondition,listQuery.getRegisterCondition()); } - - wrapper.in(Competition::getStoreId, listQuery.getIds()); - wrapper.eq(Competition::getAuditStatus, 2); + // 平台查询审核通过的赛事 + if (listQuery.getObj()==1){ + wrapper.eq(Competition::getAuditStatus,2); + } + // 赛事审核 + if (listQuery.getObj()==-1){ + wrapper.ne(Competition::getAuditStatus,2); + } + wrapper.in(Competition::getStoreId,listQuery.getIds()); wrapper.orderByDesc(Competition::getInsertTime); - Page<Competition> page = cttService.page(competitionPage, wrapper); for (Competition record : page.getRecords()) { - // 查询当前赛事有多少人报名了 List<UserCompetition> competitionId = ucttService.list(new QueryWrapper<UserCompetition>() .eq("competitionId", record.getId())); diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/ListQuery.java b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/ListQuery.java index 68bb178..6e968c4 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/ListQuery.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/ListQuery.java @@ -21,5 +21,6 @@ private Integer state; private Integer registerCondition; private List<Integer> ids; - + // 角色类型 如果是平台1的话 查询审核通过的 如果是运营商查询所有属于 + private Integer obj; } diff --git a/cloud-server-course/pom.xml b/cloud-server-course/pom.xml index dd0d09c..5b0d712 100644 --- a/cloud-server-course/pom.xml +++ b/cloud-server-course/pom.xml @@ -15,6 +15,12 @@ <description>课程</description> <dependencies> <dependency> + <groupId>net.sf.json-lib</groupId> + <artifactId>json-lib</artifactId> + <version>2.4</version> + <classifier>jdk15</classifier> + </dependency> + <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.2.1</version> @@ -124,6 +130,13 @@ <version>3.23.5</version> <scope>compile</scope> </dependency> + + <dependency> + <groupId>net.sf.json-lib</groupId> + <artifactId>json-lib</artifactId> + <version>2.4</version> + <classifier>jdk15</classifier> + </dependency> </dependencies> <build> diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java index 54f63a2..0f9a839 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CancelledClassesController.java @@ -126,6 +126,9 @@ @Autowired private CourseCounsumService courseCounsumService; + + @Autowired + private ICoursePackageOrderStudentService orderStudentService; /** * 添加数据 * @@ -136,9 +139,10 @@ public void addCancelledClasses(@RequestBody CancelledClasses cancelledClasses) { cancelledClassesService.save(cancelledClasses); - TCoursePackagePayment byId = coursePackagePaymentService.getById(cancelledClasses.getCoursePackagePaymentId()); +// TCoursePackagePayment byId = coursePackagePaymentService.getById(cancelledClasses.getCoursePackagePaymentId()); + orderStudentService.getById(cancelledClasses.getCoursePackagePaymentId()); CourseCounsum courseCounsum = new CourseCounsum(); - courseCounsum.setPaymentId(byId.getId()); + courseCounsum.setPaymentId(cancelledClasses.getCoursePackagePaymentId()); courseCounsum.setChangeType(0); courseCounsum.setNum(cancelledClasses.getCancelledClassesNumber()); courseCounsum.setInsertTime(new Date()); diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentConfigController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentConfigController.java index f21af93..b1482d2 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentConfigController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentConfigController.java @@ -55,6 +55,19 @@ public List<CoursePackagePaymentConfig> queryCoursePackagePaymentConfigList(@RequestBody Integer coursePackageId) { return coursePackagePaymentConfigService.list(new QueryWrapper<CoursePackagePaymentConfig>().eq("coursePackageId", coursePackageId)); } + /** + * 根据课时规格id获取价格配置 + * + * @param + * @return + */ + @ResponseBody + @PostMapping("/coursePackagePaymentConfig/queryCoursePackagePaymentConfigList1") + public List<CoursePackagePaymentConfig> queryCoursePackagePaymentConfigList1(@RequestBody Integer coursePackagePaymentConfigId) { + return coursePackagePaymentConfigService. + list(new QueryWrapper<CoursePackagePaymentConfig>() + .eq("id", coursePackagePaymentConfigId)); + } /** 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 680f6e6..42473f5 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 @@ -16,6 +16,7 @@ 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.CoursePackageStudentMapper; import com.dsh.course.mapper.TCoursePackageMapper; import com.dsh.course.model.*; import com.dsh.course.model.dto.DiscountJsonDto; @@ -31,6 +32,7 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import net.sf.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; @@ -60,6 +62,8 @@ @Autowired private TCoursePackagePaymentService packagePaymentService; + @Resource + private CoursePackageStudentMapper cpsMapper; @Autowired private ICoursePackageOrderService coursePackageOrderService; @@ -123,6 +127,8 @@ @Autowired private CoursePackageStudentService coursePackageStudentService; + @Autowired + private TOrderService orderService; private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm"); @@ -159,124 +165,31 @@ */ @RequestMapping("/base/coursePackagePayment/add") public Object addCoursePackagePayment(@RequestBody TCoursePackagePayment packagePayment) { - packagePayment.setInsertTime(new Date()); - packagePayment.setInsertTime(new Date()); - Integer studentId = packagePayment.getStudentId(); - // 添加学员上课记录 - CoursePackageStudent coursePackageStudent = new CoursePackageStudent(); - TCoursePackagePayment one = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", packagePayment.getStudentId()) - .orderByDesc("insertTime") - .last("LIMIT 1")); - - if (one != null) { - Integer totalClassHours = one.getTotalClassHours(); - Integer absencesNumber = one.getAbsencesNumber(); - // 没有过期 - 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.setAbsencesNumber(one.getAbsencesNumber()); + //校验是否已经报满 + Integer cpId = Integer.valueOf((int) packagePayment.getCoursePackageId()); + Integer integer = coursePackagePaymentService.queryCountNumber(cpId); + TCoursePackage course = coursePackageService.getById(packagePayment.getCoursePackageId()); + if (course.getType() != 3) { + if (integer + 1 > course.getMaxSubscribeNumber()) { + return 5001; } - packagePayment.setTotalClassHours(packagePayment.getClassHours()); - packagePayment.setLaveClassHours(packagePayment.getClassHours()); - packagePayment.setAbsencesNumber(one.getAbsencesNumber()); - } else { - packagePayment.setTotalClassHours(packagePayment.getClassHours()); - packagePayment.setLaveClassHours(packagePayment.getClassHours()); - packagePayment.setAbsencesNumber(0); } + CoursePackageOrder coursePackageOrder = new CoursePackageOrder(); + coursePackageOrder.setAppUserId(packagePayment.getAppUserId()); + coursePackageOrder.setStudentIds(String.valueOf(packagePayment.getStudentId())); + coursePackageOrder.setCoursePackageId(packagePayment.getCoursePackageId()); + coursePackageOrder.setClassHours(packagePayment.getClassHours()); + coursePackageOrder.setOriginalPrice(packagePayment.getOriginalPrice()); + coursePackageOrder.setCashPayment(packagePayment.getCashPayment()); + coursePackageOrder.setPlayPaiCoin(packagePayment.getPlayPaiCoin()); + coursePackageOrder.setPayStatus(1); + coursePackageOrder.setState(1); + coursePackageOrder.setInsertTime(new Date()); + coursePackageOrder.setSalesName(packagePayment.getSalesName()); + coursePackageOrderService.save(coursePackageOrder); // 生成排课数据 - TCoursePackage coursePackage = tcpService.getById(packagePayment.getCoursePackageId()); - //生成排课数据 - try { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - Date date = sdf1.parse(sdf.format(new Date()) + " 00:00:00"); - List<String> list = Arrays.asList(coursePackage.getClassWeeks().split(";")); - String value = coursePackage.getClassStartTime(); - String value1 = coursePackage.getClassEndTime(); + return 200; - 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(); - String classStartTime = star[i]; - String[] split = classStartTime.split(":"); - // String value1 = en; - int index1 = value1.indexOf(","); - // String result1 = value.substring(0, index1).trim(); - String classEndTime = end[i]; - String[] split1 = classEndTime.split(":"); - Calendar s = Calendar.getInstance(); - s.setTime(date); - s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1); - s.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0])); - s.set(Calendar.MINUTE, Integer.valueOf(split[1])); - s.set(Calendar.SECOND, 0); - - Calendar e = Calendar.getInstance(); - e.setTime(date); - e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 14); - long timeInMillis = e.getTimeInMillis(); - - while (true) { - int w = s.get(Calendar.DAY_OF_WEEK); - WeekEnum weekEnum = WeekEnum.getWeekEnum(w); - if (list.contains(weekEnum.getChineseName())) { - Calendar classDate = Calendar.getInstance(); - classDate.setTime(s.getTime()); - classDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0])); - classDate.set(Calendar.MINUTE, Integer.valueOf(split[1])); - classDate.set(Calendar.SECOND, 0); - - Calendar endDate = Calendar.getInstance(); - endDate.setTime(s.getTime()); - endDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split1[0])); - endDate.set(Calendar.MINUTE, Integer.valueOf(split1[1])); - endDate.set(Calendar.SECOND, 0); - - CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); - coursePackageScheduling.setCoursePackageId(coursePackage.getId()); - coursePackageScheduling.setClassDate(classDate.getTime()); - coursePackageScheduling.setEndDate(endDate.getTime()); - coursePackageScheduling.setStatus(1); - coursePackageSchedulingService.save(coursePackageScheduling); - coursePackageStudent.setCoursePackageSchedulingId(coursePackageScheduling.getId()); - - List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>() - .eq("coursePackageId", coursePackage.getId()) - .eq("classDate", classDate.getTime()) - .eq("endDate", endDate.getTime())); - 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) { - break; - } - } - } - } catch (ParseException e) { - e.printStackTrace(); - } - - coursePackageStudent.setStudentId(packagePayment.getStudentId()); - coursePackageStudent.setCoursePackageId(packagePayment.getCoursePackageId()); - - - coursePackageStudent.setSignInOrNot(0); - coursePackageStudent.setReservationStatus(1); - coursePackageStudent.setInsertTime(new Date()); - coursePackageStudent.setAppUserId(packagePayment.getAppUserId()); - packagePaymentService.save(packagePayment); - coursePackageStudent.setCoursePackagePaymentId(packagePayment.getId()); - return coursePackageStudentService.save(coursePackageStudent); } /** @@ -286,13 +199,98 @@ */ @RequestMapping("/base/coursePackagePayment/changeState") public Object changeState(@RequestBody CoursePackagePayDTO dto) { + String ids = dto.getIds(); + Long aLong = Long.valueOf(ids); + CoursePackageOrder byId1 = coursePackageOrderService.getById(aLong); + TCoursePackage byId = coursePackageService.getById(byId1.getCoursePackageId()); + if (byId.getType()==1){ + // 如果重复购买 累加课时 + CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService + .getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", Integer.valueOf(byId1.getStudentIds())) + .eq("coursePackageId", byId1.getCoursePackageId()).eq("status", 1).eq("state", 1)); + if (null == coursePackageOrderStudent) { + coursePackageOrderStudent = new CoursePackageOrderStudent(); + coursePackageOrderStudent.setAppUserId(byId1.getAppUserId()); + coursePackageOrderStudent.setStudentId(Integer.valueOf(byId1.getStudentIds())); + coursePackageOrderStudent.setCoursePackageId(byId1.getCoursePackageId()); + coursePackageOrderStudent.setTotalClassHours(byId1.getClassHours()); + coursePackageOrderStudent.setLaveClassHours(byId1.getClassHours()); + coursePackageOrderStudent.setAbsencesNumber(0); + coursePackageOrderStudent.setStatus(1); + coursePackageOrderStudent.setState(1); + coursePackageOrderStudent.setInsertTime(new Date()); + // 判断这个订单购买的是哪一个课时规格 + CoursePackagePaymentConfig one1 = icppcService.getOne(new QueryWrapper<CoursePackagePaymentConfig>() + .eq("coursePackageId", byId.getId()) + .eq("classHours", byId1.getClassHours())); + // 判断当前购买的课包有没有赠送课时 + TCoursePackageDiscount one = tcpdService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackageId", byId.getId()) + .eq("type", 4).eq("auditStatus", 2).eq("status", 1) + .eq("coursePackagePaymentConfigId",one1.getId())); + if (one!=null){ + Integer giftClassHours = getGiftClassHours(one,null); + coursePackageOrderStudent.setGiftClassHours(giftClassHours); + coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours()+giftClassHours); + coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()+giftClassHours); + }else{ + coursePackageOrderStudent.setGiftClassHours(0); + } + Integer validDays = byId.getValidDays(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays); + coursePackageOrderStudent.setUseTime(calendar.getTime()); + + coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent); + Integer studentId = Integer.valueOf(byId1.getStudentIds()); + //开始排课 + addPackageStudent1(byId, byId1.getAppUserId(), studentId, coursePackageOrderStudent); + } else { + Date useTime = coursePackageOrderStudent.getUseTime(); + coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + byId1.getClassHours()); + coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() + byId1.getClassHours()); + Integer validDays = byId.getValidDays(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(useTime.compareTo(new Date()) < 0 ? new Date() : useTime); + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays); + coursePackageOrderStudent.setUseTime(calendar.getTime()); + // 判断这个订单购买的是哪一个课时规格 + CoursePackagePaymentConfig one1 = icppcService.getOne(new QueryWrapper<CoursePackagePaymentConfig>() + .eq("coursePackageId", byId.getId()) + .eq("classHours", byId1.getClassHours())); + // 判断当前购买的课包有没有赠送课时 + TCoursePackageDiscount one = tcpdService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackageId", byId.getId()) + .eq("type", 4).eq("auditStatus", 2).eq("status", 1) + .eq("coursePackagePaymentConfigId",one1.getId())); + if (one!=null){ + Integer giftClassHours = getGiftClassHours(one,null); + coursePackageOrderStudent.setGiftClassHours(giftClassHours); + }else{ + coursePackageOrderStudent.setGiftClassHours(0); + } + // 获取常规课的有效期 计算是哪一天 + Calendar calendar9 = Calendar.getInstance(); + calendar9.add(Calendar.DAY_OF_MONTH, byId.getValidDays()); + Date time = calendar9.getTime(); + coursePackageOrderStudent.setUseTime(time); + coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent); + Integer studentId = Integer.valueOf(byId1.getStudentIds()); + //中间断课,没有连续续费的情况需要重新排课 + if (useTime.compareTo(new Date()) < 0) { + addPackageStudent1(byId, byId1.getAppUserId(), studentId, coursePackageOrderStudent); + } + } + } + if(byId.getType() == 2){ + addPackageStudent1(byId, byId1.getAppUserId(), Integer.valueOf(byId1.getStudentIds()), null); + } return packagePaymentService.changeState(dto); } @GetMapping("/coursePackagePayment/courseStore/{appUserId}/{coursePackageId}") - public List<TCoursePackagePayment> getByUserIdAndCoursePackageId(@PathVariable("appUserId") Integer appUserId, @PathVariable("coursePackageId") Integer coursePackageId) { - List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() + public List<CoursePackageOrderStudent> getByUserIdAndCoursePackageId(@PathVariable("appUserId") Integer appUserId, @PathVariable("coursePackageId") Integer coursePackageId) { + List<CoursePackageOrderStudent> list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>() .eq("appUserId", appUserId) .eq("coursePackageId", coursePackageId)); return list; @@ -307,17 +305,46 @@ List<CoursePackagePaymentVO> res = packagePaymentService.listAll(query); List<CoursePackagePaymentVO> result = new ArrayList<>(); for (CoursePackagePaymentVO re : res) { + // 判断这条记录有没有赠送课时 + Integer coursePackageId = re.getCoursePackageId(); + Integer classHours = re.getClassHours(); + CoursePackagePaymentConfig one = icppcService.getOne(new QueryWrapper<CoursePackagePaymentConfig>() + .eq("coursePackageId", coursePackageId) + .eq("classHours", classHours)); + if (one!=null){ + TCoursePackageDiscount one1 = discountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackageId", coursePackageId) + .eq("coursePackagePaymentConfigId", one.getId()) + .eq("auditStatus",2).eq("status",1).eq("type",4)); + if (one1 == null){ + re.setGiftClassHours(0); + }else{ + Integer giftClassHours = getGiftClassHours(one1,re.getInsertTime()); + re.setGiftClassHours(giftClassHours); + } + }else{ + re.setGiftClassHours(0); + } if (re.getCashPayment() == null) { if (re.getPlayPaiCoin() != null) { String value = String.valueOf(re.getPlayPaiCoin()); re.setCashPayment(new BigDecimal(value)); } } - Store store = storeClient.queryStoreById(re.getStoreId()); TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId()); - Student student = studentClient.queryStudentById(re.getStudentId()); - re.setPayStudent(student.getName()); + String studentId = re.getStudentId(); + String[] split = studentId.split(","); + StringBuilder stringBuilder = new StringBuilder(""); + + for (String s : split) { + Student student = studentClient.queryStudentById(Integer.valueOf(s)); + stringBuilder.append(student.getName()+","); + } + String string = stringBuilder.toString(); + if (string.length() > 0) { + String stringWithoutLastCharacter = string.substring(0, string.length() - 1); + re.setPayStudent(stringWithoutLastCharacter); + } re.setPayUser(appUser.getName()); re.setPhone(appUser.getPhone()); re.setStoreName(store.getName()); @@ -330,7 +357,7 @@ } else { List<Student> students = studentClient.queryStudentListByName(query.getPayStudent()); for (Student student1 : students) { - if (student.getName().equals(student1.getName())) { + if (string.contains(student1.getName())) { result.add(re); } } @@ -338,7 +365,6 @@ } } } - if (re.getPayType() != null) { if (re.getPayType() == 1) { re.setBuyTypeName("微信支付"); @@ -366,7 +392,7 @@ if (discountService.list(new QueryWrapper<TCoursePackageDiscount>() .eq("coursePackageId", re.getCoursePackageId()).eq("auditStatus", 2)).size() > 0) { re.setBuyType(3); - re.setDiscountAmount(re.getOriginalPrice().subtract(re.getPayMoney())); + re.setDiscountAmount(re.getOriginalPrice().subtract(re.getCashPayment())); } else { re.setBuyType(2); } @@ -661,18 +687,17 @@ @PostMapping("/base/coursePack/getRecord") public List<PurchaseRecordVo> getRecord(@RequestBody RecordTimeRequest recordTimeRequest) { - List<CoursePackageOrderStudent> list = new ArrayList<>(); +// 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 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime")); - } - List<Integer> appUserIds = list.stream().map(CoursePackageOrderStudent::getAppUserId).collect(Collectors.toList()); +// if (recordTimeRequest.getType() == null) { +// list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime")); +// } else { +// +// list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime")); +// } +// List<Integer> appUserIds = list.stream().map(CoursePackageOrderStudent::getAppUserId).collect(Collectors.toList()); List<CoursePackageOrderStudent> list1 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>() - .in("appUserId", appUserIds) - .in("studentId", recordTimeRequest.getStuId()) + .eq("studentId", recordTimeRequest.getStuId()) .eq("coursePackageId", recordTimeRequest.getLessionId()) .eq("state", 1) ); @@ -828,9 +853,6 @@ } return videoVos; } - - - @PostMapping("/base/coursePack/allPaymentCourseList") @ResponseBody @@ -1092,7 +1114,6 @@ } - /** * 已报名课程详情 */ @@ -1107,7 +1128,7 @@ @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) { try { Integer appUserId = tokenUtil.getUserIdFormRedis(); if (null == appUserId) { @@ -1115,9 +1136,7 @@ } CourseDetailsResponse courseDetailsResponse = packagePaymentService.queryRegisteredCourseDetails(coursePayId, appUserId, lon, lat); - - - +// // if (orderId != null) { // TOrder byId = orderService.getById(orderId); // courseDetailsResponse.setAmount(byId.getPrice()); @@ -1765,9 +1784,265 @@ return dateList.toArray(new Date[0]); } + public Integer getGiftClassHours(TCoursePackageDiscount one,Date insertTime){ + if (insertTime!=null){ + // 判断购买时间 是否满足折扣规则 + char c = one.getContent().charAt(0); + String value1 = String.valueOf(c); + JSONObject jsonObject ; + if (value1.equals("[")){ + jsonObject = JSONObject.fromObject(one.getContent() + .substring(1,one.getContent().length() - 1)); + }else{ + jsonObject = JSONObject.fromObject(one.getContent()); + } + // 赠送课时 判断当前课包有没有赠送课时 + String weeks = jsonObject.getString("weeks"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(insertTime); + // 获取星期几,星期日是1,星期一是2,以此类推 + int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); + // 将星期日(Calendar定义为1)转换为7 + if (dayOfWeek == Calendar.SUNDAY) { + dayOfWeek = 7; + } else { + // 其他星期减一即可得到1-6的数字表示 + dayOfWeek -= 1; + } + // todo + if (weeks.contains(String.valueOf(dayOfWeek))){ + // 限时折扣判断是否在有效期 + try { + // 判断当日时间是否能享受到折扣 + String startTime = jsonObject.getString("startTime"); + String endTime = jsonObject.getString("endTime"); + + // 定义时间格式 + SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); + // 解析开始时间和结束时间为Date对象 + Date startTime1 = sdf.parse(startTime); + Date endTime1 = sdf.parse(endTime); + Date date1 = new Date(); + date1.setHours(startTime1.getHours()); + date1.setMinutes(startTime1.getMinutes()); + date1.setSeconds(startTime1.getSeconds()); + Date date2 = new Date(); + date2.setHours(endTime1.getHours()); + date2.setMinutes(endTime1.getMinutes()); + date2.setSeconds(endTime1.getSeconds()); + // 检查当前时间是否在开始时间和结束时间之间 + if (insertTime.after(date1) && insertTime.before(date2)) { + System.out.println("当前时间在开始时间和结束时间之间。"); + String hour = jsonObject.getString("hour"); + return Integer.valueOf(hour); + } else { + System.out.println("当前时间不在开始时间和结束时间之间。"); + return 0; + } + } catch (ParseException e) { + e.printStackTrace(); + } + } + } + // 判断购买时间 是否满足折扣规则 + char c = one.getContent().charAt(0); + String value1 = String.valueOf(c); + JSONObject jsonObject ; + if (value1.equals("[")){ + jsonObject = JSONObject.fromObject(one.getContent() + .substring(1,one.getContent().length() - 1)); + }else{ + jsonObject = JSONObject.fromObject(one.getContent()); + } + // 赠送课时 判断当前课包有没有赠送课时 + String weeks = jsonObject.getString("weeks"); + // 判断当前周几 是否满足折扣规则 + // 获取当前日期 + LocalDate currentDate = LocalDate.now(); + // 获取当前日期是星期几的数字表示 + int dayOfWeekAsNumber = currentDate.getDayOfWeek().getValue(); + if (weeks.contains(String.valueOf(dayOfWeekAsNumber))){ + // 限时折扣判断是否在有效期 + try { + // 判断当日时间是否能享受到折扣 + String startTime = jsonObject.getString("startTime"); + String endTime = jsonObject.getString("endTime"); + // 获取当前时间 + Date currentTime = new Date(); + // 定义时间格式 + SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); + // 解析开始时间和结束时间为Date对象 + Date startTime1 = sdf.parse(startTime); + Date endTime1 = sdf.parse(endTime); + Date date1 = new Date(); + date1.setHours(startTime1.getHours()); + date1.setMinutes(startTime1.getMinutes()); + date1.setSeconds(startTime1.getSeconds()); + Date date2 = new Date(); + date2.setHours(endTime1.getHours()); + date2.setMinutes(endTime1.getMinutes()); + date2.setSeconds(endTime1.getSeconds()); + // 检查当前时间是否在开始时间和结束时间之间 + if (currentTime.after(date1) && currentTime.before(date2)) { + System.out.println("当前时间在开始时间和结束时间之间。"); + String hour = jsonObject.getString("hour"); + + return Integer.valueOf(hour); + } else { + System.out.println("当前时间不在开始时间和结束时间之间。"); + return 0; + } + } catch (ParseException e) { + e.printStackTrace(); + } + } + return 0; + } + @Autowired private TCoursePackageService coursePackageService; + private void addPackageStudent1(TCoursePackage tCoursePackage, Integer userId, Integer sId, CoursePackageOrderStudent coursePackageOrderStudent) { + try { + //1常规 2假期 3体验 + if (tCoursePackage.getType() == 1) { + //上课星期 + String classWeeks = tCoursePackage.getClassWeeks(); + List<Integer> week = week(classWeeks); + //上课时段 + 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"); + //剩余课时 + Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours(); + //扣除课时数 + Integer codeTime = tCoursePackage.getCodeTime(); + //排课 本周+下周,课时不够扣则直接剩余不排课 + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + int day_week = calendar.get(Calendar.DAY_OF_WEEK); + day_week = day_week - 1 == 0 ? 7 : day_week - 1; + int num = 8 - day_week + 7; + Date useTime = coursePackageOrderStudent.getUseTime(); + for (int i = 0; i < num; i++) { + Date time = calendar.getTime(); + + //判断当天是否在排课星期内 + int day = calendar.get(Calendar.DAY_OF_WEEK); + day = day - 1 == 0 ? 7 : day - 1; + if (!week.contains(day)) { + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + continue; + } + + + //大于有效期不进行排课 + if (calendar.getTimeInMillis() >= useTime.getTime()) { + break; + } + for (int j = 0; j < split.length; j++) { + //剩余数量不足以排课 + if (laveClassHours.compareTo(codeTime) < 0) { + break; + } + + laveClassHours -= codeTime; + + CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); + coursePackageScheduling.setType(tCoursePackage.getType()); + coursePackageScheduling.setAppUserId(userId); + coursePackageScheduling.setStudentId(sId); + coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); + Date parse = format1.parse(format.format(time) + " " + split[j]); + Date parse1 = format1.parse(format.format(time) + " " + split1[j]); + coursePackageScheduling.setClassDate(parse); + coursePackageScheduling.setEndDate(parse1); + coursePackageScheduling.setStatus(1); + coursePackageSchedulingService.save(coursePackageScheduling); + CoursePackageStudent student1 = new CoursePackageStudent(); + student1.setAppUserId(userId); + student1.setStudentId(sId); + student1.setCoursePackageId(tCoursePackage.getId()); + student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId()); + student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); + student1.setSignInOrNot(1); + student1.setReservationStatus(1); + student1.setInsertTime(new Date()); + cpsMapper.insert(student1); + } + //增加日期,用于判断 + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + } + } + + if (tCoursePackage.getType() == 2) { + //上课星期 + String classWeeks = tCoursePackage.getClassWeeks(); + List<Integer> week = week(classWeeks); + //上课时段 + 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 startTime = tCoursePackage.getStartTime(); + Date endTime = tCoursePackage.getEndTime(); + //排课 本周+下周,课时不够扣则直接剩余不排课 + Calendar calendar = Calendar.getInstance(); + //假期开始使用当前时间为起始时间进行排课 + calendar.setTime(startTime.getTime() > System.currentTimeMillis() ? startTime : new Date()); + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + while (true) { + Date time = calendar.getTime(); + + //判断当天是否在排课星期内 + int day = calendar.get(Calendar.DAY_OF_WEEK); + day = day - 1 == 0 ? 7 : day - 1; + if (!week.contains(day)) { + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + continue; + } + + //大于有效期不进行排课 + if (calendar.getTimeInMillis() > endTime.getTime()) { + break; + } + for (int j = 0; j < split.length; j++) { + CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); + coursePackageScheduling.setType(tCoursePackage.getType()); + coursePackageScheduling.setAppUserId(userId); + coursePackageScheduling.setStudentId(sId); + coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); + Date parse = format1.parse(format.format(time) + " " + split[j]); + Date parse1 = format1.parse(format.format(time) + " " + split1[j]); + coursePackageScheduling.setClassDate(parse); + coursePackageScheduling.setEndDate(parse1); + coursePackageScheduling.setStatus(1); + coursePackageSchedulingService.save(coursePackageScheduling); + CoursePackageStudent student1 = new CoursePackageStudent(); + student1.setAppUserId(userId); + student1.setStudentId(sId); + student1.setCoursePackageId(tCoursePackage.getId()); + student1.setCoursePackagePaymentId(null); + student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); + student1.setSignInOrNot(1); + student1.setReservationStatus(1); + student1.setInsertTime(new Date()); + cpsMapper.insert(student1); + } + //增加日期,用于判断 + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } private void addPackageStudent(Integer courseId, Integer userId, Integer sId, Long paymentId) throws ParseException { // 课包 TCoursePackage tCoursePackage = coursePackageService.getById(courseId); @@ -1903,8 +2178,6 @@ } } } - - // 2.0 TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord(); tCourseInfoRecord.setUserId(userId); @@ -1914,8 +2187,6 @@ tCourseInfoRecord.setTime(new Date()); tCourseInfoRecord.setType(2); appUserClient.addCourseInfoRecord(tCourseInfoRecord); - - } @ResponseBody @@ -2083,6 +2354,12 @@ return packagePaymentService.getById(id); } + @ResponseBody + @PostMapping("/coursePackagePayment/queryCoursePackagePaymentById1") + public CoursePackageOrderStudent queryCoursePackagePaymentById1(@RequestParam("id") Long id) { + return coursePackageOrderStudentService.getById(id); + } + // @Autowired // private ICoursePackageOrderStudentService orderStudentService; @@ -2145,6 +2422,16 @@ System.out.println("editCoursePackagePayment1====coursePackagePayment" + coursePackagePayment); // coursePackagePayment.setCoursePackageId(null); packagePaymentService.updateBytime(coursePackagePayment); + } + + @ResponseBody + @PostMapping("/coursePackagePayment/editCoursePackagePayment2") + public void editCoursePackagePayment2(@RequestBody CoursePackageOrderStudent coursePackageOrderStudent) { + System.out.println("editCoursePackagePayment1====coursePackagePayment" + coursePackageOrderStudent); +// coursePackagePayment.setCoursePackageId(null); +// packagePaymentService.updateBytime(coursePackagePayment); + + coursePackageOrderStudentService.updateById(coursePackageOrderStudent); } @@ -2477,7 +2764,8 @@ 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(); diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java index 18e5477..6b9bbdc 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java @@ -174,15 +174,29 @@ @Resource private AppUserClient appUserClient; + + @Autowired + private ICoursePackageOrderStudentService orderStudentService; //获取可转移学员 @RequestMapping("/getSelect") @ResponseBody public List<SelectDto> getSelect(@RequestParam("payId") Long payId) { - TCoursePackagePayment byId = paymentService.getById(payId); +// TCoursePackagePayment byId = paymentService.getById(payId); +// +// List<Integer> studentIds = paymentService.getStudentIds(payId, byId.getCoursePackageId(), byId.getAppUserId()); +// System.out.println("=========studentIds=================>" + studentIds); - List<Integer> studentIds = paymentService.getStudentIds(payId, byId.getCoursePackageId(), byId.getAppUserId()); - System.out.println("=========studentIds=================>" + studentIds); + CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getById(payId); + + + List<CoursePackageOrderStudent> orderStudent = orderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("appUserId", coursePackageOrderStudent.getAppUserId()).eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId()).ne("id",payId)); + + List<Integer> studentIds = new ArrayList<>(); + for (CoursePackageOrderStudent packageOrderStudent : orderStudent) { + studentIds.add(packageOrderStudent.getStudentId()); + } + if (studentIds.size() > 0) { List<SelectDto> selectDtos = appUserClient.getSelects(studentIds); @@ -269,8 +283,7 @@ } - @Autowired - private ICoursePackageOrderStudentService orderStudentService; + @RequestMapping("/insertBack") @ResponseBody @@ -416,38 +429,47 @@ return moneyBacksck; } + + + @Autowired + private ICoursePackageSchedulingService schedulingService; + //课程转移 @RequestMapping("/toClass") @ResponseBody public void toClass(@RequestBody ToClassDto toClassDto) throws ParseException { - System.out.println("===========到达getSelect=======" + toClassDto); - TCoursePackagePayment orinPay = paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", toClassDto.getId())); - TCoursePackagePayment studentPay = paymentService.getOne - (new QueryWrapper<TCoursePackagePayment>() - .eq("studentId", toClassDto.getToStudentId()) - .eq("coursePackageId", orinPay.getCoursePackageId())); +// System.out.println("===========到达getSelect=======" + toClassDto); +// TCoursePackagePayment orinPay = +// paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", toClassDto.getId())); +// TCoursePackagePayment studentPay = paymentService.getOne +// (new QueryWrapper<TCoursePackagePayment>() +// .eq("studentId", toClassDto.getToStudentId()) +// .eq("coursePackageId", orinPay.getCoursePackageId())); + + + CoursePackageOrderStudent orinPay = orderStudentService.getById(toClassDto.getId()); + + CoursePackageOrderStudent studentPay = orderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", orinPay.getCoursePackageId())); + + TCoursePackage coursePackage = packageService.getById(orinPay.getCoursePackageId()); + if (studentPay != null) { + //转移 System.out.println("======orinPay=====>" + orinPay); System.out.println("======studentPay=====>" + studentPay); Integer laveClassHours = orinPay.getLaveClassHours(); Integer totalClassHours = orinPay.getTotalClassHours(); orinPay.setTotalClassHours(0); orinPay.setLaveClassHours(0); - orinPay.setStatus(1); + orinPay.setStatus(5); orinPay.setAppUserId(null); - paymentService.updateById(orinPay); - //删除orin的排课记录 - List<CoursePackageStudent> studentCourse1 = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", orinPay.getStudentId()).eq("coursePackageId", orinPay.getCoursePackageId())); - List<Long> collect1 = studentCourse1.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); - //拿到最后一天的排课记录 - if (collect1.size() > 0) { - coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect1)); - coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId())); - } + orderStudentService.updateById(orinPay); + + CourseCounsum courseCounsum = new CourseCounsum(); courseCounsum.setInsertTime(new Date()); if (orinPay.getAppUserId() != studentPay.getAppUserId()) { - courseCounsum.setReason("课时转移"); + courseCounsum.setReason("课时赠送"); } else { courseCounsum.setReason("课时转移"); } @@ -464,12 +486,12 @@ studentPay.setAppUserId(null); studentPay.setLaveClassHours(lave); studentPay.setTotalClassHours(total); - paymentService.updateById(studentPay); + orderStudentService.updateById(studentPay); CourseCounsum courseCounsum1 = new CourseCounsum(); courseCounsum1.setInsertTime(new Date()); if (orinPay.getAppUserId() != studentPay.getAppUserId()) { - courseCounsum1.setReason("课时转移"); + courseCounsum1.setReason("课时赠送"); } else { courseCounsum1.setReason("课时转移"); } @@ -479,112 +501,47 @@ counsumService.save(courseCounsum1); - //排课 - TCoursePackage tCoursePackage = packageService.getById(studentPay.getCoursePackageId()); - String classWeeks = tCoursePackage.getClassWeeks(); - List<Integer> week = week(classWeeks); - - 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"); - // 本周周几 - - List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId())); - List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); - //拿到最后一天的排课记录 - if (collect.size() > 0) { - coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect)); - coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId())); - } - - Student student = studentClient.queryStudentById(toClassDto.getToStudentId()); - - Date today = new Date(); - - - TCoursePackagePayment pay = coursePackagePaymentService.getById(studentPay.getId()); - Integer laveClassHours2 = pay.getLaveClassHours(); - Integer codeTime = tCoursePackage.getCodeTime(); - Integer can = 0; - int count = 0; - // 本周周几 -// int i = DateUtil.dayOfWeek(new Date())-1; - - Date[] dates = generateDateArray(14, today); - can = laveClassHours2 / codeTime; - - for (Date date : dates) { - if (count == can) { - break; - } - int wei = 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.insert(coursePackageScheduling); - CoursePackageStudent student1 = new CoursePackageStudent(); - student1.setAppUserId(student.getAppUserId()); - student1.setStudentId(student.getId()); - student1.setCoursePackageId(tCoursePackage.getId()); - student1.setCoursePackagePaymentId(studentPay.getId()); - student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); - student1.setSignInOrNot(1); - student1.setReservationStatus(1); - student1.setInsertTime(new Date()); - cpsMapper.insert(student1); - count++; - } - } - } + schedulingService.addNewCoursePackageScheduling(studentPay.getId(),laveClassHours); } else { + + Student student = studentClient.queryStudentById(toClassDto.getToStudentId()); - TCoursePackagePayment to = new TCoursePackagePayment(); + CoursePackageOrderStudent to = new CoursePackageOrderStudent(); to.setStudentId(toClassDto.getToStudentId()); to.setTotalClassHours(orinPay.getTotalClassHours()); to.setLaveClassHours(orinPay.getLaveClassHours()); to.setCoursePackageId(orinPay.getCoursePackageId()); to.setState(1); to.setAppUserId(student.getAppUserId()); - to.setPayStatus(2); to.setStatus(1); to.setInsertTime(new Date()); - paymentService.save(to); + + Integer validDays = coursePackage.getValidDays(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays); + to.setUseTime(calendar.getTime()); + + orderStudentService.save(to); orinPay.setTotalClassHours(0); orinPay.setLaveClassHours(0); orinPay.setAppUserId(null); - orinPay.setStatus(1); - paymentService.updateById(orinPay); + orinPay.setStatus(6); + orderStudentService.updateById(orinPay); - //删除orin的排课记录 - List<CoursePackageStudent> studentCourse1 = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", orinPay.getStudentId()).eq("coursePackageId", orinPay.getCoursePackageId())); - List<Long> collect1 = studentCourse1.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); - //拿到最后一天的排课记录 - if (collect1.size() > 0) { - coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect1)); - coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId())); - } + CourseCounsum courseCounsum = new CourseCounsum(); courseCounsum.setInsertTime(new Date()); - courseCounsum.setReason("课时转移"); + courseCounsum.setReason("课时赠送"); courseCounsum.setNum(orinPay.getLaveClassHours()); courseCounsum.setChangeType(0); courseCounsum.setPaymentId(orinPay.getId()); @@ -593,82 +550,177 @@ CourseCounsum courseCounsum1 = new CourseCounsum(); courseCounsum1.setInsertTime(new Date()); - courseCounsum1.setReason("课时转移"); + courseCounsum1.setReason("课时赠送"); courseCounsum1.setNum(orinPay.getLaveClassHours()); courseCounsum1.setChangeType(1); courseCounsum1.setPaymentId(to.getId()); counsumService.save(courseCounsum); - TCoursePackage tCoursePackage = packageService.getById(studentPay.getCoursePackageId()); - String classWeeks = tCoursePackage.getClassWeeks(); - List<Integer> week = week(classWeeks); - 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"); - // 本周周几 - - List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId())); - List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); - //拿到最后一天的排课记录 - if (collect.size() > 0) { - coursePackageSchedulingService.delete(new QueryWrapper<CoursePackageScheduling>().in("id", collect)); - coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId", studentPay.getCoursePackageId())); - } + //开始排课 + addPackageStudent(coursePackage, to.getAppUserId(), to.getStudentId(), to); - Date today = new Date(); - TCoursePackagePayment pay = coursePackagePaymentService.getById(studentPay.getId()); - Integer laveClassHours2 = pay.getLaveClassHours(); - Integer codeTime = tCoursePackage.getCodeTime(); - Integer can = 0; - int count = 0; - // 本周周几 -// int i = DateUtil.dayOfWeek(new Date())-1; + } - Date[] dates = generateDateArray(14, today); - can = laveClassHours2 / codeTime; - for (Date date : dates) { - if (count == can) { - break; - } - int wei = DateUtil.dayOfWeek(date); - if (week.contains(wei)) { - for (int i1 = 0; i1 < split.length; i1++) { - if (count == can) { + } + + + + /** + * 新购买课程后的排课 + * + * @param userId + * @param sId + * @throws ParseException + */ + private void addPackageStudent(TCoursePackage tCoursePackage, Integer userId, Integer sId, CoursePackageOrderStudent coursePackageOrderStudent) { + try { + //1常规 2假期 3体验 + if (tCoursePackage.getType() == 1) { + //上课星期 + String classWeeks = tCoursePackage.getClassWeeks(); + List<Integer> week = week(classWeeks); + //上课时段 + 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"); + + + //剩余课时 + Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours(); + //扣除课时数 + Integer codeTime = tCoursePackage.getCodeTime(); + //排课 本周+下周,课时不够扣则直接剩余不排课 + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + int day_week = calendar.get(Calendar.DAY_OF_WEEK); + day_week = day_week - 1 == 0 ? 7 : day_week - 1; + int num = 8 - day_week + 7; + Date useTime = coursePackageOrderStudent.getUseTime(); + + for (int i = 0; i < num; i++) { + Date time = calendar.getTime(); + + //判断当天是否在排课星期内 + int day = calendar.get(Calendar.DAY_OF_WEEK); + day = day - 1 == 0 ? 7 : day - 1; + if (!week.contains(day)) { + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + continue; + } + + + //大于有效期不进行排课 + if (calendar.getTimeInMillis() >= useTime.getTime()) { + break; + } + for (int j = 0; j < split.length; j++) { + //剩余数量不足以排课 + if (laveClassHours.compareTo(codeTime) < 0) { break; } + + laveClassHours -= codeTime; + CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); + coursePackageScheduling.setType(tCoursePackage.getType()); + coursePackageScheduling.setAppUserId(userId); + coursePackageScheduling.setStudentId(sId); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); - Date parse = format1.parse(format.format(date) + " " + split[i1]); - Date parse1 = format1.parse(format.format(date) + " " + split1[i1]); + Date parse = format1.parse(format.format(time) + " " + split[j]); + Date parse1 = format1.parse(format.format(time) + " " + split1[j]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); coursePackageSchedulingService.insert(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); - student1.setAppUserId(student.getAppUserId()); - student1.setStudentId(student.getId()); + student1.setAppUserId(userId); + student1.setStudentId(sId); student1.setCoursePackageId(tCoursePackage.getId()); - student1.setCoursePackagePaymentId(studentPay.getId()); + student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId()); student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); student1.setSignInOrNot(1); student1.setReservationStatus(1); student1.setInsertTime(new Date()); cpsMapper.insert(student1); - count++; } + //增加日期,用于判断 + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); } } + if (tCoursePackage.getType() == 2) { + //上课星期 + String classWeeks = tCoursePackage.getClassWeeks(); + List<Integer> week = week(classWeeks); + //上课时段 + 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 startTime = tCoursePackage.getStartTime(); + Date endTime = tCoursePackage.getEndTime(); + //排课 本周+下周,课时不够扣则直接剩余不排课 + Calendar calendar = Calendar.getInstance(); + //假期开始使用当前时间为起始时间进行排课 + calendar.setTime(startTime.getTime() > System.currentTimeMillis() ? startTime : new Date()); + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + while (true) { + Date time = calendar.getTime(); + + //判断当天是否在排课星期内 + int day = calendar.get(Calendar.DAY_OF_WEEK); + day = day - 1 == 0 ? 7 : day - 1; + if (!week.contains(day)) { + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + continue; + } + + //大于有效期不进行排课 + if (calendar.getTimeInMillis() > endTime.getTime()) { + break; + } + for (int j = 0; j < split.length; j++) { + CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); + coursePackageScheduling.setType(tCoursePackage.getType()); + coursePackageScheduling.setAppUserId(userId); + coursePackageScheduling.setStudentId(sId); + coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); + Date parse = format1.parse(format.format(time) + " " + split[j]); + Date parse1 = format1.parse(format.format(time) + " " + split1[j]); + coursePackageScheduling.setClassDate(parse); + coursePackageScheduling.setEndDate(parse1); + coursePackageScheduling.setStatus(1); + coursePackageSchedulingService.insert(coursePackageScheduling); + CoursePackageStudent student1 = new CoursePackageStudent(); + student1.setAppUserId(userId); + student1.setStudentId(sId); + student1.setCoursePackageId(tCoursePackage.getId()); + student1.setCoursePackagePaymentId(null); + student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); + student1.setSignInOrNot(1); + student1.setReservationStatus(1); + student1.setInsertTime(new Date()); + cpsMapper.insert(student1); + } + //增加日期,用于判断 + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); + } + } + } catch (Exception e) { + e.printStackTrace(); } - - } @Resource diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/CoursePackageOrderStudent.java b/cloud-server-course/src/main/java/com/dsh/course/entity/CoursePackageOrderStudent.java index 0179da0..52b76d7 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/entity/CoursePackageOrderStudent.java +++ b/cloud-server-course/src/main/java/com/dsh/course/entity/CoursePackageOrderStudent.java @@ -89,5 +89,6 @@ * 课程有效期 */ @TableField("useTime") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date useTime; } diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java index 4f957ea..96b44df 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java +++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java @@ -192,4 +192,9 @@ @TableField(exist = false) private Integer orderId; + @TableField("giftClassHours") + private Integer giftClassHours; + // 所选课时规格id + @TableField(exist = false) + private Integer coursePackageConfigId; } diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackagePaymentConfigMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackagePaymentConfigMapper.java index bddf0c5..6d3ba0b 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackagePaymentConfigMapper.java +++ b/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackagePaymentConfigMapper.java @@ -15,7 +15,7 @@ public interface CoursePackagePaymentConfigMapper extends BaseMapper<CoursePackagePaymentConfig> { List<CoursePackagePaymentVO> listAll(@Param("query") CoursePackagePaymentQuery query); - int changeState(@Param("ids") List<Long> ids, @Param("payUserName") String payUserName, @Param("payUserId") Integer payUserId); + int changeState(@Param("ids") Long ids, @Param("payUserName") String payUserName, @Param("payUserId") Integer payUserId); List<RegisterOrderVO> listAllRegister(@Param("query") RegisterOrderQuery query, @Param("sTime") String sTime, @Param("eTime") String eTime, @Param("amount") BigDecimal amount); diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java index a8f7b26..1428de3 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java +++ b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java @@ -50,6 +50,8 @@ */ List<Map<String, Object>> queryRegistrationRecord(Page<Map<String, Object>> page, @Param("coursePackageId") Integer coursePackageId, @Param("userIds") List<Integer> userIds, @Param("studentIds") List<Integer> studentIds); + List<Map<String, Object>> queryRegistrationRecord1(Page<Map<String, Object>> page, @Param("coursePackageId") Integer coursePackageId, + @Param("userIds") List<Integer> userIds, @Param("studentIds") List<Integer> studentIds); /** diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePayDTO.java b/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePayDTO.java index bd6b0e5..1559c5c 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePayDTO.java +++ b/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePayDTO.java @@ -9,7 +9,7 @@ */ @Data public class CoursePackagePayDTO { - private List<String> ids; + private String ids; private String payUserName; // 操作人id private Integer userId; diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePaymentVO.java b/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePaymentVO.java index 55a9003..3e695f7 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePaymentVO.java +++ b/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePaymentVO.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; +import javax.naming.PartialResultException; import java.math.BigDecimal; +import java.util.Date; /** * 购课记录列表VO @@ -43,7 +45,7 @@ private String payUser; private String phone; // 学员id - private Integer studentId; + private String studentId; private String payStudent; private Integer payType; private BigDecimal originalPrice; @@ -68,4 +70,7 @@ private Integer buyType; // 当状态为手动支付时使用 用于显示手动支付时显示操作人 private String buyTypeName; + private Integer classHours; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date insertTime; } diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java b/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java index 09ea539..ee39ca6 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java @@ -46,5 +46,5 @@ * 处理剩余课时已经全部排完课后临时增加课时后添加排课 * @param coursePackageOrderStudentId */ - void addNewCoursePackageScheduling(Integer coursePackageOrderStudentId, Integer classNumber); + void addNewCoursePackageScheduling(Long coursePackageOrderStudentId, Integer classNumber); } diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java index fe4934d..7b2c2fb 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java @@ -289,7 +289,7 @@ * @param coursePackageOrderStudentId */ @Override - public void addNewCoursePackageScheduling(Integer coursePackageOrderStudentId, Integer classNumber) { + public void addNewCoursePackageScheduling(Long coursePackageOrderStudentId, Integer classNumber) { CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(coursePackageOrderStudentId); CoursePackageScheduling coursePackageScheduling = this.getOne(new QueryWrapper<CoursePackageScheduling>() .eq("appUserId", coursePackageOrderStudent.getAppUserId()) diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java index 682ca6f..b8a4cf5 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java @@ -130,13 +130,8 @@ @Override public int changeState(CoursePackagePayDTO dto) { - List<String> ids = dto.getIds(); - List<Long> list = new ArrayList<>(); - for (String id : ids) { - long value = Long.parseLong(id); - list.add(value); - } - return cpConfigMapper.changeState(list, dto.getPayUserName(), dto.getUserId()); + + return cpConfigMapper.changeState(Long.valueOf(dto.getIds()), dto.getPayUserName(), dto.getUserId()); } @Override @@ -526,6 +521,14 @@ AppUser appUser = appuClient.queryAppUser(appUserId); CourseDetailsResponse response = new CourseDetailsResponse(); CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(coursePayId); + if (coursePackageOrder==null){ +// student = coursePackageStudentService.getById(coursePayId); + CoursePackageOrderStudent student = coursePackageOrderStudentService.getById(coursePayId); + + coursePackageOrder = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>().eq("appUserId", student.getAppUserId()).like("studentIds", student.getStudentId()).eq("coursePackageId", student.getCoursePackageId()).orderByDesc("insertTime").last("limit 1")); + + } + response.setChooseHours(coursePackageOrder.getClassHours()); @@ -604,7 +607,9 @@ response.setVipAmount(discountMember); break; case 3: - response.setWpGold(playPaiCoin); + if (playPaiCoin!=null) { + response.setWpGold(playPaiCoin); + } break; } @@ -722,16 +727,16 @@ TCoursePackageDiscount discount = coursePackageDiscountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId()) .eq("type", 2).eq("auditStatus", 2)); - Double continuingMember = JSON.parseObject(discount.getContent()).getDouble("continuingUser"); - Double vipcontinuingMember = JSON.parseObject(discount.getContent()).getDouble("continuingMember"); - - - if (coursePackagePaymentConfigVo.getPaymentPrice() > continuingMember) { - coursePackagePaymentConfigVo.setPaymentPrice(continuingMember); - } - if (coursePackagePaymentConfigVo.getVipPrice() > vipcontinuingMember) { - coursePackagePaymentConfigVo.setVipPrice(vipcontinuingMember); - } +// Double continuingMember = JSON.parseObject(discount.getContent()).getDouble("continuingUser"); +// Double vipcontinuingMember = JSON.parseObject(discount.getContent()).getDouble("continuingMember"); +// +// +// if (coursePackagePaymentConfigVo.getPaymentPrice() > continuingMember) { +// coursePackagePaymentConfigVo.setPaymentPrice(continuingMember); +// } +// if (coursePackagePaymentConfigVo.getVipPrice() > vipcontinuingMember) { +// coursePackagePaymentConfigVo.setVipPrice(vipcontinuingMember); +// } if (coursePackagePaymentConfigVo.getPaymentPrice() < coursePackagePaymentConfigVo.getVipPrice()) { @@ -1204,6 +1209,7 @@ @Override public List<Map<String, Object>> queryRegistrationRecord(Page<Map<String, Object>> page, QueryRegistrationRecord queryRegistrationRecord) { Integer coursePackageId = queryRegistrationRecord.getCoursePackageId(); + TCoursePackage coursePackage = coursePackageService.getById(coursePackageId); String userName = queryRegistrationRecord.getUserName(); List<Integer> userIds = null; List<Integer> studentIds = null; @@ -1220,12 +1226,23 @@ studentIds = students.stream().map(Student::getId).collect(Collectors.toList()); } } - List<Map<String, Object>> list = this.baseMapper.queryRegistrationRecord(page, coursePackageId, userIds, studentIds); + + List<Map<String, Object>> list = new ArrayList<>(); + + if (coursePackage.getType()==1){ + list = this.baseMapper.queryRegistrationRecord(page, coursePackageId, userIds, studentIds);}else { + list = this.baseMapper.queryRegistrationRecord1(page, coursePackageId, userIds, studentIds); + } for (Map<String, Object> map : list) { Long id = Long.valueOf(map.get("id").toString()); Integer appUserId = Integer.valueOf(map.get("appUserId").toString()); - Integer studentId = Integer.valueOf(map.get("studentId").toString()); + Integer studentId = 0; + if (coursePackage.getType()==1) { + studentId = Integer.valueOf(map.get("studentId").toString()); + }else { + studentId = Integer.valueOf(map.get("studentIds").toString()); + } TAppUser appUser = appuClient.queryAppUser1(appUserId); map.put("userName", null != appUser ? appUser.getName() : ""); diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java index a14b9c3..953ae02 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java @@ -1220,6 +1220,8 @@ courseCounsum.setInsertTime(new Date()); courseCounsum.setReason("购买课包"); courseCounsumService.save(courseCounsum); + + } if(coursePackage.getType() == 2){ addPackageStudent(coursePackage, coursePackageOrder.getAppUserId(), Integer.valueOf(id), null); diff --git a/cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml b/cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml index 3d9fe23..d5b02bd 100644 --- a/cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml +++ b/cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml @@ -12,25 +12,23 @@ <result column="playPaiCoin" property="playPaiCoin"/> </resultMap> <update id="changeState"> - update t_course_package_payment set - payStatus = 2,payUserName = #{payUserName},payType = 7,payUserId=#{payUserId} + update t_course_package_order set + payStatus = 2,payUserName = #{payUserName},payType = 7,payUserId=#{payUserId}, + payUserType = 2 <where> - <if test="ids != null and ids.size()>0"> - AND t_course_package_payment.id IN - <foreach collection="ids" separator="," item="id" open="(" close=")"> - #{id} - </foreach> + <if test="ids!=null and ids!= ''"> + and t_course_package_order.id = #{ids} </if> </where> </update> <select id="listAll" resultType="com.dsh.course.model.CoursePackagePaymentVO"> select - t1.id,t1.studentId,t1.payUserType,t1.payStatus,t1.payType,t1.originalPrice,t1.userCouponId,t1.payUserId,t1.giftClassHours,t1.studentId,t1.appUserId,t1.cashPayment,t1.playPaiCoin, - t1.payUserName as buyTypeName, + t1.id,t1.payUserType,t1.payStatus,t1.payType,t1.originalPrice,t1.userCouponId,t1.payUserId,t1.studentIds as studentId,t1.appUserId,t1.cashPayment,t1.playPaiCoin, + t1.payUserName as buyTypeName, t1.classHours as classHours,t1.insertTime as insertTime,t1.coursePackageId as coursePackageId, CONCAT(t2.province,t2.city) as provinceAndCity,t2.coursePackageTypeId,t2.storeId,t2.name as coursePackage, t3.name as coursePackageType - from t_course_package_payment t1 + from t_course_package_order t1 left join t_course_package t2 on t1.coursePackageId = t2.id left join t_course_package_type t3 on t2.coursePackageTypeId = t3.id <where> diff --git a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml index b8d8fcb..929e249 100644 --- a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml +++ b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml @@ -98,6 +98,34 @@ END, insertTime DESC </select> + <select id="queryRegistrationRecord1" resultType="map"> + select + CAST(id AS CHAR(20)) as id, + appUserId, + studentIds, + DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i') as insertTime, + `status` + from t_course_package_order where state = 1 + <if test="null != coursePackageId"> + and coursePackageId = #{coursePackageId} + </if> + <if test="null != userIds"> + and appUserId in + <foreach collection="userIds" item="item" index="index" separator="," open="(" close=")"> + #{item} + </foreach> + </if> + <if test="null != studentIds"> + and studentId in + <foreach collection="studentIds" item="item" index="index" separator="," open="(" close=")"> + #{item} + </foreach> + </if> + order by + insertTime DESC + </select> + + <select id="queryWalkInStudentList" resultType="map"> select diff --git a/cloud-server-management/src/main/java/com/dsh/course/entity/CoursePackageOrderStudent.java b/cloud-server-management/src/main/java/com/dsh/course/entity/CoursePackageOrderStudent.java new file mode 100644 index 0000000..52b76d7 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/course/entity/CoursePackageOrderStudent.java @@ -0,0 +1,94 @@ +package com.dsh.course.entity; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * @author zhibing.pu + * @Date 2023/11/25 11:59 + */ +@Data +@TableName("t_course_package_order_student") +public class CoursePackageOrderStudent { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + /** + * 用户id + */ + @TableField("appUserId") + private Integer appUserId; + /** + * 学员id + */ + @TableField("studentId") + private Integer studentId; + /** + * 课包id + */ + @TableField("coursePackageId") + private Integer coursePackageId; + /** + * 总课时 + */ + @TableField("totalClassHours") + private Integer totalClassHours; + /** + * 剩余课时 + */ + @TableField("laveClassHours") + private Integer laveClassHours; + /** + * 缺课次数 + */ + @TableField("absencesNumber") + private Integer absencesNumber; + /** + * 退课课时 + */ + @TableField(exist = false) + private Integer dropoutsNumber; + /** + * 课程状态(1=正常,2=已退课) + */ + @TableField("status") + private Integer status; + /** + * 退课时间 + */ + @TableField("withdrawalTime") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date withdrawalTime; + /** + * 退课凭证 + */ + @TableField("certificate") + private String certificate; + /** + * 状态(1=正常,2=冻结,3=删除) + */ + @TableField("state") + private Integer state; + /** + * 添加时间 + */ + @TableField("insertTime") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date insertTime; + /** + * 赠送课时 + */ + @TableField("giftClassHours") + private Integer giftClassHours; + /** + * 课程有效期 + */ + @TableField("useTime") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date useTime; +} diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/ListQuery.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/ListQuery.java index e9bfbdd..16da73f 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/ListQuery.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/ListQuery.java @@ -22,5 +22,6 @@ private Integer state; private Integer registerCondition ; private List<Integer> ids; - + // 角色类型 如果是平台1的话 查询审核通过的 如果是运营商查询所有属于 + private Integer obj; } diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java index 5c5d4e3..8504df7 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java @@ -1,12 +1,14 @@ package com.dsh.course.feignClient.course; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dsh.course.entity.CoursePackageOrderStudent; import com.dsh.course.feignClient.course.model.QueryRegistrationRecord; import com.dsh.course.feignClient.course.model.QueryWalkInStudentList; import com.dsh.course.feignClient.course.model.TCoursePackage; +import com.dsh.course.feignClient.course.model.*; import com.dsh.course.feignClient.course.model.TCoursePackagePayment; import com.dsh.guns.modular.system.model.*; -import com.dsh.guns.modular.system.model.dto.CoursePackage; + import com.dsh.guns.modular.system.util.ResultUtil; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; @@ -87,6 +89,10 @@ @PostMapping("/coursePackagePayment/consumeCourse") ResultUtil consumeCourse(@RequestBody Integer coursePackagePaymentId); + @PostMapping("/coursePackagePayment/queryCoursePackagePaymentById1") + CoursePackageOrderStudent queryCoursePackagePaymentById1(@RequestParam("id")Long id); + + /** * 修改数据 * @param coursePackagePayment @@ -96,6 +102,9 @@ @PostMapping("/coursePackagePayment/editCoursePackagePayment1") void editCoursePackagePayment1(@RequestBody TCoursePackagePayment coursePackagePayment); + + @PostMapping("/coursePackagePayment/editCoursePackagePayment2") + void editCoursePackagePayment2(@RequestBody CoursePackageOrderStudent coursePackageOrderStudent); @PostMapping("/coursePackagePayment/CountqueryByClassId") @@ -112,5 +121,6 @@ HashMap<String, Object> courseStore(@RequestBody List<Integer> userPt); @GetMapping("/coursePackagePayment/courseStore/{appUserId}/{coursePackageId}") - List<TCoursePackagePayment> getByUserIdAndCoursePackageId(@PathVariable("appUserId") Integer appUserId,@PathVariable("coursePackageId") Integer coursePackageId); + List<CoursePackageOrderStudent> getByUserIdAndCoursePackageId + (@PathVariable("appUserId") Integer appUserId, @PathVariable("coursePackageId") Integer coursePackageId); } diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentConfigClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentConfigClient.java index 8318f02..1c36fca 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentConfigClient.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentConfigClient.java @@ -37,6 +37,13 @@ */ @PostMapping("/coursePackagePaymentConfig/queryCoursePackagePaymentConfigList") List<CoursePackagePaymentConfig> queryCoursePackagePaymentConfigList(Integer coursePackageId); + /** + * 根据课包id获取价格配置 + * @param + * @return + */ + @PostMapping("/coursePackagePaymentConfig/queryCoursePackagePaymentConfigList1") + List<CoursePackagePaymentConfig> queryCoursePackagePaymentConfigList1(Integer coursePackagePaymentConfigId); /** diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/CoursePackageOrderStudent.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/CoursePackageOrderStudent.java new file mode 100644 index 0000000..b5f4377 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/CoursePackageOrderStudent.java @@ -0,0 +1,96 @@ +package com.dsh.course.feignClient.course.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * @author zhibing.pu + * @Date 2023/11/25 11:59 + */ +@Data +@TableName("t_course_package_order_student") +public class CoursePackageOrderStudent { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + /** + * 用户id + */ + @TableField("appUserId") + private Integer appUserId; + /** + * 学员id + */ + @TableField("studentId") + private Integer studentId; + /** + * 课包id + */ + @TableField("coursePackageId") + private Integer coursePackageId; + /** + * 总课时 + */ + @TableField("totalClassHours") + private Integer totalClassHours; + /** + * 剩余课时 + */ + @TableField("laveClassHours") + private Integer laveClassHours; + /** + * 缺课次数 + */ + @TableField("absencesNumber") + private Integer absencesNumber; + /** + * 退课课时 + */ + @TableField(exist = false) + private Integer dropoutsNumber; + /** + * 课程状态(1=正常,2=已退课) + */ + @TableField("status") + private Integer status; + /** + * 退课时间 + */ + @TableField("withdrawalTime") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date withdrawalTime; + /** + * 退课凭证 + */ + @TableField("certificate") + private String certificate; + /** + * 状态(1=正常,2=冻结,3=删除) + */ + @TableField("state") + private Integer state; + /** + * 添加时间 + */ + @TableField("insertTime") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date insertTime; + /** + * 赠送课时 + */ + @TableField("giftClassHours") + private Integer giftClassHours; + /** + * 课程有效期 + */ + @TableField("useTime") + private Date useTime; +} diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/BallClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/BallClient.java index d62b570..528b5ab 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/BallClient.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/BallClient.java @@ -3,6 +3,8 @@ import com.dsh.course.dto.StudentSearch; import com.dsh.course.dto.TStudentDto; import com.dsh.course.feignClient.other.model.Banner; +import com.dsh.course.feignClient.other.model.GameDataQuery; +import com.dsh.course.feignClient.other.model.TGameRecord; import com.dsh.guns.modular.system.model.*; import com.dsh.guns.modular.system.model.dto.BallQueryDto; import com.dsh.guns.modular.system.model.dto.BookingQuery; @@ -16,6 +18,10 @@ @FeignClient(value = "mb-cloud-other") public interface BallClient { + + // 数据统计 + @PostMapping("/student/getData") + List<TGameRecord> getData(@RequestBody GameDataQuery query); // 根据门店ids 获取游戏记录 @PostMapping("/game/getGameByStoreIds") List<Integer> getGameByStoreIds(@RequestBody List<Integer> storeIds); diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/GameDataQuery.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/GameDataQuery.java new file mode 100644 index 0000000..069ab7f --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/GameDataQuery.java @@ -0,0 +1,9 @@ +package com.dsh.course.feignClient.other.model; + +import lombok.Data; + +@Data +public class GameDataQuery { + Integer objectId; + Integer storeId; +} diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/TGameRecord.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/TGameRecord.java new file mode 100644 index 0000000..fe8604c --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/TGameRecord.java @@ -0,0 +1,69 @@ +package com.dsh.course.feignClient.other.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * <p> + * + * </p> + * + * @author administrator + * @since 2023-10-07 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_game_record") +public class TGameRecord extends Model<TGameRecord> { + + private static final long serialVersionUID=1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @TableField("userId") + private Integer userId; + + @TableField("gameId") + private Integer gameId; + + /** + * 1玩湃币 2微信 3支付宝 + */ + @TableField("payType") + private Integer payType; + + /** + * 金额 + */ + private BigDecimal money; + + /** + * 0待支付 1已支付 + */ + private Integer status; + + private String number; + @TableField("orderNo") + private String orderNo; + + private Date time; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachController.java index 6b1d951..a84e295 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachController.java @@ -1,6 +1,8 @@ package com.dsh.guns.modular.system.controller.code; +import com.alibaba.druid.sql.visitor.functions.If; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.course.feignClient.account.CityManagerClient; import com.dsh.course.feignClient.account.CoachClient; @@ -11,12 +13,10 @@ import com.dsh.course.feignClient.account.model.CoachType; import com.dsh.course.feignClient.other.model.Site; import com.dsh.guns.config.UserExt; -import com.dsh.guns.modular.system.model.CoachChangeStateVO; -import com.dsh.guns.modular.system.model.CoachQuery; -import com.dsh.guns.modular.system.model.Store; -import com.dsh.guns.modular.system.model.TStore; -import com.dsh.guns.modular.system.service.IStoreService; +import com.dsh.guns.modular.system.model.*; +import com.dsh.guns.modular.system.service.*; import com.dsh.guns.modular.system.util.ResultUtil; +import org.bouncycastle.math.raw.Mod; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -41,6 +41,14 @@ private CoachClient coachClient; @Autowired private CityManagerClient cityManagerClient; + @Autowired + private ICityService cityService; + @Autowired + private TOperatorService operatorService; + @Autowired + private TOperatorCityService operatorCityService; + @Autowired + private IUserService userService; /** * 跳转教练管理首页 @@ -89,15 +97,8 @@ */ @RequestMapping("/addCoach") public String addCoach(Model model) { - List<CityManager> province = cityManagerClient.listAll(); - Set<String> seenNames = new HashSet<>(); - List<CityManager> result = new ArrayList<>(); - for (CityManager cityManager : province) { - if(!seenNames.contains(cityManager.getProvince())){ - result.add(cityManager); - seenNames.add(cityManager.getProvince()); - } - } + List<TCity> list1 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); + model.addAttribute("list",list1); Integer objectType = UserExt.getUser().getObjectType(); Integer objectId = UserExt.getUser().getObjectId(); CoachQuery coachQuery = new CoachQuery(); @@ -106,7 +107,6 @@ String roleid = UserExt.getUser().getRoleid(); model.addAttribute("role",roleid); model.addAttribute("data",data); - model.addAttribute("list",result); model.addAttribute("objectType",objectType); model.addAttribute("objectId",objectId); model.addAttribute("coachType",list); @@ -119,6 +119,7 @@ @ResponseBody @RequestMapping(value = "/add") public ResultUtil addCoach(@RequestBody Coach coach) { + Integer objectId = UserExt.getUser().getObjectId(); if (UserExt.getUser().getObjectType() == 2){ coach.setCityManagerId(objectId); @@ -149,6 +150,43 @@ coachClient.changeState(vo); return ResultUtil.success(); } + /** + * 根据选择的市 查询有哪些运营商管理了所选的市 + * + * @return + */ + @RequestMapping("/getYys") + @ResponseBody + public Object getYys(String pCode,String cCode){ + // 先获取管理全国的运营商 + List<TOperator> type = operatorService.list(new QueryWrapper<TOperator>().eq("type", 1)); + // 根据所选市 查询管理了这个市的运营商 + // 获取管理指定区域的运营商的ID 然后去重 + List<Integer> collect = operatorCityService.list(new QueryWrapper<TOperatorCity>()).stream().map(TOperatorCity::getOperatorId) + .distinct().collect(Collectors.toList()); + // 遍历 判断当前运营商是否管理了所选市 + for (Integer integer : collect) { + // 查询是否管理了省 + TOperatorCity code = operatorCityService.getOne(new QueryWrapper<TOperatorCity>().eq("code", pCode).eq("operatorId",integer)); + if (code==null)continue; + List<TOperatorCity> pid = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("pid", code.getId())); + // 如果pid长度为0 则说明管理整个省 + if (pid.size()==0){ + type.add(operatorService.getOne(new QueryWrapper<TOperator>() + .eq("id",integer))); + } + for (TOperatorCity tOperatorCity : pid) { + if (tOperatorCity.getCode().toString().equals(cCode)){ + TOperator id = operatorService.getOne(new QueryWrapper<TOperator>() + .eq("id", tOperatorCity.getOperatorId())); + if (id!=null)type.add(id); + break; + } + } + } + + return type; + } /** * 跳转修改教练页面 @@ -158,29 +196,54 @@ CoachQuery coachQuery = new CoachQuery(); coachQuery.setId(id); List<CoachSerchVO> data = coachClient.listAll(coachQuery); - List<CityManager> province = cityManagerClient.listAll(); - Set<String> seenNames = new HashSet<>(); - List<CityManager> result = new ArrayList<>(); - List<CityManager> city = new ArrayList<>(); - for (CityManager cityManager : province) { - if(!seenNames.contains(cityManager.getProvince())){ - result.add(cityManager); - seenNames.add(cityManager.getProvince()); + List<TCity> list1 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); + // 省 + model.addAttribute("list",list1); + // 市 + Integer code = cityService.getOne(new QueryWrapper<TCity>() + .eq("code", data.get(0).getProvinceCode())).getId(); + + List<TCity> pid = cityService.list(new QueryWrapper<TCity>().eq("parent_id", code)); + model.addAttribute("city",pid); + // 获取所选省市下的运营商列表 + // 先获取管理全国的运营商 + List<TOperator> type = operatorService.list(new QueryWrapper<TOperator>().eq("type", 1)); + // 根据所选市 查询管理了这个市的运营商 + // 获取管理指定区域的运营商的ID 然后去重 + List<Integer> collect = operatorCityService.list(new QueryWrapper<TOperatorCity>()).stream().map(TOperatorCity::getOperatorId) + .distinct().collect(Collectors.toList()); + // 遍历 判断当前运营商是否管理了所选市 + for (Integer integer : collect) { + // 查询是否管理了省 + TOperatorCity code1 = operatorCityService.getOne(new QueryWrapper<TOperatorCity>() + .eq("code", data.get(0).getProvinceCode()) + .eq("operatorId",integer) + ); + if (code1==null)continue; + List<TOperatorCity> pid1 = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("pid", code1.getId())); + // 如果pid长度为0 则说明管理整个省 + if (pid1.size()==0){ + type.add(operatorService.getOne(new QueryWrapper<TOperator>() + .eq("id",integer))); } - if(data.get(0).getProvince().equals(cityManager.getProvince())){ - city.add(cityManager); + for (TOperatorCity tOperatorCity : pid1) { + if (tOperatorCity.getCode().toString().equals(data.get(0).getCityCode())){ + TOperator id1 = operatorService.getOne(new QueryWrapper<TOperator>() + .eq("id", tOperatorCity.getOperatorId())); + if (id1!=null)type.add(id1); + break; + } } } + + Integer objectType = UserExt.getUser().getObjectType(); Integer objectId = UserExt.getUser().getObjectId(); - List<CityManager> accounts = cityManagerClient.getAccount(data.get(0).getCity()); List<CoachType> list = coachTypeClient.list(); String roleid = UserExt.getUser().getRoleid(); model.addAttribute("role",roleid); model.addAttribute("data",data.get(0)); - model.addAttribute("list",result); - model.addAttribute("city",city); - model.addAttribute("cityManagers",accounts); + model.addAttribute("cityManagers",type); model.addAttribute("objectType",objectType); model.addAttribute("objectId",objectId); model.addAttribute("coachType",list); @@ -261,7 +324,14 @@ Integer objectId = UserExt.getUser().getObjectId(); coachQuery.setOperatorId(objectId); } - - return coachClient.listAll(coachQuery); + List<CoachSerchVO> coachSerchVOS = coachClient.listAll(coachQuery); + for (CoachSerchVO coachSerchVO : coachSerchVOS) { + Integer cityManagerId = coachSerchVO.getCityManagerId(); + TOperator byId = operatorService.getById(cityManagerId); + Integer userId = byId.getUserId(); + User byId1 = userService.getById(userId); + coachSerchVO.setNameAndPhone(byId.getName()+""+byId1.getPhone()); + } + return coachSerchVOS; } } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java index fbac453..1f3af00 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java @@ -16,6 +16,7 @@ import com.dsh.guns.config.UserExt; import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.modular.system.model.*; +import com.dsh.course.entity.CoursePackageOrderStudent; import com.dsh.guns.modular.system.model.TCoursePackagePayment; import com.dsh.guns.modular.system.model.dto.CoursePackage; import com.dsh.guns.modular.system.service.ICityService; @@ -106,7 +107,7 @@ */ @ResponseBody @PostMapping(value = "/addCoursePackagePayment/{id}") - public ResultUtil addCoach(@RequestBody TCoursePackagePayment tCoursePackagePayment, @PathVariable("id")Integer id) { + public Object addCoach(@RequestBody TCoursePackagePayment tCoursePackagePayment, @PathVariable("id")Integer id) { Integer objectId = UserExt.getUser().getObjectId(); Integer objectType = UserExt.getUser().getObjectType(); String name = UserExt.getUser().getName(); @@ -114,7 +115,6 @@ // 获取课包id Integer coursePackageId = tCoursePackagePayment.getCoursePackageId(); List<TCoursePackageDiscount> list = coursePackageDiscountClient.queryByCoursePackageId(coursePackageId); - Date currentDate = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(currentDate); @@ -136,6 +136,7 @@ for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) { char c = tCoursePackageDiscount.getContent().charAt(0); String value1 = String.valueOf(c); + JSONObject jsonObject ; if (value1.equals("[")){ jsonObject = JSONObject.fromObject(tCoursePackageDiscount.getContent() @@ -143,14 +144,14 @@ }else{ jsonObject = JSONObject.fromObject(tCoursePackageDiscount.getContent()); } - // 获取当前课包价格配置 - Integer coursePackageId1 = tCoursePackagePayment.getCoursePackageId(); - List<CoursePackagePaymentConfig> coursePackagePaymentConfigs = coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(coursePackageId1); + // 获取所选课时的课包价格配置 + List<CoursePackagePaymentConfig> coursePackagePaymentConfigs = + coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList1 + (tCoursePackagePayment.getCoursePackageConfigId()); if (coursePackagePaymentConfigs.size()!=0){ CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigs.get(0); tCoursePackagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); tCoursePackagePayment.setPlayPaiCoin(coursePackagePaymentConfig.getPlayPaiCoin()); - } // 原价 Double originalPrice = tCoursePackagePayment.getOriginalPrice(); @@ -175,7 +176,9 @@ break; case 2: // 判断当前用户是否已经购买过当前课包 - List<com.dsh.course.feignClient.course.model.TCoursePackagePayment> result= coursePackagePaymentClient.getByUserIdAndCoursePackageId(tCoursePackagePayment.getAppUserId(),tCoursePackagePayment.getCoursePackageId()); + List<CoursePackageOrderStudent> result= + coursePackagePaymentClient.getByUserIdAndCoursePackageId(tCoursePackagePayment.getAppUserId(), + tCoursePackagePayment.getCoursePackageId()); // 已经购买了 if (result.size()!=0){ // 会员续课折扣 @@ -196,8 +199,6 @@ // 限时折扣判断是否在有效期 String timeFrameStart = jsonObject.getString("startDate"); String timeFrameEnd = jsonObject.getString("endDate"); - SimpleDateFormat format = new SimpleDateFormat(timeFrameStart); - SimpleDateFormat format1 = new SimpleDateFormat(timeFrameEnd); try { // 判断当日时间是否能享受到折扣 String startTime = jsonObject.getString("startTime"); @@ -230,8 +231,46 @@ } break; case 4: - // 赠送课时 - + // 赠送课时 判断当前课包有没有赠送课时 + String weeks = jsonObject.getString("weeks"); + // 判断当前周几 是否满足折扣规则 + Calendar calendar9 = Calendar.getInstance(); + int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); + if (weeks.contains(String.valueOf(dayOfWeek))){ + // 限时折扣判断是否在有效期 + String timeFrameStart1 = jsonObject.getString("startDate"); + String timeFrameEnd1 = jsonObject.getString("endDate"); + try { + // 判断当日时间是否能享受到折扣 + String startTime = jsonObject.getString("startTime"); + String endTime = jsonObject.getString("endTime"); + // 获取当前时间 + Date currentTime = new Date(); + // 定义时间格式 + SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); + // 解析开始时间和结束时间为Date对象 + Date startTime1 = sdf.parse(startTime); + Date endTime1 = sdf.parse(endTime); + Date date1 = new Date(); + date1.setHours(startTime1.getHours()); + date1.setMinutes(startTime1.getMinutes()); + date1.setSeconds(startTime1.getSeconds()); + Date date2 = new Date(); + date2.setHours(endTime1.getHours()); + date2.setMinutes(endTime1.getMinutes()); + date2.setSeconds(endTime1.getSeconds()); + // 检查当前时间是否在开始时间和结束时间之间 + if (currentTime.after(date1) && currentTime.before(date2)) { + System.out.println("当前时间在开始时间和结束时间之间。"); + String hour = jsonObject.getString("hour"); + tCoursePackagePayment.setGiftClassHours(Integer.valueOf(hour)); + } else { + System.out.println("当前时间不在开始时间和结束时间之间。"); + } + } catch (ParseException e) { + e.printStackTrace(); + } + } break; } @@ -249,8 +288,8 @@ BigDecimal bigDecimal = new BigDecimal(minValue); tCoursePackagePayment.setCashPayment(bigDecimal); } - coursePackagePaymentClient.addCoursePackagePayment(tCoursePackagePayment); - return ResultUtil.success("添加成功"); + + return coursePackagePaymentClient.addCoursePackagePayment(tCoursePackagePayment); } /** diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java index 29f5cb4..645571c 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java @@ -14,8 +14,11 @@ import com.dsh.course.feignClient.course.*; import com.dsh.course.feignClient.course.model.TCoursePackage; import com.dsh.course.feignClient.course.model.TCoursePackagePayment; +import com.dsh.course.feignClient.other.BallClient; import com.dsh.course.feignClient.other.SiteClient; import com.dsh.course.feignClient.other.StoreClient; +import com.dsh.course.feignClient.other.model.GameDataQuery; +import com.dsh.course.feignClient.other.model.TGameRecord; import com.dsh.course.model.MoneyBack; import com.dsh.guns.config.UserExt; import com.dsh.guns.core.base.controller.BaseController; @@ -88,6 +91,8 @@ private CoursePackageClient coursePackageClient; @Autowired private TOperatorService operatorService; + @Autowired + private BallClient ballClient; /** * 跳转到平台统计数据页面 */ @@ -95,15 +100,9 @@ public String index(Model model) { Object o = type1(null); model.addAttribute("data",o); - - - // 教学统计 HashMap<String, Object> map = appUserClient.queryUserAge(); model.addAttribute("stuData",map); - - - return PREFIX + "platformIncome.html"; } @@ -124,6 +123,8 @@ IncomeQuery incomeQuery = new IncomeQuery(); // 场地预约记录查询query SiteBookingQuery siteBookingQuery = new SiteBookingQuery(); + // 智慧球场查询query + GameDataQuery gameDataQuery = new GameDataQuery(); // 筛选运营商的是时候使用 List<Integer> storeIds = new ArrayList<>(); // 根据运营商ID 查询运营商下的所有门店 @@ -156,8 +157,8 @@ List<VipPayment> vipPayments = vipPaymentClient.registrationList(incomeQuery); for (VipPayment vipPayment : vipPayments) { IncomeVO temp = new IncomeVO(); - if (vipPayment.getPayStatus()==1){ - temp.setInsertTime(vipPayment.getInsertTime()); + if (vipPayment.getState()!=3){ + temp.setInsertTime(vipPayment.getPayTime()); incomeVOS.add(temp); } if (vipPayment.getAmount() != null) { @@ -168,14 +169,13 @@ List<RechargeRecordsVO> rechargeRecordsVOS = financeClient.rechargeList(rechargeRecordsQuery); for (RechargeRecordsVO rechargeRecordsVO : rechargeRecordsVOS) { IncomeVO temp = new IncomeVO(); - temp.setInsertTime(rechargeRecordsVO.getInsertTime()); + temp.setInsertTime(rechargeRecordsVO.getPayTime()); if (rechargeRecordsVO.getAmount() != null) { temp.setAmount(rechargeRecordsVO.getAmount()); } - if (rechargeRecordsVO.getPayStatus() ==1){ + if (rechargeRecordsVO.getState() !=3){ incomeVOS.add(temp); } - } // 报名课程记录 List<RegisterOrderVO> registerOrderVOS = coursePackagePaymentClient.listAllRegister(query); @@ -193,7 +193,6 @@ } } // query权限设置 获取运营商下的门店集合 - if (roleType==2){ competitionQuery.setOperatorId(UserExt.getUser().getObjectId()); } @@ -206,8 +205,9 @@ if (competition.getPayType()==3 || competition.getPayType()==4){ continue; } + if (competition.getState()==3)continue; IncomeVO temp = new IncomeVO(); - temp.setInsertTime(competition.getInsertTime()); + temp.setInsertTime(competition.getPayTime()); if (competition.getAmount() != null) { temp.setAmount(new BigDecimal(competition.getAmount().toString())); } @@ -220,9 +220,10 @@ List<SiteBooking> siteBookings = siteClient.listAll(siteBookingQuery); for (SiteBooking siteBooking : siteBookings) { IncomeVO temp = new IncomeVO(); - if(siteBooking.getStatus()!=3){ + if(siteBooking.getStatus()==0 || siteBooking.getStatus()==5){ continue; } + if (siteBooking.getPayType() ==3 || siteBooking.getPayType() ==4)continue; temp.setInsertTime(siteBooking.getPayTime()); if (siteBooking.getPayMoney() != null) { temp.setAmount(new BigDecimal(siteBooking.getPayMoney().toString())); @@ -239,6 +240,39 @@ temp.setInsertTime(pointMerchandiseIncomeVo.getInsertTime()); if (pointMerchandiseIncomeVo.getCash()!=null){ temp.setAmount(pointMerchandiseIncomeVo.getCash()); + incomeVOS.add(temp); + } + } + // 平台智慧球场 + if (storeId==null&&operatorId==null){ + gameDataQuery.setObjectId(0); + List<TGameRecord> data = ballClient.getData(gameDataQuery); + for (TGameRecord datum : data) { + IncomeVO temp = new IncomeVO(); + temp.setAmount(datum.getMoney()); + temp.setInsertTime(datum.getTime()); + incomeVOS.add(temp); + } + } + // 运营商 + if (operatorId!=null && storeId==null){ + gameDataQuery.setObjectId(operatorId); + List<TGameRecord> data = ballClient.getData(gameDataQuery); + for (TGameRecord datum : data) { + IncomeVO temp = new IncomeVO(); + temp.setAmount(datum.getMoney()); + temp.setInsertTime(datum.getTime()); + incomeVOS.add(temp); + } + } + // 门店 + if (storeId!=null){ + gameDataQuery.setStoreId(storeId); + List<TGameRecord> data = ballClient.getData(gameDataQuery); + for (TGameRecord datum : data) { + IncomeVO temp = new IncomeVO(); + temp.setAmount(datum.getMoney()); + temp.setInsertTime(datum.getTime()); incomeVOS.add(temp); } } @@ -1262,7 +1296,6 @@ // 会员费 HashMap<String, Object> map1 = appUserClient.queryFee(queryDataFee); Object fee1 = map1.get("fee1"); - map.put("fee1",fee1); //玩湃比 Object fee2 = map1.get("fee2"); @@ -1272,12 +1305,9 @@ map.put("fee3",map3.get("fee")); Object data = map3.get("data"); map.put("courseData",data); - - // 赛事收入 Double aDouble1 = competitionClient.queryFee(queryDataFee); map.put("fee4",aDouble1); - // 订场 if(ids.size()==0){ ids.add(-1); @@ -1291,15 +1321,28 @@ if(userIds.size()==0){ userIds.add(-1); } - vipPaymentLambdaQueryWrapper.in(SiteBooking::getAppUserId,userIds); vipPaymentLambdaQueryWrapper.ne(SiteBooking::getStatus,0); + vipPaymentLambdaQueryWrapper.ne(SiteBooking::getStatus,5); ArrayList<Integer> objects = new ArrayList<>(); objects.add(1); objects.add(2); vipPaymentLambdaQueryWrapper.in(SiteBooking::getPayType,objects); - List<SiteBooking> list1 = siteBookingService.list(vipPaymentLambdaQueryWrapper); + List<SiteBooking> list1 = siteBookingService.list(new QueryWrapper<SiteBooking>() + .ne("status",0) + .ne("status",5) + .ne("payType",3) + .ne("payType",4)); double sum = list1.stream().mapToDouble(SiteBooking::getPayMoney).sum(); - map.put("fee5",sum); + // 智慧球场查询query + GameDataQuery gameDataQuery = new GameDataQuery(); + gameDataQuery.setObjectId(0); + // 平台智慧球场 + List<TGameRecord> data1 = ballClient.getData(gameDataQuery); + double sum1 = data1.stream() + .map(TGameRecord::getMoney) // 获取每个 TGameRecord 对象的 money 字段 + .mapToDouble(BigDecimal::doubleValue) // 将 BigDecimal 转换为 double + .sum(); + map.put("fee5",sum+sum1); List<Integer> collect = list1.stream().map(SiteBooking::getSiteId).collect(Collectors.toList()); diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java index 9905cf4..73c887c 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java @@ -143,7 +143,7 @@ ids.add(-1); } Page<Competition> page = new PageFactory<Competition>().defaultPage(); - ListQuery listQuery = new ListQuery(page.getSize(),page.getCurrent(),provinceCode,cityCode,eventName,time,state,registerCondition,ids); + ListQuery listQuery = new ListQuery(page.getSize(),page.getCurrent(),provinceCode,cityCode,eventName,time,state,registerCondition,ids,0); Page<Competition> competitions = competitionClient.listAudit(listQuery); for (Competition competition : competitions.getRecords()) { for (TStore tStore : list) { diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java index 7b37e15..8e9c16b 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java @@ -163,10 +163,17 @@ model.addAttribute("province",list4); } model.addAttribute("operator",objectId); + // 查询当前运营商管理了哪些门店 + List<TStore> stores = storeService + .list(new QueryWrapper<TStore>() + .eq("operatorId", UserExt.getUser().getObjectId())); + model.addAttribute("stores",stores); } if (UserExt.getUser().getObjectType()==1) model.addAttribute("operator",0); TStore byId = storeService.getById(UserExt.getUser().getObjectId()); if (UserExt.getUser().getObjectType()==3) model.addAttribute("operator",byId.getOperatorId()); + List<TOperator> list2 = tOperatorService.list(); + model.addAttribute("yysList",list2); return PREFIX + "TCompetition_add.html"; } @@ -275,7 +282,7 @@ ids = operatorId; } Page<Competition> page = new PageFactory<Competition>().defaultPage(); - ListQuery listQuery = new ListQuery(page.getSize(),page.getCurrent(),provinceCode,cityCode,eventName,time,state,registerCondition,ids); + ListQuery listQuery = new ListQuery(page.getSize(),page.getCurrent(),provinceCode,cityCode,eventName,time,state,registerCondition,ids,UserExt.getUser().getObjectType()); Page<Competition> competitions = competitionClient.list(listQuery); List<Competition> records = new ArrayList<>(); // for (Competition competition : competitions.getRecords()) { diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java index 4558895..381e544 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java @@ -161,11 +161,20 @@ @RequestMapping("/getProvinceYys") @ResponseBody public Object getProvinceYys(Integer operatorId) { - // 获取运营商管理的所有省 - List<TOperatorCity> list = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("operatorId", operatorId) - .eq("pid", 0)); + // 判断当前运营商是管理全国还是指定区域 + TOperator byId = tOperatorService.getById(operatorId); + // 说明是管理全国 + if (byId.getType()==1){ + List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); + return list; + }else{ + // 获取运营商管理的所有省 + List<TOperatorCity> list = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("operatorId", operatorId) + .eq("pid", 0)); + return list; + } - return list; + } // 运营商根据省筛选市区 @RequestMapping("/getCityYys") @@ -437,8 +446,6 @@ @ResponseBody public Object list(TStore tStore,String time,String userName,String userPhone,String ids,Integer type,Integer yyId,String lat,String lon,String pCode1,String cCode1) { try { - - if(yyId==null || type==1){ yyId=0; } @@ -522,7 +529,7 @@ if (UserExt.getUser().getObjectType()==2){ tStore.setOperatorId(UserExt.getUser().getObjectId()); } - storeService.save(tStore); + user.setObjectId(tStore.getId()); userService.updateById(user); ArrayList<StoreConfig> storeConfigs = new ArrayList<>(); @@ -535,19 +542,6 @@ storeConfigs.add(storeConfig); } storeConfigService.saveBatch(storeConfigs); - // 添加场地 - TSite tSite = new TSite(); - tSite.setName(tStore.getName()); - tSite.setStoreId(tStore.getId()); - tSite.setSign(1); - siteService.save(tSite); - - HashMap<String, String> mapSite = new HashMap<>(); - mapSite.put("sign","0DB011836143EEE2C2E072967C9F4E4B"); - mapSite.put("name",tStore.getName()); - mapSite.put("space_id",tStore.getId().toString()); - mapSite.put("area_id",tSite.getId().toString()); - HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addSpaceArea", mapSite); // 添加门店 HashMap<String, String> map1 = new HashMap<>(); map1.put("sign","0DB011836143EEE2C2E072967C9F4E4B"); @@ -562,24 +556,31 @@ map1.put("remark",tStore.getIntroduce()); map1.put("lat",tStore.getLat()); map1.put("lng",tStore.getLon()); - map1.put("space_id",tStore.getId().toString()); String result = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addSpace", map1); System.out.println(result); - - - - for (String s : tStore.getIds().split(",")) { - HashMap<String, String> map = new HashMap<>(); - map.put("sign","0DB011836143EEE2C2E072967C9F4E4B"); - map.put("space_id",tStore.getId()+""); - map.put("device_id",s); - map.put("region_id",tSite.getId().toString()); - // 添加门禁 - String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map); - System.out.println(s1); - } - - + JSONObject jsonObject = JSONObject.parseObject(result); + JSONObject data = jsonObject.getJSONObject("data"); + String space_id = data.getString("space_id"); + Integer integer = Integer.valueOf(space_id); + tStore.setId(integer); + storeService.save(tStore); + System.err.println(tStore); +// HashMap<String, String> mapSite = new HashMap<>(); +// mapSite.put("sign","0DB011836143EEE2C2E072967C9F4E4B"); +// mapSite.put("name",tStore.getName()); +// mapSite.put("space_id",tStore.getId().toString()); +// mapSite.put("area_id",tSite.getId().toString()); +// HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addSpaceArea", mapSite); +// for (String s : tStore.getIds().split(",")) { +// HashMap<String, String> map = new HashMap<>(); +// map.put("sign","0DB011836143EEE2C2E072967C9F4E4B"); +// map.put("space_id",tStore.getId()+""); +// map.put("device_id",s); +// map.put("region_id",tSite.getId().toString()); +// // 添加门禁 +// String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map); +// System.out.println(s1); +// } return new SuccessTip<>(); }catch (Exception e){ e.printStackTrace(); diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java index 31a6afe..90d491e 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java @@ -472,19 +472,22 @@ site.setInsertTime(new Date()); site.setState(1); site.setOperatorId(UserExt.getUser().getObjectId()); - Integer integer1 = siteClient.addSite(site); + // 添加场地 HashMap<String, String> map = new HashMap<>(); map.put("sign","0DB011836143EEE2C2E072967C9F4E4B"); map.put("name",site.getName()); map.put("space_id",store.getId().toString()); - map.put("area_id",integer1.toString()); String s = HttpRequestUtil.postRequest ("https://try.daowepark.com/v7/user_api/general/addSpaceArea", map); // 添加门禁 JSONObject jsonObject = JSONObject.parseObject(s); JSONObject data = jsonObject.getJSONObject("data"); + String area_id = data.getString("area_id"); + Integer integer = Integer.valueOf(area_id); + site.setId(integer); + Integer integer1 = siteClient.addSite(site); // Integer integer = Integer.valueOf(spaceId); if(StringUtils.hasLength( site.getIds())) { for (String s1 : site.getIds().split(",")) { diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java index 2b8a8d2..8890d96 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java @@ -80,26 +80,26 @@ public String updatePassword(Model model) { return "/password.html" ; } - @Autowired - private RedisUtil redisUtil; - /** - * 点击登录执行的动作 - */ - @RequestMapping(value = "/updatePassword", method = RequestMethod.POST) - public Object loginVali(String username, String password,String code) { - - User user = userService.getByAccount(username); - if (user==null)return "用户不存在"; - password = AESUtils.decrypt(password); - String s = MD5.md5(password); - if(user.getPassword().equals(s))return "新密码和旧密码一致"; - //验证短信验证码 - if(ToolUtil.isEmpty(code))return "无效的验证码"; - String value = redisUtil.getValue(user.getPhone()); - if(ToolUtil.isEmpty(value) || !code.equals(value))return "手机验证码不正确"; - user.setPassword(s); - return "修改成功!"; - } +// @Autowired +// private RedisUtil redisUtil; +// /** +// * 点击登录执行的动作 +// */ +// @RequestMapping(value = "/updatePassword", method = RequestMethod.POST) +// public Object loginVali(String username, String password,String code) { +// +// User user = userService.getByAccount(username); +// if (user==null)return "用户不存在"; +// password = AESUtils.decrypt(password); +// String s = MD5.md5(password); +// if(user.getPassword().equals(s))return "新密码和旧密码一致"; +// //验证短信验证码 +// if(ToolUtil.isEmpty(code))return "无效的验证码"; +// String value = redisUtil.getValue(user.getPhone()); +// if(ToolUtil.isEmpty(value) || !code.equals(value))return "手机验证码不正确"; +// user.setPassword(s); +// return "修改成功!"; +// } /** * 跳转到主页 */ @@ -227,14 +227,7 @@ f++; loginFailures.put(username, f); } - if (KaptchaUtil.getKaptchaOnOff()) { - String kaptcha = super.getPara("kaptcha").trim(); - String code = (String) super.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY); - if (Objects.isNull(kaptcha) || !kaptcha.equalsIgnoreCase(code)) { - model.addAttribute("tips", "验证码错误"); - return "/login.html"; - } - } + // if (f > 5 && (System.currentTimeMillis() - t) <= (30 * 60 * 1000)) { // model.addAttribute("tips", "登录次数过多,请等30分钟再试!"); // return "/login.html"; diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java index 3e8d1a9..6b15485 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java @@ -698,15 +698,15 @@ List<SelectDto> selectDtos = appUserClient.giftSelect(giftSearchDto); // 只查询当前用户下 同时也报名了该课程的学员 - for (SelectDto selectDto : selectDtos) { - // 获取课包id - TCoursePackagePayment tCoursePackagePayment = coursePackagePaymentClient.queryCoursePackagePaymentById(giftSearchDto.getId()); - - Integer coursePackageId = tCoursePackagePayment.getCoursePackageId(); - // 学员id 拿到学员id 判断当前学员是否报名了这门课程 - Long id = selectDto.getId(); - // - } +// for (SelectDto selectDto : selectDtos) { +// // 获取课包id +// TCoursePackagePayment tCoursePackagePayment = coursePackagePaymentClient.queryCoursePackagePaymentById(giftSearchDto.getId()); +// +// Integer coursePackageId = tCoursePackagePayment.getCoursePackageId(); +// // 学员id 拿到学员id 判断当前学员是否报名了这门课程 +// Long id = selectDto.getId(); +// // +// } Map<String,List<SelectDto>> map = new HashMap<>(); map.put("options",selectDtos); // Map<String,List<SelectDto>> map = new HashMap<>(); diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePayDTO.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePayDTO.java index f096587..28b00b3 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePayDTO.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePayDTO.java @@ -9,7 +9,7 @@ */ @Data public class CoursePackagePayDTO { - private List<String> ids; + private String ids; private String payUserName; // 操作人id private Integer userId; diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePaymentVO.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePaymentVO.java index be14510..a24303a 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePaymentVO.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePaymentVO.java @@ -45,7 +45,7 @@ private String payUser; private String phone; // 学员id - private Integer studentId; + private String studentId; private String payStudent; private Integer payType; diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java index b4f7fe9..f6bfdc0 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java @@ -164,7 +164,8 @@ */ @TableField("salesName") private String salesName; - + @TableField("giftClassHours") + private Integer giftClassHours; private String studentName; private String province; @@ -173,4 +174,6 @@ private Integer hasHours; private BigDecimal laveCashPayment; private BigDecimal cashPayment1; + // 所选课时规格id + private Integer coursePackageConfigId; } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStore.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStore.java index 8adf9ff..6b71bf1 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStore.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStore.java @@ -12,7 +12,7 @@ @TableName("t_store") @Data public class TStore { - @TableId(type = IdType.AUTO) + @TableId(type = IdType.INPUT) private Integer id; @TableField("name") private String name; diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java index 5d58749..f8034c5 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dsh.course.entity.CoursePackageOrderStudent; import com.dsh.course.feignClient.course.*; import com.dsh.course.feignClient.course.model.*; import com.dsh.guns.config.UserExt; @@ -548,48 +549,53 @@ @Override public ResultUtil cancellationRecord(Long id, String cancelClasses, Integer deductClassHour) { // CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingClient.queryCoursePackageSchedulingById(id); - List<Long> integers = new ArrayList<>(); + List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingClient.queryCoursePackageSchedulingsById(id); + List<Long> integers = new ArrayList<>(); + for (CoursePackageScheduling coursePackageScheduling : coursePackageSchedulings) { + integers.add(coursePackageScheduling.getId()); + coursePackageScheduling.setCancelClasses(cancelClasses); + coursePackageScheduling.setDeductClassHour(deductClassHour); + } + + // for (CoursePackageScheduling coursePackageScheduling : coursePackageSchedulings) { + // if(coursePackageScheduling.getStatus() == 1 || coursePackageScheduling.getStatus() == 4){ // return ResultUtil.error("不能添加消课凭证"); // } // coursePackageScheduling.setCancelClasses(cancelClasses); // coursePackageScheduling.setDeductClassHour(deductClassHour); + coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageSchedulings); + List<CoursePackageStudent> coursePackageStudents = coursePackageStudentClient.queryByCoursePackageSchedulingId(integers); for (CoursePackageStudent coursePackageStudent : coursePackageStudents) { - for (CoursePackageScheduling coursePackageScheduling : coursePackageSchedulings) { - if (coursePackageStudent.getSignInOrNot()==2){ - break; - } - integers.add(coursePackageScheduling.getId()); - coursePackageScheduling.setCancelClasses(cancelClasses); - coursePackageScheduling.setDeductClassHour(deductClassHour); - } - - if(coursePackageStudent.getReservationStatus() == 0){ + if(coursePackageStudent.getSignInOrNot() == 2){ continue; } - TCoursePackagePayment tCoursePackagePayment = coursePackagePaymentClient.queryCoursePackagePaymentById(coursePackageStudent.getCoursePackagePaymentId()); +// TCoursePackagePayment tCoursePackagePayment = coursePackagePaymentClient.queryCoursePackagePaymentById(coursePackageStudent.getCoursePackagePaymentId()); + + CoursePackageOrderStudent coursePackageOrderStudent = coursePackagePaymentClient.queryCoursePackagePaymentById1(coursePackageStudent.getCoursePackagePaymentId()); if (deductClassHour!=null) { - if (tCoursePackagePayment.getLaveClassHours() - deductClassHour < 0) { + if (coursePackageOrderStudent.getLaveClassHours() - deductClassHour < 0) { coursePackageStudentClient.editCoursePackageStudent(coursePackageStudent); continue; } - tCoursePackagePayment.setLaveClassHours(tCoursePackagePayment.getLaveClassHours() - deductClassHour); + coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - deductClassHour); } if(coursePackageStudent.getReservationStatus() == 0){ - tCoursePackagePayment.setAbsencesNumber(tCoursePackagePayment.getAbsencesNumber() + 1); + coursePackageOrderStudent.setAbsencesNumber(coursePackageOrderStudent.getAbsencesNumber() + 1); } - System.out.println("====tCoursePackagePayment====="+tCoursePackagePayment); - coursePackagePaymentClient.editCoursePackagePayment1(tCoursePackagePayment); + System.out.println("====tCoursePackagePayment====="+coursePackageOrderStudent); + coursePackagePaymentClient.editCoursePackagePayment2(coursePackageOrderStudent); + CancelledClasses cancelledClasses = new CancelledClasses(); cancelledClasses.setType(1); cancelledClasses.setCoursePackageId(coursePackageStudent.getCoursePackageId()); - cancelledClasses.setCoursePackagePaymentId(coursePackageStudent.getCoursePackagePaymentId()); + cancelledClasses.setCoursePackagePaymentId(coursePackageOrderStudent.getId()); cancelledClasses.setCoursePackageSchedulingId(coursePackageStudent.getCoursePackageSchedulingId()); cancelledClasses.setVoucher(cancelClasses); if (deductClassHour!=null) { @@ -603,7 +609,6 @@ } - coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageSchedulings); // } return ResultUtil.success(); diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_edit.html index 999a7be..3f374b1 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_edit.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_edit.html @@ -172,6 +172,9 @@ $("#t1").val("") $("#t2").val("") $("#t3").val("") + $("#page").val("") + $("#type").val("") + $("#pageId").val("") }else { $("#t1").show() $("#t2").show() @@ -197,11 +200,15 @@ function updateOne(e) { - console.log("看看选择页面") console.log($('#page option:selected').text()) - if ($('#page option:selected').text()=="门店列表"){ + var page= $('#page option:selected').text(); + if (page=="门店列表" || page=="主页" || page=="充值中心"){ $("#t3").hide(); $("#t2").hide(); + $("#t2").val("") + $("#t3").val("") + $("#type").val("") + $("#pageId").val("") } var oneId=$(e).val(); var ajax = new $ax(Feng.ctxPath + "/tShop/typeChangeOne", function(data){ @@ -216,12 +223,15 @@ console.log("=-======0000") $("#t2").val("") $("#t2").hide() + $("#type").val("") } }); if (oneId==2 || oneId==25|| oneId==27){ $("#t3").val("") $("#t3").hide() + + $("#pageId").val("") } ajax.set("id",oneId); ajax.start(); @@ -246,6 +256,7 @@ if (oneId!="详情"&&oneId!="指定商品"&&oneId!="指定折扣"){ $("#t3").hide() $("#t3").val("") + $("#pageId").val("") }else{ $("#t3").show() @@ -258,17 +269,32 @@ } } window.onload = function() { + if ($('#model option:selected').text()=="不跳转"){ + $("#t1").hide(); + $("#t2").hide(); + $("#t3").hide(); + $("#page").val("") + $("#type").val("") + $("#pageId").val("") + } + var temp = $("#turnId").val(); var res= document.getElementById("imgPX"); res.innerHTML ="推荐像素:780x472px"; if (temp==""){ $("#t3").hide(); + $("#t3").val("") + $("#pageId").val("") } // 查看跳转页面 有没有跳转类型 var page = $('#page option:selected').text(); if (page=="门店列表" || page=="主页" || page=="充值中心" ){ $("#t2").hide(); $("#t3").hide(); + $("#t2").val("") + $("#t3").val("") + $("#type").val("") + $("#pageId").val("") } } </script> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html index ccde8d9..a6007b2 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html @@ -61,13 +61,11 @@ <div id="div2" class='table1' onclick="getContent(2)" style="border-right: 1px solid #333;">运营统计</div> <div id="div3" class='table1' onclick="getContent(3)" style="border-right: 1px solid #333;">教学统计</div> </div> - - <div class="row" id="content1" style="margin-left: 100px;"> <div class="col-sm-11"> <div class="form-group"> <div class="col-sm-10"> - <h2>营收数据1</h2> + <h2>营收数据</h2> </br> <div id = "money1" style="width: 1500px" > <span id="totalIncome">总营收:</span> @@ -258,6 +256,14 @@ <script src="${ctxPath}/modular/system/dataStatistics/echarts.min.js"></script> <script src="${ctxPath}/static/js/plugins/switchery/switchery.js"></script> <script> + function search1() { + var time = $("#beginTime").val(); + var ajax9 = new $ax(Feng.ctxPath + "/data/type1", function(data){ + + }); + ajax9.set("time",time); + ajax9.start(); + } var ans = []; var weekX = ["1周","2周","3周","4周"]; var monthX = ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]; @@ -401,8 +407,6 @@ var myChart1 = echarts.init(document.getElementById('refund')); var myChart7 = echarts.init(document.getElementById('courseData')); - - var ajax3 = new $ax(Feng.ctxPath + "/data/backPt", function(data){ $("#back1").text(data.thisYear); $("#back2").text(data.thisMonth); @@ -546,63 +550,6 @@ ajax4.start(); - - - - - option7 = { - tooltip: { - trigger: 'axis' - }, - legend: { - data: ['年度耗课数量', '月度耗课数量', '周度耗课数量', '日度耗课数量'] - }, - grid: { - left: '3%', - right: '4%', - bottom: '3%', - containLabel: true - }, - toolbox: { - feature: { - saveAsImage: {} - } - }, - xAxis: { - type: 'category', - boundaryGap: false, - data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] - }, - yAxis: { - type: 'value' - }, - series: [ - { - name: '年度耗课数量', - type: 'line', - stack: 'Total', - data: [120, 132, 101, 134, 90, 230, 160, 190, 410, 330, 210, 330] - }, - { - name: '月度耗课数量', - type: 'line', - stack: 'Total', - data: [220, 182, 191, 234, 290, 330, 310, 190, 210, 330, 410, 160] - }, - { - name: '周度耗课数量', - type: 'line', - stack: 'Total', - data: [150, 232, 201, 154, 190, 330, 410, 160, 210, 195, 210, 188] - }, - { - name: '日度耗课数量', - type: 'line', - stack: 'Total', - data: [320, 332, 301, 334, 390, 330, 320, 10, 195, 145, 188, 160] - } - ] - }; myChart.on('legendselectchanged', obj => { var options = myChart.getOption() //这里是选择切换什么样的x轴,那么他会进行对Y值的切换 @@ -960,13 +907,9 @@ } myChart6.setOption(options, true) }); - - var ajax2 = new $ax(Feng.ctxPath + "/data/stuPt", function(data){ console.log(data) - $("#allUser").text(data.allUser) - option6 = { tooltip: { trigger: 'axis' @@ -1032,39 +975,10 @@ }); ajax2.start() myChart6.setOption(option6); - } - - function ptCourse() { - console.log("调用") - var myChart7 = echarts.init(document.getElementById('courseData')); - myChart7.on('legendselectchanged', obj => { - var options = myChart7.getOption() - //这里是选择切换什么样的x轴,那么他会进行对Y值的切换 - console.log("看看选择") - console.log(obj.name) - if (obj.name == '年度耗课数量') { - console.log("看看年度轴") - options.xAxis[0].data = yearX - console.log(yearX) - } else if (obj.name == '月度耗课数量') { - console.log("看看月度轴") - options.xAxis[0].data = monthX - console.log(monthX) - }else if (obj.name == '周度耗课数量') { - options.xAxis[0].data = ["1周","2周","3周","4周"] - }else if (obj.name == '日度耗课数量') { - console.log("看看日度轴") - options.xAxis[0].data = dataX - console.log(dataX) - } - myChart7.setOption(options, true) - }); var ajax2 = new $ax(Feng.ctxPath + "/data/coursePt", function(data){ console.log(data) - $("#allHour").text(data.allHour) - option7 = { tooltip: { trigger: 'axis' @@ -1117,7 +1031,7 @@ name: '周度耗课数', type: 'line', stack: 'Total', - data: [data.count,data.count1,data.count2,data.count3] + data: data.weekData }, { name: '日度耗课数', @@ -1128,6 +1042,128 @@ ] }; }); + console.log("调用") + var myChart7 = echarts.init(document.getElementById('courseData')); + myChart7.on('legendselectchanged', obj => { + var options = myChart7.getOption() + //这里是选择切换什么样的x轴,那么他会进行对Y值的切换 + console.log("看看选择") + console.log(obj.name) + if (obj.name == '年度耗课数') { + console.log("看看年度轴") + options.xAxis[0].data = yearX + console.log(yearX) + } else if (obj.name == '月度耗课数') { + console.log("看看月度轴") + options.xAxis[0].data = monthX + console.log(monthX) + }else if (obj.name == '周度耗课数') { + options.xAxis[0].data = ["1周","2周","3周","4周"] + }else if (obj.name == '日度耗课数') { + console.log("看看日度轴") + options.xAxis[0].data = dataX + console.log(dataX) + } + myChart7.setOption(options, true) + }); + ajax2.start() + myChart7.setOption(option7); + } + + function ptCourse() { + var ajax2 = new $ax(Feng.ctxPath + "/data/coursePt", function(data){ + + $("#allHour").text(data.allHour) + console.log("周度") + console.log(data.weekData) + option7 = { + tooltip: { + trigger: 'axis' + }, + legend: { + data: ['年度耗课数', '月度耗课数', '周度耗课数', '日度耗课数'], + icon: 'stack', + selectedMode: 'single', // 单选 + selected: { + 年度耗课数: true, + 月度耗课数: false, + 周度耗课数: false, + 日度耗课数: false + }, + }, + grid: { + left: '3%', + right: '4%', + bottom: '3%', + containLabel: true + }, + toolbox: { + feature: { + saveAsImage: {} + } + }, + xAxis: { + type: 'category', + boundaryGap: false, + data: yearX + }, + yAxis: { + type: 'value' + }, + series: [ + { + name: '年度耗课数', + type: 'line', + stack: 'Total', + data: data.yearData + }, + { + name: '月度耗课数', + type: 'line', + stack: 'Total', + data: data.monthData + }, + { + name: '周度耗课数', + type: 'line', + stack: 'Total', + data: data.weekData + }, + { + name: '日度耗课数', + type: 'line', + stack: 'Total', + data: data.dayData + } + ] + }; + }); + console.log("调用") + var myChart7 = echarts.init(document.getElementById('courseData')); + myChart7.on('legendselectchanged', obj => { + var options = myChart7.getOption() + //这里是选择切换什么样的x轴,那么他会进行对Y值的切换 + console.log("看看选择") + console.log(obj.name) + if (obj.name == '年度耗课数') { + console.log("看看年度轴") + options.xAxis[0].data = yearX + console.log(yearX) + } else if (obj.name == '月度耗课数') { + console.log("看看月度轴") + options.xAxis[0].data = monthX + console.log(monthX) + }else if (obj.name == '周度耗课数') { + options.xAxis[0].data = ["1周","2周","3周","4周"] + }else if (obj.name == '日度耗课数') { + console.log("看看日度轴") + options.xAxis[0].data = dataX + console.log(dataX) + } + myChart7.setOption(options, true) + }); + + ajax2.start() myChart7.setOption(option7); } diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_add.html index 3c6a243..4d1b2c2 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_add.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_add.html @@ -43,13 +43,14 @@ <div class="ibox-content"> <div class="form-horizontal" id="carInfoForm"> <input hidden id="role" value="${role}"> + @if(objectType==1){ <div class="form-group" id="provinceCode"> <label class="col-sm-3 control-label">*所在省:</label> <div class="col-sm-9"> <select style="width: 300px" class="form-control" id="pCode" name="pCode" onchange="TSite.oneChange()"> <option value="">请选择省</option> @for(obj in list){ - <option style="width: 300px" value="${obj.provinceCode}">${obj.province}</option> + <option style="width: 300px" value="${obj.code}">${obj.name}</option> @} </select> </div> @@ -62,7 +63,6 @@ </select> </div> </div> - @if(objectType==1){ <div class="form-group" > <label class="col-sm-3 control-label">*所属账号:</label> <div class="col-sm-9"> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_edit.html index 0723fce..391e25d 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_edit.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_edit.html @@ -29,7 +29,7 @@ <div class="col-sm-9"> <select style="width: 300px" class="form-control" id="pCode" name="pCode" onchange="TSite.oneChange()"> @for(obj in list){ - <option value="${obj.provinceCode}" ${obj.province == data.province ? 'selected=selected' : ''}>${obj.province}</option> + <option value="${obj.code}" ${obj.code == data.provinceCode ? 'selected=selected' : ''}>${obj.name}</option> @} </select> </div> @@ -41,7 +41,7 @@ <div class="col-sm-9"> <select style="width: 300px" class="form-control" id="cCode" name="cCode" onchange="TSite.oneChangeNext(this)"> @for(obj in city){ - <option value="${obj.cityCode}" ${obj.city == data.city ? 'selected=selected' : ''}>${obj.city}</option> + <option value="${obj.code}" ${obj.code == data.cityCode ? 'selected=selected' : ''}>${obj.name}</option> @} </select> </div> @@ -71,14 +71,12 @@ </select> </div> </div> - <div class="form-group" > <label class="col-sm-3 control-label">*姓名:</label> <div class="col-sm-9" style="display: flex;"> <input style="width: 300px" class="form-control" id="name" value="${data.name}" placeholder="请输入姓名" type="text"> </div> </div> - <div class="form-group" > <label class="col-sm-3 control-label">*生日:</label> <div class="col-sm-9" style="display: flex"> @@ -184,8 +182,11 @@ <script src="${ctxPath}/js/elementui/index.js"></script> <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> <script> - let id = "${pictures}" - let obj = [] + $(function() { + var id = "${pictures}" + }) + var id = "${pictures}" + var obj = [] var vue2 = new Vue({ el: '#app1', props: { @@ -219,9 +220,10 @@ }); }, changeImg(){ - console.log("看看id") - console.log(id) var i = id.split(",") + console.log("看看后端返回的图片") + console.log(i.length) + console.log(i) for (let j = 0; j <i.length; j++) { let obj={ fileName:i[j], @@ -230,13 +232,22 @@ response:i[j], } this.imageUrl2.push(obj) + console.log("看看res") + console.log(obj.response); + TSite.goodsPicArray.push(obj.response) } - console.log(this.imageUrl2) }, }, created() { this.changeImg() TSite.goodsPicArray = this.imageUrl2 + console.log("看看执行") + var temp = [] + for (let i = 0; i < TSite.goodsPicArray.length; i++) { + temp.push(TSite.goodsPicArray[i].response) + } + TSite.goodsPicArray = temp; + console.log("赋值") console.log(TSite.goodsPicArray) }, }); diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition.html index 9c15f74..eba49ba 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition.html @@ -6,7 +6,7 @@ <div class="ibox-title"> <h5>赛事管理</h5> </div> - + <input hidden id="type" value="${type}"> <div class="ibox-content"> <div class="row row-lg"> <div class="col-sm-12"> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html index b7445e2..35dadf3 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html @@ -49,23 +49,29 @@ <div class="form-horizontal" id="carInfoForm"> @if(type==1){ - <div class="form-group" > - <label class="col-sm-3 control-label" id="yys1">所属运营商:</label> + <div class="form-group"> + <label class="col-sm-3 control-label">*门店类型:</label> <div class="col-sm-9"> - <select class="form-control" id="account" name="account" onchange="TCarInfoDlg.oneChange3(this)"> + <input type="radio" name="type" value="1" onclick="updateType(1)" checked > 平台门店 + <input type="radio" name="type" value="2" onclick="updateType(2)" id="radio1" > 运营商门店 + </div> + </div> + <div id="yys" hidden> + <div class="form-group"> + <label class="col-sm-3 control-label">*所属运营商:</label> + <div class="col-sm-9"> + <select class="form-control" id="account" name="account" onchange="TCarInfoDlg.oneChange3(this)" > <option value="">选择运营商</option> @for(i in yysList){ - <option value="${i.id}">${i.name}</option> + <option value="${i.id}" >${i.name}</option> @} </select> - <input type="checkbox" value="0" name="pt" id="pt" onchange="TCarInfoDlg.oneChangeYys(this)">平台</input> </div> </div> <div class="form-group" id="provinceCode"> <label class="col-sm-3 control-label">所在省:</label> <div class="col-sm-9"> <select class="form-control" id="pCode" name="pCode" onchange="TCarInfoDlg.oneChange9(this)"> - </select> </div> </div> @@ -77,28 +83,30 @@ </select> </div> </div> - @} - @if(type==2){ - <div class="form-group" id="provinceCode"> - <label class="col-sm-3 control-label">所在省:</label> - <div class="col-sm-9"> - <select class="form-control" id="pCode" name="pCode" onchange="TCarInfoDlg.oneChange9(this)"> - <option value="">选择省</option> - @for(i in province){ - <option value="${i.code}">${i.name}</option> - @} - </select> - </div> </div> - <div class="form-group" id="cityCode"> - <label class="col-sm-3 control-label">举办市:</label> - <div class="col-sm-9"> - <select class="form-control" id="cCode" name="cCode" onchange="TCarInfoDlg.oneChangeNext9(this)"> - <option value="">选择市</option> - </select> + <div id="yys1"> + <div class="form-group" > + <label class="col-sm-3 control-label">所在省:</label> + <div class="col-sm-9"> + <select class="form-control" id="pCode1" name="pCode" onchange="TCarInfoDlg.oneChange9(this)"> + <option value="">选择省</option> + @for(i in list){ + <option value="${i.code}" >${i.name}</option> + @} + </select> + </div> + </div> + <div class="form-group" > + <label class="col-sm-3 control-label">举办市:</label> + <div class="col-sm-9"> + <select class="form-control" id="cCode1" name="cCode" onchange="TCarInfoDlg.oneChangeNext(this)"> + <option value="">选择市</option> + </select> + </div> </div> </div> + @} @if(type==1){ <div class="form-group" id="shop"> @@ -115,7 +123,10 @@ <label class="col-sm-3 control-label">举办门店:</label> <div class="col-sm-9"> <select class="form-control" id="shopId" name="shopId" multiple> - + <option value="">选择门店</option> + @for(i in stores){ + <option value="${i.id}" >${i.name}</option> + @} </select> </div> </div> @@ -143,9 +154,9 @@ <div class="form-group"> <label class="col-sm-3 control-label">支付方式:</label> <div class="col-sm-9"> - <input type="checkbox" onclick="updateType(1,this)"> 现金支付 - <input type="checkbox" onclick="updateType(2,this)"> 玩湃币支付 - <input type="checkbox" onclick="updateType(3,this)"> 课时支付 + <input type="checkbox" onclick="updateType1(1,this)"> 现金支付 + <input type="checkbox" onclick="updateType1(2,this)"> 玩湃币支付 + <input type="checkbox" onclick="updateType1(3,this)"> 课时支付 </div> </div> @@ -364,6 +375,36 @@ }else { $("#payType1").hide(); } + $("#yys").hide(); + $("#yys1").show(); + $("#pCode1").val(""); + $("#cCode1").val(""); + $("#pCode").val(""); + $("#cCode").val(""); + + } + if(e==2){ + if($(o).is(":checked")){ + $("#payType2").show(); + }else { + $("#payType2").hide(); + } + $("#yys").show(); + $("#yys1").hide(); + $("#pCode1").val(""); + $("#cCode1").val(""); + $("#pCode").val(""); + $("#cCode").val(""); + + } + } + function updateType1(e,o) { + if(e==1){ + if($(o).is(":checked")){ + $("#payType1").show(); + }else { + $("#payType1").hide(); + } } if(e==2){ if($(o).is(":checked")){ diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit.html index 4e76b09..5ba1c62 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit.html @@ -212,22 +212,8 @@ methods: { handleAvatarSuccess(res, file) { file.url =file.response - TCarInfoDlg.goodsPicArray.push(file); + TCarInfoDlg.goodsPicArray.push(res); console.log(TCarInfoDlg.goodsPicArray) - }, - changeImg(){ - var i = id.split(",") - for (let j = 0; j <i.length; j++) { - let obj={ - fileName:i[j], - uuid:i[j], - url:i[j], - response:i[j], - } - this.imageUrl2.push(obj) - - } - console.log( this.imageUrl2,111) }, beforeAvatarUpload(file) { const isLt2M = file.size / 1024 / 1024 < 10; @@ -240,7 +226,19 @@ TCarInfoDlg.goodsPicArray = TCarInfoDlg.goodsPicArray.filter(item => { return item.uid != file.uid; }); - + }, + changeImg(){ + var i = id.split(",") + for (let j = 0; j <i.length; j++) { + let obj={ + fileName:i[j], + uuid:i[j], + url:i[j], + response:i[j], + } + this.imageUrl2.push(obj) + } + console.log( this.imageUrl2,111) }, }, created() { diff --git a/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment.js b/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment.js index aadbb71..c9f6f43 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment.js @@ -14,7 +14,7 @@ */ TQuestion.initColumn = function () { return [ - {field: 'selectItem', checkbox: true}, + {field: 'selectItem', radio: true}, {title: '序号', field: 'id', visible: true, align: 'center', valign: 'middle'}, {title: '所在省市', field: 'provinceAndCity', visible: role==1?true:false, align: 'center', valign: 'middle'}, {title: '门店名称', field: 'storeName', visible: true, align: 'center', valign: 'middle'}, @@ -538,23 +538,16 @@ TQuestion.unfreeze = function () { if (this.check()) { var selected = $('#' + this.id).bootstrapTable('getSelections'); - console.log("看看选择") console.log(selected) const data1 = { - ids:[], + ids:TQuestion.seItem.id, payUserName:"" }; - selected.forEach(function(obj) { - if (obj.payStatus == 2){ - Feng.error("订单已支付!不能再手动支付了") - return; - } - var id = ""; - id = obj.id; - console.log(obj.id); - data1.ids.push(id); - }); + if (TQuestion.seItem.payStatus == 2){ + Feng.error("订单已支付!不能再手动支付了") + return; + } console.log(data1) $.ajax({ url: Feng.ctxPath + "/cpPayment/pay", diff --git a/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment_info.js b/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment_info.js index 53fc429..155328e 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment_info.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment_info.js @@ -260,8 +260,12 @@ giftClassHours:null, useTime:"", payUserName:"", + coursePackageConfigId:null }; data.appUserId = appUserId; + console.log("我看看规格id") + console.log($("#courseTime").val()) + data.coursePackageConfigId = $("#courseTime").val(); data.studentId = $("#student").val() data.coursePackageId = $("#coursePackageName").val() data.cashPayment = $("#cashPayment").val() @@ -312,6 +316,7 @@ var courseTimeId= $("#courseTime").val() console.log("看看课时") console.log(courseTimeId) + data.coursePackageConfigId = courseTimeId; if(typeof courseTimeId === 'undefined'){ console.log("进入") courseTimeId=0; diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_add.js b/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_add.js index a5ab2ea..e64677f 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_add.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_add.js @@ -169,13 +169,13 @@ // 场地管理首页 选择对应的省市 // 传1是场地管理首页 传2是场地管理添加页面 TSite.oneChange = function () { - var province = $('#pCode option:selected').text(); + var province = $('#pCode').val(); var citySelect = document.getElementById("cCode"); - var ajax = new $ax(Feng.ctxPath + "/tSite/getCity", function(data){ + var ajax = new $ax(Feng.ctxPath + "/tCompetition/onChange", function(data){ if(data!=null){ var content='<option value="">选择市</option>'; $.each(data, function(k,v) { - content += "<option value='"+v.cityCode+"'>"+v.city+"</option>"; + content += "<option value='"+v.code+"'>"+v.name+"</option>"; }); $("#cCode").empty().append(content); } @@ -185,14 +185,13 @@ $("#cCode").innerHTML = '<option value="">请先选择省/市</option>'; } - ajax.set("province",province); + ajax.set("oneId",province); ajax.start(); }; TSite.oneChangeNext = function (e) { var oneId=$(e).val(); - var city = $('#cCode option:selected').text(); - var ajax = new $ax(Feng.ctxPath + "/tSite/accountChangeNext", function(data){ + var ajax = new $ax(Feng.ctxPath + "/tCoach/getYys", function(data){ if(data!=null){ var content='<option value="">选择账号</option>'; $.each(data, function(k,v) { @@ -201,26 +200,14 @@ $("#account").empty().append(content); } }); + + ajax.set("pCode",$("#pCode").val()); + ajax.set("cCode",$("#cCode").val()); + ajax.start(); if (oneId === ""){ $("#account").innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; } - ajax.set("oneId",city); - ajax.start(); - - // var ajax1 = new $ax(Feng.ctxPath + "/tSite/storeChangeNext", function(data){ - // if(data!=null && data.length !== 0){ - // var content='<option value="">选择门店</option>'; - // $.each(data, function(k,v) { - // content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>"; - // }); - // $("#store").empty().append(content); - // }else { - // storeSelect.innerHTML = '<option value="">当前所选市没有门店</option>'; - // } - // }); - // ajax1.set("oneId",oneId); - // ajax1.start(); }; /** @@ -314,8 +301,6 @@ var em = "";// 门店经营结束时间:分钟 TSite.addSubmit = function(){ - - var data = { id:null, province:"", @@ -364,7 +349,7 @@ temp = temp+","+TSite.goodsPicArray[i]; } data.certificateImg = temp - + if ($("#objectType").val()==1){ if($("#pCode").val()==''){ Feng.info("请选择省") return; @@ -376,6 +361,7 @@ if($("#account").val()=='' ){ Feng.info("请选择账号") return; + } } if($("#coachTypeId").val()=='' ){ Feng.info("请选择教练类型") @@ -447,8 +433,6 @@ }); }; TSite.editSubmit = function(){ - - var data = { id:null, province:"", @@ -488,13 +472,16 @@ data.graduateSchool = $('#graduateSchool').val() data.diploma = $('#img').val() data.certificate = $('#certificate').val() - + var goodImgs = this.goodsPicArray; + if(goodImgs.length==0){ + Feng.info("请上传实景图") + return; + } var temp = "" - for (let i = 0; i < TSite.goodsPicArray.length; i++) { console.log("循环") - console.log(TSite.goodsPicArray[i][`fileName`]) - temp = temp+","+TSite.goodsPicArray[i][`fileName`]; + console.log(TSite.goodsPicArray[i]) + temp = temp+","+TSite.goodsPicArray[i]; } data.certificateImg = temp diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition.js b/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition.js index c7dea08..83fcebb 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition.js @@ -11,13 +11,15 @@ /** * 初始化表格的列 */ + +var type = $("#type").val() TCompetition.initColumn = function () { return [ {field: 'selectItem', radio: true}, {title: '序号', field: 'id', visible: true, align: 'center', valign: 'middle'}, - {title: '所在省', field: 'province', visible: true, align: 'center', valign: 'middle',width:'8%', + {title: '所在省', field: 'province', visible: type==2?false:true, align: 'center', valign: 'middle',width:'8%', }, - {title: '所在市', field: 'city', visible: true, align: 'center', valign: 'middle'}, + {title: '所在市', field: 'city', visible: type==2?false:true, align: 'center', valign: 'middle'}, {title: '举办门店', field: 'storeName', visible: true, align: 'center', valign: 'middle',width:'8%', }, {title: '赛事名称', field: 'name', visible: true, align: 'center', valign: 'middle',width:'8%', @@ -38,6 +40,11 @@ return {1:"未开始",2:"已开始",3:"已结束",4:"已取消"}[data] } }, + {title: '审核状态', field: 'auditStatus', visible: type==2?true:false, align: 'center', valign: 'middle',width:'8%', + formatter:function (data) { + return {1:"待审核",2:"已通过",3:"已拒绝"}[data] + } + }, ]; }; function currentTime(timestamp){ diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js index 84c0147..3be94d2 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js @@ -103,22 +103,17 @@ } TCarInfoDlg.oneChange9 = function (e) { - console.log(111) var oneId=$(e).val(); - var elementById = document.getElementById("pt"); - + var elementById = document.getElementById("radio1"); var operatorId; if (elementById !== null) { - console.log(elementById) operatorId = $("#account").val() if (elementById.checked){ - operatorId = 0 + operatorId = $("#account").val() }else{ - operatorId = $("#account").val() + operatorId = 0 } } - - var ajax = new $ax(Feng.ctxPath + "/tShop/getCityYys", function(data){ if(data!=null){ if(language==1){ @@ -211,22 +206,50 @@ * 提交添加 */ TCarInfoDlg.addSubmit = function() { - this.clearData(); this.collectData(); if(!this.validate()){ return ; } - var pCode = $("#pCode").val(); - if(pCode==""){ - Feng.info("请选择省"); - return; + var pCode; + var cCode; + var elementById = document.getElementById("radio1"); + console.log("看看标签") + console.log(elementById) + if (elementById!=null){ + if (!elementById.checked){ + console.log("选中平台") + console.log($("#pCode1").val()) + console.log($("#cCode1").val()) + // 选中平台赛事 + pCode = $("#pCode1").val(); + if($("#pCode1").val()==""){ + Feng.info("请选择省"); + return; + } + cCode = $("#cCode1").val(); + if($("#cCode1").val()==""){ + Feng.info("请选择市"); + return; + } + }else{ + console.log("选中运营商") + console.log($("#pCode").val()) + console.log($("#cCode").val()) + // 选中运营商赛事 + pCode = $("#pCode").val(); + if(pCode==""){ + Feng.info("请选择省"); + return; + } + cCode = $("#cCode").val(); + if(cCode==""){ + Feng.info("请选择市"); + return; + } } - var cCode = $("#cCode").val(); - if(cCode==""){ - Feng.info("请选择市"); - return; } + var shopId = $("#shopId").val(); if(shopId==""){ @@ -566,19 +589,18 @@ TCarInfoDlg.oneChangeYys = function(e){ - - var oneId= $("input[name='pt']:checked").val() - - console.log("===========oneId=========="+oneId) + var oneId= $(e).val() var SelectValue=""; if(oneId=='0' ){ oneId=0 console.log("隐藏") $("#yys1").hide(); + $("#t1").hide(); $("#account").hide(); }else{ console.log("展示") $("#yys1").show(); + $("#t1").show(); $("#account").show(); } // var ajax = new $ax(Feng.ctxPath + "/tSite/getChangeOne", function(data){ @@ -619,9 +641,8 @@ ajax.start(); - if (typeof(oneId) == "undefined"){ + if (oneId == "1"){ console.log("===============") - var button = document.getElementById("account"); button.removeAttribute("disabled"); diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java index 42cccc7..c8903fd 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java +++ b/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java @@ -5,6 +5,7 @@ import com.dsh.other.feignclient.model.AdvertisementChangeStateDTO; import com.dsh.other.feignclient.model.AdvertisementQuery; import com.dsh.other.model.BannerVo; +import com.dsh.other.model.dto.siteDto.GameDataQuery; import com.dsh.other.service.*; import com.dsh.other.util.ResultUtil; import io.swagger.annotations.ApiImplicitParam; @@ -33,6 +34,30 @@ @Autowired private TGameRecordService gameRecordService; + // 数据统计 + @ResponseBody + @PostMapping("/student/getData") + public List<TGameRecord> getData(@RequestBody GameDataQuery query){ + if (query.getStoreId()==null){ + // 获取到游戏ids + List<Integer> gameIds = gameService.list(new QueryWrapper<Game>().eq("operationId", query.getObjectId())) + .stream().map(Game::getId).collect(Collectors.toList()); + // 根据游戏ids查询智慧球场支付记录 + List<TGameRecord> list = gameRecordService.list(new QueryWrapper<TGameRecord>().in("gameId", gameIds) + .eq("status", 1) + .ne("payType", 3) + .ne("payType", 4)); + return list; + }else{ + List<Integer> gameIds = gameService.list(new QueryWrapper<Game>().eq("storeId", query.getStoreId())) + .stream().map(Game::getId).collect(Collectors.toList()); + List<TGameRecord> list = gameRecordService.list(new QueryWrapper<TGameRecord>().in("gameId", gameIds) + .eq("status", 1).eq("payType", 1).eq("payType", 2)); + return list; + } + } + + @ResponseBody @PostMapping("/student/webStudentList") public List<Game> list(@RequestBody BallQueryDto ballQueryDto) { diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java index 2e5d486..eabcf5a 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java +++ b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java @@ -474,16 +474,16 @@ Date startTime = byId.getStartTime(); Date endTime = byId.getEndTime(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - String startTimeString = sdf.format(startTime); String endTimeString = sdf.format(endTime); - String result = startTimeString + "-" + endTimeString.substring(11); byId.setTimes(result); byId.setSid(Arrays.asList(storeId)); - List<Site> list = siteService.list(new LambdaQueryWrapper<Site>().eq(Site::getStoreId, storeId).eq(Site::getSign, 1)); + List<Site> list = siteService.list(new LambdaQueryWrapper<Site>() + .eq(Site::getStoreId, storeId) + .eq(Site::getSign, 1)); List<Integer> collect = list.stream().map(Site::getId).collect(Collectors.toList()); byId.setRid(collect); map.put("data", byId); diff --git a/cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/GameDataQuery.java b/cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/GameDataQuery.java new file mode 100644 index 0000000..23af790 --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/GameDataQuery.java @@ -0,0 +1,9 @@ +package com.dsh.other.model.dto.siteDto; + +import lombok.Data; + +@Data +public class GameDataQuery { + Integer objectId; + Integer storeId; +} -- Gitblit v1.7.1