From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 11 七月 2024 10:47:51 +0800
Subject: [PATCH] 玩湃微信商户认证代码

---
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java |  172 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 93 insertions(+), 79 deletions(-)

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 9bc7408..a767089 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
@@ -28,6 +28,7 @@
 import com.dsh.course.util.*;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.obs.services.internal.ServiceException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -137,6 +138,12 @@
     @Autowired
     private ICoursePackageOrderStudentService coursePackageOrderStudentService;
 
+    @Autowired
+    private ALiSendSms aLiSendSms;
+
+    @Resource
+    private AppUserClient appuClient;
+
 
     /**
      * 查询学员入学时间 根据第一次购买课包的时间
@@ -182,7 +189,9 @@
         coursePackageOrder.setOriginalPrice(packagePayment.getOriginalPrice());
         coursePackageOrder.setCashPayment(packagePayment.getCashPayment());
         coursePackageOrder.setPlayPaiCoin(packagePayment.getPlayPaiCoin());
+        coursePackageOrder.setCode(packagePayment.getCode());
         coursePackageOrder.setPayStatus(1);
+        coursePackageOrder.setStatus(1);
         coursePackageOrder.setState(1);
         coursePackageOrder.setInsertTime(new Date());
         coursePackageOrder.setSalesName(packagePayment.getSalesName());
@@ -241,11 +250,11 @@
                 calendar.setTime(new Date());
                 calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
                 coursePackageOrderStudent.setUseTime(calendar.getTime());
-
+                coursePackageOrderStudent.setInsertTime(new Date());
                 coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
                 Integer studentId = Integer.valueOf(byId1.getStudentIds());
                 //开始排课
-                addPackageStudent1(byId, byId1.getAppUserId(), studentId, coursePackageOrderStudent);
+                addPackageStudent1(byId, byId1.getAppUserId(), studentId, byId1, coursePackageOrderStudent);
             } else {
                 Date useTime = coursePackageOrderStudent.getUseTime();
                 coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + byId1.getClassHours());
@@ -274,16 +283,17 @@
                 calendar9.add(Calendar.DAY_OF_MONTH, byId.getValidDays());
                 Date time = calendar9.getTime();
                 coursePackageOrderStudent.setUseTime(time);
+                coursePackageOrderStudent.setInsertTime(new Date());
                 coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
                 Integer studentId = Integer.valueOf(byId1.getStudentIds());
                 //中间断课,没有连续续费的情况需要重新排课
                 if (useTime.compareTo(new Date()) < 0) {
-                    addPackageStudent1(byId, byId1.getAppUserId(), studentId, coursePackageOrderStudent);
+                    addPackageStudent1(byId, byId1.getAppUserId(), studentId, byId1, coursePackageOrderStudent);
                 }
             }
         }
             if(byId.getType() == 2){
-                addPackageStudent1(byId, byId1.getAppUserId(), Integer.valueOf(byId1.getStudentIds()), null);
+                addPackageStudent1(byId, byId1.getAppUserId(), Integer.valueOf(byId1.getStudentIds()), byId1, null);
             }
         return packagePaymentService.changeState(dto);
     }
@@ -333,7 +343,7 @@
             Store store = storeClient.queryStoreById(re.getStoreId());
             TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId());
             String studentId = re.getStudentId();
-            String[] split = studentId.split(",");
+            String[] split = studentId.split(";");
             StringBuilder stringBuilder = new StringBuilder("");
 
             for (String s : split) {
@@ -468,7 +478,8 @@
                 }
             }
             TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId());
-            Student student = studentClient.queryStudentById(re.getStudentId());
+            String[] split = re.getStudentIds().split(",");
+            Student student = studentClient.queryStudentById(Integer.valueOf(split[0]));
             re.setPayStudent(student.getName());
             re.setPayUser(appUser.getName());
             re.setPhone(appUser.getPhone());
@@ -757,7 +768,6 @@
         return lisco;
     }
 
-
     @PostMapping("/base/coursePack/continuingCourse")
     public StudentOfCourseVo getStudentCourse(@RequestBody GetStudentCourse getStudentCourse) {
         StudentOfCourseVo courseVo = new StudentOfCourseVo();
@@ -766,7 +776,6 @@
                 .eq("coursePackageId", getStudentCourse.getCourseId())
                 .eq("studentId", getStudentCourse.getStuId()));
         if (tCoursePackagePayments.size() > 0) {
-
             List<CourseHoursType> typeList = new ArrayList<>();
             tCoursePackagePayments.forEach(cou -> {
                 CourseHoursType hoursType = new CourseHoursType();
@@ -777,7 +786,6 @@
             TCoursePackagePayment tCoursePackagePayment = tCoursePackagePayments.get(0);
             courseVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId());
             courseVo.setTypeList(typeList);
-
             TCoursePackage coursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId());
             courseVo.setPackageImg(coursePackage.getCoverDrawing());
             courseVo.setCourseName(coursePackage.getName());
@@ -919,7 +927,6 @@
 
             Set<BaseVo> set = new HashSet<>(list);
             List<BaseVo> back = new ArrayList<>(set);
-
             return ResultUtil.success(back);
         } catch (Exception e) {
             e.printStackTrace();
@@ -937,25 +944,11 @@
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
     })
     public ResultUtil<List<AppUserVideoResponse>> queryAfterSourceList(CourseOfAfterRequest search) throws Exception {
-//        try {
         Integer appUserId = tokenUtil.getUserIdFormRedis();
 
         if (null == appUserId) {
             return ResultUtil.tokenErr();
         }
-//
-//            List<Integer> courseIds = new ArrayList<>();
-//            QueryWrapper<TCoursePackagePayment> queryWrapper = new QueryWrapper<TCoursePackagePayment>().eq("appUserId", appUserId)
-//                    .groupBy("coursePackageId");
-//            if (ToolUtil.isNotEmpty(search.getCourseTypeId())){
-//                queryWrapper.eq("coursePackageId",search.getCourseTypeId());
-//            }
-//            List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.list(queryWrapper);
-//            if (tCoursePackagePayments.size() > 0 ){
-//                courseIds = tCoursePackagePayments.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
-//            }
-
-
         QueryWrapper<CoursePackageStudent> queryWrapper1 = new QueryWrapper<CoursePackageStudent>().eq("studentId", search.getStuId());
         if (ToolUtil.isNotEmpty(search.getCourseTypeId())) {
             queryWrapper1.eq("coursePackageId", search.getCourseTypeId());
@@ -968,7 +961,6 @@
         }
 
         System.out.println("======longs========" + longs);
-//           List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>().in("id",longs).isNotNull("courseId"));
         List<AppUserVideoResponse> coursePackageSchedulings1 = coursePackageSchedulingService.queryAll(longs);
 
         if (search.getSearch() != null) {
@@ -983,11 +975,6 @@
         }
 
         return ResultUtil.success(coursePackageSchedulings1);
-
-
-//        }catch (Exception e){
-//            return ResultUtil.runErr();
-//        }
     }
 
     /**
@@ -1181,15 +1168,15 @@
     })
     public ResultUtil continuationOperation(ClasspaymentRequest request) {
         try {
-            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
-            if (null == userIdFormRedis) {
+            Integer userId = tokenUtil.getUserIdFormRedis();
+            if (null == userId) {
                 return ResultUtil.tokenErr();
             }
             Integer couponId = request.getConponId();
             if (couponId == null || couponId == 0) {
                 request.setConponId(null);
             }
-            return packagePaymentService.ContinuationOrpaymentCourse(userIdFormRedis, request);
+            return packagePaymentService.ContinuationOrpaymentCourse(userId, request);
         } catch (Exception e) {
             return ResultUtil.runErr();
         }
@@ -1202,7 +1189,6 @@
      */
     @PostMapping("/base/coursePackage/alipayRegisteredCoursesCallback")
     public void alipayCallback(HttpServletRequest request, HttpServletResponse response) {
-        System.err.println("========支付宝支付回调========");
         try {
             Map<String, String> map = payMoneyUtil.alipayCallback(request);
             if (null != map) {
@@ -1332,6 +1318,12 @@
             TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId());
             coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - paymentDeductionClassHour.getClassHour());
             coursePackageOrderStudentService.updateById(coursePackageOrderStudent);
+            Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
+            if(3 >= laveClassHours){
+                AppUser appUser = appuClient.queryAppUser(coursePackageOrderStudent.getAppUserId());
+                //发送短信提醒
+                aLiSendSms.sendSms(appUser.getPhone(), "SMS_463646317", "");
+            }
             //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录
             List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>()
                     .eq("studentId", coursePackageOrderStudent.getStudentId()).eq("status", 1)
@@ -1749,7 +1741,7 @@
                 if (student != null) {
                     sId = student.getId();
                 }
-                addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePayment.getId());
+                addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePayment, coursePackagePayment.getId());
 
 
                 CourseCounsum courseCounsum = new CourseCounsum();
@@ -1772,7 +1764,7 @@
                 if (student != null) {
                     sId = student.getId();
                 }
-                addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePaymentServiceOne.getId());
+                addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePaymentServiceOne, coursePackagePaymentServiceOne.getId());
 
 
                 CourseCounsum courseCounsum = new CourseCounsum();
@@ -1781,6 +1773,7 @@
                 courseCounsum.setNum(orderDto.getClassHours());
                 courseCounsum.setInsertTime(new Date());
                 courseCounsum.setReason("积分兑换");
+                courseCounsum.setInsertTime(new Date());
                 courseCounsumService.save(courseCounsum);
 
 
@@ -1830,7 +1823,6 @@
                 // 其他星期减一即可得到1-6的数字表示
                 dayOfWeek -= 1;
             }
-            // todo
             if (weeks.contains(String.valueOf(dayOfWeek))){
                 // 限时折扣判断是否在有效期
                 try {
@@ -1922,7 +1914,8 @@
 
     @Autowired
     private TCoursePackageService coursePackageService;
-    private void addPackageStudent1(TCoursePackage tCoursePackage, Integer userId, Integer sId, CoursePackageOrderStudent coursePackageOrderStudent) {
+
+    private void addPackageStudent1(TCoursePackage tCoursePackage, Integer userId, Integer sId, CoursePackageOrder coursePackageOrder, CoursePackageOrderStudent coursePackageOrderStudent) {
         try {
             //1常规 2假期 3体验
             if (tCoursePackage.getType() == 1) {
@@ -2064,7 +2057,7 @@
             e.printStackTrace();
         }
     }
-    private void addPackageStudent(Integer courseId, Integer userId, Integer sId, Long paymentId) throws ParseException {
+    private void addPackageStudent(Integer courseId, Integer userId, Integer sId, TCoursePackagePayment coursePackagePayment, Long paymentId) throws ParseException {
         // 课包
         TCoursePackage tCoursePackage = coursePackageService.getById(courseId);
 
@@ -2388,16 +2381,23 @@
 
     @ResponseBody
     @PostMapping("/coursePackagePayment/consumeCourse")
-    public ResultUtil consumeCourse(@RequestBody Integer coursePackagePaymentId) {
+    public Integer consumeCourse(@RequestBody Integer coursePackagePaymentId) {
         CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getById(coursePackagePaymentId);
 
         TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId());
 
         if (coursePackageOrderStudent.getLaveClassHours()<coursePackage.getNeedNum()){
-            return ResultUtil.error("当前学员课时数不足");
+           return 1;
         }
         coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()-coursePackage.getNeedNum());
         orderStudentService.updateById(coursePackageOrderStudent);
+        Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours();
+        if(3 >= laveClassHours){
+            AppUser appUser = appuClient.queryAppUser(coursePackageOrderStudent.getAppUserId());
+            //发送短信提醒
+            aLiSendSms.sendSms(appUser.getPhone(), "SMS_463646317", "");
+        }
+
         CourseCounsum courseCounsum = new CourseCounsum();
         courseCounsum.setPaymentId(coursePackageOrderStudent.getId());
         courseCounsum.setChangeType(0);
@@ -2405,14 +2405,14 @@
         courseCounsum.setInsertTime(new Date());
         courseCounsum.setReason("补课");
         courseCounsumService.save(courseCounsum);
-        return ResultUtil.success("补课成功");
+        return 2;
     }
 
 
     @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;
@@ -2430,7 +2430,6 @@
         coursePackagePayment.setAppUserId(null);
         packagePaymentService.updateById(coursePackagePayment);
     }
-
 
     /**
      * 修改数据
@@ -2553,10 +2552,10 @@
         map.put("name", store.getName());
         map.put("lon", lon);
         map.put("lat", lat);
-
-
         // 找出门店的所有课程 排出体验
-        List<TCoursePackage> list = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().eq(TCoursePackage::getStoreId, courseDetailReq.getStoreId()).ne(TCoursePackage::getType, 3).eq(TCoursePackage::getState, 1).like(TCoursePackage::getClassWeeks, week));
+        List<TCoursePackage> list = tcpService.list(new LambdaQueryWrapper<TCoursePackage>()
+                .eq(TCoursePackage::getStoreId, courseDetailReq.getStoreId()).ne(TCoursePackage::getType, 3)
+                .eq(TCoursePackage::getState, 1).like(TCoursePackage::getClassWeeks, week));
         List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList());
         if (collect.size() == 0) {
             collect.add(-1);
@@ -2568,21 +2567,6 @@
                 .in(CoursePackageScheduling::getCoursePackageId, collect)
         );
         List<Integer> collect1 = list8.stream().map(CoursePackageScheduling::getCoursePackageId).collect(Collectors.toList());
-        // 找出购买的课包
-        List<CoursePackageOrderStudent> list1 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
-                .eq("appUserId", courseDetailReq.getAppUserId())
-                .eq("studentId", courseDetailReq.getStuId())
-                .in("coursePackageId", collect1)
-                .eq("status", 1)
-                .eq("state", 1)
-        );
-
-
-
-//        List<Integer> collect1 = list1.stream().map(CoursePackageOrderStudent::getCoursePackageId).collect(Collectors.toList());
-//        List<Long> ids = list1.stream().map(CoursePackageOrderStudent::getId).collect(Collectors.toList());
-
-
         for (TCoursePackage tCoursePackage : list) {
             DetailsListVo detailsListVo = new DetailsListVo();
             detailsListVo.setId(tCoursePackage.getId());
@@ -2630,6 +2614,7 @@
                         .eq(CoursePackageScheduling::getCoursePackageId, tCoursePackage.getId())
                         .like(CoursePackageScheduling::getClassDate, courseDetailReq.getTime())
                 );
+
                 if (list3.isEmpty()) {
                     detailsListVo.setType(2);
                     objects.add(detailsListVo);
@@ -2661,14 +2646,25 @@
                     detailsListVo.setIsType(list4.get(0).getType());
 
                     for (CoursePackageStudent coursePackageStudent : list4) {
+                        CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingMapper.selectById(coursePackageStudent.getCoursePackageSchedulingId());
+                        if (coursePackageScheduling.getStatus()==4){
+                            detailsListVo.setIsType(3);
+                        }
+
                         Integer signInOrNot1 = coursePackageStudent.getSignInOrNot();
                         detailsListVo.setType(1);
 
                         if (signInOrNot1 == 2) {
                             detailsListVo.setType(3);
                         }
+                        //体验购课去掉按钮
+                        if(coursePackageScheduling.getType() == 3){
+                            detailsListVo.setCourseType(3);
+                            detailsListVo.setType(2);
+                        }
+
+
                         detailsListVo.setIsType(coursePackageStudent.getType());
-                        CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingMapper.selectById(coursePackageStudent.getCoursePackageSchedulingId());
                         Date classDate = coursePackageScheduling.getClassDate();
                         Date endDate = coursePackageScheduling.getEndDate();
                         SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
@@ -2697,6 +2693,10 @@
                 detailsListVo.setType(2);
                 objects.add(detailsListVo);
 
+            }
+            //课程暂停
+            if(tCoursePackage.getState() == 4){
+                detailsListVo.setType(4);
             }
         }
         map.put("data", objects);
@@ -2742,18 +2742,18 @@
             ids.add(-1);
         }
         List<TCoursePackagePayment> list1 = packagePaymentService.listOne(ids);
-        List<Integer> collect = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
-        if (collect.size() == 0) {
-            collect.add(-1);
-        }
-        List<TCoursePackage> list2 = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().in(TCoursePackage::getId, collect));
-        for (TCoursePackagePayment tCoursePackagePayment : list1) {
-            for (TCoursePackage tCoursePackage : list2) {
-                if (tCoursePackagePayment.getCoursePackageId().equals(tCoursePackage.getId())) {
-                    tCoursePackagePayment.setType(tCoursePackage.getType());
-                }
-            }
-        }
+//        List<Integer> collect = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
+//        if (collect.size() == 0) {
+//            collect.add(-1);
+//        }
+//        List<TCoursePackage> list2 = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().in(TCoursePackage::getId, collect));
+//        for (TCoursePackagePayment tCoursePackagePayment : list1) {
+//            for (TCoursePackage tCoursePackage : list2) {
+//                if (tCoursePackagePayment.getCoursePackageId().equals(tCoursePackage.getId())) {
+//                    tCoursePackagePayment.setType(tCoursePackage.getType());
+//                }
+//            }
+//        }
 
 
         List<Map<String, Object>> mapList = new ArrayList<>();
@@ -2762,7 +2762,7 @@
             map.put("name", tCoursePackageType.getName());
             int a = 0;
             for (TCoursePackagePayment tCoursePackagePayment : list1) {
-                if (tCoursePackagePayment.getType().equals(tCoursePackageType.getId())) {
+                if (null != tCoursePackagePayment.getType() && tCoursePackagePayment.getType().equals(tCoursePackageType.getId())) {
                     a += tCoursePackagePayment.getLaveClassHours();
                 }
             }
@@ -3047,10 +3047,7 @@
         weekData.add(count2);
         weekData.add(count1);
         weekData.add(count);
-
         map.put("weekData", weekData);
-
-
         LocalDateTime currentDateTime = LocalDateTime.now();
         List<Integer> amountByDay = new ArrayList<>(Collections.nCopies(7, 0));
         for (CoursePackageStudent coursePackageStudent : list) {
@@ -3225,4 +3222,21 @@
         return map;
 
     }
+
+
+    @ResponseBody
+    @PostMapping("/coursePackagePayment/queryPaymentCoursePackage")
+    public List<Integer> queryPaymentCoursePackage(@RequestBody List<Integer> storeIds){
+        if(storeIds.size() == 0){
+            return new ArrayList<>();
+        }
+        List<TCoursePackage> list = coursePackageService.list(new QueryWrapper<TCoursePackage>().eq("auditStatus", 2)
+                .ne("status", 4).eq("state", 1).in("storeId", storeIds));
+        List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList());
+        if(collect.size() == 0){
+            return new ArrayList<>();
+        }
+        List<CoursePackageOrder> list1 = coursePackageOrderService.list(new QueryWrapper<CoursePackageOrder>().in("coursePackageId", collect).eq("payStatus", 2).eq("status", 1));
+        return list1.stream().map(CoursePackageOrder::getAppUserId).collect(Collectors.toList());
+    }
 }

--
Gitblit v1.7.1