From 1d07f8271751880bdfbf3ea41e696f9ee719888b Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期四, 17 八月 2023 08:48:36 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai --- cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 191 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 183 insertions(+), 8 deletions(-) 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 86028ae..7358a5e 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 @@ -7,10 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.dsh.course.entity.CoursePackagePaymentConfig; -import com.dsh.course.entity.TCoursePackage; -import com.dsh.course.entity.TCoursePackageDiscount; -import com.dsh.course.entity.TCoursePackagePayment; +import com.dsh.course.entity.*; import com.dsh.course.feignclient.account.AppUserClient; import com.dsh.course.feignclient.account.StudentClient; import com.dsh.course.feignclient.account.model.AppUser; @@ -24,10 +21,7 @@ import com.dsh.course.mapper.TCoursePackageMapper; import com.dsh.course.feignclient.model.CourseOfStoreVo; import com.dsh.course.model.*; -import com.dsh.course.service.ICoursePackagePaymentConfigService; -import com.dsh.course.service.TCoursePackageDiscountService; -import com.dsh.course.service.TCoursePackagePaymentService; -import com.dsh.course.service.TCoursePackageService; +import com.dsh.course.service.*; import com.dsh.course.util.*; import com.dsh.course.util.httpClinet.HttpResult; import org.springframework.beans.factory.annotation.Autowired; @@ -80,6 +74,12 @@ @Autowired private PayMoneyUtil payMoneyUtil; + + @Autowired + private ICoursePackageSchedulingService coursePackageSchedulingService; + + @Autowired + private CoursePackageStudentService coursePackageStudentService; @@ -776,4 +776,179 @@ } return list; } + + + /** + * 添加课包 + * @param coursePackage + * @return + */ + @Override + public Integer addCoursePackage(TCoursePackage coursePackage) { + try { + this.baseMapper.insert(coursePackage); + //生成排课数据 + 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 classStartTime = coursePackage.getClassStartTime(); + String[] split = classStartTime.split(":"); + String classEndTime = coursePackage.getClassEndTime(); + 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) + 13); + 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); + } + s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1); + if(s.getTimeInMillis() > timeInMillis){ + break; + } + } + return coursePackage.getId(); + }catch (Exception e){ + e.printStackTrace(); + return null; + } + } + + + /** + * 修改数据 + * @param coursePackage + */ + @Override + public void updateCoursePackageById(TCoursePackage coursePackage) { + try { + List<CoursePackageStudent> coursePackageStudents = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("coursePackageId", coursePackage.getId())); + List<Long> collect = coursePackageStudents.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); + + QueryWrapper<CoursePackageScheduling> coursePackageSchedulingQueryWrapper = new QueryWrapper<CoursePackageScheduling>().eq("coursePackageId", coursePackage.getId()); + if(collect.size() > 0){ + coursePackageSchedulingQueryWrapper.notIn("id", collect); + } + coursePackageSchedulingService.remove(coursePackageSchedulingQueryWrapper); + + this.baseMapper.updateById(coursePackage); + //生成排课数据 + Date date = null; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingService.getOne(new QueryWrapper<CoursePackageScheduling>().eq("coursePackageId", coursePackage.getId()).last(" and classDate > now() order by classDate desc limit 0, 1")); + if(null != coursePackageScheduling){ + date = sdf1.parse(sdf.format(coursePackageScheduling.getClassDate()) + " 00:00:00"); + }else{ + date = sdf1.parse(sdf.format(new Date()) + " 00:00:00"); + } + List<String> list = Arrays.asList(coursePackage.getClassWeeks().split(";")); + String classStartTime = coursePackage.getClassStartTime(); + String[] split = classStartTime.split(":"); + String classEndTime = coursePackage.getClassEndTime(); + String[] split1 = classEndTime.split(":"); + Calendar s = Calendar.getInstance(); + s.setTime(date); + s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1); + + Calendar e = Calendar.getInstance(); + e.setTime(date); + if(null != coursePackageScheduling){ + long time = sdf1.parse(sdf.format(new Date()) + " 00:00:00").getTime(); + int d = Long.valueOf(14L - ((s.getTimeInMillis() - time) / 86400000L)).intValue(); + e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + d); + }else{ + e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 13); + } + 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 coursePackageScheduling1 = new CoursePackageScheduling(); + coursePackageScheduling1.setCoursePackageId(coursePackage.getId()); + coursePackageScheduling1.setClassDate(classDate.getTime()); + coursePackageScheduling1.setEndDate(endDate.getTime()); + coursePackageScheduling1.setStatus(1); + coursePackageSchedulingService.save(coursePackageScheduling1); + } + s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1); + if(s.getTimeInMillis() > timeInMillis){ + break; + } + } + }catch (Exception e){ + e.printStackTrace(); + } + } + + + /** + * 获取课包审核列表 + * @param page + * @param queryExamineCoursePackageLists + * @return + */ + @Override + public List<Map<String, Object>> queryExamineCoursePackageLists(Page<Map<String, Object>> page, QueryExamineCoursePackageLists queryExamineCoursePackageLists) { + List<Map<String, Object>> list = this.baseMapper.queryExamineCoursePackageLists(page, queryExamineCoursePackageLists); + for (Map<String, Object> map : list) { + Integer id = Integer.valueOf(map.get("id").toString()); + boolean cash = false; + boolean coin = false; + List<CoursePackagePaymentConfig> coursePackagePaymentConfigs = coursePackagePaymentConfigService.list(new QueryWrapper<CoursePackagePaymentConfig>().eq("coursePackageId", id)); + for (CoursePackagePaymentConfig coursePackagePaymentConfig : coursePackagePaymentConfigs) { + if(0 != coursePackagePaymentConfig.getCashPayment()){ + cash = true; + } + if(0 != coursePackagePaymentConfig.getPlayPaiCoin()){ + coin = true; + } + } + map.put("payType", (cash ? "现金支付" : "") + (coin ? cash ? "&玩湃币支付" : "玩湃币支付" : "")); + } + return list; + } } -- Gitblit v1.7.1