From 331ae50b1cdcb31a4a0c182abb82aec5c1b12f83 Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期三, 15 十一月 2023 09:40:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java          |   14 
 cloud-server-management/src/main/webapp/static/modular/system/tGoods/TStoreInfo.js                              |    3 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudent.html                              |    2 
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java                 |   10 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponExamineController.java |   74 ++++
 cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java                       |    2 
 cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageService.java                             |    2 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_detail_two.html                       |    4 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java          |   37 -
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java        |    8 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_add.html                              |   15 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TWelfareVideoController.java  |    2 
 cloud-server-management/pom.xml                                                                                 |    6 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java              |    6 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/coursePackageDiscount.html           |    1 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackageDiscount.html            |    8 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit_first.html                    |    8 
 cloud-server-management/src/main/webapp/static/modular/system/tDiscount/tDiscount_info.js                       |    2 
 cloud-server-course/src/main/resources/mapper/TCoursePackageMapper.xml                                          |    2 
 cloud-server-management/src/main/webapp/static/modular/system/coursePackage/TCoupon.js                          |   27 -
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineInfo.html              |  547 ++++++++++++++++++++++--------
 cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageDiscountClient.java        |    5 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java        |    2 
 cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackageMapper.java                               |    2 
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java                    |    2 
 cloud-server-management/src/main/webapp/static/modular/system/tCompetitionAudit/tCompetition.js                 |    4 
 cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/tDiscount.js                       |    6 
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageDiscountController.java                |    8 
 cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop_info.js                               |    3 
 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java                    |   10 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_info.html               |   11 
 cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/coursePackageDiscount.js           |   33 +
 cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml                                     |    1 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/benefits/TBenefitsVideos_edit.html                  |    9 
 cloud-server-other/src/main/java/com/dsh/other/entity/Game.java                                                 |    5 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java |   34 +
 cloud-server-management/src/main/webapp/WEB-INF/view/login.html                                                 |   18 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/Game.java                               |    2 
 cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js                            |   38 ++
 cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java                               |    7 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java         |    6 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit.html                             |   15 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java         |   70 ++-
 43 files changed, 776 insertions(+), 295 deletions(-)

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 d1248d5..9619f4c 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
@@ -98,9 +98,17 @@
          pmdsService.changeState(dto);
     }
     /**
-     * 门票核销
+     * 根据id查询
      */
 
+    @RequestMapping("/base/pointMerchars/getById")
+    @ResponseBody
+    public PointsMerchandise getById(@RequestBody Integer id){
+        return pmdsService.getById(id);
+    }
+    /**
+     * 门票核销
+     */
     @RequestMapping("/base/course/changeState")
     @ResponseBody
     public Object changeState(@RequestBody CourseChangeStateDTO dto){
diff --git a/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml b/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml
index 8754c60..e58d540 100644
--- a/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml
+++ b/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml
@@ -107,7 +107,6 @@
         <if test="query.state != null">
             and `state` = #{query.state}
         </if>
-        AND endTime >= NOW()
         and `type` = 3
         order by sort desc
     </select>
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 25c7c31..71f86ba 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
@@ -452,7 +452,7 @@
     }
 
     @PostMapping("/course/getHours")
-    public Integer getHours(@RequestBody Integer coursePackageId1){
+    public List<Integer> getHours(@RequestBody Integer coursePackageId1){
         return coursePackageService.getHours(coursePackageId1);
     }
 
@@ -498,8 +498,9 @@
 
     @PostMapping("/course/auditDiscount")
     public Boolean auditDiscount( @RequestBody AuditDiscount auditDiscount){
-        TCoursePackageDiscount byId = discountService.getById(auditDiscount.getId());
-        List<TCoursePackageDiscount> list = discountService.list(new LambdaQueryWrapper<TCoursePackageDiscount>().eq(TCoursePackageDiscount::getCoursePackageId, byId.getCoursePackageId()));
+
+        List<TCoursePackageDiscount> list = discountService.list(new LambdaQueryWrapper<TCoursePackageDiscount>()
+                .eq(TCoursePackageDiscount::getCoursePackageId, auditDiscount.getId()));
         for (TCoursePackageDiscount tCoursePackageDiscount : list) {
             tCoursePackageDiscount.setAuditStatus(auditDiscount.getType());
             tCoursePackageDiscount.setAuditRemark(auditDiscount.getText());
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageDiscountController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageDiscountController.java
index 912aa6a..11358df 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageDiscountController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageDiscountController.java
@@ -29,6 +29,14 @@
                 .eq("auditStatus", 2));
     }
     /**
+     * 获取根据课包id获取课包折扣
+     */
+    @ResponseBody
+    @PostMapping("/coursePackageDiscount/queryByCoursePackageId1")
+    public List<TCoursePackageDiscount> queryByCoursePackageId1(@RequestBody Integer coursePackageId){
+        return coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackageId", coursePackageId));
+    }
+    /**
      * 获取课包折扣
      * @param coursePackagePaymentConfigId
      * @return
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 7184451..0f00c88 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
@@ -330,8 +330,7 @@
                     re.setBuyTypeName("手动支付"+"-"+re.getBuyTypeName());
                 }
             }
-            BigDecimal subtract = re.getOriginalPrice().subtract(re.getCashPayment());
-            re.setDiscountAmount(subtract);
+
             // 如果支付用户类型为管理员 则购买方式则为1线下购买
             if (re.getPayUserType()!=null){
                 if (re.getPayUserType()== 2){
@@ -347,6 +346,13 @@
                     }
                 }
             }
+            if(re.getCashPayment()==null){
+                BigDecimal bigDecimal = new BigDecimal("0.00");
+                re.setDiscountAmount(bigDecimal);
+                continue;
+            }
+            BigDecimal subtract = re.getOriginalPrice().subtract(re.getCashPayment());
+            re.setDiscountAmount(subtract);
             }
         if (query.getPayStudent()== null || query.getPayStudent().equals("")){
             if (query.getPayUser()== null || query.getPayUser().equals("")){
diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackageMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackageMapper.java
index 5b9327a..00e296a 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackageMapper.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackageMapper.java
@@ -44,7 +44,7 @@
 
     List<Map<String, Object>> queryByConfigId(@Param("oneId") Integer oneId);
 
-    Integer getHours(@Param("coursePackageId") Integer coursePackageId);
+    List<Integer> getHours(@Param("coursePackageId") Integer coursePackageId);
 
 
 
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageService.java b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageService.java
index e71d14e..8b5d79c 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageService.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageService.java
@@ -87,7 +87,7 @@
 
     List<Map<String, Object>> queryByConfigId(Integer oneId);
 
-    Integer getHours(Integer coursePackageId);
+    List<Integer> getHours(Integer coursePackageId);
 
     ResultUtil paymentCourseCouponList(Integer uid, Integer coursePackagePaymentConfigId);
 
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 7641115..fc826e7 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
@@ -1862,7 +1862,7 @@
     }
 
     @Override
-    public Integer getHours(Integer coursePackageId) {
+    public List<Integer> getHours(Integer coursePackageId) {
         return this.baseMapper.getHours(coursePackageId);
     }
 
diff --git a/cloud-server-course/src/main/resources/mapper/TCoursePackageMapper.xml b/cloud-server-course/src/main/resources/mapper/TCoursePackageMapper.xml
index 80d6765..2ab8ed9 100644
--- a/cloud-server-course/src/main/resources/mapper/TCoursePackageMapper.xml
+++ b/cloud-server-course/src/main/resources/mapper/TCoursePackageMapper.xml
@@ -132,7 +132,7 @@
     <select id="queryByConfigId" resultType="java.util.Map">
         select id,classHours from t_course_package_payment_config where coursePackageId =#{oneId}
     </select>
-    <select id="getHours" resultType="java.lang.Integer">
+        <select id="getHours" resultType="java.lang.Integer">
         select classHours from t_course_package_payment_config where coursePackageId =#{coursePackageId}
     </select>
 
diff --git a/cloud-server-management/pom.xml b/cloud-server-management/pom.xml
index a02d0ad..b050212 100644
--- a/cloud-server-management/pom.xml
+++ b/cloud-server-management/pom.xml
@@ -14,6 +14,12 @@
     <name>管理后台</name>
     <description>管理后台</description>
     <dependencies>
+        <!--处理json-->
+        <dependency>
+            <groupId>org.json</groupId>
+            <artifactId>json</artifactId>
+            <version>20210307</version>
+        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-aop</artifactId>
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 ddab429..050a5a3 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
@@ -103,5 +103,9 @@
     @PostMapping("/base/pointMerchars/queryFee")
     HashMap<String, Object> queryFee(QueryDataFee queryDataFee);
 
-
+    /**
+     * 根据id查询
+     */
+    @RequestMapping("/base/pointMerchars/getById")
+    PointsMerchandise getById(@RequestBody Integer id);
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java
index edd2c1c..72e3f95 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java
@@ -106,7 +106,7 @@
     List<String> queryPackageById(Integer coursePackageId);
 
     @PostMapping("/course/getHours")
-    String getHours(Integer coursePackageId1);
+    List<Integer> getHours(Integer coursePackageId1);
 
 
     @PostMapping("/course/queryFee")
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageDiscountClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageDiscountClient.java
index 7007aed..e725b3a 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageDiscountClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageDiscountClient.java
@@ -21,6 +21,11 @@
     @PostMapping("/coursePackageDiscount/queryByCoursePackageId")
     List<TCoursePackageDiscount> queryByCoursePackageId(@RequestBody Integer coursePackageId);
     /**
+     * 获取根据课包id获取课包折扣(获取所有)
+     */
+    @PostMapping("/coursePackageDiscount/queryByCoursePackageId1")
+    List<TCoursePackageDiscount> queryByCoursePackageId1(@RequestBody Integer coursePackageId);
+    /**
      * 获取课包折扣
      * @param coursePackagePaymentConfigId
      * @return
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java
index 99f65d8..de2ccca 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java
@@ -321,6 +321,14 @@
         return regiService.list(new LambdaQueryWrapper<Region>()
                 .eq(Region::getParentId,province));
     }
+    @RequestMapping(value = "/getCity1")
+    @ResponseBody
+    public Object getCity1(String province){
+        // 获取省的id
+        Integer code = regiService.getOne(new QueryWrapper<Region>().eq("code", province)).getId();
+        return regiService.list(new LambdaQueryWrapper<Region>()
+                .eq(Region::getParentId,code));
+    }
     // 通过市 获取运营商
     @RequestMapping(value = "/getOperator")
     @ResponseBody
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponExamineController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponExamineController.java
index 5baf40a..7c6107a 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponExamineController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponExamineController.java
@@ -1,12 +1,16 @@
 package com.dsh.guns.modular.system.controller.code;
 
 
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dsh.course.feignClient.activity.CouponClient;
 import com.dsh.course.feignClient.activity.model.Coupon;
+import com.dsh.course.feignClient.activity.model.CouponCity;
 import com.dsh.course.feignClient.activity.model.CouponExamineListSearch;
 import com.dsh.course.feignClient.activity.model.CouponListOfSearch;
+import com.dsh.guns.config.UserExt;
 import com.dsh.guns.core.base.controller.BaseController;
 import com.dsh.guns.core.common.constant.factory.PageFactory;
 import com.dsh.guns.core.exception.GunsException;
@@ -26,6 +30,8 @@
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -127,8 +133,72 @@
      */
     @RequestMapping(value = "/couponOfDetail/{id}")
     public String detailOfCoupon(@PathVariable Integer id, Model model){
-        Map<String, Object> stringObjectMap = client.queryCouponExamineDetail(id);
-        model.addAttribute(stringObjectMap);
+        model.addAttribute("id",id);
+        Coupon coupon = client.queryCouponById(id);
+        String content = coupon.getContent();
+        JSONObject jsonObject = JSONObject.parseObject(content);
+        String one ="";
+        String two ="";
+        String three ="";
+        if(coupon.getType()==1){
+            one = jsonObject.get("conditionalAmount").toString();
+            two = jsonObject.get("deductionAmount").toString();
+        }
+        if(coupon.getType()==2){
+            one = jsonObject.get("conditionalAmount").toString();
+        }
+        if(coupon.getType()==3){
+            three = jsonObject.get("experienceName").toString();
+        }
+        List<CouponCity> list = new ArrayList<>();
+        List<Integer> list1=null;
+        List<TStore> list2=new ArrayList<>();
+        if(coupon.getUseScope()==2){
+            list = client.queryCity(coupon.getId());
+        }
+        if(coupon.getUseScope()==3){
+            // 门店ids
+            list1 = client.queryStore(coupon.getId());
+            // 门店集合
+            list2 = storeService.list(new LambdaQueryWrapper<TStore>().in(TStore::getId, list1));
+            for (TStore tStore : list2) {
+                if (coupon.getPublisherType() == 1){
+                    // 获取运营商id
+                    Integer operatorId = tStore.getOperatorId();
+                    TOperator operator = operatorService.getById(operatorId);
+                    User user = userService.getById(operator.getUserId());
+                    if (ToolUtil.isNotEmpty(user)){
+                        tStore.setProvince(tStore.getProvince()+tStore.getCity());
+                        tStore.setPhone(user.getName()+"-"+user.getPhone());
+                    }
+                }
+                if (coupon.getPublisherType() == 2) {
+                    User byId = userService.getById(tStore.getStoreStaffId());
+
+                    tStore.setProvince(tStore.getProvince() + tStore.getCity());
+                    tStore.setPhone(byId.getName() + "-" + byId.getPhone());
+
+                }
+            }
+        }
+        model.addAttribute("city",list);
+        model.addAttribute("store",list2);
+        model.addAttribute("s",new SimpleDateFormat("yyyy-MM-dd").format(coupon.getStartTime()));
+        model.addAttribute("e",new SimpleDateFormat("yyyy-MM-dd").format(coupon.getEndTime()));
+        model.addAttribute("one",one);
+        model.addAttribute("two",two);
+        model.addAttribute("three",three);
+        ArrayList<String> strings = new ArrayList<>();
+        String productImages = coupon.getProductImages();
+        for (String s : productImages.split(",")) {
+            strings.add(s);
+        }
+
+        model.addAttribute("img",strings);
+        Integer objectType = UserExt.getUser().getObjectType();
+        System.out.println(objectType);
+        model.addAttribute("item",coupon);
+        model.addAttribute("objectType",objectType);
         return PREFIX + "TCouponExamineInfo.html";
     }
 
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java
index 65f9901..8db1499 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java
@@ -387,6 +387,7 @@
             System.out.println("=========coursePackagePaymentConfig=============>" + coursePackagePaymentConfig);
 //        model.addAttribute("couponIds", "3,2");
         }
+
         return PREFIX + "coursePackage_info.html";
     }
 
@@ -425,6 +426,39 @@
         }
         model.addAttribute("role",UserExt.getUser().getObjectType());
         model.addAttribute("type",tCoursePackage.getType());
+        List<TCoursePackageDiscount> tCoursePackageDiscounts = coursePackageDiscountClient.queryByCoursePackageId1(tCoursePackage.getId());
+        if (tCoursePackageDiscounts.size()>0){
+            TCoursePackageDiscount tCoursePackageDiscount = tCoursePackageDiscounts.get(0);
+            model.addAttribute("audit",tCoursePackageDiscount.getAuditStatus());
+            StringBuilder stringBuilder = new StringBuilder("");
+            // 如果折扣未通过
+            if (tCoursePackageDiscount.getAuditStatus() == 3){
+                model.addAttribute("state","未通过");
+                for (TCoursePackageDiscount coursePackageDiscount : tCoursePackageDiscounts) {
+                    stringBuilder.append(coursePackageDiscount.getAuditRemark()+",");
+                }
+                if (!stringBuilder.equals("")){
+                    String string = stringBuilder.toString();
+                    String substring = string.substring(0, string.length() - 1);
+                    model.addAttribute("reasons",substring);
+                }else{
+                    model.addAttribute("reasons",stringBuilder);
+                }
+            }else{
+                model.addAttribute("reasons",stringBuilder);
+            }
+            if(tCoursePackageDiscount.getAuditStatus() == 2){
+                model.addAttribute("state","已通过");
+            }
+            if (tCoursePackageDiscount.getAuditStatus() == 1){
+                model.addAttribute("state","待审核");
+            }
+        }else{
+            model.addAttribute("audit",2);
+            model.addAttribute("state",0);
+            model.addAttribute("reasons","");
+        }
+
         model.addAttribute("coursePackagePaymentConfig", JSON.toJSONString(list));
         return PREFIX + "coursePackageDiscount.html";
     }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java
index 0dfcc25..7786c56 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java
@@ -137,7 +137,7 @@
             Integer coursePackageId = pointMercharsVo.getCoursePackageId();
             List<String> name = courseClient.queryPackageById(coursePackageId);
             Integer coursePackageId1 = pointMercharsVo.getCoursePackageId();
-            String classHours = courseClient.getHours(coursePackageId1);
+            List<Integer> classHours = courseClient.getHours(coursePackageId1);
             model.addAttribute("typeName",name.get(0));
             model.addAttribute("pageName",name.get(1));
             model.addAttribute("classHours",classHours);
@@ -649,8 +649,8 @@
     public String payOfDetails(@PathVariable(value = "id") Integer id,Model model) {
         System.out.println(id);
         model.addAttribute("id",id);
-        Coupon coupon = client.queryCouponById(id);
-        model.addAttribute("type",coupon.getType());
+        PointsMerchandise byId = pointMercharsClient.getById(id);
+        model.addAttribute("type",byId.getType());
         return PREFIX + "TGoods_pay.html";
     }
     /**
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
index 9e87d2c..94b7e66 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
@@ -99,9 +99,9 @@
     public Object addDevice(Integer id,Integer siteId,String device) {
         HashMap<String, String> map = new HashMap<>();
         map.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
-        map.put("space_id",siteId+"");
+        map.put("space_id",id.toString());
         map.put("device_id",device);
-        map.put("region_id",id.toString());
+        map.put("region_id",siteId+"");
         // 添加门禁
         String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map);
         return SUCCESS_TIP;
@@ -524,19 +524,7 @@
 
 
 
-            // 添加场地
-            TSite tSite = new TSite();
-            tSite.setName(tStore.getName());
-            tSite.setStoreId(tStore.getId());
-            tSite.setSign(1);
-            siteService.save(tSite);
 
-            HashMap<String, String> mapSite = new HashMap<>();
-            mapSite.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
-            mapSite.put("name",tStore.getName());
-            mapSite.put("space_id",tStore.getId().toString());
-            mapSite.put("area_id",tSite.getId().toString());
-            HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addSpaceArea", mapSite);
 
             ArrayList<StoreConfig> storeConfigs = new ArrayList<>();
             for (int i = 1; i < 9; i++) {
@@ -653,27 +641,6 @@
                 tStore.setOperatorId(null);
             }
             storeService.updateById(tStore);
-            String ids1 = byIdc.getIds();
-
-            HashMap<String, String> mapx = new HashMap<>();
-            mapx.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
-            for (String s : ids1.split(",")) {
-              String post = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/deleteDevice/ids/" + s,mapx);
-                System.out.println(post);
-            }
-
-            for (String s : ids.split(",")) {
-                HashMap<String, String> map1 = new HashMap<>();
-                map1.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
-                map1.put("space_id",tStore.getId()+"");
-                map1.put("device_id",s);
-                map1.put("region_id","");
-                // 添加门禁
-                String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map1);
-                System.out.println(s1);
-            }
-
-
 
             return new SuccessTip<>();
         }catch (Exception e){
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
index 90d1e05..18ce72b 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
@@ -477,8 +477,8 @@
         HashMap<String, String> map = new HashMap<>();
         map.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
         map.put("name",site.getName());
-        map.put("space_id",site.getId().toString());
-        map.put("area_id",store.getId().toString());
+        map.put("space_id",store.getId().toString());
+        map.put("area_id",integer1.toString());
         String s = HttpRequestUtil.postRequest
                 ("https://try.daowepark.com/v7/user_api/general/addSpaceArea", map);
         // 添加门禁
@@ -489,9 +489,9 @@
             for (String s1 : site.getIds().split(",")) {
                 HashMap<String, String> map1 = new HashMap<>();
                 map1.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
-                map1.put("space_id", site.getId() + "");
+                map1.put("space_id", store.getId().toString() + "");
                 map1.put("device_id", s1);
-                map1.put("region_id", store.getId().toString() + "");
+                map1.put("region_id", integer1 + "");
                 String s2 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map1);
                 System.out.println("添加闸机:" + s2);
             }
@@ -541,16 +541,14 @@
             for (String s : site.getIds().split(",")) {
                 HashMap<String, String> map1 = new HashMap<>();
                 map1.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
-                map1.put("space_id", store.getId() + "");
+                map1.put("space_id", site.getId() + "");
                 map1.put("device_id", s);
-                map1.put("region_id", site.getId() + "");
+                map1.put("region_id", store.getId() + "");
                 // 添加门禁
                 String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map1);
                 System.out.println(s1);
             }
         }
-
-
 
         return ResultUtil.success();
     }
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 bae1eb9..7c67a64 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
@@ -120,7 +120,7 @@
     public String infoBenefitsVideos(Model model, @PathVariable("id") Integer id,@PathVariable("type") Integer type,@PathVariable("benefitsVideosId") Integer benefitsVideosId) {
         TQueryBenefitsVideosVO tQueryBenefitsVideosVO = new TQueryBenefitsVideosVO();
         BenefitsVideos benefitVideosById = benefitsVideoClient.getBenefitVideosById(benefitsVideosId);
-        TCourse tCourse = courseClient.queryCourseById(id);
+        TCourse tCourse = courseClient.queryCourseById(benefitVideosById.getCourseId());
         BeanUtils.copyProperties(tCourse,tQueryBenefitsVideosVO);
         tQueryBenefitsVideosVO.setIntegral(benefitVideosById.getIntegral());
         tQueryBenefitsVideosVO.setBenefitsVideosId(benefitVideosById.getId());
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
index 7c8260e..28814f3 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
@@ -1,7 +1,6 @@
 package com.dsh.guns.modular.system.controller.system;
 
 import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.alibaba.nacos.common.utils.Md5Utils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -10,7 +9,6 @@
 import com.dsh.course.feignClient.account.AppUserClient;
 import com.dsh.course.feignClient.account.CityManagerClient;
 import com.dsh.course.feignClient.account.CoachClient;
-import com.dsh.course.feignClient.account.model.CityManager;
 import com.dsh.course.feignClient.account.model.Coach;
 import com.dsh.course.feignClient.account.model.TAppUser;
 import com.dsh.course.feignClient.course.CoursePackageClient;
@@ -18,7 +16,6 @@
 import com.dsh.course.feignClient.course.CoursePackagePaymentConfigClient;
 import com.dsh.course.feignClient.course.CoursePackageTypeClient;
 import com.dsh.course.feignClient.course.model.TCoursePackage;
-import com.dsh.course.feignClient.course.model.TCoursePackageType;
 import com.dsh.course.feignClient.other.BallClient;
 import com.dsh.course.feignClient.other.SiteClient;
 import com.dsh.course.feignClient.other.model.Site;
@@ -31,32 +28,17 @@
 import com.dsh.guns.modular.system.service.*;
 import com.dsh.guns.modular.system.util.HttpRequestUtil;
 import com.dsh.guns.modular.system.util.ResultUtil;
-import com.google.common.base.Ascii;
-import com.google.gson.JsonObject;
-import com.netflix.ribbon.proxy.annotation.Http;
-import com.sun.org.apache.xerces.internal.impl.io.ASCIIReader;
-import io.netty.util.AsciiString;
-import io.rong.util.HttpUtil;
-import io.swagger.models.auth.In;
-import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.logging.log4j.util.Base64Util;
+
+import org.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpRequest;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
-import org.springframework.util.Base64Utils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
+
 import java.math.BigDecimal;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.nio.charset.StandardCharsets;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
+
 import java.time.LocalDate;
 import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
@@ -100,6 +82,7 @@
     private CoursePackageClient coursePackageClient;
     @Autowired
     private AppUserClient appUserClient;
+
 
     @RequestMapping("/tolist")
     public String tolist(Model model) {
@@ -242,6 +225,7 @@
             , String zs, BigDecimal zsCoin, BigDecimal zsCash, String zsImage, BigDecimal zsInt, Integer zsId,Integer zsIId
             , String zs2, BigDecimal zs2Coin, BigDecimal zs2Cash, String zs2Image, BigDecimal zs2Int, Integer zs2Id,Integer zs2IId
             , String ly, BigDecimal lyCoin, BigDecimal lyCash, String lyImage, BigDecimal lyInt, Integer lyId,Integer lyIId
+                           ,String sutuName
 
     ) {
 
@@ -278,8 +262,27 @@
             game.setOperationId(0);
         }
         System.out.println("============"+game);
-        Integer gameId = ballClient.save(game);
 
+        // 添加sutu编号
+        HashMap<String, String> map3 = new HashMap<>();
+        // 添加sutu编号
+        // 添加门禁 红蓝方
+        TSite si = siteService.getById(site);
+        TStore st = storeService.getById(store);
+        map3.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
+        map3.put("space_id", si.getId() + "");
+        map3.put("name", sutuName);
+        map3.put("city_code", "");
+        String s3 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map3);
+        System.out.println("---------------------------"+s3);
+        JSONObject jsonObject = new JSONObject(s3);
+        // 获取 data 字段的值
+        JSONObject dataObject = jsonObject.getJSONObject("data");
+        // 获取 sutu_id 字段的值
+        String sutuIdValue = dataObject.getString("sutu_id");
+        Integer sutuId = Integer.valueOf(sutuIdValue);
+        game.setSutuId(sutuId);
+        Integer gameId = ballClient.save(game);
 List<TGameConfig> gameConfigList = new ArrayList<>();
 
 
@@ -411,10 +414,25 @@
         gameConfigly.setIntegral(lyInt);
         gameConfigly.setOtherId(gameId);
         gameConfigList.add(gameConfigly);
+        HashMap<String, String> map1 = new HashMap<>();
+        HashMap<String, String> map2 = new HashMap<>();
+
+
+        map1.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
+        map1.put("space_id", si.getId() + "");
+        map1.put("device_id", red);
+        map1.put("region_id", st.getId() + "");
+        // 添加门禁
+        String s1 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map1);
+        map2.put("sign", "0DB011836143EEE2C2E072967C9F4E4B");
+        map2.put("space_id", si.getId() + "");
+        map2.put("device_id", blue);
+        map2.put("region_id", st.getId() + "");
+        // 添加门禁
+        String s2 = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addDevice", map2);
 
 
 
-        System.out.println("---------------------------"+gameConfigList);
         ballClient.saveConfig( gameConfigList);
         return null;
     }
@@ -458,11 +476,9 @@
     private TGameConfigService gameConfigService;
     @RequestMapping("/pre_edit/{id}")
     public String pre_edit(@PathVariable("id") Integer id,Model model) {
-
         Game game = ballClient.queryGame(id);
-    System.out.println("---------game------"+game);
+        System.out.println("---------game------"+game);
         model.addAttribute("game",game);
-
         if (game.getOperationId() ==0){
             model.addAttribute("opId","平台");
             model.addAttribute("is","平台");
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java
index 6c4bf5b..1f1e870 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java
@@ -68,6 +68,8 @@
      */
     @RequestMapping(value = "/", method = RequestMethod.GET)
     public String index(Model model) {
+        // 判断是否第一次登录 如果是跳转至修改密码页面
+
         model.addAttribute("tips", "");
         //获取菜单列表
         User user = UserExt.getUser();
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/Game.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/Game.java
index e72a27d..fd4489a 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/Game.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/Game.java
@@ -27,4 +27,6 @@
 
     private Integer state;
     // 获取和设置方法
+    private Integer sutuId;
+    private String sutuName;
 }
\ No newline at end of file
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/login.html b/cloud-server-management/src/main/webapp/WEB-INF/view/login.html
index d49fc44..a347d06 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/login.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/login.html
@@ -70,15 +70,15 @@
                 <img src="${ctxPath}/img/password.png" />
                 <input class="itemInput" type="password" name="password" id="password"  placeholder="请输入密码" required="" value="">
             </div>
-            <!--<div  class="item">-->
-                <!--<img src="${ctxPath}/img/password.png" />-->
-                <!--<div class="col-sm-8" style="padding-left: 0px; width: 40%">-->
-                    <!--<input class="form-control" type="text" name="kaptcha" placeholder="请输入验证码" required="">-->
-                <!--</div>-->
-                <!--<div class="col-sm-4" style="padding-left: 0px; padding-right: 0px;margin-left: 25%">-->
-                    <!--<img src="${ctxPath}/kaptcha" id="kaptcha" width="100%" height="100%"/>-->
-                <!--</div>-->
-            <!--</div>-->
+
+<!--            <div class="form-group" style="float: left;">-->
+<!--                <div class="col-sm-8" style="padding-left: 0px; padding-right: 0px;">-->
+<!--                    <input class="form-control" type="text" name="kaptcha" placeholder="验证码" required="">-->
+<!--                </div>-->
+<!--                <div class="col-sm-4" style="padding-left: 0px; padding-right: 0px;">-->
+<!--                    <img src="${ctxPath}/kaptcha" id="kaptcha" width="100%" height="100%"/>-->
+<!--                </div>-->
+<!--            </div>-->
             <button onclick="login()" class="btn full-width m-b" style="background-color: #0573EA;color: white;">登 录</button>
             <button type="submit" id="submit" style="display: none;"></button>
             </p>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_add.html
index 7af2b05..4185864 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_add.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_add.html
@@ -288,6 +288,21 @@
               "value":""
             },
             {
+              "type": "input-text",
+              "label": "SUTU名称",
+              "name": "sutuName",
+              "id": "u:a4dbdeb9165e",
+              "mode": "inline",
+              "size": "sm",
+              "horizontal": {
+                "leftFixed": "sm"
+              },
+              "value": "",
+              "required": true
+              ,
+              "value":""
+            },
+            {
               "type": "button",
               "label": "按钮",
               "onEvent": {
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit.html
index be2f673..b7bf9a1 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit.html
@@ -287,6 +287,21 @@
               "value":`${game.red}`
             },
             {
+              "type": "input-text",
+              "label": "SUTU名称",
+              "name": "sutuName",
+              "id": "u:a4dbdeb9165e",
+              "mode": "inline",
+              "size": "sm",
+              "horizontal": {
+                "leftFixed": "sm"
+              },
+              "value": "",
+              "required": true
+              ,
+              "value":`${game.sutuId}`
+            },
+            {
               "type": "button",
               "label": "按钮",
               "onEvent": {
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/benefits/TBenefitsVideos_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/benefits/TBenefitsVideos_edit.html
index 07a38df..1e94caf 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/benefits/TBenefitsVideos_edit.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/benefits/TBenefitsVideos_edit.html
@@ -90,10 +90,11 @@
             </div>
 
             <div class="form-group">
-                <label class="col-sm-3 control-label">*视频内容:</label>
-                <div class="col-sm-9" style="display: flex;">
-                    <img id="courseVideo" src="" width="150px" height="150px">
-                    <!--                    <#avatar id="img" name="" avatarImg=""/>-->
+                <label class="col-sm-3 control-label head-scu-label">*课程内容</label>
+                <div class="col-sm-2" style="padding-top: 30px;">
+                    <video height="420" controls>
+                        <source src="${data.courseVideo}" type="video/mp4">
+                    </video>
                 </div>
             </div>
             @}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackageDiscount.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackageDiscount.html
index 4caab09..b3e4f13 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackageDiscount.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackageDiscount.html
@@ -8,22 +8,24 @@
                 <input type="hidden" id="type" value="${type}">
                 <input type="hidden" id="coursePackagePaymentConfig" value='${coursePackagePaymentConfig}'>
                 @if(role==2){
+                @if(state!=0){
                 <div class="form-group">
                     <div class="col-sm-2"></div>
                     <div class="col-sm-10">
                         <label class="col-sm-2 control-label">审核状态:</label>
                         <div class="col-sm-4" style="margin-top: 6px;">
-                            <span>审核状态:${type}</span>
+                            <span>${state} </span>
                         </div>
                     </div>
                 </div>
-                @if(type==3){
+                @}
+                @if(audit==3){
                 <div class="form-group">
                     <div class="col-sm-2"></div>
                     <div class="col-sm-10">
                         <label class="col-sm-2 control-label">拒绝理由:</label>
                         <div class="col-sm-4" style="margin-top: 6px;">
-                            <span>拒绝理由:</span>
+                            <span>${reasons}</span>
                         </div>
                     </div>
                 </div>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_info.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_info.html
index 87c0a85..b2d68fc 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_info.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_info.html
@@ -193,7 +193,12 @@
     </div>
 </div>
 <div class="hr-line-dashed"></div>
+@if(type == 3){
+<h3>支付设置</h3>
+@}else{
 <h3>课时设置</h3>
+@}
+
 <div class="form-group">
     <label class="col-sm-3 control-label">*支付方式:</label>
     <div class="col-sm-4" style="margin-top: 6px;">
@@ -201,17 +206,23 @@
         <input type="checkbox" disabled name="payType" value="2" ${playPaiCoin ? 'checked' : ''}> 玩湃币&nbsp;&nbsp;&nbsp;&nbsp;
     </div>
 </div>
+@if(type != 3){
 <div class="form-group">
     <label class="col-sm-3 control-label">*课时有效期:</label>
     <div class="col-sm-4">
         购买后 <input id="validDays" disabled name="validDays" type="number" value="${item.validDays}" min="0" placeholder="天数" style="width: 80px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"> 天内有效
     </div>
 </div>
+@}
 <div id="price">
     <div class="form-group">
+        @if(type != 3){
         <label class="col-sm-3 control-label" >${type == 2||type == 3 ? '' : '*课时数:'}</label>
+        @}
         <div class="col-sm-8">
+            @if(type != 3){
             <span class="classNumber_span" disabled ${type == 2||type == 3 ? 'hidden=hidden' : ''}><input class="classNumber" type="number" value="${coursePackagePaymentConfig.classHours}" min="0" placeholder="请输入" style="width: 110px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;">&nbsp;&nbsp;&nbsp;&nbsp;</span>
+            @}
             <span class="cash_span" disabled>
                                 @if(cashPayment){
                                 现金支付:<input class="cash" type="number" value="${coursePackagePaymentConfig.cashPayment}" min="0" placeholder="请输入金额" style="width: 110px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"> ¥&nbsp;&nbsp;&nbsp;&nbsp;
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineInfo.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineInfo.html
index 0c56768..4cb94ef 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineInfo.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineInfo.html
@@ -1,194 +1,441 @@
 @layout("/common/_container.html"){
+<style>
+    .avatar-uploader .el-upload {
+        border: 1px dashed #d9d9d9;
+        border-radius: 6px;
+        cursor: pointer;
+        position: relative;
+        height: 100px;
+        width: 100px;
+        overflow: hidden;
+    }
+
+    .avatar-uploader .el-upload:hover {
+        border-color: #409eff;
+    }
+    .avatar-uploader-icon {
+        font-size: 28px;
+        color: #8c939d;
+        width: 100px;
+        height: 100px;
+        line-height: 100px;
+        margin-top: 34px;
+        text-align: center;
+    }
+    .avatar {
+        width: 100px;
+        height: 100px;
+        display: block;
+    }
+
+    .col-sm-12 {
+        margin-top: 20px;
+    }
+
+    .col-sm-12 select {
+        height: 33px;
+    }
+</style>
 <div class="ibox float-e-margins">
     <div class="ibox-content">
+        <input hidden id="t1" value="${item.type}">
+        <input hidden id="id" value="${id}">
+        <input hidden id="t2" value="${item.distributionMethod}">
+        <input hidden id="t3" value="${item.redemptionMethod}">
+        <input hidden id="t4" value="${item.userPopulation}">
+        <input hidden id="t5" value="${item.useScope}">
+        <input hidden id="one" value="${one}">
+        <input hidden id="two" value="${two}">
+        <input hidden id="three" value="${three}">
+        <input hidden id="city" value="${city}">
+        <input hidden id="objectType" value="${objectType}">
         <div class="form-horizontal">
-
-          <input value="${id}">
-
             <div class="row">
-                <div class="col-sm-5">
-                    <div class="form-group">
-                        <label class="col-sm-3 control-label">*当前状态: </label>
-                        <div class="col-sm-9">
-                            <label style="color: #c0a16b">待审核</label>
-                            <label style="color: red">未通过</label>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="row">
-                <div class="col-sm-5">
-                    <div class="form-group">
-                        <label class="col-sm-3 control-label">*发布省: </label>
-                        <div class="col-sm-9">
-                            <label style="color: #c0a16b">待审核</label>
-                            <label style="color: red">未通过</label>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="row">
-                <div class="col-sm-5">
-                    <div class="form-group">
-                        <label class="col-sm-3 control-label">*发布城市: </label>
-                        <div class="col-sm-9">
-                            <label style="color: #c0a16b">待审核</label>
-                            <label style="color: red">未通过</label>
-                        </div>
-                    </div>
-                </div>
-            </div>
-
-            <div class="row">
-                <div class="col-sm-5">
+                <div class="col-sm-6">
                     <div class="form-group">
                         <label class="col-sm-3 control-label">*优惠券名称: </label>
                         <div class="col-sm-9">
-                            <label style="color: #c0a16b">待审核</label>
-                            <label style="color: red">未通过</label>
+                            <input class="form-control" id="name" name="name" autocomplete="off" placeholder="请输入优惠券名称" value="${item.name}" readonly>
                         </div>
                     </div>
+
                 </div>
             </div>
 
             <div class="row">
-                <div class="col-sm-5">
+                <div class="col-sm-6">
                     <div class="form-group">
-
+                        <label class="col-sm-3 control-label">*优惠券类型: </label>
+                        <input class="col-sm-1" style="margin-left: 2.7%;width: 13px;height: 13px;"
+                               name="prescription" onclick="radio1()" checked disabled
+                               value="1" type="radio">
+                        <label class="col-sm-1" style="margin-left: 10px;width: 17%">满减券: 满</label>
+                        <input type="text" class="col-sm-1" id="conditionalAmount" readonly
+                               onkeyup="value=value.replace(/\D/g,'')"/>
+                        <label class="col-sm-1" style="margin-left: -1.5%;width: 14%"> 元 , 减 </label>
+                        <input type="text" class="col-sm-1" id="deductionAmount" readonly
+                               onkeyup="value=value.replace(/\D/g,'')"/>
+                        <label class="col-sm-1" style="margin-left: -1.5%"> 元</label>
                     </div>
+                    <div class="form-group">
+                        <input class="col-sm-1" name="prescription" type="radio" value="2" disabled
+                               onclick="radio2()"
+                               style="margin-left: 24.7%;">
+                        <label class="col-sm-1" style="margin-left: -17px;width: 20%;">代金券: 可抵</label>
+                        <input class="col-sm-1" id="voucherAmount" readonly />
+                        <label class="col-sm-1">元</label>
+                    </div>
+                    <div class="form-group">
+                        <input class="col-sm-1" name="prescription" type="radio" value="3" disabled
+                               onclick="radio3()"
+                               style="margin-left: 24.7%;">
+                        <label class="col-sm-1 control-label" style="margin-left: -1%;width: 14%;margin-top: -5px">体验券: </label>
+                        <input class="col-sm-1" style="width: 35%" id="experienceName" name="name"
+                               autocomplete="off" placeholder="请输入体验券名称" readonly>
+                    </div>
+
                 </div>
             </div>
 
             <div class="row">
-                <div class="col-sm-5">
+                <div class="col-sm-6">
                     <div class="form-group">
                         <label class="col-sm-3 control-label">*优惠券说明: </label>
                         <div class="col-sm-9">
                             <textarea type="checkbox" id="illustrate" style="margin-left: 1%;width: 75%;height: 120px"
-                                      placeholder="请输入优惠券名称"></textarea>
+                                      placeholder="请输入优惠券说明" disabled>${item.illustrate}</textarea>
                         </div>
                     </div>
+
                 </div>
             </div>
 
             <div class="row">
-                <div class="col-sm-5">
-                    <div class="form-group">
-                        <label class="col-sm-3 control-label">*发放方式: </label>
-                        <div class="col-sm-9">
-                            <label style="color: #c0a16b">待审核</label>
-                            <label style="color: red">未通过</label>
-                        </div>
-                    </div>
-                </div>
-            </div>
-
-            <div class="row">
-                <div class="col-sm-5">
-                    <div class="form-group">
-                        <label class="col-sm-3 control-label">*所需积分: </label>
-                        <div class="col-sm-9">
-                            <label style="color: #c0a16b">待审核</label>
-                            <label style="color: red">未通过</label>
-                        </div>
-                    </div>
-                </div>
-            </div>
-
-            <div class="row">
-                <div class="col-sm-5">
-                    <div class="form-group">
-                        <label class="col-sm-3 control-label">*用户人群: </label>
-                        <div class="col-sm-9">
-                            <label style="color: #c0a16b">待审核</label>
-                            <label style="color: red">未通过</label>
-                        </div>
-                    </div>
-                </div>
-            </div>
-
-            <div class="row">
-                <div class="col-sm-5">
-                    <div class="form-group">
-                        <label class="col-sm-3 control-label">*发放数量: </label>
-                        <div class="col-sm-9">
-                            <label style="color: #c0a16b">待审核</label>
-                            <label style="color: red">未通过</label>
-                        </div>
-                    </div>
-                </div>
-            </div>
-
-          <div class="row">
-            <div class="col-sm-5">
-              <div class="form-group">
-                <label class="col-sm-3 control-label">*限领数量: </label>
-                <div class="col-sm-9">
-                  <label style="color: #c0a16b">待审核</label>
-                  <label style="color: red">未通过</label>
-                </div>
-              </div>
-            </div>
-          </div>
-
-          <div class="row">
-            <div class="col-sm-5">
-              <div class="form-group">
-                <label class="col-sm-3 control-label">*有效期: </label>
-                <div class="col-sm-9">
-                  <label style="color: #c0a16b">待审核</label>
-                  <label style="color: red">未通过</label>
-                </div>
-              </div>
-            </div>
-          </div>
-
-          <div class="row">
-            <div class="col-sm-5">
-              <div class="form-group">
-                <label class="col-sm-3 control-label">*指定门店: </label>
-                <div class="col-sm-9">
-                  <label style="color: #c0a16b">待审核</label>
-                  <label style="color: red">未通过</label>
-                </div>
-              </div>
-            </div>
-          </div>
-
-            <div class="row">
-                <div class="col-sm-5">
+                <div class="col-sm-6">
                     <div class="form-group">
                         <div class="initialLevel col-sm-12 control-label form-group">
-                            <label class="col-sm-3 control-label">*审核状态: </label>
-                            <input class="col-sm-1 control-label" name="exchangeMethod" type="radio"
-                                   value="1" checked style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px"/>
-                            <label class="col-sm-1" style="width: 20%;margin-top: 7px">通过</label>
-                            <input class="col-sm-1 control-label" name="exchangeMethod" type="radio"
+                            <label class="col-sm-3 control-label">*发放方式: </label>
+                            <input class="col-sm-1 control-label"  name="distributionMethod" type="radio" disabled
+                                   value="1" checked style="margin-top: 10px"/>
+                            <label class="col-sm-1" style="margin-left: -15px;width: 16%;margin-top: 7px">积分购买</label>
+                            <input class="col-sm-1 control-label" name="distributionMethod"  type="radio" disabled
                                    value="2" style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px"/>
-                            <label class="col-sm-1" style="width: 20%;margin-top: 7px">拒绝</label>
+                            <label class="col-sm-1" style="width: 16%;margin-top: 7px">注册赠送</label>
+                            <input class="col-sm-1 control-label" name="distributionMethod"  type="radio" disabled
+                                   value="3" style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px"/>
+                            <label class="col-sm-1" style="width: 16%;margin-top: 7px">自动发券</label>
+                            <input class="col-sm-1 control-label" name="distributionMethod"  type="radio" disabled
+                                   value="4" style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px"/>
+                            <label class="col-sm-1" style="width: 16%;margin-top: 7px">课包赠送</label>
+                        </div>
+                    </div>
+
+                </div>
+            </div>
+
+            @if(objectType == 1){
+
+
+            <div class="row" id="exchangeType"  >
+                <div class="col-sm-6">
+                    <div class="form-group">
+                        <div class="initialLevel col-sm-12 control-label form-group">
+                            <label class="col-sm-3 control-label">*兑换方式: </label>
+                            <input class="col-sm-1 control-label" onclick="exchangeMethod1()" name="exchangeMethod" type="radio" disabled
+                                   value="1"  style="margin-top: 10px"/>
+                            <label class="col-sm-1" style="margin-left: -15px;width: 16%;margin-top: 7px">积分</label>
+                            <input class="col-sm-1 control-label" name="exchangeMethod" onclick="exchangeMethod2()" type="radio" disabled
+                                   value="2"  style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px"/>
+                            <label class="col-sm-1" style="width: 20%;margin-top: 7px">现金+积分</label>
+                            <input class="col-sm-1 control-label" name="exchangeMethod" onclick="exchangeMethod3()" type="radio" disabled
+                                   value="3"  style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px"/>
+                            <label class="col-sm-1" style="width: 9%;margin-top: 7px">现金</label>
+                        </div>
+                    </div>
+
+                </div>
+            </div>
+
+            <div class="row" id="needAmount" >
+                <div class="col-sm-6">
+                    <div class="form-group">
+                        <label class="col-sm-3 control-label">*所需现金</label>
+                        <div class="col-sm-9">
+                            <input class="form-control" id="requiredCash" placeholder="请输入所需现金" name="requiredCash" autocomplete="off" type="text" value="${item.cash}" readonly
+                                   onkeyup="this.value=this.value.replace(/\D/g,'')">
+                        </div>
+                    </div>
+
+                </div>
+            </div>
+            @}
+            <div class="row" id="needIntegral" >
+                <div class="col-sm-6">
+                    <div class="form-group">
+                        <label class="col-sm-3 control-label">*所需积分</label>
+                        <div class="col-sm-9">
+                            <input class="form-control" id="requiredPoints" placeholder="请输入所需积分" name="requiredPoints" autocomplete="off" type="text"  value="${item.integral}" readonly
+                                   onkeyup="this.value=this.value.replace(/\D/g,'')">
+                        </div>
+                    </div>
+
+                </div>
+            </div>
+
+            <div class="row">
+                <div class="col-sm-6">
+                    <div class="form-group">
+                        <div class="initialLevel col-sm-12 control-label form-group">
+                            <label class="col-sm-3 control-label">*用户人群: </label>
+                            <input class="col-sm-1 control-label" name="userGroup" type="radio" disabled
+                                   value="1" checked style="margin-top: 10px"/>
+                            <label class="col-sm-1" style="margin-left: -15px;width: 16%;margin-top: 7px">全部用户</label>
+                            <input class="col-sm-1 control-label" name="userGroup" type="radio" disabled
+                                   value="2"  style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px"/>
+                            <label class="col-sm-1" style="width: 16%;margin-top: 7px">年度会员</label>
+                            <input class="col-sm-1 control-label" name="userGroup" type="radio" disabled
+                                   value="3"  style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px"/>
+                            <label class="col-sm-1" style="width: 18%;margin-top: 5px">已有学员用户</label>
+                        </div>
+                    </div>
+
+                </div>
+            </div>
+            <div class="row">
+                <div class="col-sm-6">
+                    <div class="form-group">
+                        <label class="col-sm-3 control-label">*发放数量</label>
+                        <div class="col-sm-9">
+                            <input class="form-control" id="quantityIssued" placeholder="请输入发放数量" name="quantityIssued" autocomplete="off" type="text" value="${item.quantityIssued}" readonly
+                                   onkeyup="this.value=this.value.replace(/\D/g,'')">
+                        </div>
+                    </div>
+
+                </div>
+            </div>
+
+            <div class="row">
+                <div class="col-sm-6">
+                    <div class="form-group">
+                        <label class="col-sm-3 control-label">*限领数量</label>
+                        <div class="col-sm-9">
+                            <input class="form-control" id="pickUpQuantity" placeholder="请输入限领数量" name="pickUpQuantity" autocomplete="off" type="text" value="${item.pickUpQuantity}" readonly
+                                   onkeyup="this.value=this.value.replace(/\D/g,'')">
+                        </div>
+                    </div>
+
+                </div>
+            </div>
+
+            <div class="row">
+                <div class="col-sm-6">
+                    <label class="col-sm-3 control-label">*有效期: </label>
+                    <input type="text" style="width: 30%;margin-left: 1%" class="col-sm-3" id="periodOfValidity" value="${s} - ${e}" disabled
+                           placeholder="请选择"/>
+                </div>
+            </div>
+            @if(objectType == 1){
+            <div class="row" id="app" >
+                <div class="col-sm-6">
+                    <div class="form-group">
+                        <label class="col-sm-3 control-label">*商品封面: </label>
+                        <div class="col-sm-2" style="margin-top: 2%">
+                            <img src=${item.cover}>
+                        </div>
+                    </div>
+
+                </div>
+            </div>
+
+            <div class="row" id="app1" >
+                <div class="col-sm-6" style="width: 100%">
+                    <div class="form-group">
+                        <label class="col-sm-3 control-label" style="width: 15%;margin-left: 7%">*商品图片(请上传不超过五张图片): </label>
+                        <div class="col-sm-2" style="width: 100%;margin-left: 12%;margin-top: 1%">
+                            @for(i in img){
+                            <img src=${i} style="width: 150px">
+                            @}
+                        </div>
+                    </div>
+
+                </div>
+            </div>
+            @}
+            <div class="row" id="belongsCon" >
+                <div class="col-sm-6">
+                    <div class="form-group">
+                        <div class="initialLevel col-sm-12 control-label form-group">
+                            <label class="col-sm-3">*适用范围: </label>
+                            <div class="col-sm-3" id="belongsNationwide" >
+                                <input class="col-sm-1" onclick="scopeOfApplication1()" name="company" type="radio" disabled
+                                       value="1"  style="margin-top: 10px"/>
+                                <label class="col-sm-2" style="width: 68%;margin-top: 7px">全国通用</label>
+                            </div>
+                            <div class="col-sm-3" id="belongsCity" >
+                                <input class="col-sm-1" name="company" onclick="scopeOfApplication2()" type="radio" disabled
+                                       value="2"  style="margin-top: 10px"/>
+                                <label class="col-sm-2" style="width: 64%;margin-top: 7px">指定城市</label>
+                            </div>
+                            <div class="col-sm-3" id="belongsStore" >
+                                <input class="col-sm-1" name="company" onclick="scopeOfApplication3()" type="radio" disabled
+                                       value="3" style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px"/>
+                                <label class="col-sm-2" style="width: 64%;margin-top: 6px;">指定门店</label>
+                            </div>
+                        </div>
+                    </div>
+
+                </div>
+            </div>
+
+            <div class="row" id="citySelect" hidden="hidden">
+                <div class="col-sm-6">
+                    <div class="form-group">
+                        <label class="col-sm-3 control-label">*指定城市: </label>
+                        <table class="table table-bordered" style="width: 70%;margin-left: 228px;" id="">
+                            <thead>
+                            <tr>
+                                <td>省</td>
+                                <td>市</td>
+                            </tr>
+                            @for(c in city){
+                            <td>${c.province}</td>
+                            <td>${c.city}</td>
+                            @}
+                            </thead>
+                        </table>
+                    </div>
+
+                </div>
+            </div>
+
+            <div class="row" id="storeSelect" hidden="hidden">
+                <div class="col-sm-6">
+                    <div class="form-group">
+                        <div class="col-sm-12">
+                            <label class="col-sm-3 control-label">*指定门店: </label>
+                        </div>
+                        <div class="col-sm-12" style="margin-left: -57px;margin-top: 20px">
+                            <table class="table table-bordered" style="width: 70%;margin-left: 228px;" id="storeTable">
+                                <thead>
+                                <tr>
+                                    <td>所在省市</td>
+                                    <td>所属账号</td>
+                                    <td>门店名称</td>
+                                </tr>
+                                @for(s in store){
+                                <td>${s.province}</td>
+                                <td>${s.phone}</td>
+                                <td>${s.name}</td>
+                                @}
+                                </thead>
+                            </table>
+                        </div>
+                    </div>
+
+                </div>
+            </div>
+            <div class="form-horizontal">
+                <div class="col-sm-11">
+                    <div class="col-sm-11">
+                        <div class="form-group">
+                            <label class="col-sm-3 control-label">审核状态:</label>
+                            <div class="col-sm-9">
+                                <input type="radio" name="r1" value="2" checked> 通过
+                                <input type="radio" name="r1" value="3"> 拒绝
+                            </div>
+                        </div>
+                        <div class="form-group">
+                            <label class="col-sm-3 control-label">拒绝理由:</label>
+                            <div class="col-sm-9">
+                                <textarea id="text" style="width: 460px; height: 138px;"></textarea>
+                            </div>
                         </div>
                     </div>
                 </div>
             </div>
-
-            <div class="col-sm-12" style="display: none" id="detailBox">
-                <div style="display: flex;justify-content: center;margin-top: 20px">
-                    <label>拒绝描述:</label>
-                    <textarea style="width: 90%;height: 200px" type="text" id="detail"></textarea>
-                </div>
-            </div>
-
-            <div class="row btn-group-m-t">
-                <div class="col-sm-10" style="display: flex;justify-content: center">
-                    <#button btnCss="danger" name="关闭" style="float:right;margin-left: 20%" id="cancel"
-                    icon="fa-eraser" clickFun="CouponExamineInfoDlg.close()"/>
-                    <#button btnCss="info" name="保存" style="float:left" id="ensure" icon="fa-check"
-                    clickFun="CouponExamineInfoDlg.addSubmitCoupon()"/>
+            <div class="row">
+                <div class="row btn-group-m-t">
+                    <div class="col-sm-10" style="margin-left: 20%;">
+                        <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="couponInfoDlg.close()"/>
+                        <#button btnCss="info" name="保存" id="cancel" icon="fa-eraser" clickFun="couponInfoDlg.audit()"/>
+                    </div>
                 </div>
             </div>
 
         </div>
     </div>
 </div>
-<script src="${ctxPath}/modular/system/tCouponExamine/TCouponExamine.js"></script>
+<script src="${ctxPath}/js/vue/vue.js"></script>
+<script src="${ctxPath}/js/elementui/index.js"></script>
+<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css">
+<script src="${ctxPath}/modular/system/tCoupon/TCouponInfo.js"></script>
+<script src="${ctxPath}/modular/system/tCoupon/TStoreInfo.js"></script>
+<script type="text/javascript">
+    window.onload = function() {
+        console.log(12312)
+    }
+    laydate.render({
+        elem: '#periodOfValidity',
+        type: 'date',
+        range: true
+    });
+    var vue1 = new Vue({
+        el: '#app',
+        data: {
+            autoUpload: true,//自动上传
+            imageUrl: '',//模型数据,用于上传图片完成后图片预览
+            dialogVisible: false
+        },
+        methods: {
+            handleAvatarSuccess(res, file) {
+                this.imageUrl = URL.createObjectURL(file.raw);
+                couponInfoDlg.goodsCover = file.response;
+            },
+            beforeAvatarUpload(file) {
+                const isLt2M = file.size / 1024 / 1024 < 10;
+                if (!isLt2M) {
+                    this.$message.error('上传图片大小不能超过 10MB!');
+                }
+                return isLt2M;
+            },
+            handleRemove(file, fileList) {
+                couponInfoDlg.goodsCover = '';
+                console.log(couponInfoDlg.goodsCover)
+            },
+        },
+        created() {
+        },
+    });
+
+    var vue2 = new Vue({
+        el: '#app1',
+        data: {
+            autoUpload: true,//自动上传
+            imageUrl1: '',//模型数据,用于上传图片完成后图片预览
+            dialogVisible: false
+        },
+        methods: {
+            handleAvatarSuccess(res, file) {
+                couponInfoDlg.goodsPicArray.push(file);
+            },
+            beforeAvatarUpload(file) {
+                const isLt2M = file.size / 1024 / 1024 < 10;
+                if (!isLt2M) {
+                    this.$message.error('上传图片大小不能超过 10MB!');
+                }
+                return isLt2M;
+            },
+            handleRemove(file, fileList) {
+                couponInfoDlg.goodsPicArray = couponInfoDlg.goodsPicArray.filter(item => {
+                    return item.uid != file.uid;
+                });
+            },
+        },
+        created() {
+        },
+    });
+
+
+
+</script>
 @}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/coursePackageDiscount.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/coursePackageDiscount.html
index 96b990f..7d76ce2 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/coursePackageDiscount.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tDiscountAudit/coursePackageDiscount.html
@@ -108,6 +108,7 @@
             <div class="row btn-group-m-t">
                 <div class="col-sm-10">
                     <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TCarInfoDlg.close()"/>
+                    <#button btnCss="info" name="保存" id="cancel" icon="fa-eraser" clickFun="CoursePackageDiscount.audit()"/>
                 </div>
             </div>
         </div>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_detail_two.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_detail_two.html
index c79db46..6e88a0f 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_detail_two.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_detail_two.html
@@ -92,7 +92,9 @@
                     <label class="col-sm-3 control-label">课时数:</label>
                     <div class="col-sm-9">
                         <select class="form-control" id="coursePackageConfigId" name="coursePackageConfigId">
-                            <option value="">${classHours}</option>
+                            @for(obj in classHours){
+                            <option value="">${obj}</option>
+                            @}
                         </select>
                     </div>
                 </div>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudent.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudent.html
index b020fcc..5157a76 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudent.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudent.html
@@ -36,7 +36,7 @@
                                 <#button name="添加" icon="fa-plus" clickFun="TStudent.openAddTStudent()"/>
                             @}
 
-                                <#button name="修改" icon="fa-edit" clickFun="TStudent.openTStudentDetail()" space="true"/>
+                            <#button name="修改" icon="fa-edit" clickFun="TStudent.openTStudentDetail()" space="true"/>
                             <#button name="查看详情" icon="fa-edit" clickFun="TStudent.openTStudentDetail1()" space="true"/>
                             <#button name="学员评语" icon="fa-edit" clickFun="TStudent.openTStudentDetail2()" space="true"/>
                             <#button name="冻结" icon="fa-edit" clickFun="TStudent.editCoursePackageState(2)" space="true"/>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit_first.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit_first.html
index 5fdb7da..29b9e27 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit_first.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit_first.html
@@ -187,14 +187,8 @@
           "name": "idCard",
           "size": "md",
           "mode": "horizontal",
-          "required": true,
-          "validationErrors": {
-            "isId": "请输入正确的身份证号"
-          },
+          "required": false,
           "validateOnChange": true,
-          "validations": {
-            "isId": true
-          },
           "value":`${item.idCard!}`
         },
         {
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/TCoupon.js b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/TCoupon.js
index 4900d51..1882b94 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/TCoupon.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/TCoupon.js
@@ -26,35 +26,12 @@
                 }}},
         {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'},
         {title: '优惠券名称', field: 'name', visible: true, align: 'center', valign: 'middle'},
-        {title: '适用范围', field: 'useScope', visible: true, align: 'center', valign: 'middle',
-            formatter: function (value, row, index) {
-                return {1: "全国", 2: "指定城市", 3: "指定门店"}[value]
-            }
-        },
+
         {title: '优惠券类型', field: 'type', visible: true, align: 'center', valign: 'middle',
             formatter: function (value, row, index) {
                 return {1: "满减券", 2: "代金券", 3: "体验券"}[value]
             }},
-        {title: '发放方式', field: 'distributionMethod', visible: true, align: 'center', valign: 'middle',
-            formatter: function (value, row, index) {
-                return {1: "积分购买", 2: "注册赠送", 3: "自动发券",4:"课包赠送"}[value]
-            }},
-        {title: '有效期', field: 'timeValue', visible: true, align: 'center', valign: 'middle'},
-        {title: '用户人群', field: 'userPopulation', visible: true, align: 'center', valign: 'middle',
-            formatter: function (value, row, index) {
-                return {1: "全部用户", 2: "年度会员", 3: "已有学员用户"}[value]
-            }},
-        {title: '发放数量', field: 'quantityIssued', visible: true, align: 'center', valign: 'middle'},
-        {title: '限领数量', field: 'pickUpQuantity', visible: true, align: 'center', valign: 'middle'},
-        {title: '已领数量', field: 'hasPickQty', visible: true, align: 'center', valign: 'middle'},
-        {title: '活动状态', field: 'status', visible: true, align: 'center', valign: 'middle',
-            formatter: function (value, row, index) {
-                return {1: "未开始", 2: "已开始", 3: "已结束"}[value]
-            }},
-        {title: '可售状态', field: 'state', visible: true, align: 'center', valign: 'middle',
-            formatter: function (value, row, index) {
-                return {1: "上架", 2: "下架"}[value]
-            }},
+        {title: '优惠券详情', field: 'illustrate', visible: true, align: 'center', valign: 'middle'},
     ];
 };
 
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCompetitionAudit/tCompetition.js b/cloud-server-management/src/main/webapp/static/modular/system/tCompetitionAudit/tCompetition.js
index e6d57fc..3ce4666 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tCompetitionAudit/tCompetition.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tCompetitionAudit/tCompetition.js
@@ -143,6 +143,10 @@
                 layer.closeAll();
             },
             btn2:function () {
+                if (TCompetition.seItem.auditStatus==3){
+                    Feng.info("该赛事不可再次审核")
+                    return false;
+                }
                 let audit = document.querySelector('input[name="r1"]:checked').value;
                 let text = $("#text").val()
                 if(audit==3){
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
index 5935920..b3b6a11 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
@@ -42,6 +42,9 @@
 couponInfoDlg.close = function () {
     parent.layer.close(window.parent.TCoupon.layerIndex);
 }
+couponInfoDlg.close1 = function () {
+    parent.layer.close(window.parent.TCouponExamine.layerIndex);
+}
 
 
 /**
@@ -316,7 +319,42 @@
 couponInfoDlg.delete = function (o) {
     $(o).parent("div").remove()
 }
+couponInfoDlg.audit = function () {
+    var id = $("#id").val();
+    let audit = document.querySelector('input[name="r1"]:checked').value;
+    let text = $("#text").val()
+    if(audit==3){
+        if(text==''){
+            Feng.info("请输入拒绝理由")
+            return false;
+        }
+    }
+    var ajax = new $ax(Feng.ctxPath + "/tCouponExamine/examine", function (data) {
+        if (data.code == 200) {
+            Feng.success("操作成功!");
 
+            window.parent.TCouponExamine.table.refresh();
+            couponInfoDlg.close1();
+        } else if(data=="repeat"){
+            window.location.reload();
+            window.parent.layer.closeAll();
+            Feng.error("请勿重复操作");
+        }else {
+            return  Feng.error(data.msg);
+        }
+    }, function (data) {
+        Feng.error("操作失败!")
+        window.location.reload();
+        window.parent.layer.closeAll();
+        return   Feng.error("操作失败!");
+    });
+
+    ajax.set("id", id);
+    ajax.set("state", audit);
+    ajax.set("remark", text);
+    ajax.start();
+    layer.closeAll();
+}
 /**
  * 提交
  */
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tDiscount/tDiscount_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tDiscount/tDiscount_info.js
index 8360403..07cf0e3 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tDiscount/tDiscount_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tDiscount/tDiscount_info.js
@@ -99,7 +99,9 @@
     .set('registerDate')
     .set('commercialType');
 }
+TCarInfoDlg.audit = function() {
 
+}
 /**
  * 提交添加
  */
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/coursePackageDiscount.js b/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/coursePackageDiscount.js
index 9b77955..9f6de19 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/coursePackageDiscount.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/coursePackageDiscount.js
@@ -14,8 +14,39 @@
 CoursePackageDiscount.close = function () {
     parent.layer.close(window.parent.CoursePackage.layerIndex);
 };
+CoursePackageDiscount.close1 = function () {
+    parent.layer.close(window.parent.TCompetition.layerIndex);
+};
 
-
+CoursePackageDiscount.audit = function () {
+    var id = $("#id").val();
+    let audit = document.querySelector('input[name="r1"]:checked').value;
+    let text = $("#text").val()
+    if(audit==3){
+        if(text==''){
+            Feng.info("请输入拒绝理由")
+            return false;
+        }
+    }
+    var ajax = new $ax(Feng.ctxPath + "/tDiscount/auditDiscount", function (data) {
+        if (data.code == 200) {
+            Feng.success("操作成功!");
+            window.parent.TCompetition.table.refresh();
+            CoursePackageDiscount.close1();
+        } else if(data=="repeat"){
+            Feng.error("请勿重复操作");
+        }else {
+            return  Feng.error(data.msg);
+        }
+    }, function (data) {
+        return   Feng.error("操作失败!");
+    });
+    ajax.set("id", id);
+    ajax.set("audit", audit);
+    ajax.set("text", text);
+    ajax.start();
+    layer.closeAll();
+}
 /**
  * 提交修改
  */
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/tDiscount.js b/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/tDiscount.js
index 9694fee..7603390 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/tDiscount.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tDiscountAudit/tDiscount.js
@@ -201,10 +201,13 @@
                 layer.closeAll();
             },
             btn2:function () {
+
                 let audit = document.querySelector('input[name="r1"]:checked').value;
                 let text = $("#text").val()
                 if(audit==3){
                     if(text==''){
+                        console.log("让我看看!")
+                        console.log(TCompetition.seItem.courseId)
                         Feng.info("请输入拒绝理由")
                         return false;
                     }
@@ -227,7 +230,8 @@
                     window.parent.layer.closeAll();
                     return   Feng.error("操作失败!");
                 });
-                ajax.set("id", TCompetition.seItem.id);
+
+                ajax.set("id", TCompetition.seItem.courseId);
                 ajax.set("audit", audit);
                 ajax.set("text", text);
                 ajax.start();
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/TStoreInfo.js b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/TStoreInfo.js
index 7fcae33..ba86d9e 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/TStoreInfo.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/TStoreInfo.js
@@ -18,7 +18,6 @@
         {title: '序号', field: 'id', visible: true, align: 'center', valign: 'middle'},
         {title: '所在省市', field: 'provinceCity', visible: true, align: 'center', valign: 'middle'},
         {title: '门店名称', field: 'name', visible: true, align: 'center', valign: 'middle'},
-        {title: '闸机id', field: 'ids', visible: true, align: 'center', valign: 'middle'},
     ];
 };
 
@@ -123,7 +122,7 @@
 
     var citySelect = document.getElementById("city");
     citySelect.innerHTML = "";
-    var ajax = new $ax(Feng.ctxPath + "/tCouponManage/getCity", function(data){
+    var ajax = new $ax(Feng.ctxPath + "/tCouponManage/getCity1", function(data){
         data.forEach(province => {
             var option = document.createElement("option");
             option.value = province.code;  // 根据你的数据结构确定省份的id字段
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop_info.js
index 276bd3e..c5fa4e7 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop_info.js
@@ -361,7 +361,8 @@
 var marker;
 //搜索地图
 TCarInfoDlg.searchByStationName = function(e,type){
-    var keyword="成都";
+    console.log("调用")
+    var keyword="";
     if(type==2){
         keyword = $(e).parent().prev().find("input").val();
     }else {
diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/Game.java b/cloud-server-other/src/main/java/com/dsh/other/entity/Game.java
index ba410e4..88dc0af 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/entity/Game.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/entity/Game.java
@@ -48,6 +48,9 @@
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date insertTime;
     private Integer state;
-
+    @TableField("sutuId")
+    private Integer sutuId;
+    @TableField("sutuName")
+    private String sutuName;
     // 获取和设置方法
 }
\ No newline at end of file

--
Gitblit v1.7.1