| | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.dsh.course.entity.CoursePackageOrderStudent; |
| | | import com.dsh.course.feignClient.account.StudentHonorClient; |
| | | import com.dsh.course.feignClient.account.model.StudentHonor; |
| | | import com.dsh.course.feignClient.course.*; |
| | | import com.dsh.course.feignClient.course.model.*; |
| | | import com.dsh.guns.config.UserExt; |
| | | import com.dsh.guns.core.support.HttpKit; |
| | | import com.dsh.guns.core.util.ToolUtil; |
| | | import com.dsh.guns.modular.system.model.CourseCounsum; |
| | | import com.dsh.guns.modular.system.model.TStore; |
| | | import com.dsh.guns.modular.system.service.ICoursePackageService; |
| | | import com.dsh.guns.modular.system.service.IStoreService; |
| | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | |
| | | @Resource |
| | | private CancelledClassesClient cancelledClassesClient; |
| | | |
| | | @Resource |
| | | private StudentHonorClient studentHonorClient; |
| | | |
| | | |
| | | |
| | | |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Page<Map<String, Object>> queryCoursePackageLists(String provinceCode, String cityCode, Integer coursePackageTypeId, Integer storeId, String name, Integer status, Integer state) { |
| | | public Page<Map<String, Object>> queryCoursePackageLists(String provinceCode, String cityCode, Integer coursePackageTypeId, List<Integer> storeId, String name, Integer status, Integer state) { |
| | | QueryCoursePackageLists queryCoursePackageLists = new QueryCoursePackageLists(); |
| | | queryCoursePackageLists.setProvinceCode(provinceCode); |
| | | queryCoursePackageLists.setCityCode(cityCode); |
| | | queryCoursePackageLists.setCoursePackageTypeId(coursePackageTypeId); |
| | | queryCoursePackageLists.setStoreId(storeId); |
| | | queryCoursePackageLists.setStoreIds(storeId); |
| | | queryCoursePackageLists.setName(name); |
| | | queryCoursePackageLists.setState(state); |
| | | queryCoursePackageLists.setStatus(status); |
| | |
| | | */ |
| | | @Override |
| | | public void updateCoursePackage(TCoursePackage coursePackage, String coursePackagePaymentConfig) { |
| | | String holitime = coursePackage.getHolitime(); |
| | | if (holitime!=null){ |
| | | // 如果为空字符串 则默认未修改 |
| | | if (holitime.equals("")){ |
| | | TCoursePackage tCoursePackage = coursePackageClient.queryById(coursePackage.getId()); |
| | | coursePackage.setStartTime(tCoursePackage.getStartTime()); |
| | | coursePackage.setEndTime(tCoursePackage.getEndTime()); |
| | | }else{ |
| | | String[] split = holitime.split(" - "); |
| | | String startTime = split[0]; |
| | | String endTime = split[1]; |
| | | SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); |
| | | SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd"); |
| | | try { |
| | | Date parse1 = format1.parse(startTime); |
| | | parse1.setHours(0); |
| | | parse1.setMinutes(0); |
| | | parse1.setSeconds(0); |
| | | Date parse2 = format2.parse(endTime); |
| | | parse2.setHours(23); |
| | | parse2.setMinutes(59); |
| | | parse2.setSeconds(59); |
| | | coursePackage.setStartTime(parse1); |
| | | coursePackage.setEndTime(parse2); |
| | | } catch (ParseException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | coursePackageClient.updateCoursePackage(coursePackage); |
| | | coursePackagePaymentConfigClient.delCoursePackagePaymentConfig(coursePackage.getId()); |
| | | List<TCoursePackageDiscount> tCoursePackageDiscounts = coursePackageDiscountClient |
| | | .queryByCoursePackageId(coursePackage.getId()); |
| | | |
| | | JSONArray jsonArray = JSON.parseArray(coursePackagePaymentConfig); |
| | | for (int i = 0; i < jsonArray.size(); i++) { |
| | | JSONObject jsonObject = jsonArray.getJSONObject(i); |
| | |
| | | coursePackagePaymentConfig1.setCashPayment(cashPayment); |
| | | coursePackagePaymentConfig1.setPlayPaiCoin(playPaiCoin); |
| | | coursePackagePaymentConfig1.setCouponIds(couponIds); |
| | | coursePackagePaymentConfigClient.addCoursePackagePaymentConfig(coursePackagePaymentConfig1); |
| | | int i1 = coursePackagePaymentConfigClient.addCoursePackagePaymentConfig(coursePackagePaymentConfig1); |
| | | // for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) { |
| | | // tCoursePackageDiscount.setCoursePackagePaymentConfigId(coursePackagePaymentConfig1.getId()); |
| | | // coursePackageDiscountClient.update(tCoursePackageDiscount); |
| | | // } |
| | | } |
| | | } |
| | | |
| | |
| | | coursePackageDiscount1.setCoursePackagePaymentConfigId(coursePackagePaymentConfigId); |
| | | coursePackageDiscount1.setType(type); |
| | | coursePackageDiscount1.setContent(cpd.getString("content")); |
| | | coursePackageDiscount1.setAuditStatus(2); |
| | | if (UserExt.getUser().getObjectType() == 1){ |
| | | coursePackageDiscount1.setAuditStatus(2); |
| | | }else if (UserExt.getUser().getObjectType() == 2){ |
| | | coursePackageDiscount1.setAuditStatus(1); |
| | | } |
| | | |
| | | coursePackageDiscount1.setInsertTime(new Date()); |
| | | list.add(coursePackageDiscount1); |
| | | } |
| | |
| | | return coursePackageStudentClient.queryCoursePackageStudentList(queryCoursePackageStudentList); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 取消预约 |
| | | * @param id |
| | |
| | | @Override |
| | | public ResultUtil cancelReservation(Long id) { |
| | | CoursePackageStudent coursePackageStudent = coursePackageStudentClient.queryCoursePackageStudentById(id); |
| | | if(coursePackageStudent.getSignInOrNot() == 1){ |
| | | return ResultUtil.error("无法取消预约"); |
| | | } |
| | | // if(coursePackageStudent.getSignInOrNot() == 1){ |
| | | // return ResultUtil.error("当前学员已到课不能请假"); |
| | | // } |
| | | // TCoursePackagePayment payment = coursePackagePaymentClient.queryCoursePackagePaymentById(coursePackageStudent.getCoursePackagePaymentId()); |
| | | // payment.setAbsencesNumber(payment.getAbsencesNumber()+1); |
| | | // coursePackagePaymentClient.editCoursePackagePayment(payment); |
| | | |
| | | |
| | | coursePackageStudent = new CoursePackageStudent(); |
| | | coursePackageStudent.setId(id); |
| | | coursePackageStudent.setReservationStatus(0); |
| | | // coursePackageStudent.setReservationStatus(0); |
| | | coursePackageStudent.setSignInOrNot(2); |
| | | |
| | | |
| | | coursePackageStudent.getCoursePackagePaymentId(); |
| | | |
| | | coursePackageStudentClient.editCoursePackageStudent(coursePackageStudent); |
| | | return ResultUtil.success(); |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | public ResultUtil cancelClassSchedule(Long id) { |
| | | CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingClient.queryCoursePackageSchedulingById(id); |
| | | if(coursePackageScheduling.getStatus() != 1){ |
| | | return ResultUtil.error("不能取消本次"); |
| | | |
| | | // List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingClient.queryCoursePackageSchedulingsById(id); |
| | | // List<Long> integers = new ArrayList<>(); |
| | | // for (CoursePackageScheduling coursePackageScheduling : coursePackageSchedulings) { |
| | | // integers.add(coursePackageScheduling.getId()); |
| | | // } |
| | | List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingClient.queryCoursePackageSchedulingsById(id); |
| | | List<Long> integers = new ArrayList<>(); |
| | | for (CoursePackageScheduling coursePackageScheduling : coursePackageSchedulings) { |
| | | integers.add(coursePackageScheduling.getId()); |
| | | coursePackageScheduling.setStatus(4); |
| | | } |
| | | List<CoursePackageStudent> coursePackageStudents = coursePackageStudentClient.queryByCoursePackageSchedulingId(id); |
| | | if(coursePackageStudents.size() > 0){ |
| | | return ResultUtil.error("不能取消本次"); |
| | | } |
| | | coursePackageScheduling = new CoursePackageScheduling(); |
| | | coursePackageScheduling.setId(id); |
| | | coursePackageScheduling.setStatus(4); |
| | | coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageScheduling); |
| | | |
| | | coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageSchedulings); |
| | | |
| | | |
| | | |
| | | // CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingClient.queryCoursePackageSchedulingById(id); |
| | | // if(coursePackageScheduling.getStatus() != 1){ |
| | | // return ResultUtil.error("不能取消本次"); |
| | | // } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // List<CoursePackageStudent> coursePackageStudents = coursePackageStudentClient.queryByCoursePackageSchedulingId(id); |
| | | // if(coursePackageStudents.size() > 0){ |
| | | //// return ResultUtil.error("不能取消本次"); |
| | | // } |
| | | // coursePackageScheduling = new CoursePackageScheduling(); |
| | | // coursePackageScheduling.setId(id); |
| | | // coursePackageScheduling.setStatus(4); |
| | | // coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageScheduling); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public ResultUtil afterClassExercises(Long id, Integer courseId, Integer integral) { |
| | | CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingClient.queryCoursePackageSchedulingById(id); |
| | | if(coursePackageScheduling.getStatus() != 3){ |
| | | return ResultUtil.error("不能发布课后练习"); |
| | | // CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingClient.queryCoursePackageSchedulingById(id); |
| | | |
| | | // List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingClient.queryCoursePackageSchedulingsById(id); |
| | | |
| | | |
| | | List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingClient.queryCoursePackageSchedulingsById(id); |
| | | List<Long> integers = new ArrayList<>(); |
| | | for (CoursePackageScheduling coursePackageScheduling : coursePackageSchedulings) { |
| | | integers.add(coursePackageScheduling.getId()); |
| | | coursePackageScheduling.setCourseId(courseId); |
| | | coursePackageScheduling.setIntegral(integral); |
| | | } |
| | | coursePackageScheduling.setCourseId(courseId); |
| | | coursePackageScheduling.setIntegral(integral); |
| | | coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageScheduling); |
| | | |
| | | coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageSchedulings); |
| | | |
| | | // for (CoursePackageScheduling coursePackageScheduling : coursePackageSchedulings) { |
| | | // integers.add(coursePackageScheduling.getId()); |
| | | // if(coursePackageScheduling.getStatus() != 3){ |
| | | // return ResultUtil.error("不能发布课后练习"); |
| | | // } |
| | | // coursePackageScheduling.setCourseId(courseId); |
| | | // coursePackageScheduling.setIntegral(integral); |
| | | // coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageScheduling); |
| | | // } |
| | | |
| | | // if(coursePackageScheduling.getStatus() != 3){ |
| | | // return ResultUtil.error("不能发布课后练习"); |
| | | // } |
| | | // coursePackageScheduling.setCourseId(courseId); |
| | | // coursePackageScheduling.setIntegral(integral); |
| | | // coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageScheduling); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public ResultUtil cancellationRecord(Long id, String cancelClasses, Integer deductClassHour) { |
| | | CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingClient.queryCoursePackageSchedulingById(id); |
| | | if(coursePackageScheduling.getStatus() == 1 || coursePackageScheduling.getStatus() == 4){ |
| | | return ResultUtil.error("不能添加消课凭证"); |
| | | } |
| | | coursePackageScheduling.setCancelClasses(cancelClasses); |
| | | coursePackageScheduling.setDeductClassHour(deductClassHour); |
| | | coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageScheduling); |
| | | List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingClient.queryCoursePackageSchedulingsById(id); |
| | | CoursePackageScheduling coursePackageScheduling1 = coursePackageSchedulings.get(0); |
| | | Date classDate = coursePackageScheduling1.getEndDate(); |
| | | |
| | | List<CoursePackageStudent> coursePackageStudents = coursePackageStudentClient.queryByCoursePackageSchedulingId(id); |
| | | if (new Date().before(classDate)){ |
| | | return ResultUtil.error("课程未结束,无法消课"); |
| | | } |
| | | List<Long> integers = new ArrayList<>(); |
| | | for (CoursePackageScheduling coursePackageScheduling : coursePackageSchedulings) { |
| | | integers.add(coursePackageScheduling.getId()); |
| | | coursePackageScheduling.setCancelClasses(cancelClasses); |
| | | coursePackageScheduling.setDeductClassHour(deductClassHour); |
| | | coursePackageScheduling.setStatus(3); |
| | | } |
| | | coursePackageSchedulingClient.editCoursePackageScheduling(coursePackageSchedulings); |
| | | |
| | | List<CoursePackageStudent> coursePackageStudents = coursePackageStudentClient.queryByCoursePackageSchedulingId(integers); |
| | | for (CoursePackageStudent coursePackageStudent : coursePackageStudents) { |
| | | if(coursePackageStudent.getReservationStatus() == 0){ |
| | | if(coursePackageStudent.getSignInOrNot() == 2){ |
| | | continue; |
| | | } |
| | | 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.getSignInOrNot() == 0){ |
| | | tCoursePackagePayment.setAbsencesNumber(tCoursePackagePayment.getAbsencesNumber() + 1); |
| | | if(coursePackageStudent.getReservationStatus() == 0){ |
| | | coursePackageOrderStudent.setAbsencesNumber(coursePackageOrderStudent.getAbsencesNumber() + 1); |
| | | } |
| | | System.out.println("====tCoursePackagePayment====="+tCoursePackagePayment); |
| | | coursePackagePaymentClient.editCoursePackagePayment(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) { |
| | | cancelledClasses.setCancelledClassesNumber(deductClassHour);} |
| | | cancelledClasses.setCancelledClassesNumber(deductClassHour); |
| | | } |
| | | cancelledClasses.setInsertTime(new Date()); |
| | | cancelledClassesClient.addCancelledClasses(cancelledClasses); |
| | | |
| | | //添加勋章数据 |
| | | QueryCoursePackageStudent queryCoursePackageStudent = new QueryCoursePackageStudent(); |
| | | queryCoursePackageStudent.setAppUserId(coursePackageStudent.getAppUserId()); |
| | | queryCoursePackageStudent.setSignInOrNot(1); |
| | | queryCoursePackageStudent.setReservationStatus(1); |
| | | List<CoursePackageStudent> coursePackageStudents1 = coursePackageStudentClient.queryCoursePackageStudent(queryCoursePackageStudent); |
| | | StudentHonor studentHonor = new StudentHonor(); |
| | | studentHonor.setAppUserId(coursePackageStudent.getAppUserId()); |
| | | studentHonor.setHonorType(1); |
| | | studentHonor.setNumber(coursePackageStudents1.size()); |
| | | studentHonorClient.saveStudentHonor(studentHonor); |
| | | } |
| | | |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public ResultUtil makeUpMissedLessons(Long coursePackagePaymentId) { |
| | | TCoursePackagePayment coursePackagePayment = coursePackagePaymentClient.queryCoursePackagePaymentById(coursePackagePaymentId); |
| | | System.out.println("=========coursePackagePayment=====>"+coursePackagePayment); |
| | | if(coursePackagePayment.getStatus() == 2){ |
| | | return ResultUtil.error("该学员已退课"); |
| | | } |
| | | if(coursePackagePayment.getAbsencesNumber() == 0){ |
| | | return ResultUtil.error("当前不需要补课"); |
| | | } |
| | | coursePackagePayment.setAbsencesNumber(coursePackagePayment.getAbsencesNumber() - 1); |
| | | coursePackagePaymentClient.editCoursePackagePayment(coursePackagePayment); |
| | | return ResultUtil.success(); |
| | | public ResultUtil makeUpMissedLessons(Integer coursePackagePaymentId){ |
| | | // try { |
| | | Integer is = coursePackagePaymentClient.consumeCourse(coursePackagePaymentId); |
| | | if (is==1){ |
| | | return ResultUtil.error("课时数不足"); |
| | | }else { |
| | | return ResultUtil.success("补课成功"); |
| | | } |
| | | // return resultUtil; |
| | | // return ResultUtil.success("补课成功"); |
| | | // }catch (Exception e){ |
| | | // return ResultUtil.success("课时数不足"); |
| | | // |
| | | // } |
| | | |
| | | // return resultUtil; |
| | | } |
| | | |
| | | |