From ff3f4ff4c8a6da4c1650611e11a4551680b10d77 Mon Sep 17 00:00:00 2001
From: luo <2855143437@qq.com>
Date: 星期二, 26 九月 2023 21:26:22 +0800
Subject: [PATCH] 9.26。6

---
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java |  217 ++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 138 insertions(+), 79 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 aebf727..5323555 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
@@ -143,9 +143,11 @@
             ArrayList<String> classTime = new ArrayList<>();
             String[] split = classStartTime.split(",");
             String[] split3 = classEndTime.split(",");
-            for (int i = 0; i < split.length; i++) {
-                String s = split[i] + "-" +  split3[i];
-                classTime.add(s);
+            if(ToolUtil.isNotEmpty(classStartTime)) {
+                for (int i = 0; i < split.length; i++) {
+                    String s = split[i].substring(0,5) + "-" + split3[i].substring(0,5);
+                    classTime.add(s);
+                }
             }
             coursePackageListVo.setClassStartTime(classTime);
             coursePackageListVo.setType(coursePackage.getType());
@@ -283,6 +285,7 @@
         }
         return listVos;
     }
+
 
 
     @Override
@@ -484,6 +487,11 @@
             TCoursePackage coursePackage = this.getById(id);
             CoursePackageInfo coursePackageInfo = new CoursePackageInfo();
             coursePackageInfo.setId(id);
+        SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd");
+        if(coursePackage.getType()==2){
+
+            coursePackageInfo.setTime(format.format(coursePackage.getStartTime())+"-"+format.format(coursePackage.getEndTime()));
+        }
             coursePackageInfo.setCoverDrawing(coursePackage.getCoverDrawing());
             coursePackageInfo.setName(coursePackage.getName());
             Store store = storeClient.queryStoreById(coursePackage.getStoreId());
@@ -507,10 +515,13 @@
             ArrayList<String> classTime = new ArrayList<>();
             String[] split4 = classStartTime.split(",");
             String[] split3 = classEndTime.split(",");
-            for (int i = 0; i < split4.length; i++) {
-                String s = split4[i] + "-" +  split3[i];
-                classTime.add(s);
+            if(ToolUtil.isNotEmpty(classStartTime)){
+                for (int i = 0; i < split4.length; i++) {
+                    String s = split4[i].substring(0,5) + "-" +  split3[i].substring(0,5);
+                    classTime.add(s);
+                }
             }
+
             coursePackageInfo.setTimes(classTime);
             coursePackageInfo.setType(coursePackage.getType());
 
@@ -661,13 +672,27 @@
         String[] students = paymentCourseVo.getStudentIds().split(";");
         for (CoursePackagePaymentConfigVo coursePackagePaymentConfigVo : list) {
             if(paymentCourseVo.getCoursePackagePaymentConfigId().compareTo(coursePackagePaymentConfigVo.getId()) == 0){
+                CoursePackagePaymentConfig byId = coursePackagePaymentConfigService.getById(paymentCourseVo.getCoursePackagePaymentConfigId());
+                Double cashPayment = byId.getCashPayment();
                 Integer payType = coursePackagePaymentConfigVo.getPayType();
-                if(payType == 1 && paymentCourseVo.getPayType() == 3){//现金支付
-                    return ResultUtil.error("支付方式错误,请刷新后重试");
+                Integer playPaiCoin1 = byId.getPlayPaiCoin();
+                if(cashPayment!=null || cashPayment>0){
+                    payType=1;
                 }
-                if(payType == 2 && paymentCourseVo.getPayType() != 3){//玩湃币支付
-                    return ResultUtil.error("支付方式错误,请刷新后重试");
+                if(playPaiCoin1!=null || playPaiCoin1>0){
+                    payType=2;
                 }
+
+                if(cashPayment!=null && cashPayment>0 && playPaiCoin1 !=null && playPaiCoin1>0){
+                }else {
+                    if(payType == 1 && paymentCourseVo.getPayType() == 3){//现金支付
+                        return ResultUtil.error("支付方式错误,请刷新后重试");
+                    }
+                    if(payType == 2 && paymentCourseVo.getPayType() != 3){//玩湃币支付
+                        return ResultUtil.error("支付方式错误,请刷新后重试");
+                    }
+                }
+
                 Double paymentPrice = coursePackagePaymentConfigVo.getPaymentPrice();//支付价
                 paymentPrice = new BigDecimal(students.length).multiply(new BigDecimal(paymentPrice)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                 Double playPaiCoin = coursePackagePaymentConfigVo.getPlayPaiCoin().doubleValue();//支付币
@@ -1032,7 +1057,7 @@
                 for (int i1 = 0; i1 < split.length; i1++) {
 
                     CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
-                    coursePackageScheduling.setCourseId(tCoursePackage.getId());
+                    coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                     try {
                         Date parse = format1.parse(format.format(time) + " " + split[i1]);
                         Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
@@ -1060,33 +1085,40 @@
             }else if(integer>i) {
                 Calendar instance = Calendar.getInstance();
                 instance.add(Calendar.DATE,integer-i);
-                Date time = instance.getTime();
+                Date time1 = instance.getTime();
+                List<Date> list = new ArrayList<>();
+                list.add(time1);
+                instance.add(Calendar.DATE,7);
+                Date time2 = instance.getTime();
+                list.add(time2);
+                for (Date time : list) {
+                    for (int i1 = 0; i1 < split.length; i1++) {
+                        CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+                        coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+                        try {
+                            Date parse = format1.parse(format.format(time) + " " + split[i1]);
+                            Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
+                            coursePackageScheduling.setClassDate(parse);
+                            coursePackageScheduling.setEndDate(parse1);
+                            coursePackageScheduling.setStatus(1);
+                            coursePackageSchedulingService.save(coursePackageScheduling);
 
-                for (int i1 = 0; i1 < split.length; i1++) {
-                    CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
-                    coursePackageScheduling.setCourseId(tCoursePackage.getId());
-                    try {
-                        Date parse = format1.parse(format.format(time) + " " + split[i1]);
-                        Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
-                        coursePackageScheduling.setClassDate(parse);
-                        coursePackageScheduling.setEndDate(parse1);
-                        coursePackageScheduling.setStatus(1);
-                        coursePackageSchedulingService.save(coursePackageScheduling);
-
-                        CoursePackageStudent student1 = new CoursePackageStudent();
-                        student1.setAppUserId(userId);
-                        student1.setStudentId(sId);
-                        student1.setCoursePackageId(tCoursePackage.getId());
-                        student1.setCoursePackagePaymentId(paymentId);
-                        student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
-                        student1.setSignInOrNot(0);
-                        student1.setReservationStatus(1);
-                        student1.setInsertTime(new Date());
-                        cpsMapper.insert(student1);
-                    } catch (ParseException e) {
-                        e.printStackTrace();
+                            CoursePackageStudent student1 = new CoursePackageStudent();
+                            student1.setAppUserId(userId);
+                            student1.setStudentId(sId);
+                            student1.setCoursePackageId(tCoursePackage.getId());
+                            student1.setCoursePackagePaymentId(paymentId);
+                            student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+                            student1.setSignInOrNot(0);
+                            student1.setReservationStatus(1);
+                            student1.setInsertTime(new Date());
+                            cpsMapper.insert(student1);
+                        } catch (ParseException e) {
+                            e.printStackTrace();
+                        }
                     }
                 }
+
             }else {
                 Calendar instance = Calendar.getInstance();
                 instance.add(Calendar.DATE,7);
@@ -1094,13 +1126,17 @@
 
                 for (int i1 = 0; i1 < split.length; i1++) {
                     CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
-                    coursePackageScheduling.setCourseId(tCoursePackage.getId());
+                    coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                     try {
                         Date parse = format1.parse(format.format(time) + " " + split[i1]);
                         Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
                         coursePackageScheduling.setClassDate(parse);
                         coursePackageScheduling.setEndDate(parse1);
                         coursePackageScheduling.setStatus(1);
+                        coursePackageScheduling.setCourseId(tCoursePackage.getId());
+                        coursePackageScheduling.setIntegral(0);
+                        coursePackageScheduling.setCancelClasses("");
+                        coursePackageScheduling.setDeductClassHour(0);
                         coursePackageSchedulingService.save(coursePackageScheduling);
 
                         CoursePackageStudent student1 = new CoursePackageStudent();
@@ -1201,56 +1237,79 @@
     @Override
     public Integer addCoursePackage(TCoursePackage coursePackage) {
         try {
+            coursePackage.setAuditStatus(2);
             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();
+            if (coursePackage.getClassStartTime()!=null&&coursePackage.getClassStartTime()!="") {
+                //生成排课数据
+                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().trim();
 
-            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);
+                String[] star = value.split(",");
+                String[] end = value1.split(",");
 
-                    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);
+                for (int i = 0; i < star.length; i++) {
 
-                    CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
-                    coursePackageScheduling.setCoursePackageId(coursePackage.getId());
-                    coursePackageScheduling.setClassDate(classDate.getTime());
-                    coursePackageScheduling.setEndDate(endDate.getTime());
-                    coursePackageScheduling.setStatus(1);
-                    coursePackageSchedulingService.save(coursePackageScheduling);
+//                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) + 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;
+                        }
+                    }
+
                 }
-                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();

--
Gitblit v1.7.1