From 8050b6f4c162988ff0ae6d3fcc22aa0990ae0e4f Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期五, 01 十二月 2023 18:01:36 +0800 Subject: [PATCH] 12.1 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java | 40 + cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/trans.html | 3 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java | 29 + cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/RoleController.java | 10 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 2 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/DeptController.java | 10 cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java | 491 +++++++++++++++++--------------- cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/UserListVO.java | 2 cloud-server-management/src/main/java/com/dsh/course/entity/CoursePackageOrderStudent.java | 12 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java | 65 ++-- cloud-server-management/src/main/webapp/static/modular/system/coursePackage/registrationRecord.js | 4 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackageOrder.java | 115 +++++++ cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseStuddentClient.java | 6 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java | 19 + cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java | 26 + cloud-server-management/src/main/resources/mapper/UserMapper.xml | 2 cloud-server-management/src/main/java/com/dsh/guns/config/AuthFilter.java | 2 cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEditTTT.html | 6 cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java | 22 + cloud-server-activity/src/main/resources/mapper/CouponMapper.xml | 16 20 files changed, 566 insertions(+), 316 deletions(-) diff --git a/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml b/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml index 91cbbbc..ad7517a 100644 --- a/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml +++ b/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml @@ -89,6 +89,7 @@ where 1 = 1 and distributionMethod = 4 and auditStatus = 2 and startTime < now() + and state= 1 <if test="cityCode != null"> and id in( SELECT DISTINCT couponId FROM @@ -116,8 +117,6 @@ <if test="state != null"> and `state` = #{state} </if> - - union all SELECT id, `name`, @@ -135,23 +134,12 @@ from t_coupon where 1 = 1 and distributionMethod = 4 and useScope = 1 and auditStatus = 2 + and state= 1 and startTime < now() <if test="name != null"> and `name` like concat('%', #{name}, '%') </if> - <if test="type != null"> - and type = #{type} - </if> - <if test="userPopulation != null"> - and userPopulation = #{userPopulation} - </if> - <if test="status !=null"> - and `status` = #{status} - </if> - <if test="state != null"> - and `state` = #{state} - </if> </select> <select id="queryCouponExamineList" resultType="java.util.Map"> 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 7332374..c1453e8 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 @@ -2392,7 +2392,7 @@ @ResponseBody @PostMapping("/coursePackagePayment/CountqueryByClassId") public Integer CountqueryByClassId(@RequestBody Integer id) { - int coursePackageId = packagePaymentService.count(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", id)); + int coursePackageId = coursePackageOrderStudentService.count(new QueryWrapper<CoursePackageOrderStudent>().eq("coursePackageId", id)); return coursePackageId; 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 37dfdee..7b2892a 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 @@ -336,10 +336,15 @@ } + @Autowired + private ICoursePackageOrderService coursePackageOrderService; + + @Autowired + private ICoursePackageOrderStudentService coursePackageOrderStudentService; @RequestMapping("/queryByIds") @ResponseBody - public List<TCoursePackagePayment> queryByIds(@RequestParam("ids") String ids) { - List<TCoursePackagePayment> paymentList = paymentService.list(new QueryWrapper<TCoursePackagePayment>() + public List<CoursePackageOrderStudent> queryByIds(@RequestParam("ids") String ids) { + List<CoursePackageOrderStudent> paymentList = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>() .in("id", Arrays.asList(ids.split(",")))); System.out.println("========client==>" + paymentList); @@ -414,6 +419,18 @@ } paymentService.updateBatchById(id1); + } + + + + @RequestMapping("/getOrder") + @ResponseBody + public List<CoursePackageOrder> getOrder(@RequestParam("id") Long id) { + + CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(id); + + List<CoursePackageOrder> list = coursePackageOrderService.list(new QueryWrapper<CoursePackageOrder>().eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId()).like("studentIds", coursePackageOrderStudent.getStudentId())); + return list; } @@ -753,133 +770,136 @@ @RequestMapping(value = "/toHoli", produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset=UTF-8") @ResponseBody public String toHoli(@RequestBody ToHoliDto toHoliDto) throws ParseException { - - String[] ids = toHoliDto.getIds(); - List<String> strings = new ArrayList<>(); - - - for (String id : ids) { - //扣除课时 - TCoursePackagePayment payment = paymentService.getById(id); - System.out.println("=====byId=========" + payment); - - - Integer laveClassHours = payment.getLaveClassHours(); - - Integer classNum = toHoliDto.getClassNum(); - Integer totalClassHours = payment.getTotalClassHours(); - Student student = studentClient.queryStudentById(payment.getStudentId()); - - if (laveClassHours < classNum) { - strings.add(student.getName()); - continue; + String[] stuIds = toHoliDto.getIds(); + //查询出学员ids对应的棵树,判断剩余课时数是否够 + List<CoursePackageOrderStudent> list = orderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("coursePackageId", toHoliDto.getClassId()).in("studentId", stuIds)); + List<String> notStudent = new ArrayList<>(); + for (CoursePackageOrderStudent coursePackageOrderStudent : list) { + if (coursePackageOrderStudent.getLaveClassHours() < toHoliDto.getClassNum()) { + notStudent.add(studentClient.queryStudentById(coursePackageOrderStudent.getStudentId()).getName()); } + } + if (!notStudent.isEmpty()) { + String notStudentStr = String.join(",", notStudent); + return notStudentStr+":课时数不足"; + } - Integer laveClassHoursnew = laveClassHours - classNum; - Integer totalClassHoursnew = totalClassHours - classNum; - payment.setLaveClassHours(laveClassHoursnew); - payment.setTotalClassHours(totalClassHoursnew); - payment.setAppUserId(null); -// payment.setStatus(3); + for (String stuId : stuIds) { + Student student = studentClient.queryStudentById(Integer.valueOf(stuId)); - paymentService.updateById(payment); + // 扣除 原来的课时数 + // 添加购买课时 paytyoe为7 + // 排课可期 判断课程时间段 添加排课表 添加上课记录表 + // 找到原来的课包 扣课时 +// CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getById(toHoliDto.getId()); + CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>().eq("coursePackageId",toHoliDto.getId()).eq("studentId",stuId)); - //获取student信息 + TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId()); + TCoursePackage coursePackage1 = coursePackageService.getById(toHoliDto.getClassId()); + //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录 + List<CoursePackageScheduling> list1 = coursePackageSchedulingService.selectList(new QueryWrapper<CoursePackageScheduling>() + .eq("studentId", coursePackageOrderStudent.getStudentId()).eq("status", 1) + .eq("type", 1).orderByDesc("classDate")); + //已经排课但没有使用的课时数量 + int number = list1.size() * coursePackage.getNeedNum(); + Integer laveClassHours1 = coursePackageOrderStudent.getLaveClassHours(); + laveClassHours1 -= number; + //需要购买使用的课时数 + Integer num = toHoliDto.getClassNum(); + //需要删除多余的排课记录 + if(num.compareTo(laveClassHours1) > 0){ + //课时数差额 + int number1 = num - laveClassHours1; + double o = number1 % coursePackage.getNeedNum(); + int l = 0; + if(0 != o){ + l = 1; + } + int n = Double.valueOf(number1 / coursePackage.getNeedNum()).intValue() + l; + for (int i = 0; i < n; i++) { + CoursePackageScheduling coursePackageScheduling = list1.get(i); + coursePackageSchedulingService.deleteById(coursePackageScheduling.getId()); - //新增课时 + coursePackageStudentService.getBaseMapper().delete(new QueryWrapper<CoursePackageStudent>() + .eq("coursePackageSchedulingId", coursePackageScheduling.getId())); + } + } + coursePackageOrderStudent.setAppUserId(null); + coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()-toHoliDto.getClassNum()); + orderStudentService.updateById(coursePackageOrderStudent); - TCoursePackagePayment holi = new TCoursePackagePayment(); - holi.setAppUserId(student.getAppUserId()); - holi.setStudentId(student.getId()); - holi.setCoursePackageId(toHoliDto.getClassId()); - holi.setTotalClassHours(toHoliDto.getClassNum()); - holi.setLaveClassHours(toHoliDto.getClassNum()); - holi.setState(1); - holi.setInsertTime(new Date()); - holi.setPayStatus(2); - paymentService.save(holi); - - - CourseCounsum courseCounsum = new CourseCounsum(); - courseCounsum.setPaymentId(holi.getId()); - courseCounsum.setChangeType(0); - courseCounsum.setNum(classNum); - courseCounsum.setInsertTime(new Date()); - courseCounsum.setReason("报名假期班"); - courseCounsumService.save(courseCounsum); - - //排假期课 - - TCoursePackage tCoursePackage = packageService.getById(toHoliDto.getClassId()); - String classWeeks = tCoursePackage.getClassWeeks(); + //上课星期 + String classWeeks = coursePackage1.getClassWeeks(); List<Integer> week = week(classWeeks); - - Date today = new Date(); - - Date startTime = tCoursePackage.getStartTime(); - Date endTime = tCoursePackage.getEndTime(); - LocalDate startDate = startTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); - LocalDate endDate = endTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); - Period period = Period.between(startDate, endDate); - int days = period.getDays() + 1; - Integer can = 999; - int count = 0; - String[] split = tCoursePackage.getClassStartTime().split(","); - String[] split1 = tCoursePackage.getClassEndTime().split(","); + //上课时段 + String[] split = coursePackage1.getClassStartTime().split(","); + String[] split1 = coursePackage1.getClassEndTime().split(","); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + Date startTime = coursePackage1.getStartTime(); + Date endTime = coursePackage1.getEndTime(); + //排课 本周+下周,课时不够扣则直接剩余不排课 Calendar calendar = Calendar.getInstance(); - calendar.setTime(startTime); - calendar.add(Calendar.DAY_OF_MONTH, -1); + //假期开始使用当前时间为起始时间进行排课 + 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(); - Date[] dates = generateDateArray(days, calendar.getTime()); - for (Date date : dates) { - if (count == can) { + //判断当天是否在排课星期内 + 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; } - int wei = cn.hutool.core.date.DateUtil.dayOfWeek(date) - 1; - if (wei == 0) { - wei = 7; + for (int j = 0; j < split.length; j++) { + CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); + coursePackageScheduling.setType(coursePackage1.getType()); + coursePackageScheduling.setAppUserId(student.getAppUserId()); + coursePackageScheduling.setStudentId(Integer.valueOf(stuId)); + coursePackageScheduling.setCoursePackageId(coursePackage1.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(student.getAppUserId()); + student1.setStudentId(Integer.valueOf(stuId)); + student1.setCoursePackageId(coursePackage1.getId()); + student1.setCoursePackagePaymentId(null); + student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); + student1.setSignInOrNot(1); + student1.setReservationStatus(1); + student1.setInsertTime(new Date()); + cpsMapper.insert(student1); } - 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(toHoliDto.getClassId()); - student1.setCoursePackagePaymentId(holi.getId()); - student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); - student1.setSignInOrNot(1); - student1.setReservationStatus(1); - student1.setInsertTime(new Date()); - studentService.save(student1); - count++; - } - } + //增加日期,用于判断 + calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1); } - System.out.println("保存成功=============》=" + holi); + CourseCounsum courseCounsum = new CourseCounsum(); + courseCounsum.setPaymentId(coursePackageOrderStudent.getId()); + courseCounsum.setChangeType(0); + courseCounsum.setNum(toHoliDto.getClassNum()); + courseCounsum.setInsertTime(new Date()); + courseCounsum.setReason("报名假期班"); +// courseCounsum.setAppUserId(userId); + courseCounsumService.save(courseCounsum); } - String[] stringArray = strings.toArray(new String[strings.size()]); - String join = StringUtils.join(stringArray, ","); - System.out.println("==========join========" + join); - return join; + return "报名成功"; } @@ -940,150 +960,149 @@ @RequestMapping(value = "/toTrans", produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset=UTF-8") @ResponseBody public String toTrans(@RequestBody ToHoliDto toHoliDto) throws ParseException { - - String[] ids = toHoliDto.getIds(); - List<String> strings = new ArrayList<>(); - - - for (String id : ids) { - //扣除课时 - TCoursePackagePayment payment = paymentService.getById(id); - System.out.println("=====byId=========" + payment); - - - Integer laveClassHours = payment.getLaveClassHours(); - - Integer classNum = toHoliDto.getClassNum(); - Integer totalClassHours = payment.getTotalClassHours(); - Student student = studentClient.queryStudentById(payment.getStudentId()); - -// if (laveClassHours < classNum){ -// strings.add(student.getName()); continue; + String[] stuIds = toHoliDto.getIds(); +// //查询出学员ids对应的棵树,判断剩余课时数是否够 +// List<CoursePackageOrderStudent> list = orderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("coursePackageId", toHoliDto.getClassId()).in("studentId", stuIds)); +// List<String> notStudent = new ArrayList<>(); +// for (CoursePackageOrderStudent coursePackageOrderStudent : list) { +// if (coursePackageOrderStudent.getLaveClassHours() < toHoliDto.getClassNum()) { +// notStudent.add(studentClient.queryStudentById(coursePackageOrderStudent.getStudentId()).getName()); // } -// -// Integer laveClassHoursnew = laveClassHours - classNum; -// Integer totalClassHoursnew = totalClassHours - classNum; - payment.setLaveClassHours(0); - payment.setTotalClassHours(0); - payment.setAppUserId(null); +// } +// if (!notStudent.isEmpty()) { +// String notStudentStr = String.join(",", notStudent); +// return notStudentStr+":课时数不足"; +// } - paymentService.updateById(payment); - //获取student信息 + //转移课程 + for (String stuId : stuIds) { +// CoursePackageOrderStudent orinPay = orderStudentService.getById(toHoliDto.getId()); + CoursePackageOrderStudent orinPay = orderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>() + .eq("studentId", stuId) + .eq("coursePackageId", toHoliDto.getId())); + CoursePackageOrderStudent studentPay = orderStudentService.getOne(new QueryWrapper<CoursePackageOrderStudent>() + .eq("studentId", stuId) + .eq("coursePackageId", toHoliDto.getClassId())); + TCoursePackage coursePackage = packageService.getById(toHoliDto.getClassId()); + if (studentPay != null) { + //转移 + Integer laveClassHours = orinPay.getLaveClassHours(); + Integer totalClassHours = orinPay.getTotalClassHours(); - //新增课时 + CourseCounsum courseCounsum = new CourseCounsum(); + courseCounsum.setInsertTime(new Date()); + Integer appUserId = orinPay.getAppUserId(); + Integer appUserId1 = studentPay.getAppUserId(); - TCoursePackagePayment one = paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", student.getId()).eq("coursePackageId", toHoliDto.getClassId())); + courseCounsum.setReason("换课"); - TCoursePackagePayment holi = new TCoursePackagePayment(); - if (one == null) { - holi.setAppUserId(student.getAppUserId()); - holi.setStudentId(student.getId()); - holi.setCoursePackageId(toHoliDto.getClassId()); - holi.setTotalClassHours(laveClassHours); - holi.setLaveClassHours(laveClassHours); - holi.setState(1); - holi.setInsertTime(new Date()); - holi.setPayStatus(2); - holi.setStatus(1); - paymentService.save(holi); + orinPay.setLaveClassHours(0); + orinPay.setStatus(3); + orinPay.setAppUserId(null); + orderStudentService.updateById(orinPay); + + courseCounsum.setNum(laveClassHours); + courseCounsum.setChangeType(0); + courseCounsum.setPaymentId(orinPay.getId()); + counsumService.save(courseCounsum); + + CourseCounsum courseCounsum1 = new CourseCounsum(); + courseCounsum1.setInsertTime(new Date()); +// if (appUserId.compareTo(appUserId1) != 0) { +// courseCounsum1.setReason("赠课"); +// } else { + courseCounsum1.setReason("换课"); +// } + courseCounsum1.setNum(laveClassHours); + courseCounsum1.setChangeType(1); + courseCounsum1.setPaymentId(studentPay.getId()); + counsumService.save(courseCounsum1); + + schedulingService.addNewCoursePackageScheduling(studentPay.getId(), laveClassHours); + //删除原排课数据 + List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingService.selectList(new QueryWrapper<CoursePackageScheduling>() + .eq("type", 1).eq("appUserId", appUserId) + .eq("studentId", orinPay.getStudentId()).eq("coursePackageId", orinPay.getCoursePackageId()) + .orderByAsc("classDate")); + int num = totalClassHours - laveClassHours; + for (int i = num; i < coursePackageSchedulings.size(); i++) { + CoursePackageScheduling packageScheduling = coursePackageSchedulings.get(i); + coursePackageSchedulingService.deleteById(packageScheduling.getId()); + coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("coursePackageSchedulingId", packageScheduling.getId())); + } } else { - one.setTotalClassHours(one.getTotalClassHours() + laveClassHours); - one.setLaveClassHours(one.getLaveClassHours() + laveClassHours); - one.setAppUserId(null); - paymentService.updateById(one); - holi = one; - } - System.out.println("保存成功=============》=" + holi); + Integer totalClassHours = orinPay.getTotalClassHours(); + Integer laveClassHours = orinPay.getLaveClassHours(); + Student student = studentClient.queryStudentById(Integer.valueOf(stuId)); + CoursePackageOrderStudent to = new CoursePackageOrderStudent(); + to.setStudentId(Integer.valueOf(stuId)); + to.setTotalClassHours(laveClassHours); + to.setLaveClassHours(laveClassHours); + to.setCoursePackageId(toHoliDto.getClassId()); + to.setState(1); + to.setAppUserId(student.getAppUserId()); + to.setStatus(1); + to.setInsertTime(new Date()); - CourseCounsum courseCounsum = new CourseCounsum(); - courseCounsum.setPaymentId(holi.getId()); - courseCounsum.setChangeType(1); - courseCounsum.setNum(laveClassHours); - courseCounsum.setInsertTime(new Date()); - courseCounsum.setReason("换课"); - courseCounsumService.save(courseCounsum); - - - TCoursePackage tCoursePackage = packageService.getById(toHoliDto.getClassId()); - 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", student.getId()).eq("coursePackageId", toHoliDto.getClassId())); - 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", student.getId()).eq("coursePackageId", toHoliDto.getClassId())); - } - - - Date today = new Date(); - - - TCoursePackagePayment pay = coursePackagePaymentService.getById(holi.getId()); - Integer laveClassHours1 = 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 = laveClassHours1 / codeTime; - - for (Date date : dates) { - if (count == can) { - break; + 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); + if (null == student.getValidity()) { + student.setValidity(calendar.getTime()); + } else if (student.getValidity().getTime() < calendar.getTime().getTime()) { + student.setValidity(calendar.getTime()); } - 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(holi.getId()); - student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); - student1.setSignInOrNot(1); - student1.setReservationStatus(1); - student1.setInsertTime(new Date()); - cpsMapper.insert(student1); - count++; - } + studentClient.frozen(student); + + + Integer laveClassHours1 = orinPay.getLaveClassHours(); + Integer appUserId = orinPay.getAppUserId(); + orinPay.setLaveClassHours(0); + orinPay.setAppUserId(null); + orinPay.setStatus(3); + orderStudentService.updateById(orinPay); + + + CourseCounsum courseCounsum = new CourseCounsum(); + courseCounsum.setInsertTime(new Date()); + courseCounsum.setReason("换课"); + courseCounsum.setNum(laveClassHours1); + courseCounsum.setChangeType(0); + courseCounsum.setPaymentId(orinPay.getId()); + counsumService.save(courseCounsum); + + + CourseCounsum courseCounsum1 = new CourseCounsum(); + courseCounsum1.setInsertTime(new Date()); + courseCounsum1.setReason("换课"); + courseCounsum1.setNum(laveClassHours1); + courseCounsum1.setChangeType(1); + courseCounsum1.setPaymentId(to.getId()); + counsumService.save(courseCounsum1); + + //开始排课 + addPackageStudent(coursePackage, to.getAppUserId(), to.getStudentId(), to); + //删除原排课数据 + List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingService.selectList(new QueryWrapper<CoursePackageScheduling>() + .eq("type", 1).eq("appUserId", appUserId) + .eq("studentId", orinPay.getStudentId()).eq("coursePackageId", orinPay.getCoursePackageId()) + .orderByAsc("classDate")); + int num = totalClassHours - laveClassHours; + for (int i = num; i < coursePackageSchedulings.size(); i++) { + CoursePackageScheduling packageScheduling = coursePackageSchedulings.get(i); + coursePackageSchedulingService.deleteById(packageScheduling.getId()); + coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("coursePackageSchedulingId", packageScheduling.getId())); } } - } - String[] stringArray = strings.toArray(new String[strings.size()]); + return "换课成功"; - String join = StringUtils.join(stringArray, ","); - System.out.println("==========join========" + join); - return "转课成功"; } - - } 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 index 52b76d7..9ee8cee 100644 --- 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 @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; +import java.math.BigDecimal; import java.util.Date; /** @@ -91,4 +92,15 @@ @TableField("useTime") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date useTime; + + + private String name; + + private BigDecimal onePrice; + + private Integer hasHours; + + private BigDecimal restPrice; + + private BigDecimal cashPayment; } diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseStuddentClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseStuddentClient.java index 829cf3a..1171eb8 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseStuddentClient.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseStuddentClient.java @@ -2,11 +2,13 @@ import com.dsh.course.dto.ClassListDto; import com.dsh.course.dto.updateTimeDto; +import com.dsh.course.entity.CoursePackageOrderStudent; import com.dsh.course.feignClient.course.model.TCoursePackagePayment; import com.dsh.course.model.MoneyBack; import com.dsh.course.model.dto.InsertBackDto; import com.dsh.course.model.dto.StudentClassInfo; import com.dsh.guns.modular.system.model.CourseCounsum; +import com.dsh.guns.modular.system.model.CoursePackageOrder; import com.dsh.guns.modular.system.model.dto.ConsumeQuery; import com.dsh.guns.modular.system.model.dto.SelectDto; import com.dsh.guns.modular.system.model.dto.ToClassDto; @@ -93,7 +95,7 @@ @RequestMapping("/courdent/queryByIds") - List<TCoursePackagePayment> queryByIds(@RequestParam("ids")String ids); + List<CoursePackageOrderStudent> queryByIds(@RequestParam("ids")String ids); @RequestMapping("/courdent/queryCounsum") @@ -120,4 +122,6 @@ @RequestMapping("/courdent/backStausClass") void backStausClass(@RequestParam("id")Integer id); + @RequestMapping("/courdent/getOrder") + List<CoursePackageOrder> getOrder(@RequestParam("id")Long id); } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/config/AuthFilter.java b/cloud-server-management/src/main/java/com/dsh/guns/config/AuthFilter.java index fc525bb..c30730c 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/config/AuthFilter.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/config/AuthFilter.java @@ -31,7 +31,7 @@ private String[] resource = new String[]{"html", "js", "css","icon","ico","png","img","jpeg","jpg", "gif"}; private String[] releaseApi = new String[]{"/login", "/logout","/systemNotice/querySystemNoticeList","/systemNotice/queryNoReadNoticeNum" - ,"/api/hotAddress/queryHotAddress"}; + ,"/api/hotAddress/queryHotAddress","/kaptcha","/update","/password.html","/getSMSCode"}; 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 645571c..e815431 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 @@ -3,6 +3,7 @@ import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsh.course.entity.CoursePackageOrderStudent; import com.dsh.course.feignClient.account.*; import com.dsh.course.feignClient.account.model.*; import com.dsh.course.feignClient.activity.PointMercharsClient; @@ -485,39 +486,39 @@ List<MoneyBack> refund = refundCoursePackageClient.getRefund(); for (MoneyBack moneyBack : refund) { - List<TCoursePackagePayment> coursePackagePayments = courseStuddentClient.queryByIds(moneyBack.getIds()); + List<CoursePackageOrderStudent> coursePackagePayments = courseStuddentClient.queryByIds(moneyBack.getIds()); BigDecimal totalAmount = BigDecimal.ZERO; - for (TCoursePackagePayment payment : coursePackagePayments){ - //课包名称 - TCoursePackage tCoursePackage = coursePackageClient.queryById(payment.getCoursePackageId()); - payment.setName(tCoursePackage.getName()); - payment.setId(Long.valueOf(tCoursePackage.getId())); - BigDecimal cashPayment = payment.getCashPayment(); - if (cashPayment==null){ - cashPayment = BigDecimal.ZERO; - } - Integer totalClassHours = payment.getTotalClassHours(); - BigDecimal result = new BigDecimal(0); - if (totalClassHours!=0) { - result = cashPayment.divide(BigDecimal.valueOf(totalClassHours), 2, RoundingMode.HALF_UP); - } - //单价 - payment.setOnePrice(result); - int has = payment.getTotalClassHours() - payment.getLaveClassHours(); - //剩余课时 - payment.setHasHours(has); - BigDecimal onePrice = payment.getOnePrice(); - Integer laveClassHours = payment.getLaveClassHours(); - BigDecimal result1 = onePrice.multiply(BigDecimal.valueOf(laveClassHours)); - //总价 - payment.setRestPrice(result1); - System.out.println("======="+result1); - totalAmount = totalAmount.add(result1); - IncomeVO temp = new IncomeVO(); - temp.setInsertTime(payment.getInsertTime()); - temp.setAmount(result1); - incomeVOS.add(temp); - } +// for (TCoursePackagePayment payment : coursePackagePayments){ +// //课包名称 +// TCoursePackage tCoursePackage = coursePackageClient.queryById(payment.getCoursePackageId()); +// payment.setName(tCoursePackage.getName()); +// payment.setId(Long.valueOf(tCoursePackage.getId())); +// BigDecimal cashPayment = payment.getCashPayment(); +// if (cashPayment==null){ +// cashPayment = BigDecimal.ZERO; +// } +// Integer totalClassHours = payment.getTotalClassHours(); +// BigDecimal result = new BigDecimal(0); +// if (totalClassHours!=0) { +// result = cashPayment.divide(BigDecimal.valueOf(totalClassHours), 2, RoundingMode.HALF_UP); +// } +// //单价 +// payment.setOnePrice(result); +// int has = payment.getTotalClassHours() - payment.getLaveClassHours(); +// //剩余课时 +// payment.setHasHours(has); +// BigDecimal onePrice = payment.getOnePrice(); +// Integer laveClassHours = payment.getLaveClassHours(); +// BigDecimal result1 = onePrice.multiply(BigDecimal.valueOf(laveClassHours)); +// //总价 +// payment.setRestPrice(result1); +// System.out.println("======="+result1); +// totalAmount = totalAmount.add(result1); +// IncomeVO temp = new IncomeVO(); +// temp.setInsertTime(payment.getInsertTime()); +// temp.setAmount(result1); +// incomeVOS.add(temp); +// } } // 获取赛事退费记录 List<PaymentCompetition> competitions = competitionClient.listAllPayment(competitionQuery); diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java index f2ee93a..6c65848 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java @@ -40,6 +40,8 @@ import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalTime; import java.time.format.DateTimeFormatter; @@ -977,6 +979,23 @@ } } } + + if (Integer.parseInt(vo.get("status").toString())==1 ){ + String dateTimeStr = vo.get("times").toString(); + String formattedDateTimeStr = dateTimeStr.substring(0, 11) + dateTimeStr.substring(17); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + try { + Date date = sdf.parse(formattedDateTimeStr); + if (new Date().after(date)){ + vo.put("status",4); + } + + System.out.println(date); + } catch (ParseException e) { + e.printStackTrace(); + } + } } return orders; } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/DeptController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/DeptController.java index fe588af..6dc137d 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/DeptController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/DeptController.java @@ -25,6 +25,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.stream.Collectors; /** * 部门控制器 @@ -101,7 +102,7 @@ deptSetPids(dept); dept.setObjectType(UserExt.getUser().getObjectType()); dept.setObjectId(UserExt.getUser().getObjectId()); - + dept.setVersion(UserExt.getUser().getId()); return this.deptService.save(dept); } @@ -113,6 +114,13 @@ @ResponseBody public Object list(String condition) { List<Map<String, Object>> list = this.deptService.list(condition); + if (UserExt.getUser().getObjectType()==2){ + List<Map<String, Object>> filteredRoles = list.stream() + .filter(role -> role.containsKey("version") && role.get("version").equals(1)) + .collect(Collectors.toList()); + return filteredRoles; + } + return super.warpObject(new DeptWarpper(list)); } 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 8890d96..1842ca3 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 @@ -32,6 +32,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; import javax.activation.MailcapCommandMap; import javax.annotation.Resource; @@ -76,10 +77,33 @@ /** * 跳转到修改密码页面 */ - @PostMapping("/update") + @RequestMapping(value = "/update", method = RequestMethod.GET) public String updatePassword(Model model) { + + return "/password.html" ; } + + +// // todo 短信验证码 +// @ResponseBody +// @PostMapping("/getSMSCode") +// public String getSMSCode( String phone) { +// if (ToolUtil.isEmpty(phone)) { +// return ResultUtil.paranErr("phone"); +// } +// if (ToolUtil.isEmpty(type)) { +// return ResultUtil.paranErr("type"); +// } +//// try { +// String smsCode = appUserClient.getSMSCode(phone); +// return smsCode; +//// } catch (Exception e) { +//// e.printStackTrace(); +//// return ResultUtil.runErr(); +//// } +// } + // @Autowired // private RedisUtil redisUtil; // /** diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/RoleController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/RoleController.java index a532422..93c2c75 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/RoleController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/RoleController.java @@ -31,6 +31,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.stream.Collectors; /** * 角色控制器 @@ -110,6 +111,14 @@ @ResponseBody public Object list(@RequestParam(required = false) String roleName) { List<Map<String, Object>> roles = this.roleService.selectRoles(super.getPara("roleName")); + //运营商 + if (UserExt.getUser().getObjectType()==2){ + List<Map<String, Object>> filteredRoles = roles.stream() + .filter(role -> role.containsKey("version") && role.get("version").equals(UserExt.getUser().getId())) + .collect(Collectors.toList()); + return super.warpObject(new RoleWarpper(filteredRoles)); + + } return super.warpObject(new RoleWarpper(roles)); } @@ -127,6 +136,7 @@ role.setId(null); role.setObjType(UserExt.getUser().getObjectType()); role.setObjId(UserExt.getUser().getObjectId()); + role.setVersion(UserExt.getUser().getId()); this.roleService.save(role); 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 6abb242..74d03b6 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 @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.course.dto.*; +import com.dsh.course.entity.CoursePackageOrderStudent; import com.dsh.course.entity.EvaluateStudent; import com.dsh.course.feignClient.account.AppUserClient; import com.dsh.course.feignClient.account.StudentClient; @@ -198,18 +199,31 @@ String formattedDate = dateFormat.format(new Date()); model.addAttribute("reDate", formattedDate); - List<TCoursePackagePayment> coursePackagePayments = courseStuddentClient.queryByIds(ids); + List<CoursePackageOrderStudent> coursePackagePayments = courseStuddentClient.queryByIds(ids); BigDecimal countAll = new BigDecimal(0); - for (TCoursePackagePayment payment : coursePackagePayments){ + for (CoursePackageOrderStudent payment : coursePackagePayments){ //课包名称 TCoursePackage tCoursePackage = coursePackageClient.queryById(payment.getCoursePackageId()); + List<CoursePackageOrder> ordes = courseStuddentClient.getOrder(payment.getId()); + + + payment.setName(tCoursePackage.getName()); payment.setId(Long.valueOf(tCoursePackage.getId())); - BigDecimal cashPayment = payment.getCashPayment(); + + BigDecimal cashPayment = BigDecimal.ZERO; + for (CoursePackageOrder order : ordes) { + BigDecimal cashPayment1 = order.getCashPayment(); + if (cashPayment1 != null) { + cashPayment = cashPayment.add(cashPayment1); + } + } + payment.setCashPayment(cashPayment); +// BigDecimal cashPayment = payment.getCashPayment(); if (cashPayment==null){ cashPayment = BigDecimal.ZERO; } @@ -795,10 +809,10 @@ System.out.println("========ToHoliDto========="+resultUtil); - if (resultUtil==""||resultUtil==null){ - return new ResultUtil<>(0,0,"报名成功"); + if (resultUtil.equals("报名成功")){ + return new ResultUtil<>(0,0,resultUtil); }else{ - return new ResultUtil<>(0,0,"报名成功,以下学员剩余课时不足"+resultUtil);} + return new ResultUtil<>(0,1,resultUtil);} } @@ -819,12 +833,16 @@ String resultUtil = courseStuddentClient.toTrans(toHoliDto); System.out.println("========ToHoliDto========="+resultUtil); + if (resultUtil.equals("换课成功")) { +// return ResultUtil.success(resultUtil); + return new ResultUtil<>(0,0,resultUtil); - if (resultUtil==""){ - return new ResultUtil<>(0,0,"报名成功"); - }else{ - return new ResultUtil<>(0,0,"报名成功,以下学员剩余课时不足"+resultUtil);} - } + }else { + return new ResultUtil<>(0,1,resultUtil);} + } +// if (resultUtil==""){ +// }else{ + //赠课 diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java index bf7ce4a..6272ff1 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java @@ -218,14 +218,20 @@ return res; case 2: // 运营商查询运营商账号的员工和属于该运营商门店的员工 - userQuery.setObjectType(2); - userQuery.setObjectId(objectId); - // 获取属于这个运营商的门店的店长ids - List<Integer> storeStaffIds = storeService.list(new QueryWrapper<TStore>().eq("operatorId", objectId) - .ne("state", 3)).stream().map(TStore::getStoreStaffId).collect(Collectors.toList()); - userQuery.setStoreIds(storeStaffIds); +// userQuery.setObjectType(2); +// userQuery.setObjectId(objectId); +// // 获取属于这个运营商的门店的店长ids +// List<Integer> storeStaffIds = storeService.list(new QueryWrapper<TStore>().eq("operatorId", objectId) +// .ne("state", 3)).stream().map(TStore::getStoreStaffId).collect(Collectors.toList()); +// userQuery.setStoreIds(storeStaffIds); +// List<UserListVO> res1= userService.searchUsers(userQuery); List<UserListVO> res1= userService.searchUsers(userQuery); - return res1; + List<UserListVO> filteredList = res1.stream() + .filter(vo -> Objects.equals(vo.getVersion(), UserExt.getUser().getId())) + .collect(Collectors.toList()); + +// return res1; + return filteredList; case 3: // 门店只查询门店员工 TStore store = storeService.getById(objectId); @@ -282,7 +288,13 @@ user.setStatus(ManagerStatus.OK.getCode()); user.setCreatetime(new Date()); User objectUser = UserFactory.createUser(user); - objectUser.setObjectType(Integer.valueOf(user.getRoleid())); + + if (user.getRoleid().equals("")){ + objectUser.setObjectType(2); + }else { + objectUser.setObjectType(Integer.valueOf(user.getRoleid())); + + } objectUser.setObjectId(UserExt.getUser().getObjectId()); objectUser.setRoleid(user.getRoleid()); objectUser.setAccount(user.getPhone()); @@ -307,6 +319,7 @@ objectUser.setRoleid("3"); objectUser.setObjectId(UserExt.getUser().getObjectId()); } + objectUser.setVersion(UserExt.getUser().getId()); this.userService.save(objectUser); return SUCCESS_TIP; } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackageOrder.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackageOrder.java new file mode 100644 index 0000000..1322263 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackageOrder.java @@ -0,0 +1,115 @@ +package com.dsh.guns.modular.system.model; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author zhibing.pu + * @Date 2023/11/25 11:45 + */ +@Data +@TableName("t_course_package_order") +public class CoursePackageOrder { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.NONE) + private Long id; + /** + * 业务编号 + */ + @TableField("code") + private String code; + /** + * 用户id + */ + @TableField("appUserId") + private Integer appUserId; + /** + * 学员ids + */ + @TableField("studentIds") + private String studentIds; + /** + * 课包id + */ + @TableField("coursePackageId") + private Integer coursePackageId; + /** + * 支付方式(1=微信,2=支付宝,3=玩湃币,4=积分,5=积分+微信,6=积分+支付宝) + */ + @TableField("payType") + private Integer payType; + /** + * 课时数 + */ + @TableField("classHours") + private Integer classHours; + /** + * 原价 + */ + @TableField("originalPrice") + private Double originalPrice; + /** + * 优惠券id + */ + @TableField("userCouponId") + private Long userCouponId; + /** + * 现金支付价格 + */ + @TableField("cashPayment") + private BigDecimal cashPayment; + /** + * 玩湃币价格/积分 + */ + @TableField("playPaiCoin") + private Integer playPaiCoin; + /** + * 支付用户类型(1=用户,2=管理员) + */ + @TableField("payUserType") + private Integer payUserType; + /** + * 支付状态(1=待支付,2=已支付) + */ + @TableField("payStatus") + private Integer payStatus; + /** + * 第三方支付流水号 + */ + @TableField("orderNumber") + private String orderNumber; + /** + * 支付用户id + */ + @TableField("payUserId") + private Integer payUserId; + /** + * 状态(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("payUserName") + private String payUserName; + /** + * 销售人员(线下购课添加购课订单时使用) + */ + @TableField("salesName") + private String salesName; + + private String name; +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/UserListVO.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/UserListVO.java index 74f110c..4a70445 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/UserListVO.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/UserListVO.java @@ -29,4 +29,6 @@ private String deptName; // 状态 1=正常 2=冻结 private Integer status; + + private Integer version; } diff --git a/cloud-server-management/src/main/resources/mapper/UserMapper.xml b/cloud-server-management/src/main/resources/mapper/UserMapper.xml index 71b8210..2ade598 100644 --- a/cloud-server-management/src/main/resources/mapper/UserMapper.xml +++ b/cloud-server-management/src/main/resources/mapper/UserMapper.xml @@ -116,7 +116,7 @@ order by o.id desc </select> <select id="searchUsers" resultType="com.dsh.guns.modular.system.model.UserListVO"> - select t1.id,t1.name ,t1.phone ,t1.avatar,t1.birthday,t1.sex,t1.idCard,t1.status + select t1.id,t1.name ,t1.phone ,t1.avatar,t1.birthday,t1.sex,t1.idCard,t1.status,t1.version ,t2.simplename as deptName from sys_user t1 left join sys_dept t2 on t1.deptid = t2.id <where> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEditTTT.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEditTTT.html index d02be05..3e7bab7 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEditTTT.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEditTTT.html @@ -91,7 +91,8 @@ "labelField": "value", "valueField": "id", "size": "md", - "searchable": true + "searchable": true, + "required": true }, { "type": "input-text", @@ -99,7 +100,8 @@ "name": "classNum", "id": "u:0333b5c5d05c", "mode": "horizontal", - "size": "md" + "size": "md", + "required": true } ], "api": { diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/trans.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/trans.html index f37055a..c403b0b 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/trans.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/trans.html @@ -92,7 +92,8 @@ "labelField": "value", "valueField": "id", "size": "md", - "searchable": true + "searchable": true, + "required": true } ], "api": { diff --git a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/registrationRecord.js b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/registrationRecord.js index 1a7c4d1..6236451 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/registrationRecord.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/registrationRecord.js @@ -122,7 +122,7 @@ RegistrationRecord.holiClass = function () { if (this.check1()) { var ids = RegistrationRecord.seItem1.map(function(item) { - return item.id; + return item.studentId; }).join(","); let index = layer.open({ type: 2, @@ -139,7 +139,7 @@ RegistrationRecord.transClass = function () { if (this.check()) { var ids = RegistrationRecord.seItem1.map(function(item) { - return item.id; + return item.studentId; }).join(","); let index = layer.open({ type: 2, diff --git a/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java b/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java index 4b95453..e05a3f2 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java +++ b/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.concurrent.TimeUnit; @@ -29,15 +30,28 @@ @Scheduled(fixedRate = 60000) public void taskMinute() { try { + Date date = new Date(); // 要增加的日期 + List<SiteBooking> siteBookings = siteBookingMapper. selectList(new LambdaQueryWrapper<SiteBooking>().eq(SiteBooking::getStatus, 0)); for (SiteBooking siteBooking : siteBookings) { - long time = siteBooking.getInsertTime().getTime(); - long l = time + 1800 * 1000; - if (System.currentTimeMillis() > l) { + + Date insert = siteBooking.getInsertTime(); + // 创建 Calendar 对象,并设置为指定的日期 + Calendar calendar = Calendar.getInstance(); + calendar.setTime(insert); + + // 增加 30 分钟 + calendar.add(Calendar.MINUTE, 30); + + // 获取增加后的日期 + Date newDate = calendar.getTime(); + +// long time = siteBooking.getInsertTime().getTime(); +// long l = time + 1800 * 1000; + if (date.after(newDate)) { siteBooking.setStatus(5); siteBookingMapper.updateById(siteBooking); -// siteBookingMapper.deleteById(siteBooking.getId()); } } //定时修改赛事状态 -- Gitblit v1.7.1