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>--> 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> cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -161,125 +161,54 @@ */ @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.getId()); 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 byId = coursePackageService.getById(packagePayment.getCoursePackageId()); if (byId.getType()==1){ CoursePackageOrderStudent coursePackageOrderStudent = new CoursePackageOrderStudent(); coursePackageOrderStudent.setAppUserId(packagePayment.getAppUserId()); coursePackageOrderStudent.setStudentId(packagePayment.getStudentId()); coursePackageOrderStudent.setCoursePackageId(packagePayment.getCoursePackageId()); coursePackageOrderStudent.setTotalClassHours(packagePayment.getClassHours()); coursePackageOrderStudent.setLaveClassHours(packagePayment.getClassHours()); coursePackageOrderStudent.setAbsencesNumber(0); coursePackageOrderStudent.setDropoutsNumber(0); coursePackageOrderStudent.setStatus(1); coursePackageOrderStudent.setState(1); coursePackageOrderStudent.setInsertTime(new Date()); coursePackageOrderStudent.setGiftClassHours(packagePayment.getGiftClassHours()); // 获取常规课的有效期 计算是哪一天 Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_MONTH, byId.getValidDays()); Date time = calendar.getTime(); coursePackageOrderStudent.setUseTime(time); return coursePackageOrderStudentService.save(coursePackageOrderStudent); } // 生成排课数据 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 null; 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); } /** cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
@@ -192,4 +192,6 @@ @TableField(exist = false) private Integer orderId; @TableField("giftClassHours") private Integer giftClassHours; } cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -832,7 +832,6 @@ Integer integer = coursePackagePaymentService.queryCountNumber(paymentCourseVo.getId()); TCoursePackage course = coursePackageService.getById(paymentCourseVo.getId()); if (course.getType() != 3) { if (integer + paymentCourseVo.getStudentIds().split(";").length > course.getMaxSubscribeNumber()) { return ResultUtil.error("报名失败,已达最大报名人数"); } cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoursePackagePaymentController.java
@@ -106,7 +106,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 +114,6 @@ // 获取课包id Integer coursePackageId = tCoursePackagePayment.getCoursePackageId(); List<TCoursePackageDiscount> list = coursePackageDiscountClient.queryByCoursePackageId(coursePackageId); Date currentDate = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(currentDate); @@ -146,11 +145,11 @@ // 获取当前课包价格配置 Integer coursePackageId1 = tCoursePackagePayment.getCoursePackageId(); List<CoursePackagePaymentConfig> coursePackagePaymentConfigs = coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(coursePackageId1); if (coursePackagePaymentConfigs.size()!=0){ CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigs.get(0); tCoursePackagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); tCoursePackagePayment.setPlayPaiCoin(coursePackagePaymentConfig.getPlayPaiCoin()); } // 原价 Double originalPrice = tCoursePackagePayment.getOriginalPrice(); @@ -196,8 +195,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 +227,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 +284,8 @@ BigDecimal bigDecimal = new BigDecimal(minValue); tCoursePackagePayment.setCashPayment(bigDecimal); } coursePackagePaymentClient.addCoursePackagePayment(tCoursePackagePayment); return ResultUtil.success("添加成功"); return coursePackagePaymentClient.addCoursePackagePayment(tCoursePackagePayment); } /** 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"; 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;