From 1eb07ec3e65ae47267becdbe7e7bc95ce40fec52 Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期二, 31 十月 2023 20:25:26 +0800
Subject: [PATCH] 10.31.1

---
 cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java                       |    2 
 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserPointsMerchandiseServiceImpl.java        |    7 +
 cloud-server-other/src/main/resources/mapper/BannerMapper.xml                                                  |    1 
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java                |  226 ++++++++++++++++++++++++++-----
 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java                   |   15 +
 cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js                      |    4 
 cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java                     |    2 
 cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java            |   18 +-
 cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java                |    3 
 cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml                                    |   12 
 cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java                       |    4 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TWelfareVideoController.java |   12 +
 cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java             |    5 
 cloud-server-activity/src/main/resources/mapper/UserPointsMerchandiseMapper.xml                                |   16 ++
 cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserPointsMerchandiseMapper.java                   |    1 
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java            |    3 
 cloud-server-activity/src/main/java/com/dsh/activity/service/UserPointsMerchandiseService.java                 |    2 
 cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java                              |    1 
 cloud-server-activity/src/main/java/com/dsh/activity/entity/CourseChangeStateDTO.java                          |   11 +
 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java            |    5 
 cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java    |    3 
 cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java               |   49 ++++--
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java                   |    1 
 23 files changed, 322 insertions(+), 81 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java
index d15782a..fef4237 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java
@@ -18,6 +18,9 @@
     @PostMapping("/base/competition/getCompetitionsDetails")
     List<PurchaseRecordVo> getStuSourseList(@RequestBody GetStuSourseList getStuSourseList);
 
+    @PostMapping("/base/competition/getCompetitionsDetails1")
+    List<PurchaseRecordVo> getStuSourseList1(@RequestBody GetStuSourseList getStuSourseList);
+
     @PostMapping("/base/competition/getPayedCompetitions")
     BillingRequestVo getAllCompetitionPayRecord(@RequestBody BillingDataRequestVo requestVo);
 
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java
index 00e583d..5b09502 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java
@@ -14,4 +14,7 @@
 
     @ApiModelProperty(value = "类型:1增加 2扣减 ", dataType = "int")
     private Integer type;
+
+    @ApiModelProperty(value = "课包id", dataType = "int")
+    private Integer lessionId;
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
index d8adaae..2bee448 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
@@ -291,6 +291,10 @@
         if(timeRequest.getType()!=null){
             eq.eq(TCourseInfoRecord::getType,timeRequest.getType());
         }
+        if (timeRequest.getLessionId()!=null){
+            eq.eq(TCourseInfoRecord::getCourseId,timeRequest.getLessionId());
+
+        }
         // 2.0其他记录
         List<TCourseInfoRecord> list = courseInfoRecordService.list(eq);
         List<PurchaseRecordVo> list1=new ArrayList<>();
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
index 874e1da..302410c 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -89,12 +89,23 @@
      * 门票上下架 state=1 上架 state=2 下架
      */
     @RequestMapping("/base/pointMerchars/changeState")
-    public Object changeState(@RequestBody CoachChangeStateVO dto){
-        return pmdsService.changeState(dto);
+    public void changeState(@RequestBody CoachChangeStateVO dto){
+
+
+         pmdsService.changeState(dto);
     }
     /**
      * 门票核销
      */
+
+    @RequestMapping("/base/course/changeState")
+    @ResponseBody
+    public Object changeState(@RequestBody CourseChangeStateDTO dto){
+        return userPointsMerchandiseService.changeState(dto);
+    }
+
+
+
     @RequestMapping("/base/pointMerchars/writeOff")
     public Object writeOff(@RequestBody WriteOffDTO dto){
         UserPointsMerchandise byId = userPointsMerchandiseService.getById(dto.getId());
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/CourseChangeStateDTO.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/CourseChangeStateDTO.java
new file mode 100644
index 0000000..62bb455
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/CourseChangeStateDTO.java
@@ -0,0 +1,11 @@
+package com.dsh.activity.entity;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CourseChangeStateDTO {
+    private List<Integer> ids;
+    private Integer state;
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java
index 49248dd..889ccd6 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java
@@ -37,7 +37,7 @@
 
     List<Map<String, Object>> ticketList(@Param("query") IntegralGoodsOfSearch ofSearch);
 
-    int changeState(@Param("query") CoachChangeStateVO dto);
+    void changeState(@Param("ids") List<Integer> ids ,@Param("state") Integer state);
 
     void saveCity(@Param("id") Integer id, @Param("province") String province, @Param("provinceCode") String provinceCode, @Param("city") String city, @Param("cityCode") String cityCode);
 
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserPointsMerchandiseMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserPointsMerchandiseMapper.java
index 9353ec6..605dc03 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserPointsMerchandiseMapper.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserPointsMerchandiseMapper.java
@@ -23,4 +23,5 @@
     List<PointMerchandiseIncomeVo> getAmount();
 
 
+    Object changeState(List<Integer> ids, Integer state);
 }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java
index 4c7adc5..cb26606 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java
@@ -26,6 +26,6 @@
 
     List<Map<String, Object>> ticketList(IntegralGoodsOfSearch ofSearch);
 
-    Object changeState(CoachChangeStateVO dto);
+    void changeState(CoachChangeStateVO dto);
 
 }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/UserPointsMerchandiseService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/UserPointsMerchandiseService.java
index 011c310..76b505b 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/UserPointsMerchandiseService.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/UserPointsMerchandiseService.java
@@ -1,6 +1,7 @@
 package com.dsh.activity.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.dsh.activity.entity.CourseChangeStateDTO;
 import com.dsh.activity.entity.UserPointsMerchandise;
 import com.dsh.activity.model.PointMerchandiseIncomeVo;
 import com.dsh.activity.model.request.PointMercharsPayedVo;
@@ -20,4 +21,5 @@
 
     List<PointMerchandiseIncomeVo> getAmount();
 
+    Object changeState(CourseChangeStateDTO dto);
 }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java
index e0c9309..b8e19fa 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java
@@ -45,7 +45,8 @@
     }
 
     @Override
-    public Object changeState(CoachChangeStateVO dto) {
-        return this.baseMapper.changeState(dto);
+    public void changeState(CoachChangeStateVO dto) {
+        List<Integer> ids = dto.getIds();
+        this.baseMapper.changeState(ids,dto.getState());
     }
 }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserPointsMerchandiseServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserPointsMerchandiseServiceImpl.java
index ea80b05..150a419 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserPointsMerchandiseServiceImpl.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserPointsMerchandiseServiceImpl.java
@@ -1,6 +1,7 @@
 package com.dsh.activity.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.activity.entity.CourseChangeStateDTO;
 import com.dsh.activity.entity.UserPointsMerchandise;
 import com.dsh.activity.mapper.UserPointsMerchandiseMapper;
 import com.dsh.activity.model.PointMerchandiseIncomeVo;
@@ -28,4 +29,10 @@
     public List<PointMerchandiseIncomeVo> getAmount() {
        return userPointsMerchandiseMapper.getAmount();
     }
+
+    @Override
+    public Object changeState(CourseChangeStateDTO dto) {
+        List<Integer> ids = dto.getIds();
+        return this.baseMapper.changeState(ids,dto.getState());
+    }
 }
diff --git a/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml b/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml
index fb5eb8f..e58d540 100644
--- a/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml
+++ b/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml
@@ -110,13 +110,13 @@
         and `type` = 3
         order by sort desc
     </select>
-    <select id="changeState" resultType="java.lang.Integer">
-        update t_points_merchandise set
-        shelves = #{query.state}
+    <select id="changeState" >
+        update t_benefits_videos set
+        state = #{state}
         <where>
-            <if test="query.ids != null and query.ids.size()>0">
-                AND t_points_merchandise.id IN
-                <foreach collection="query.ids" separator="," item="id" open="(" close=")">
+            <if test="ids != null and ids.size()>0">
+                AND t_benefits_videos.id IN
+                <foreach collection="ids" separator="," item="id" open="(" close=")">
                     #{id}
                 </foreach>
             </if>
diff --git a/cloud-server-activity/src/main/resources/mapper/UserPointsMerchandiseMapper.xml b/cloud-server-activity/src/main/resources/mapper/UserPointsMerchandiseMapper.xml
index fff3a7b..5db81fc 100644
--- a/cloud-server-activity/src/main/resources/mapper/UserPointsMerchandiseMapper.xml
+++ b/cloud-server-activity/src/main/resources/mapper/UserPointsMerchandiseMapper.xml
@@ -1,6 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.dsh.activity.mapper.UserPointsMerchandiseMapper">
+    <update id="changeState">
+        update t_benefits_videos set
+        state = #{state}
+        <where>
+            <if test="ids != null and ids.size()>0">
+                AND t_benefits_videos.id IN
+                <foreach collection="ids" separator="," item="id" open="(" close=")">
+                    #{id}
+                </foreach>
+            </if>
+        </where>
+
+
+
+
+    </update>
 
 
     <select id="getAmount" resultType="com.dsh.activity.model.PointMerchandiseIncomeVo">
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
index a2db34d..ff4b14f 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
@@ -204,6 +204,38 @@
     }
 
 
+    @PostMapping("/base/competition/getCompetitionsDetails1")
+    public List<PurchaseRecordVo> getStuSourseList1(@RequestBody GetStuSourseList sourseList){
+
+        List<PurchaseRecordVo> recordVos = new ArrayList<>();
+
+        ArrayList<Integer> integers = new ArrayList<>();
+        integers.add(4);
+        List<PaymentCompetition> list = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>()
+                .in("payType",integers )
+                .eq("appUserId", sourseList.getAppUserId())
+                .eq("state",1));
+        if (list.size() > 0){
+            List<Long> comIds = list.stream().map(PaymentCompetition::getId).collect(Collectors.toList());
+            List<UserCompetition> userCompetitions = ucttService.list(new QueryWrapper<UserCompetition>()
+                    .between("insertTime", sourseList.getStartTime(),sourseList.getEndTime() )
+                    .eq("appUserId", sourseList.getAppUserId())
+                    .in("paymentCompetitionId",comIds ));
+            if (userCompetitions.size() > 0){
+                userCompetitions.forEach(coms ->{
+                    PurchaseRecordVo recordVo = new PurchaseRecordVo();
+                    recordVo.setPurchaseType("报名赛事");
+                    recordVo.setPurchaseTime(dateFormat.format(coms.getInsertTime()));
+                    PaymentCompetition paymentCompetition = paymentCompetitionService.getById(coms.getPaymentCompetitionId());
+                    recordVo.setPurchaseAmount("-"+paymentCompetition.getAmount());
+                    recordVos.add(recordVo);
+                });
+            }
+        }
+
+        return recordVos;
+    }
+
 
 
 
@@ -271,10 +303,9 @@
 
     public synchronized ResultUtil paymentCompetition(PaymentCompetitionVo paymentCompetitionVo){
         try {
-
-
             Competition byId = competitionService.getById(paymentCompetitionVo.getId());
-            Date date = byId.getEndTime(); // Assuming you have a Date object
+            Date date = byId.getEndTime();
+            // Assuming you have a Date object
             // Check if the date is past the current time
             boolean isPast = date.after(new Date());
             if (!isPast) {
@@ -284,18 +315,12 @@
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
-
-
-
-
             if (byId.getRegisterCondition()==3){
              Integer counts =    coursePackagePaymentClient.isHave(uid);
                 if (counts==0){
                     return new ResultUtil(0,"当前赛事仅限已购课学员报名");
                 }
             }
-
-
             if (byId.getRegisterCondition()==2){
                 AppUser appUser = appUserClient.queryAppUser(uid);
                 if (appUser.getIsVip()==0){
@@ -303,17 +328,11 @@
                 }else {
                     Date vipEndTime = appUser.getVipEndTime();
                     Date currentTime = new Date(); // Current time
-
                     if (vipEndTime.before(currentTime)) {
                         return new ResultUtil(0,"您的年度会员已过期,请续费");
                     }
-
                 }
-
-
             }
-
-
             return cttService.paymentCompetition(uid, paymentCompetitionVo);
         }catch (Exception e){
             e.printStackTrace();
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java
index d310d4a..d8fa0ea 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java
@@ -239,15 +239,15 @@
         if(paymentCompetitionVo.getPayType() == 4){//课程
             money = new BigDecimal(competition.getClassPrice()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN);
             for (String s : split) {
-                Participant participant = participantService.getById(s);
-                Student student = studentClient.queryStudentByPhone(participant.getPhone());
-                if(null == student){
-                    return ResultUtil.error(participant.getName() + "不是学员,无法使用课时支付。");
-                }
+//                Participant participant = participantService.getById(s);
+//                Student student = studentClient.queryStudentByPhone(participant.getPhone());
+//                if(null == student){
+//                    return ResultUtil.error(participant.getName() + "不是学员,无法使用课时支付。");
+//                }
                 // 2.0
                 Integer integer = coursePackagePaymentClient.queryResidueClassHourById(paymentCompetitionVo.getCoursePaymentId());
                 if(new BigDecimal(integer).compareTo(new BigDecimal(competition.getClassPrice())) < 0){
-                    return ResultUtil.error(participant.getName() + "剩余课时不足,无法完成支付。");
+                    return ResultUtil.error( "剩余课时不足,无法完成支付。");
                 }
             }
         }
@@ -297,10 +297,10 @@
         }
         if(paymentCompetitionVo.getPayType() == 4){//课程
             for (String s : split) {
-                Participant participant = participantService.getById(s);
-                Student student = studentClient.queryStudentByPhone(participant.getPhone());
+//                Participant participant = participantService.getById(s);
+//                Student student = studentClient.queryStudentByPhone(participant.getPhone());
                 PaymentDeductionClassHour paymentDeductionClassHour = new PaymentDeductionClassHour();
-                paymentDeductionClassHour.setId(student.getId());
+                paymentDeductionClassHour.setId(Integer.valueOf(s));
                 paymentDeductionClassHour.setClassHour(competition.getClassPrice());
                 paymentDeductionClassHour.setCode(code);
                 paymentDeductionClassHour.setCourseId(paymentCompetitionVo.getCoursePaymentId());
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java
index 10eb06d..cb5f581 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java
@@ -67,7 +67,6 @@
     @RequestMapping("/base/course/changeState")
     @ResponseBody
     public Object changeState(@RequestBody CourseChangeStateDTO dto){
-
         return courseService.changeState(dto);
     }
 
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 cc5e377..c48f6a3 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
@@ -184,8 +184,6 @@
             String[] end = value1.split(",");
             for (int i = 0; i < star.length; i++) {
     //                int index = star[i].indexOf(",");
-    //
-    //
     //                String result = value.substring(0, index).trim();
                 String classStartTime = star[i];
                 String[] split = classStartTime.split(":");
@@ -203,7 +201,7 @@
 
                 Calendar e = Calendar.getInstance();
                 e.setTime(date);
-                e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 13);
+                e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 14);
                 long timeInMillis = e.getTimeInMillis();
 
                 while (true){
@@ -1088,6 +1086,10 @@
     }
 
 
+    @Autowired
+    private  TCoursePackageService packageService;
+    @Autowired
+    CoursePackageStudentService studentService ;
     /**
      * 课程用于支付进行扣减
      * @param paymentDeductionClassHour
@@ -1101,58 +1103,202 @@
                     .eq("status", 1).eq("state", 1).gt("laveClassHours", 0));
             Integer classHour = paymentDeductionClassHour.getClassHour();
             for (TCoursePackagePayment coursePackagePayment : list) {
-                if(coursePackagePayment.getLaveClassHours().compareTo(classHour) >= 0){
+                if (coursePackagePayment.getLaveClassHours().compareTo(classHour) >= 0) {
                     coursePackagePayment.setLaveClassHours(coursePackagePayment.getLaveClassHours() - classHour);
+                    coursePackagePayment.setAppUserId(null);
                     packagePaymentService.updateById(coursePackagePayment);
 
-                    // 2.0 少于3课时 推送
-                    if(coursePackagePayment.getLaveClassHours()<=3){
-                        Integer appUserId = coursePackagePayment.getAppUserId();
 
-                        //调用推送
-                        HttpHeaders headers = new HttpHeaders();
-                        // 以表单的方式提交
-                        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-                        String s1 = appUserId + "_" + "Three";
-                        //定时修改排课状态
-                        String s = internalRestTemplate.getForObject("http://mb-cloud-gateway/netty/sendMsgToClient?id="+s1, String.class);
-                        JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
-                        if(jsonObject1.getIntValue("code") != 200){
-                            System.err.println(jsonObject1.getString("msg"));
+                    coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().eq("courseId", coursePackagePayment.getCoursePackageId()));
+                    coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("coursePackageId", coursePackagePayment.getCoursePackageId()));
+
+
+
+
+                    Student student = studentClient.queryStudentById(coursePackagePayment.getStudentId());
+
+                    TCoursePackage tCoursePackage = packageService.getById(coursePackagePayment.getCoursePackageId());
+                    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");
+                    // 本周周几
+                    int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date()) - 1;
+                    for (Integer integer : week) {
+                        if (integer < i) {
+                            // 找下一周的时间
+                            Calendar instance = Calendar.getInstance();
+                            instance.add(Calendar.DATE, 7 - (i - integer));
+                            Date time = instance.getTime();
+
+                            for (int i1 = 0; i1 < split.length; i1++) {
+
+                                CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+                                coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+                                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(student.getAppUserId());
+                                student1.setStudentId(student.getId());
+                                student1.setCoursePackageId(tCoursePackage.getId());
+                                student1.setCoursePackagePaymentId(coursePackagePayment.getId());
+                                student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+                                student1.setSignInOrNot(1);
+                                student1.setReservationStatus(1);
+                                student1.setInsertTime(new Date());
+                                studentService.save(student1);
+
+                            }
+
+                        } else if (integer > i) {
+                            Calendar instance = Calendar.getInstance();
+                            instance.add(Calendar.DATE, integer - i);
+                            Date time1 = instance.getTime();
+                            List<Date> list6 = new ArrayList<>();
+                            list6.add(time1);
+                            instance.add(Calendar.DATE, 7);
+                            Date time2 = instance.getTime();
+                            list6.add(time2);
+                            for (Date time : list6) {
+                                for (int i1 = 0; i1 < split.length; i1++) {
+                                    CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+                                    coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+                                    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(student.getAppUserId());
+                                    student1.setStudentId(student.getId());
+                                    student1.setCoursePackageId(tCoursePackage.getId());
+                                    student1.setCoursePackagePaymentId(coursePackagePayment.getId());
+                                    student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+                                    student1.setSignInOrNot(1);
+                                    student1.setReservationStatus(1);
+                                    student1.setInsertTime(new Date());
+                                    studentService.save(student1);
+                                }
+                            }
+
+                        } else {
+                            Calendar instance = Calendar.getInstance();
+                            instance.add(Calendar.DATE, 7);
+                            Date time = instance.getTime();
+
+                            for (int i1 = 0; i1 < split.length; i1++) {
+                                CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+                                coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+                                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(student.getAppUserId());
+                                student1.setStudentId(student.getId());
+                                student1.setCoursePackageId(tCoursePackage.getId());
+                                student1.setCoursePackagePaymentId(coursePackagePayment.getId());
+                                student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+                                student1.setSignInOrNot(1);
+                                student1.setReservationStatus(1);
+                                student1.setInsertTime(new Date());
+                                studentService.save(student1);
+                            }
                         }
                     }
 
-                    CancelledClasses cancelledClasses = new CancelledClasses();
-                    cancelledClasses.setType(2);
-                    cancelledClasses.setVoucher(paymentDeductionClassHour.getCode());
-                    cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId());
-                    cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId());
-                    cancelledClasses.setCancelledClassesNumber(classHour);
-                    cancelledClasses.setInsertTime(new Date());
-                    cancelledClassesService.save(cancelledClasses);
-                    break;
-                }else{
-                    CancelledClasses cancelledClasses = new CancelledClasses();
-                    cancelledClasses.setType(2);
-                    cancelledClasses.setVoucher(paymentDeductionClassHour.getCode());
-                    cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId());
-                    cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId());
-                    cancelledClasses.setCancelledClassesNumber(coursePackagePayment.getLaveClassHours());
-                    cancelledClasses.setInsertTime(new Date());
-                    cancelledClassesService.save(cancelledClasses);
 
-                    coursePackagePayment.setLaveClassHours(0);
-                    packagePaymentService.updateById(coursePackagePayment);
+                        // 2.0 少于3课时 推送
+                        if (coursePackagePayment.getLaveClassHours() <= 3) {
+                            Integer appUserId = coursePackagePayment.getAppUserId();
 
-                    classHour -= cancelledClasses.getCancelledClassesNumber();
+                            //调用推送
+                            HttpHeaders headers = new HttpHeaders();
+                            // 以表单的方式提交
+                            headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+                            String s1 = appUserId + "_" + "Three";
+                            //定时修改排课状态
+                            String s = internalRestTemplate.getForObject("http://mb-cloud-gateway/netty/sendMsgToClient?id=" + s1, String.class);
+                            JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
+                            if (jsonObject1.getIntValue("code") != 200) {
+                                System.err.println(jsonObject1.getString("msg"));
+                            }
+                        }
+
+                        CancelledClasses cancelledClasses = new CancelledClasses();
+                        cancelledClasses.setType(2);
+                        cancelledClasses.setVoucher(paymentDeductionClassHour.getCode());
+                        cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId());
+                        cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId());
+                        cancelledClasses.setCancelledClassesNumber(classHour);
+                        cancelledClasses.setInsertTime(new Date());
+                        cancelledClassesService.save(cancelledClasses);
+                        break;
+                    }else{
+                        CancelledClasses cancelledClasses = new CancelledClasses();
+                        cancelledClasses.setType(2);
+                        cancelledClasses.setVoucher(paymentDeductionClassHour.getCode());
+                        cancelledClasses.setCoursePackageId(coursePackagePayment.getCoursePackageId());
+                        cancelledClasses.setCoursePackagePaymentId(coursePackagePayment.getId());
+                        cancelledClasses.setCancelledClassesNumber(coursePackagePayment.getLaveClassHours());
+                        cancelledClasses.setInsertTime(new Date());
+                        cancelledClassesService.save(cancelledClasses);
+
+                        coursePackagePayment.setLaveClassHours(0);
+                        packagePaymentService.updateById(coursePackagePayment);
+
+                        classHour -= cancelledClasses.getCancelledClassesNumber();
+                    }
                 }
-            }
+
+
         }catch (Exception e){
             e.printStackTrace();
         }
     }
 
-
+    private List<Integer> week(String week){
+        String[] split = week.split(";");
+        ArrayList<Integer> integers = new ArrayList<>();
+        for (String s : split) {
+            switch (s){
+                case "周一":
+                    integers.add(1);
+                    break;
+                case "周二":
+                    integers.add(2);
+                    break;
+                case "周三":
+                    integers.add(3);
+                    break;
+                case "周四":
+                    integers.add(4);
+                    break;
+                case "周五":
+                    integers.add(5);
+                    break;
+                case "周六":
+                    integers.add(6);
+                    break;
+                case "周日":
+                    integers.add(7);
+                    break;
+            }
+        }
+        return integers;
+    }
     /**
      * 取消赛事回退支付课时
      * @param paymentDeductionClassHour
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 12e9cf9..5c3a583 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
@@ -807,6 +807,9 @@
 //                        String classStartTime = coursePackage.getClassStartTime();
 //                        String classEndTime = coursePackage.getClassEndTime();
 
+                        if (byId == null){
+                            continue;
+                        }
                         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                         String dateString1 = sdf.format(byId.getClassDate());
                         String dateString2 = sdf.format(byId.getEndDate());
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 746bafe..f89ee80 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
@@ -172,7 +172,6 @@
 
 
             coursePackageListVo.setApplicantsNumber(integer);
-
             Double cashPayment1 = coursePackagePaymentConfig.getCashPayment();
             Integer playPaiCoin = coursePackagePaymentConfig.getPlayPaiCoin();
             if(ToolUtil.isNotEmpty(cashPayment1) && cashPayment1>0 && ToolUtil.isNotEmpty(playPaiCoin) && playPaiCoin>0){
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java
index 583362d..ddab429 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java
@@ -7,6 +7,7 @@
 import com.dsh.course.feignClient.activity.model.IntegralGoodsOfSearch;
 import com.dsh.course.feignClient.activity.model.PointMercharsPayedVo;
 import com.dsh.course.feignClient.activity.model.PointMercharsVo;
+import com.dsh.course.feignClient.course.model.CourseChangeStateDTO;
 import com.dsh.guns.modular.system.model.CoachChangeStateVO;
 import com.dsh.guns.modular.system.model.PointMerchandiseIncomeVo;
 import com.dsh.guns.modular.system.model.GoodsInfoOneVo;
@@ -23,6 +24,10 @@
 
 @FeignClient(value = "mb-cloud-activity")
 public interface PointMercharsClient {
+
+    @RequestMapping("/base/pointMerchars/changeState")
+    Object changeState(@RequestBody CourseChangeStateDTO dto);
+    
     @RequestMapping("/base/pointMerchars/writeOff")
     Object writeOff(@RequestBody WriteOffDTO dto);
     /**
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TWelfareVideoController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TWelfareVideoController.java
index cfff158..13e2d78 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TWelfareVideoController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TWelfareVideoController.java
@@ -2,6 +2,7 @@
 
 
 import com.dsh.course.feignClient.activity.BenefitsVideoClient;
+import com.dsh.course.feignClient.activity.PointMercharsClient;
 import com.dsh.course.feignClient.activity.model.BenefitsVedioChangeStateVO;
 import com.dsh.course.feignClient.activity.model.BenefitsVideoClassification;
 import com.dsh.course.feignClient.activity.model.BenefitsVideos;
@@ -23,6 +24,7 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -179,9 +181,13 @@
                 if (benefitsVideos.getCourseId().equals(courseByCourseId.getId())){
                     courseByCourseId.setIntegral(benefitsVideos.getIntegral());
                     courseByCourseId.setBenefitsVideosId(benefitsVideos.getId());
+                    courseByCourseId.setState(benefitsVideos.getState());
                 }
             }
         }
+
+
+
         return courseByCourseIds;
     }
     /**
@@ -227,10 +233,16 @@
      *
      * @return
      */
+
+    @Resource
+    private PointMercharsClient mercharsClient;
     @RequestMapping("/changeCourseState")
     @ResponseBody
     public Object changeCourseState(@RequestBody CourseChangeStateDTO dto){
+
         courseClient.changeState(dto);
+        mercharsClient.changeState(dto);
+
         return ResultUtil.success();
     }
 
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js b/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js
index e23ff61..f4ead97 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js
@@ -90,7 +90,7 @@
     };
     selected.forEach(function(obj) {
         var id = obj.id;
-        data1.ids.push(id);
+        data1.ids.push(obj.benefitsVideosId);
     });
     data1.state = 1;
     $.ajax({
@@ -126,7 +126,7 @@
         };
         selected.forEach(function(obj) {
             var id = obj.id;
-            data1.ids.push(id);
+            data1.ids.push(obj.benefitsVideosId);
         });
         data1.state = 2;
         $.ajax({
diff --git a/cloud-server-other/src/main/resources/mapper/BannerMapper.xml b/cloud-server-other/src/main/resources/mapper/BannerMapper.xml
index 77f1184..d9bbe55 100644
--- a/cloud-server-other/src/main/resources/mapper/BannerMapper.xml
+++ b/cloud-server-other/src/main/resources/mapper/BannerMapper.xml
@@ -42,7 +42,6 @@
         from t_usetime_history hs
                  LEFT JOIN sys_user us on hs.createBy = us.id
         where hs.studentId = #{studentId}
-
     </select>
     <select id="getFirst" resultType="java.lang.String">
             select content

--
Gitblit v1.7.1