From d36bf25f7494870cbb77c256a04dd8c8b2d42f31 Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期二, 28 十一月 2023 11:38:25 +0800
Subject: [PATCH] 11.11

---
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java |   90 +++++++++++++++++++++++++--------------------
 1 files changed, 50 insertions(+), 40 deletions(-)

diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
index 3f681cd..9e13e0d 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -130,13 +130,8 @@
 
     @Override
     public int changeState(CoursePackagePayDTO dto) {
-        List<String> ids = dto.getIds();
-        List<Long> list = new ArrayList<>();
-        for (String id : ids) {
-            long value = Long.parseLong(id);
-            list.add(value);
-        }
-        return cpConfigMapper.changeState(list, dto.getPayUserName(), dto.getUserId());
+
+        return cpConfigMapper.changeState(Long.valueOf(dto.getIds()), dto.getPayUserName(), dto.getUserId());
     }
 
     @Override
@@ -515,16 +510,7 @@
     public CourseDetailsResponse queryRegisteredCourseDetails(Long coursePayId, Integer appUserId, String lon, String lat) {
         AppUser appUser = appuClient.queryAppUser(appUserId);
         CourseDetailsResponse response = new CourseDetailsResponse();
-        CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(coursePayId);
-        CoursePackageOrder coursePackageOrder = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>()
-                .eq("appUserId", coursePackageOrderStudent.getAppUserId())
-                .eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId())
-                .eq("payStatus", 2)
-                .eq("state", 1)
-                .like("studentIds", coursePackageOrderStudent.getStudentId())
-                .orderByDesc("insertTime")
-                .last(" limit 0, 1")
-        );
+        CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(coursePayId);
 
 
         response.setChooseHours(coursePackageOrder.getClassHours());
@@ -603,7 +589,9 @@
                     response.setVipAmount(discountMember);
                     break;
                 case 3:
-                    response.setWpGold(playPaiCoin);
+                    if (playPaiCoin!=null) {
+                        response.setWpGold(playPaiCoin);
+                    }
                     break;
             }
 
@@ -721,16 +709,16 @@
                     TCoursePackageDiscount discount = coursePackageDiscountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId())
                             .eq("type", 2).eq("auditStatus", 2));
 
-                    Double continuingMember = JSON.parseObject(discount.getContent()).getDouble("continuingUser");
-                    Double vipcontinuingMember = JSON.parseObject(discount.getContent()).getDouble("continuingMember");
-
-
-                    if (coursePackagePaymentConfigVo.getPaymentPrice() > continuingMember) {
-                        coursePackagePaymentConfigVo.setPaymentPrice(continuingMember);
-                    }
-                    if (coursePackagePaymentConfigVo.getVipPrice() > vipcontinuingMember) {
-                        coursePackagePaymentConfigVo.setVipPrice(vipcontinuingMember);
-                    }
+//                    Double continuingMember = JSON.parseObject(discount.getContent()).getDouble("continuingUser");
+//                    Double vipcontinuingMember = JSON.parseObject(discount.getContent()).getDouble("continuingMember");
+//
+//
+//                    if (coursePackagePaymentConfigVo.getPaymentPrice() > continuingMember) {
+//                        coursePackagePaymentConfigVo.setPaymentPrice(continuingMember);
+//                    }
+//                    if (coursePackagePaymentConfigVo.getVipPrice() > vipcontinuingMember) {
+//                        coursePackagePaymentConfigVo.setVipPrice(vipcontinuingMember);
+//                    }
 
 
                     if (coursePackagePaymentConfigVo.getPaymentPrice() < coursePackagePaymentConfigVo.getVipPrice()) {
@@ -1203,6 +1191,7 @@
     @Override
     public List<Map<String, Object>> queryRegistrationRecord(Page<Map<String, Object>> page, QueryRegistrationRecord queryRegistrationRecord) {
         Integer coursePackageId = queryRegistrationRecord.getCoursePackageId();
+        TCoursePackage coursePackage = coursePackageService.getById(coursePackageId);
         String userName = queryRegistrationRecord.getUserName();
         List<Integer> userIds = null;
         List<Integer> studentIds = null;
@@ -1219,12 +1208,23 @@
                 studentIds = students.stream().map(Student::getId).collect(Collectors.toList());
             }
         }
-        List<Map<String, Object>> list = this.baseMapper.queryRegistrationRecord(page, coursePackageId, userIds, studentIds);
+
+        List<Map<String, Object>> list = new ArrayList<>();
+
+        if (coursePackage.getType()==1){
+      list = this.baseMapper.queryRegistrationRecord(page, coursePackageId, userIds, studentIds);}else {
+            list = this.baseMapper.queryRegistrationRecord1(page, coursePackageId, userIds, studentIds);
+        }
         for (Map<String, Object> map : list) {
 
             Long id = Long.valueOf(map.get("id").toString());
             Integer appUserId = Integer.valueOf(map.get("appUserId").toString());
-            Integer studentId = Integer.valueOf(map.get("studentId").toString());
+            Integer studentId = 0;
+            if (coursePackage.getType()==1) {
+                studentId = Integer.valueOf(map.get("studentId").toString());
+            }else {
+                studentId = Integer.valueOf(map.get("studentIds").toString());
+            }
 
             TAppUser appUser = appuClient.queryAppUser1(appUserId);
             map.put("userName", null != appUser ? appUser.getName() : "");
@@ -1416,8 +1416,7 @@
             return ResultUtil.error("当前课包课时数不足");
         }
         TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId());
-        coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - req.getNum());
-        coursePackageOrderStudentService.updateById(coursePackageOrderStudent);
+        TCoursePackage coursePackage1 = coursePackageService.getById(req.getCourseId());
         //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录
         List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>()
                 .eq("studentId", coursePackageOrderStudent.getStudentId()).eq("status", 1)
@@ -1425,9 +1424,19 @@
         //已经排课但没有使用的课时数量
         int number = list1.size() * coursePackage.getNeedNum();
         Integer laveClassHours1 = coursePackageOrderStudent.getLaveClassHours();
+        laveClassHours1 -= number;
+        //需要购买使用的课时数
+        Integer num = req.getNum();
         //需要删除多余的排课记录
-        if(number > laveClassHours1){
-            int n = number - laveClassHours1;
+        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.getBaseMapper().deleteById(coursePackageScheduling.getId());
@@ -1438,9 +1447,9 @@
         }
 
 
-        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
-        String classStartTime = coursePackage.getClassStartTime();
-        String classEndTime = coursePackage.getClassEndTime();
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String classStartTime = coursePackage1.getClassStartTime();
+        String classEndTime = coursePackage1.getClassEndTime();
         String[] split5 = classStartTime.split(",");
         String[] split6 = classEndTime.split(",");
         List<String> time = req.getTime();
@@ -1450,7 +1459,7 @@
                 coursePackageScheduling.setType(3);
                 coursePackageScheduling.setAppUserId(userId);
                 coursePackageScheduling.setStudentId(req.getStuId());
-                coursePackageScheduling.setCoursePackageId(coursePackage.getId());
+                coursePackageScheduling.setCoursePackageId(req.getCourseId());
                 try {
                     Date parse = format.parse(s + " " + split5[i]);
                     Date parse1 = format.parse(s + " " + split6[i]);
@@ -1462,7 +1471,7 @@
                     CoursePackageStudent student1 = new CoursePackageStudent();
                     student1.setAppUserId(userId);
                     student1.setStudentId(req.getStuId());
-                    student1.setCoursePackageId(coursePackage.getId());
+                    student1.setCoursePackageId(req.getCourseId());
                     student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId());
                     student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
                     student1.setSignInOrNot(1);
@@ -1477,7 +1486,8 @@
             }
         }
 
-
+        coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - req.getNum());
+        coursePackageOrderStudentService.updateById(coursePackageOrderStudent);
 
 
         CourseCounsum courseCounsum = new CourseCounsum();

--
Gitblit v1.7.1