From ded7b20c06c16646a1f718c32a78e463844da6da Mon Sep 17 00:00:00 2001
From: luo <2855143437@qq.com>
Date: 星期日, 08 十月 2023 15:11:01 +0800
Subject: [PATCH] 10.8

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/TimeDto.java                           |    7 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue.html                                        |   89 
 cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml                                      |   68 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java                       |    5 
 logs/mb-cloud-management/2023-10/debug.2023-10-07.0.log117386460201400.tmp                                         |   79 
 cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java                           |   34 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/BookingQuery.java                      |   19 
 .idea/workspace.xml                                                                                                |   56 
 cloud-server-course/src/main/java/com/dsh/course/service/impl/CourseCounsumServiceImpl.java                        |    2 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java                |    2 
 cloud-server-management/src/main/webapp/static/modular/system/ball/ball.js                                         |    7 
 cloud-server-course/src/main/java/com/dsh/course/entity/PacQueryDto.java                                           |   16 
 cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java                                      |   45 
 cloud-server-other/src/main/java/com/dsh/other/entity/Game.java                                                    |    4 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html                     |   12 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java |   13 
 cloud-server-other/src/main/resources/mapper/GameMapper.xml                                                        |   11 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java    |   10 
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java                |   99 
 cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java                                       |    5 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageClient.java                   |   11 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit.html                                | 1309 ++++++++++++
 cloud-server-other/src/main/java/com/dsh/other/mapper/GameMapper.java                                              |    4 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java            |  443 +++
 cloud-server-other/src/main/java/com/dsh/other/entity/BookingQuery.java                                            |   19 
 cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java                                      |   27 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java          |    4 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java               |   11 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/PacQueryDto.java                       |   17 
 cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js                                   |  532 +++++
 cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java                                             |    4 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_add.html                                 | 1049 ++++++++-
 cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_add.html                                    |  286 ++
 .idea/modules.xml                                                                                                  |    1 
 cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java                         |    5 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/other/BallClient.java                             |   17 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java                 |    9 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/GameConfig.java                            |   93 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/GameConfigDto.java                         |    9 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java                           |    2 
 cloud-server-management/src/main/resources/mapper/TStoreMapper.xml                                                 |   10 
 cloud-server-course/src/main/java/com/dsh/course/entity/dto/StudentQeryDto.java                                    |   14 
 cloud-server-management/src/main/webapp/static/modular/system/ball/ball_info.js                                    |    2 
 cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js                    |    3 
 cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java                           |    6 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TGameConfig.java                           |   70 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/paike.html                                        |  410 +++
 cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java                                 |   21 
 cloud-server-management/src/main/java/com/dsh/course/dto/JsDto.java                                                |   10 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/OrderDto.java                          |    9 
 cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js                                        |  135 +
 cloud-server-management/src/main/java/com/dsh/course/feignClient/other/SiteClient.java                             |    7 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball.html                                         |    5 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java      |   12 
 cloud-server-other/src/main/java/com/dsh/other/service/GameService.java                                            |    4 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/jieshao.html                                      | 1163 ++++++++++
 cloud-server-management/src/main/java/com/dsh/course/dto/StudentQeryDto.java                                       |   14 
 cloud-server-other/src/main/java/com/dsh/other/service/impl/GameServiceImpl.java                                   |    7 
 58 files changed, 6,158 insertions(+), 179 deletions(-)

diff --git a/.idea/modules.xml b/.idea/modules.xml
index b047c60..43966e6 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -3,7 +3,6 @@
   <component name="ProjectModuleManager">
     <modules>
       <module fileurl="file://$PROJECT_DIR$/.idea/PlayPai.iml" filepath="$PROJECT_DIR$/.idea/PlayPai.iml" />
-      <module fileurl="file://$PROJECT_DIR$/cloud-server-course/mb-cloud-course.iml" filepath="$PROJECT_DIR$/cloud-server-course/mb-cloud-course.iml" />
     </modules>
   </component>
 </project>
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 7f92887..6c77cc0 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -26,10 +26,44 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="cb08d02f-fd4f-4fa2-85fe-abd508fa83ac" name="Default Changelist" comment="9.26。15">
+      <change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/impl/CourseCounsumServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/impl/CourseCounsumServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageClient.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/BallClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/BallClient.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/SiteClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/SiteClient.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball.html" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_add.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_add.html" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/ball/ball.js" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/ball/ball.js" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/ball/ball_info.js" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/ball/ball_info.js" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/entity/Game.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/entity/Game.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/mapper/GameMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/mapper/GameMapper.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/GameService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/GameService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/impl/GameServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/impl/GameServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/resources/mapper/GameMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/resources/mapper/GameMapper.xml" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -89,7 +123,7 @@
     "WebServerToolWindowFactoryState": "false",
     "git-widget-placeholder": "master",
     "ignore.virus.scanning.warn.message": "true",
-    "last_opened_file_path": "D:/ttt/java/PlayPai/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball",
+    "last_opened_file_path": "D:/Javaproject/PlayPay/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball",
     "node.js.detected.package.eslint": "true",
     "node.js.detected.package.tslint": "true",
     "node.js.selected.package.eslint": "(autodetect)",
@@ -99,8 +133,8 @@
     "project.structure.proportion": "0.15",
     "project.structure.side.proportion": "0.54367816",
     "service.view.auto.scroll.to.source": "true",
-    "settings.editor.selected.configurable": "MavenSettings",
-    "spring.configuration.checksum": "7fb6c6ffe49cf7315145a28a96be3d8f",
+    "settings.editor.selected.configurable": "preferences.pluginManager",
+    "spring.configuration.checksum": "6e27eb92c8707375af194da5aa857bbc",
     "vue.rearranger.settings.migration": "true"
   }
 }]]></component>
@@ -109,11 +143,11 @@
   </component>
   <component name="RecentsManager">
     <key name="CopyFile.RECENT_KEYS">
+      <recent name="D:\Javaproject\PlayPay\cloud-server-management\src\main\webapp\WEB-INF\view\system\ball" />
+      <recent name="D:\Javaproject\PlayPay\cloud-server-management\src\main\webapp\static\modular\system\ball" />
+      <recent name="D:\Javaproject\PlayPay\cloud-server-course\src\main\resources\mapper" />
       <recent name="D:\ttt\java\PlayPai\cloud-server-management\src\main\webapp\WEB-INF\view\system\ball" />
       <recent name="D:\ttt\java\PlayPai\cloud-server-management\src\main\webapp\static\modular\system\ball" />
-      <recent name="D:\ttt\java\PlayPai\cloud-server-other\src\main\resources\mapper" />
-      <recent name="D:\JavaTool\PlayPai1\cloud-server-management\src\main\webapp\static\modular\system\coursePackage" />
-      <recent name="D:\JavaTool\PlayPai1\cloud-server-management\src\main\webapp\WEB-INF\view\system\coursePackage" />
     </key>
     <key name="MoveFile.RECENT_KEYS">
       <recent name="D:\JavaTool\PlayPai1\cloud-server-management\src\main\webapp\static\modular\system\tStudent" />
@@ -121,11 +155,11 @@
       <recent name="D:\ttt\java\PlayPai\cloud-server-parent" />
     </key>
     <key name="CopyClassDialog.RECENTS_KEY">
+      <recent name="com.dsh.guns.modular.system.service.impl" />
+      <recent name="com.dsh.guns.modular.system.service" />
       <recent name="com.dsh.other.mapper" />
       <recent name="com.dsh.other.service.impl" />
       <recent name="com.dsh.other.service" />
-      <recent name="com.dsh.other.entity" />
-      <recent name="com.dsh.other.controller" />
     </key>
   </component>
   <component name="RunDashboard">
@@ -305,6 +339,7 @@
       <workItem from="1696433675086" duration="2211000" />
       <workItem from="1696462020097" duration="481000" />
       <workItem from="1696465598653" duration="19850000" />
+      <workItem from="1696639362946" duration="41725000" />
     </task>
     <task id="LOCAL-00001" summary="后台代码删除">
       <created>1690249807612</created>
@@ -663,6 +698,11 @@
           <line>1355</line>
           <option name="timeStamp" value="14" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java</url>
+          <line>133</line>
+          <option name="timeStamp" value="21" />
+        </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
   </component>
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
index aba1585..ee637bb 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
@@ -53,6 +53,40 @@
 
     @Resource
     private CoursePackageSchedulingMapper coursePackageSchedulingService;
+
+
+
+
+    @RequestMapping("/getStudentTotal")
+    @ResponseBody
+    public List<Map<String, Object>> get(@RequestBody StudentQeryDto studentQeryDto) {
+        System.out.println("-====studentQeryDto========="+studentQeryDto);
+        List<Map<String, Object>>  pays =  paymentService.getStudentTotal(studentQeryDto);
+        System.out.println("=========pays======"+pays);
+
+        return  pays;
+
+    }
+
+
+    @RequestMapping("/bypac")
+    @ResponseBody
+    public List<Map<String, Object>> bypac(@RequestBody PacQueryDto pacQueryDto) {
+
+
+
+
+
+        System.out.println("-====studentQeryDto========="+pacQueryDto);
+        List<Map<String, Object>>  pays =  paymentService.bypac(pacQueryDto);
+        System.out.println("=========pays======"+pays);
+
+        return  pays;
+
+    }
+
+
+
     //获取学员课时数信息
     @RequestMapping("/getInfo")
     @ResponseBody
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/PacQueryDto.java b/cloud-server-course/src/main/java/com/dsh/course/entity/PacQueryDto.java
new file mode 100644
index 0000000..bb1929d
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/PacQueryDto.java
@@ -0,0 +1,16 @@
+package com.dsh.course.entity;
+
+
+import lombok.Data;
+
+@Data
+public class PacQueryDto {
+    String cityCode;
+    String store;
+    String name;
+    String times;
+    String start;
+    String end;
+    String provinceCode;
+
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
index ef54715..f9a0012 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
@@ -164,4 +164,25 @@
      */
     @TableField("salesName")
     private String salesName;
+
+    @TableField(exist = false)
+    private String studentName;
+    @TableField(exist = false)
+
+    private String province;
+    @TableField(exist = false)
+
+    private String city;
+    @TableField(exist = false)
+
+    private String courseName;
+    @TableField(exist = false)
+
+    private Integer hasHours;
+    @TableField(exist = false)
+
+    private BigDecimal laveCashPayment;
+    @TableField(exist = false)
+
+    private BigDecimal cashPayment1;
 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/dto/StudentQeryDto.java b/cloud-server-course/src/main/java/com/dsh/course/entity/dto/StudentQeryDto.java
new file mode 100644
index 0000000..b22d696
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/dto/StudentQeryDto.java
@@ -0,0 +1,14 @@
+package com.dsh.course.entity.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class StudentQeryDto {
+    String cityCode;
+    String start;
+    String end;
+    String studentName;
+    String times;
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java
index 03f1be1..5b49e8f 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java
@@ -2,7 +2,9 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dsh.course.entity.PacQueryDto;
 import com.dsh.course.entity.TCoursePackagePayment;
+import com.dsh.course.entity.dto.StudentQeryDto;
 import com.dsh.course.model.QueryRegistrationRecord;
 import com.dsh.course.model.BillingRequest;
 import io.swagger.models.auth.In;
@@ -67,4 +69,8 @@
     boolean updateHoursById(@Param("id") Long id, @Param("i") int i);
 
     void updateBytime(@Param("coursePackagePayment") TCoursePackagePayment coursePackagePayment);
+
+    List<Map<String, Object>>  getStudentTotal(StudentQeryDto studentQeryDto);
+
+    List<Map<String, Object>> pacQueryDto(PacQueryDto pacQueryDto);
 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java
index e69e432..9aa1fd5 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java
@@ -3,7 +3,9 @@
 import com.baomidou.mybatisplus.extension.api.R;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.dsh.course.entity.PacQueryDto;
 import com.dsh.course.entity.TCoursePackagePayment;
+import com.dsh.course.entity.dto.StudentQeryDto;
 import com.dsh.course.feignclient.model.RecordAppoint;
 import com.dsh.course.model.*;
 import com.dsh.course.model.vo.RegisterCourseVo;
@@ -133,4 +135,7 @@
 
     List<RegisterOrderVO> listAllRegister(RegisterOrderQuery query);
 
+    List<Map<String, Object>>  getStudentTotal(StudentQeryDto studentQeryDto);
+
+    List<Map<String, Object>> bypac(PacQueryDto pacQueryDto);
 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CourseCounsumServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CourseCounsumServiceImpl.java
index 2381648..cbfca6b 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CourseCounsumServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CourseCounsumServiceImpl.java
@@ -12,8 +12,6 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
-
 @Service
 public class CourseCounsumServiceImpl extends ServiceImpl<CourseCounsumMapper, CourseCounsum> implements CourseCounsumService {
     @Autowired
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
index 49b711f..64c839f 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -9,6 +9,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dsh.course.entity.*;
 import com.dsh.course.entity.TAppUser;
+import com.dsh.course.entity.dto.StudentQeryDto;
 import com.dsh.course.feignclient.account.AppUserClient;
 import com.dsh.course.feignclient.account.CoachClient;
 import com.dsh.course.feignclient.account.StudentClient;
@@ -46,6 +47,7 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -150,6 +152,103 @@
         return cpConfigMapper.listAllRegister(query,STime,ETime,query.getAmount());
     }
 
+    @Override
+    public List<Map<String, Object>> getStudentTotal(StudentQeryDto studentQeryDto) {
+        List<Map<String, Object>> studentTotal = this.baseMapper.getStudentTotal(studentQeryDto);
+
+        for (Map<String, Object> student : studentTotal) {
+            BigDecimal cashPayment = (BigDecimal) student.get("cashPayment");
+            BigDecimal totalClassHours = (BigDecimal) student.get("totalClassHours");
+            BigDecimal hasHours = (BigDecimal) student.get("hasHours");
+
+            BigDecimal hasPayment = cashPayment.divide(totalClassHours, 2, RoundingMode.HALF_UP)
+                    .multiply(hasHours).setScale(2, RoundingMode.HALF_UP);
+            student.put("hasPayment", hasPayment);
+
+
+            Integer appUserId = (Integer) student.get("appUserId");
+            AppUser appUser = appuClient.queryAppUser(appUserId);
+            student.put("province", appUser.getProvince());
+            student.put("provinceCode", appUser.getProvinceCode());
+
+            student.put("city", appUser.getCity());
+            student.put("cityCode", appUser.getCityCode());
+
+            Student studentId = studentClient.queryStudentById((Integer) student.get("studentId"));
+            student.put("studentName", studentId.getName());
+
+
+        }
+
+        if (studentQeryDto.getCityCode()!=null&&studentQeryDto.getCityCode()!="") {
+            String value = studentQeryDto.getCityCode();
+            boolean allZeros = value.substring(value.length() - 4).endsWith("0000");
+            System.out.println(allZeros); // Output: true
+            if (allZeros){
+                Iterator<Map<String, Object>> iterator = studentTotal.iterator();
+                while (iterator.hasNext()) {
+                    Map<String, Object> student = iterator.next();
+                    String cityCode = (String) student.get("provinceCode");
+                    if (!cityCode.equals(studentQeryDto.getCityCode())) {
+                        iterator.remove(); // Remove the element from the list
+                    }
+                }
+            }else{
+            Iterator<Map<String, Object>> iterator = studentTotal.iterator();
+            while (iterator.hasNext()) {
+                Map<String, Object> student = iterator.next();
+                String cityCode = (String) student.get("cityCode");
+                if (!cityCode.equals(studentQeryDto.getCityCode())) {
+                    iterator.remove(); // Remove the element from the list
+                }
+            }}
+        }
+
+        if (studentQeryDto.getStudentName()!=null&&studentQeryDto.getStudentName()!=""){
+            List<Map<String, Object>> totallike = new ArrayList<>();
+            for (Map<String, Object> student : studentTotal) {
+                String studentName = (String) student.get("studentName");
+                if (studentName.contains(studentQeryDto.getStudentName())){
+                    totallike.add(student);
+                }
+
+            }
+            return totallike;
+        }
+        return studentTotal;
+    }
+
+    @Override
+    public List<Map<String, Object>> bypac(PacQueryDto pacQueryDto) {
+        if (pacQueryDto.getCityCode()!=null&&pacQueryDto.getCityCode()!=""){
+            String value = pacQueryDto.getCityCode();
+            boolean allZeros = value.substring(value.length() - 4).endsWith("0000");
+            System.out.println(allZeros); // Output: true
+
+            if (allZeros){
+                pacQueryDto.setProvinceCode(pacQueryDto.getCityCode());
+                pacQueryDto.setCityCode(null);
+            }
+
+        }
+        List<Map<String, Object>> maps = this.baseMapper.pacQueryDto(pacQueryDto);
+
+        if (pacQueryDto.getName()!=null&&pacQueryDto.getName()!=""){
+            List<Map<String, Object>> totallike = new ArrayList<>();
+            for (Map<String, Object> student : maps) {
+                String studentName = (String) student.get("name");
+                if (studentName.contains(pacQueryDto.getName())){
+                    totallike.add(student);
+                }
+
+            }
+            return totallike;
+        }
+
+
+        return maps;
+    }
+
     /**
      * 获取课包购买人数
      * @param coursePackageId
diff --git a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
index cbbc616..69dabbb 100644
--- a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
+++ b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
@@ -134,6 +134,74 @@
 
 
     </select>
+    <select id="getStudentTotal" resultType="map">
+
+        SELECT * from(
+                         SELECT studentId, totalClassHours, name as courseName, laveClassHours,cashPayment as cashPayment,hasHours,appUserId,insertTime
+                         FROM (
+                                  SELECT studentId, totalClassHours, name, laveClassHours,cashPayment, (totalClassHours - laveClassHours) AS hasHours,py.appUserId,py.insertTime
+                                  FROM t_course_package_payment py
+                                           LEFT JOIN t_course_package cp ON py.coursePackageId = cp.id
+                                  UNION ALL
+                                  SELECT studentId, SUM(totalClassHours) AS totalClassHours,'总计' as name, SUM(laveClassHours) AS laveClassHours, SUM(cashPayment) AS cashPayment,
+                                         (SUM(totalClassHours) - SUM(laveClassHours)) AS hasHours,py.appUserId,py.insertTime
+                                  FROM t_course_package_payment py
+                                           LEFT JOIN t_course_package cp ON py.coursePackageId = cp.id
+                                  GROUP BY studentId
+                                  ORDER BY studentId, totalClassHours
+                              ) subquery
+                     ) a
+        <where>
+            <if test="null != start and '' != start and null != end and '' != end">
+                  a.insertTime between #{start} and #{end}
+            </if>
+
+        </where>
+
+    </select>
+    <select id="pacQueryDto" resultType="map">
+
+        SELECT
+            coursePackageId,
+            SUM( cashPayment ) AS cashPayment,
+            SUM( totalClassHours ) AS totalClassHours,
+            SUM( totalClassHours - laveClassHours ) AS hasHours,
+            ROUND( SUM(( totalClassHours - laveClassHours ) * ( cashPayment / totalClassHours )), 2 ) AS lavePay,
+            cp.`name` ,
+            cp.province,
+            cp.city,
+            cp.storeId,cp.cityCode,cp.provinceCode,py.insertTime
+        FROM
+            t_course_package_payment py
+                LEFT JOIN t_course_package cp ON py.coursePackageId = cp.id
+
+
+        <where>
+            <if test="null != start and '' != start and null != end and '' != end">
+                py.insertTime between #{start} and #{end}
+            </if>
+            <if test="null != cityCode and '' != cityCode">
+               and cityCode =#{cityCode}
+            </if>
+
+            <if test="null != provinceCode and '' != provinceCode">
+                and provinceCode =#{provinceCode}
+            </if>
+
+            <if test="null != name and '' != name">
+                and name like CONCAT('%', #{name}, '%')
+            </if>
+
+
+        </where>
+        GROUP BY
+            coursePackageId
+
+
+
+
+    </select>
+
 
     <update id="updateBytime">
         update  t_course_package_payment
diff --git a/cloud-server-management/src/main/java/com/dsh/course/dto/JsDto.java b/cloud-server-management/src/main/java/com/dsh/course/dto/JsDto.java
new file mode 100644
index 0000000..bdee54b
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/dto/JsDto.java
@@ -0,0 +1,10 @@
+package com.dsh.course.dto;
+
+import lombok.Data;
+
+@Data
+public class JsDto {
+    Integer id;
+    String vedio;
+    String jieshao;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/dto/StudentQeryDto.java b/cloud-server-management/src/main/java/com/dsh/course/dto/StudentQeryDto.java
new file mode 100644
index 0000000..3f3e37e
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/dto/StudentQeryDto.java
@@ -0,0 +1,14 @@
+package com.dsh.course.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class StudentQeryDto {
+    String cityCode;
+    String start;
+    String end;
+    String studentName;
+    String times;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java
index 4ad269d..01c561a 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java
@@ -59,7 +59,7 @@
      * 门店id
      */
     @TableField("storeId")
-    private Integer storeId;
+    private String storeId;
     /**
      * 赛事名称
      */
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageClient.java
index 1c3e961..c5c328e 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageClient.java
@@ -1,10 +1,14 @@
 package com.dsh.course.feignClient.course;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dsh.course.dto.StudentQeryDto;
 import com.dsh.course.feignClient.course.model.QueryCoursePackageLists;
 import com.dsh.course.feignClient.course.model.QueryExamineCoursePackageLists;
 import com.dsh.course.feignClient.course.model.QueryRegistrationRecord;
 import com.dsh.course.feignClient.course.model.TCoursePackage;
+import com.dsh.guns.modular.system.model.TCoursePackagePayment;
+import com.dsh.guns.modular.system.model.dto.BallQueryDto;
+import com.dsh.guns.modular.system.model.dto.PacQueryDto;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -73,4 +77,11 @@
     @PostMapping("/coursePackage/queryExamineCoursePackageLists")
     Page<Map<String, Object>> queryExamineCoursePackageLists(QueryExamineCoursePackageLists queryExamineCoursePackageLists);
 
+
+    @PostMapping("/courdent/getStudentTotal")
+    List<Map<String, Object>> getStudentTotal(StudentQeryDto studentQeryDto);
+
+
+    @PostMapping("/courdent/bypac")
+    List<Map<String, Object>> bypac(PacQueryDto pacQueryDto);
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/BallClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/BallClient.java
index c012371..411ff7c 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/BallClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/BallClient.java
@@ -3,16 +3,19 @@
 import com.dsh.course.dto.StudentSearch;
 import com.dsh.course.dto.TStudentDto;
 import com.dsh.course.feignClient.other.model.Banner;
-import com.dsh.guns.modular.system.model.AdvertisementChangeStateDTO;
-import com.dsh.guns.modular.system.model.AdvertisementQuery;
-import com.dsh.guns.modular.system.model.Game;
+import com.dsh.guns.modular.system.model.*;
 import com.dsh.guns.modular.system.model.dto.BallQueryDto;
+import com.dsh.guns.modular.system.model.dto.BookingQuery;
+import io.swagger.models.auth.In;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 @FeignClient(value = "mb-cloud-other")
 public interface BallClient {
@@ -20,5 +23,11 @@
     @PostMapping("/student/webStudentList")
     List<Game> list(@RequestBody BallQueryDto ballQueryDto);
     @PostMapping("/save")
-    void save(@RequestBody Game game);
+    Integer save(@RequestBody Game game);
+    @PostMapping("/saveConfig")
+    void saveConfig(@RequestBody List<TGameConfig> gameConfigList);
+    @PostMapping("/queryGame")
+    Game queryGame(@RequestParam("id") Integer id);
+    @PostMapping("/listorder")
+    List<Map<String, Object>> listorder(@RequestBody BookingQuery bookingQuery);
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/SiteClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/SiteClient.java
index e0e7b84..1e46172 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/SiteClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/SiteClient.java
@@ -8,6 +8,7 @@
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
@@ -52,5 +53,11 @@
     @RequestMapping("/base/site/addSite")
     Object addSite(@RequestBody Site site);
 
+    @RequestMapping("/base/site/listById")
+    Site listById(@RequestParam("id") Integer id);
+    @RequestMapping("/base/site/listBooks")
+    List<SiteBooking> listBooks(@RequestParam("id") Integer id);
+    @RequestMapping("/base/site/addSiteBooking")
 
+    void addSiteBooking(@RequestBody SiteBooking siteBooking);
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java b/cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java
index b98b214..f831c14 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dsh.course.dto.JsDto;
 import com.dsh.guns.modular.system.model.TStore;
 import com.dsh.guns.modular.system.model.TStoreListVo;
 import com.dsh.guns.modular.system.model.TTurn;
@@ -58,4 +59,8 @@
     List<TTurn> pageList();
 
     List<TTurn> getPage(@Param("ids") List<Integer> ids);
+
+    void inset(JsDto jsDto);
+
+    JsDto get(Integer id);
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java
index 31c37e9..08cb7a6 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java
@@ -134,9 +134,18 @@
         Page<Competition> competitions = competitionClient.listAudit(listQuery);
         for (Competition competition : competitions.getRecords()) {
             for (TStore tStore : list) {
-                if(competition.getStoreId().equals(tStore.getId())){
-                    competition.setStoreName(tStore.getName());
+                String[] split = competition.getStoreId().split(",");
+
+                for (String s : split) {
+                    if(s.equals(String.valueOf(tStore.getId()))){
+                        if (competition.getStoreName()==null){
+                        competition.setStoreName(tStore.getName());
+                        }else {
+                            competition.setStoreName(competition.getStoreName()+","+tStore.getName());
+                        }
+                    }
                 }
+
             }
         }
         return  super.packForBT(competitions);
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
index 6872c5f..82e23c4 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
@@ -131,8 +131,16 @@
         Page<Competition> competitions = competitionClient.list(listQuery);
         for (Competition competition : competitions.getRecords()) {
             for (TStore tStore : list) {
-                if(competition.getStoreId().equals(tStore.getId())){
-                    competition.setStoreName(tStore.getName());
+                String[] split = competition.getStoreId().split(",");
+
+                for (String s : split) {
+                    if(s.equals(String.valueOf(tStore.getId()))){
+                        if (competition.getStoreName()==null){
+                            competition.setStoreName(tStore.getName());
+                        }else {
+                            competition.setStoreName(competition.getStoreName()+","+tStore.getName());
+                        }
+                    }
                 }
             }
         }
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 58cef35..3c4532d 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
@@ -547,6 +547,16 @@
     }
 
 
+    @GetMapping("/queryProvince")
+    @ResponseBody
+    public List<Map<String, Object>> queryProvince(){
+
+        List<Map<String, Object>> list = storeService.queryProvince(null);
+
+        return list;
+    }
+
+
     /**
      * 跳转到审核详情页
      * @param model
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java
index 764286a..644d529 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java
@@ -356,7 +356,7 @@
                         }
                         TAppUser tAppUser = appUserClient.queryById(competition.getAppUserId());
                         Competition competition1 = competitionClient.queryById(competition.getCompetitionId());
-                        Store store = storeClient.getStoreById(competition1.getStoreId());
+                        Store store = storeClient.getStoreById(Integer.valueOf(competition1.getStoreId()));
                         IncomeVO temp = new IncomeVO();
                         temp.setId(competition.getId().intValue());
                         temp.setProvince(tAppUser.getProvince());
@@ -535,7 +535,7 @@
                         }
                         TAppUser tAppUser = appUserClient.queryById(competition.getAppUserId());
                         Competition competition1 = competitionClient.queryById(competition.getCompetitionId());
-                        Store store = storeClient.getStoreById(competition1.getStoreId());
+                        Store store = storeClient.getStoreById(Integer.valueOf(competition1.getStoreId()));
                         IncomeVO temp = new IncomeVO();
                         temp.setId(competition.getId().intValue());
                         temp.setProvince(tAppUser.getProvince());
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 8179ac2..6e2e81d 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
@@ -4,6 +4,8 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.dsh.course.dto.JsDto;
+import com.dsh.course.dto.StudentQeryDto;
 import com.dsh.course.feignClient.account.CityManagerClient;
 import com.dsh.course.feignClient.account.CoachClient;
 import com.dsh.course.feignClient.account.model.CityManager;
@@ -14,11 +16,12 @@
 import com.dsh.course.feignClient.course.CoursePackageTypeClient;
 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;
 import com.dsh.guns.config.UserExt;
 import com.dsh.guns.core.base.controller.BaseController;
 import com.dsh.guns.modular.system.model.*;
-import com.dsh.guns.modular.system.model.dto.BallQueryDto;
-import com.dsh.guns.modular.system.model.dto.ConsumeQuery;
+import com.dsh.guns.modular.system.model.dto.*;
 import com.dsh.guns.modular.system.service.ICityService;
 import com.dsh.guns.modular.system.service.ICoursePackageService;
 import com.dsh.guns.modular.system.service.IStoreService;
@@ -47,9 +50,13 @@
 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.LocalTime;
 import java.util.*;
 
 @Controller
@@ -116,56 +123,405 @@
 
     @RequestMapping("/save")
     @ResponseBody
-    public ResultUtil save(String red,String blue,String province,String city, Integer site,Integer store) {
-//        JSONObject jsonObject = JSONObject.parseObject("111");
+    public ResultUtil save(String red, String blue, String province, String city, Integer site, Integer store
+    , String kuacheng, BigDecimal kuachengCoin, BigDecimal kuachengCash,String kuachengImage,BigDecimal kuachengInt,Integer kuachengId
+            , String shequ, BigDecimal shequCoin, BigDecimal shequCash,String shequImage,BigDecimal shequInt,Integer shequId
+            , String shemen, BigDecimal shemenCoin, BigDecimal shemenCash,String shemenImage,BigDecimal shemenInt,Integer shemenId
+            , String sudu, BigDecimal suduCoin, BigDecimal suduCash,String suduImage,BigDecimal suduInt,Integer suduId
+            , String fangkuai, BigDecimal fangkuaiCoin, BigDecimal fangkuaiCash,String fangkuaiImage,BigDecimal fangkuaiInt,Integer fangkuaiId
+            , String jx, BigDecimal jxCoin, BigDecimal jxCash,String jxImage,BigDecimal jxInt,Integer jxId
+            , String sq, BigDecimal sqCoin, BigDecimal sqCash,String sqImage,BigDecimal sqInt,Integer sqId
+            , String zs, BigDecimal zsCoin, BigDecimal zsCash,String zsImage,BigDecimal zsInt,Integer zsId
+            , String zs2, BigDecimal zs2Coin, BigDecimal zs2Cash,String zs2Image,BigDecimal zs2Int,Integer zs2Id
+            , String ly, BigDecimal lyCoin, BigDecimal lyCash,String lyImage,BigDecimal lyInt,Integer lyId
+
+
+
+
+
+    ) {
+
         Game game = new Game();
         game.setRed(red);
         game.setBlue(blue);
-        game.setProvince(province);
-        game.setCity(city);
+        game.setProvinceCode(province);
+        game.setCityCode(city);
         game.setSiteId(site);
         game.setStoreId(store);
         System.out.println("============"+game);
-        ballClient.save(game);
+        Integer gameId = ballClient.save(game);
+
+List<TGameConfig> gameConfigList = new ArrayList<>();
+
+
+
+//玩湃跨城赛
+
+        TGameConfig gameConfigkuacheng = new TGameConfig();
+        gameConfigkuacheng.setGameId(kuachengId);
+        gameConfigkuacheng.setCash(kuachengCash);
+        gameConfigkuacheng.setImg(kuachengImage);
+        gameConfigkuacheng.setName(kuacheng);
+        gameConfigkuacheng.setPlayCoin(kuachengCoin);
+        gameConfigkuacheng.setIntegral(kuachengInt);
+        gameConfigkuacheng.setOtherId(gameId);
+        System.out.println("========gameConfig======"+gameConfigkuacheng);
+        gameConfigList.add(gameConfigkuacheng);
+System.out.println("======gameConfigList======="+gameConfigList);
+
+        //社区冠军赛
+
+        TGameConfig gameConfigshequ = new TGameConfig();
+        gameConfigshequ.setGameId(shequId);
+        gameConfigshequ.setCash(shequCash);
+        gameConfigshequ.setImg(shequImage);
+        gameConfigshequ.setName(shequ);
+        gameConfigshequ.setPlayCoin(shequCoin);
+        gameConfigshequ.setIntegral(shequInt);
+        gameConfigshequ.setOtherId(shequId);
+        gameConfigList.add(gameConfigshequ);
+
+        //射门速度-玩湃熊之力
+        TGameConfig gameConfigshemen = new TGameConfig();
+        gameConfigshemen.setGameId(shemenId);
+        gameConfigshemen.setCash(shemenCash);
+        gameConfigshemen.setImg(shemenImage);
+        gameConfigshemen.setName(shemen);
+        gameConfigshemen.setPlayCoin(shemenCoin);
+        gameConfigshemen.setIntegral(shemenInt);
+        gameConfigshemen.setOtherId(shemenId);
+        gameConfigList.add(gameConfigshemen);
+
+
+        //玩湃熊之力-速度
+        TGameConfig gameConfigsudu = new TGameConfig();
+        gameConfigsudu.setGameId(suduId);
+        gameConfigsudu.setCash(suduCash);
+        gameConfigsudu.setImg(suduImage);
+        gameConfigsudu.setName(sudu);
+        gameConfigsudu.setPlayCoin(suduCoin);
+        gameConfigsudu.setIntegral(suduInt);
+        gameConfigsudu.setOtherId(suduId);
+        gameConfigList.add(gameConfigsudu);
+
+
+        //方块球王
+        TGameConfig gameConfigfangkuai = new TGameConfig();
+        gameConfigfangkuai.setGameId(fangkuaiId);
+        gameConfigfangkuai.setCash(fangkuaiCash);
+        gameConfigfangkuai.setImg(fangkuaiImage);
+        gameConfigfangkuai.setName(fangkuai);
+        gameConfigfangkuai.setPlayCoin(fangkuaiCoin);
+        gameConfigfangkuai.setIntegral(fangkuaiInt);
+        gameConfigfangkuai.setOtherId(fangkuaiId);
+        gameConfigList.add(gameConfigfangkuai);
+
+
+        //镜像阵容
+        TGameConfig gameConfigjx = new TGameConfig();
+        gameConfigjx.setGameId(jxId);
+        gameConfigjx.setCash(jxCash);
+        gameConfigjx.setImg(jxImage);
+        gameConfigjx.setName(jx);
+        gameConfigjx.setPlayCoin(jxCoin);
+        gameConfigjx.setIntegral(jxInt);
+        gameConfigjx.setOtherId(jxId);
+        gameConfigList.add(gameConfigjx);
+
+
+        //社区小球王
+        TGameConfig gameConfigsq = new TGameConfig();
+        gameConfigsq.setGameId(sqId);
+        gameConfigsq.setCash(sqCash);
+        gameConfigsq.setImg(sqImage);
+        gameConfigsq.setName(sq);
+        gameConfigsq.setPlayCoin(sqCoin);
+        gameConfigsq.setIntegral(sqInt);
+        gameConfigsq.setOtherId(sqId);
+        gameConfigList.add(gameConfigsq);
+
+
+
+        //涨姿势
+        TGameConfig gameConfigzs = new TGameConfig();
+        gameConfigzs.setGameId(zsId);
+        gameConfigzs.setCash(zsCash);
+        gameConfigzs.setImg(zsImage);
+        gameConfigzs.setName(zs);
+        gameConfigzs.setPlayCoin(zsCoin);
+        gameConfigzs.setIntegral(zsInt);
+        gameConfigzs.setOtherId(zsId);
+        gameConfigList.add(gameConfigzs);
+
+        //涨姿势2
+        TGameConfig gameConfigzs2 = new TGameConfig();
+        gameConfigzs2.setGameId(zs2Id);
+        gameConfigzs2.setCash(zs2Cash);
+        gameConfigzs2.setImg(zs2Image);
+        gameConfigzs2.setName(zs2);
+        gameConfigzs2.setPlayCoin(zs2Coin);
+        gameConfigzs2.setIntegral(zs2Int);
+        gameConfigzs2.setOtherId(zs2Id);
+        gameConfigList.add(gameConfigzs2);
+
+        //绿茵密码
+        TGameConfig gameConfigly = new TGameConfig();
+        gameConfigly.setGameId(lyId);
+        gameConfigly.setCash(lyCash);
+        gameConfigly.setImg(lyImage);
+        gameConfigly.setName(ly);
+        gameConfigly.setPlayCoin(lyCoin);
+        gameConfigly.setIntegral(lyInt);
+        gameConfigly.setOtherId(lyId);
+        gameConfigList.add(gameConfigly);
+
+
+
+System.out.println("---------------------------"+gameConfigList);
+        ballClient.saveConfig( gameConfigList);
         return null;
     }
 
     @RequestMapping("/pre_add")
     public String add(Model model) {
-//        Map<String,String> map = new HashMap<>();
-//        map.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
-//        map.put("space_id","1001");
-//        map.put("sutu_id","1001");
-//
-//        String request = HttpRequestUtil.getRequest("https://try.daowepark.com/v7/user_api/general/gameList", map);
-//        System.out.println("=======request=========="+request);
-////
-////        return ballClient.list(ballQueryDto);
-//    }
-
-Map<String,String> map =new HashMap<>();
-map.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
-        map.put("space_id","1001");
-        map.put("sutu_id","1001");
-
-        String req = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/gameList", map);
-    System.out.println("================"+req);
-//        AsciiString cached = AsciiString.cached(req);
-        String convertedString = StringEscapeUtils.unescapeJava(req);
-
-System.out.println("-------------"+convertedString);
-        JSONObject parse = JSONObject.parseObject(convertedString);
-        JSONArray data = JSONObject.parseArray(parse.getString("data"));
-        JSONObject jsonObject =data.getJSONObject(0);
 
 
 
-        //
+        return PREFIX+"ball_pre_add.html";
+    }
 
+
+
+    @RequestMapping("/pre_edit/{id}")
+    public String pre_edit(@PathVariable("id") Integer id,Model model) {
+
+        Game game = ballClient.queryGame(id);
+    System.out.println("---------game------"+game);
+        model.addAttribute("game",game);
+
+        return PREFIX+"ball_pre_edit.html";
+    }
+
+
+    @RequestMapping("/paike")
+    public String paike(Model model) {
+
+        return PREFIX+"paike.html";
+    }
+
+
+
+
+
+
+    @RequestMapping("/getStudentTotal")
+    @ResponseBody
+    public List<Map<String, Object>>getStudentTotal(@RequestBody StudentQeryDto studentQeryDto) {
+System.out.println("========ballQueryDto======"+studentQeryDto);
+        if (studentQeryDto.getTimes()!=null&& studentQeryDto.getTimes()!=""){
+            String[] split = studentQeryDto.getTimes().split(",");
+            studentQeryDto.setStart(split[0]);
+            studentQeryDto.setEnd(split[1]);
+        }
+
+
+
+
+        List<Map<String, Object>>  pays = coursePackageClient.getStudentTotal(studentQeryDto);
+
+        System.out.println("=========getStudentTotal======="+pays);
+
+        return pays;
+    }
+
+
+
+    @RequestMapping("/bypac")
+    @ResponseBody
+    public List<Map<String, Object>>bypac(@RequestBody PacQueryDto pacQueryDto) {
+        System.out.println("========ballQueryDto======"+pacQueryDto);
+        if (pacQueryDto.getTimes()!=null&& pacQueryDto.getTimes()!=""){
+            String[] split = pacQueryDto.getTimes().split(",");
+            pacQueryDto.setStart(split[0]);
+            pacQueryDto.setEnd(split[1]);
+        }
+
+
+
+
+        List<Map<String, Object>>  pays = coursePackageClient.bypac(pacQueryDto);
+
+        System.out.println("=========getStudentTotal======="+pays);
+
+        return pays;
+    }
+
+
+    @RequestMapping("/yuyue")
+    public String yuyue(Model model) {
+        List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
+        model.addAttribute("list",list);
+        String roleid = UserExt.getUser().getRoleid();
+        model.addAttribute("role",roleid);
+
+        return PREFIX+"yuyue.html";
+    }
+
+
+    @RequestMapping("/jieshao")
+    public String jieshao(Model model) {
+        List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
+        model.addAttribute("list",list);
+        String roleid = UserExt.getUser().getRoleid();
+        model.addAttribute("role",roleid);
+
+        return PREFIX+"jieshao.html";
+    }
+
+
+
+    /**
+     * 获取有效期
+     */
+    @RequestMapping("/yuyuelist")
+    @ResponseBody
+    public List<Map<String,Object>> yuyuelist(BookingQuery bookingQuery) {
+        List<Map<String,Object>> orders =   ballClient.listorder(bookingQuery);
+        System.out.println("=======ballQueryDto=========="+bookingQuery);
+
+        return orders;
+    }
+
+
+    @RequestMapping("/addjs")
+    @ResponseBody
+    public void addjs( @RequestBody JsDto jsDto) {
+        System.out.println("=======jsDto========"+jsDto);
+        storeService.insert(jsDto);
+
+    }
+
+    @RequestMapping("/get/{id}")
+    @ResponseBody
+    public JsDto getJs( @PathVariable("id") Integer id) {
+        JsDto jsDto =   storeService.get(id);
+        return jsDto;
+    }
+
+
+    @RequestMapping("/getMoney/{id}/{type}")
+    @ResponseBody
+    public List<Double> getMoney( @PathVariable("id") Integer id,@PathVariable("type") Integer type) {
+        List<Double> doubles = new ArrayList<>();
+        Site site = siteClient.listById(id);
+        System.out.println("=====stie====="+site);
+        System.out.println("=====type====="+type);
+
+        if (type == 0 ){
+            doubles.add(site.getCashPrice());
+            doubles.add(Double.valueOf(site.getPlayPaiCoin()));
+            return  doubles;
+        }else {
+            doubles.add(site.getCashPriceOne());
+            doubles.add(site.getPlayPaiCoinOne());
+            return  doubles;
+        }
+
+    }
+    @Resource
+   private SiteClient siteClient;
+
+
+    @RequestMapping("/yuyuetimes/{id}")
+    @ResponseBody
+    public List<OrderDto> yuyuetimes(@PathVariable("id") Integer id) {
+
+
+        List<String> strings = new ArrayList<>();
+        List<SiteBooking> siteBookings = siteClient.listBooks(id);
+System.out.println("=======siteBookings======"+siteBookings);
+        for (SiteBooking siteBooking : siteBookings) {
+            String[] split = siteBooking.getTimes().split(";");
+            for (String s : split) {
+
+                String convertedValue = s.substring(11);
+                strings.add(convertedValue);
+            }
+
+        }
+    System.out.println("======strings======="+strings);
+
+
+        List<OrderDto> timeRanges = new ArrayList<>();
+
+
+       Site site =  siteClient.listById(id);
+System.out.println("================"+site);
+        String appointmentStartTime = site.getAppointmentStartTime();
+        String appointmentEndTime = site.getAppointmentEndTime();
+
+        String currentTime = appointmentStartTime;
+        while (currentTime.compareTo(appointmentEndTime) < 0) {
+            String nextTime = getNextTime(currentTime);
+
+
+            String timeRange = currentTime + "-" + nextTime;
+            OrderDto orderDto = new OrderDto();
+            orderDto.setTime(timeRange);
+
+            LocalTime currentTime1 = LocalTime.now();
+            LocalTime targetTime = LocalTime.parse(currentTime);
+
+            boolean hasExceeded = currentTime1.isAfter(targetTime);
+    if (hasExceeded){
+        orderDto.setState(0);
+    }
+    if (strings.contains(timeRange)){
+        orderDto.setState(0);
+    }
+
+
+            timeRanges.add(orderDto);
+            currentTime = nextTime;
+        }
+        System.out.println("-------------"+timeRanges);
+
+        return timeRanges;
+    }
+
+
+    public static String getNextTime(String currentTime) {
+        String[] parts = currentTime.split(":");
+        int hour = Integer.parseInt(parts[0]);
+        int minute = Integer.parseInt(parts[1]);
+
+        if (minute == 30) {
+            hour++;
+            minute = 0;
+        } else {
+            minute = 30;
+        }
+
+        return String.format("%02d:%02d", hour, minute);
+    }
+
+
+
+    @RequestMapping("/halfName/{id}")
+    @ResponseBody
+    public String[] halfName(@PathVariable("id") Integer id) {
+        TSite byId =   siteService.getById(id);
+        String[] split = byId.getHalfName().split(",");
+        System.out.println("=-============"+split);
+
+        return split;
+    }
+
+    @RequestMapping("/yuyue_add")
+    public String yuyueadd(Model model) {
         Integer objectType = UserExt.getUser().getObjectType();
         Integer objectId = UserExt.getUser().getObjectId();
-        List<TCoursePackageType> tCoursePackageTypes = coursePackageTypeClient.queryAllCoursePackageType();
-        model.addAttribute("coursePackageType", tCoursePackageTypes);
+
         String cityCode = null;
         if(objectType == 2){//城市管理员
             CityManager cityManager = cityManagerClient.queryCityManagerById(objectId);
@@ -182,7 +538,20 @@
         TStore store = list2.get(0);
         List<TSite> list3 = siteService.list(new QueryWrapper<TSite>().eq("storeId", store.getId()).eq("state", 1));
         model.addAttribute("site", list3);
+        return PREFIX+"yuyue_add.html";
+    }
 
 
-        return PREFIX+"ball_pre_add.html";
-    }}
+
+    @RequestMapping("/ordersave")
+    @ResponseBody
+    public void ordersave(SiteBooking siteBooking){
+        siteBooking.setInsertTime(new Date());
+        siteBooking.setState(1);
+        siteBooking.setStatus(0);
+
+    siteClient.addSiteBooking(siteBooking);
+        System.out.println("================="+siteBooking);
+    }
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/GameConfig.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/GameConfig.java
new file mode 100644
index 0000000..115ac7e
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/GameConfig.java
@@ -0,0 +1,93 @@
+package com.dsh.guns.modular.system.model;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+@Data
+public class GameConfig {
+    private int id;
+    private String name;
+    private String img;
+    private BigDecimal playCoin;
+    private BigDecimal cash;
+    private BigDecimal integral;
+    private int gameId;
+    private int otherId;
+
+//    public GameConfig(int id, String name, String img, BigDecimal playCoin, BigDecimal cash, BigDecimal integral, int gameId, int otherId) {
+//        this.id = id;
+//        this.name = name;
+//        this.img = img;
+//        this.playCoin = playCoin;
+//        this.cash = cash;
+//        this.integral = integral;
+//        this.gameId = gameId;
+//        this.otherId = otherId;
+//    }
+
+    // Getters and Setters
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getImg() {
+        return img;
+    }
+
+    public void setImg(String img) {
+        this.img = img;
+    }
+
+    public BigDecimal getPlayCoin() {
+        return playCoin;
+    }
+
+    public void setPlayCoin(BigDecimal playCoin) {
+        this.playCoin = playCoin;
+    }
+
+    public BigDecimal getCash() {
+        return cash;
+    }
+
+    public void setCash(BigDecimal cash) {
+        this.cash = cash;
+    }
+
+    public BigDecimal getIntegral() {
+        return integral;
+    }
+
+    public void setIntegral(BigDecimal integral) {
+        this.integral = integral;
+    }
+
+    public int getGameId() {
+        return gameId;
+    }
+
+    public void setGameId(int gameId) {
+        this.gameId = gameId;
+    }
+
+    public int getOtherId() {
+        return otherId;
+    }
+
+    public void setOtherId(int otherId) {
+        this.otherId = otherId;
+    }
+}
\ No newline at end of file
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/GameConfigDto.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/GameConfigDto.java
new file mode 100644
index 0000000..074cea3
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/GameConfigDto.java
@@ -0,0 +1,9 @@
+package com.dsh.guns.modular.system.model;
+
+import lombok.Data;
+
+import java.util.List;
+@Data
+public class GameConfigDto {
+    List<TGameConfig> list;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java
index 8858260..1bcb6c4 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java
@@ -176,4 +176,6 @@
     private String halfName;
     @TableField("goType")
     private Integer goType;
+
+    private String money;
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java
index 4ec4d3e..b4f7fe9 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCoursePackagePayment.java
@@ -164,4 +164,13 @@
      */
     @TableField("salesName")
     private String salesName;
+
+
+    private String studentName;
+    private String province;
+    private String city;
+    private String courseName;
+    private Integer hasHours;
+    private BigDecimal laveCashPayment;
+    private BigDecimal cashPayment1;
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TGameConfig.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TGameConfig.java
new file mode 100644
index 0000000..4c0f052
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TGameConfig.java
@@ -0,0 +1,70 @@
+package com.dsh.guns.modular.system.model;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 游戏配置
+ * </p>
+ *
+ * @author administrator
+ * @since 2023-09-18
+ */
+@Data
+public class TGameConfig extends Model<TGameConfig> {
+
+    private static final long serialVersionUID=1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 图
+     */
+    private String img;
+
+    /**
+     * 玩湃币
+     */
+    @TableField("playCoin")
+    private BigDecimal playCoin;
+
+    /**
+     * 现金
+     */
+    private BigDecimal cash;
+
+    /**
+     * 积分
+     */
+    private BigDecimal integral;
+
+    /**
+     * 游戏id
+     */
+    @TableField("gameId")
+    private Integer gameId;
+
+
+    private Integer otherId;
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/BookingQuery.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/BookingQuery.java
new file mode 100644
index 0000000..b667169
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/BookingQuery.java
@@ -0,0 +1,19 @@
+package com.dsh.guns.modular.system.model.dto;
+
+import lombok.Data;
+
+@Data
+public class BookingQuery {
+    String provinceCode;
+    String cityCode;
+
+    String store;
+
+    String peopleName;
+    String phone;
+    String date;
+    Integer state;
+    Integer payMethod;
+
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/OrderDto.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/OrderDto.java
new file mode 100644
index 0000000..df5471b
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/OrderDto.java
@@ -0,0 +1,9 @@
+package com.dsh.guns.modular.system.model.dto;
+
+import lombok.Data;
+
+@Data
+public class OrderDto {
+    private  String time;
+    private  Integer state;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/PacQueryDto.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/PacQueryDto.java
new file mode 100644
index 0000000..32ea58f
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/PacQueryDto.java
@@ -0,0 +1,17 @@
+package com.dsh.guns.modular.system.model.dto;
+
+
+import lombok.Data;
+
+@Data
+public class PacQueryDto {
+    String cityCode;
+    String store;
+    String name;
+    String times;
+    String start;
+    String end;
+    String provinceCode;
+
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/TimeDto.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/TimeDto.java
new file mode 100644
index 0000000..ffbde5f
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/TimeDto.java
@@ -0,0 +1,7 @@
+package com.dsh.guns.modular.system.model.dto;
+
+public class TimeDto {
+    private String time;
+    private String time2;
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java
index 4cc9227..c7d818e 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.dsh.course.dto.JsDto;
 import com.dsh.guns.modular.system.model.Dict;
 import com.dsh.guns.modular.system.model.TStore;
 import com.dsh.guns.modular.system.model.TStoreListVo;
@@ -59,4 +60,8 @@
     List<TTurn> pageList();
 
     List<TTurn> getPage(List<Integer> ids);
+
+    void insert(JsDto jsDto);
+
+    JsDto get(Integer id);
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java
index 41b066f..b093ed6 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.course.dto.JsDto;
 import com.dsh.course.mapper.StoreMapper;
 import com.dsh.guns.modular.system.model.TStore;
 import com.dsh.guns.modular.system.model.TStoreListVo;
@@ -90,4 +91,14 @@
     public List<TTurn> getPage(List<Integer> ids) {
         return this.baseMapper.getPage(ids);
     }
+
+    @Override
+    public void insert(JsDto jsDto) {
+        this.baseMapper.inset(jsDto);
+    }
+
+    @Override
+    public JsDto get(Integer id) {
+        return this.baseMapper.get(id);
+    }
 }
diff --git a/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml b/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml
index 2120241..72d3aaf 100644
--- a/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml
+++ b/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml
@@ -12,6 +12,12 @@
                                         state,pageId,typeId
                                         ) value (null ,#{url},#{name},#{s},#{s1},#{turnId},#{sort},1,#{page},#{type})
     </insert>
+    <update id="inset">
+        update t_js
+        set jieshao = #{jieshao} ,vedio = #{vedio}
+        where id = #{id}
+
+    </update>
     <delete id="delete1">
         delete from t_store_other_config where id =#{id}
     </delete>
@@ -102,4 +108,8 @@
     <select id="pageList" resultType="com.dsh.guns.modular.system.model.TTurn">
         select * from t_turn where pid = 0
     </select>
+    <select id="get" resultType="com.dsh.course.dto.JsDto">
+        select * from t_js where  id = #{id}
+
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball.html
index 90cd023..821164a 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball.html
@@ -26,7 +26,7 @@
                                 </div>
                             </div>
                             @}
-                            @if(role=='1'){
+
                             <div class="col-sm-3">
                                 <div class="input-group">
                                     <div class="input-group-btn open">
@@ -38,7 +38,6 @@
                                     </select>
                                 </div>
                             </div>
-                            @}
 
                             <div class="col-sm-3">
                                 <#NameCon id="store" name="门店名称" />
@@ -57,7 +56,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.openTStudentDetail1()" space="true"/>
+                            <#button name="介绍管理" icon="fa-edit" clickFun="TStudent.openTStudentDetail1()" space="true"/>
 
                             @if(shiro.hasPermission("/tStudent/delete")){
                                 <#button name="删除" icon="fa-remove" clickFun="TStudent.delete()" space="true"/>
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 6c4a8d0..8eef478 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
@@ -42,7 +42,7 @@
         {
           "type": "form",
           "id": "u:24af29be25d2",
-          "title": "表单",
+          "title": "111",
           "body": [
             {
               "label": "所属运营商:",
@@ -52,47 +52,58 @@
               "mode": "horizontal",
               "size": "lg",
               "multiple": false,
-              "source": {
-                "url": "/api/v1/rep/cus/",
-                "method": "get",
-                "messages": {
-                }
-              },
-              "labelField": "customerName",
-              "valueField": "id",
               "showInvalidMatch": false,
               "searchable": true,
               "clearable": true,
               "horizontal": {
                 "leftFixed": "lg"
-              }
+              },
+              "options": [
+                {
+                  "label": "等待沟通中",
+                  "value": "等待沟通中"
+                }
+              ]
             },
             {
-              "type": "input-city",
+              "type": "select",
               "label": "所在省:",
               "name": "province",
-              "id": "u:091b190331f6",
+              "id": "u:63c85c19f3aa",
+              "multiple": false,
               "mode": "horizontal",
-              "allowCity": false,
-              "allowDistrict": false,
+              "size": "md",
+              "horizontal": {
+                "leftFixed": "lg"
+              },
+              "source": {
+                "url": "/coursePackage/queryProvince",
+                "method": "get",
+                "messages": {
+                },
+                "sendOn": ""
+              },
               "onEvent": {
                 "change": {
                   "weight": 0,
                   "actions": [
                     {
-                      "componentId": "u:63c85c19f3aa",
+                      "componentId": "u:14bafe37d5f3",
                       "actionType": "reload",
                       "dataMergeMode": "merge"
                     }
                   ]
                 }
-              }
+              },
+              "labelField": "name",
+              "valueField": "code",
+              "required": true
             },
             {
               "type": "select",
               "label": "所在市:",
               "name": "city",
-              "id": "u:63c85c19f3aa",
+              "id": "u:14bafe37d5f3",
               "multiple": false,
               "mode": "horizontal",
               "size": "md",
@@ -119,7 +130,8 @@
                 }
               },
               "labelField": "name",
-              "valueField": "code"
+              "valueField": "code",
+              "required": true
             },
             {
               "type": "select",
@@ -149,17 +161,11 @@
                       "componentId": "u:0d288f4bdd8e",
                       "actionType": "reload",
                       "dataMergeMode": "merge"
-                    },
-                    {
-                      "componentId": "u:0d288f4bdd8e",
-                      "args": {
-                        "value": " "
-                      },
-                      "actionType": "setValue"
                     }
                   ]
                 }
-              }
+              },
+              "required": true
             },
             {
               "type": "select",
@@ -183,11 +189,12 @@
                 "dataType": "form"
               },
               "labelField": "name",
-              "valueField": "id"
+              "valueField": "id",
+              "required": true
             },
             {
               "type": "tpl",
-              "tpl": "设备ID:",
+              "tpl": "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp设备ID:",
               "inline": true,
               "wrapperComponent": "",
               "id": "u:587781d5d181",
@@ -201,25 +208,22 @@
               "name": "blue",
               "id": "u:a4dbdeb9165e",
               "mode": "inline",
-              "size": "xs",
+              "size": "sm",
               "horizontal": {
                 "leftFixed": "sm"
               },
-              "value": ""
+              "value": "",
+              "required": true
             },
             {
               "type": "input-text",
               "label": "红色方",
               "name": "red",
               "id": "u:b0544634a698",
-              "mode": "inline"
-            },
-            {
-              "type": "tpl",
-              "tpl": "请编辑内容",
-              "inline": true,
-              "wrapperComponent": "",
-              "id": "u:89c3a95a6721"
+              "mode": "inline",
+              "clearValueOnHidden": false,
+              "hidden": false,
+              "required": true
             },
             {
               "type": "button",
@@ -234,7 +238,8 @@
                   ]
                 }
               },
-              "id": "u:b96a47957f17"
+              "id": "u:b96a47957f17",
+              "hidden": true
             },
             {
               "type": "divider",
@@ -248,80 +253,909 @@
               "wrapperComponent": "h2"
             },
             {
-              "type": "container",
-              "body": [
+              "type": "grid",
+              "columns": [
                 {
-                  "type": "card",
-                  "header": {
-                    "title": "激战球场",
-                    "subTitle": "副标题"
-                  },
                   "body": [
                     {
-                      "type": "input-image",
-                      "label": "背景图:",
-                      "name": "image",
-                      "autoUpload": true,
-                      "proxy": true,
-                      "uploadType": "fileReceptor",
-                      "imageClassName": "r w-full",
-                      "receiver": {
-                        "url": "object-upload://default",
-                        "method": "post"
+                      "type": "card",
+                      "header": {
+                        "title": "玩湃跨城赛",
+                        "subTitle": ""
                       },
-                      "id": "u:824383a8e878",
-                      "labelClassName": "text-dark"
-                    },
-                    {
-                      "type": "input-text",
-                      "label": "游戏名称",
-                      "name": "ciji",
-                      "id": "u:a4dbdeb9115e",
-                      "mode": "inline",
-                      "labelClassName": "text-dark m-b",
-                      "value": "激战球场"
-                    },
-                    {
-                      "type": "input-text",
-                      "label": "玩派币",
-                      "name": "cijiCoin",
-                      "id": "u:99015dfd4264",
-                      "mode": "inline",
-                      "labelClassName": "text-dark m-b text-lg"
-                    },
-                    {
-                      "type": "input-text",
-                      "label": "现金",
-                      "name": "cijiCash",
-                      "id": "u:31888fb92add",
-                      "mode": "inline",
-                      "labelClassName": "text-dark m-b text-lg"
-                    },
-                    {
-                      "type": "input-text",
-                      "label": "积分",
-                      "name": "cijiInt",
-                      "id": "u:c42ab4593d20",
-                      "mode": "inline",
-                      "labelClassName": "text-dark m-b text-lg"
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "kuachengImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:824383a8e878",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "kuacheng",
+                          "id": "u:a4dbdeb9115e",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "玩湃跨城赛"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "kuachengId",
+                          "id": "u:89bccaf7242f",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "14"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "kuachengCoin",
+                          "id": "u:99015dfd4264",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "kuachengCash",
+                          "id": "u:31888fb92add",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "kuachengInt",
+                          "id": "u:c42ab4593d20",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:8445330f451b",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
                     }
                   ],
-                  "actions": [
+                  "id": "u:a63f776f28ca",
+                  "columnClassName": "p-l-lg"
+                },
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "社区冠军赛",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "shequImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:824383a8e878",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "shequ",
+                          "id": "u:a4dbdeb9115e",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "社区冠军赛"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "shequId",
+                          "id": "u:89bccaf7242f",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "16"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "shequCoin",
+                          "id": "u:99015dfd4264",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "shequCash",
+                          "id": "u:31888fb92add",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "shequInt",
+                          "id": "u:c42ab4593d20",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:8445330f451b",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
                   ],
-                  "id": "u:8445330f451b"
+                  "id": "u:882210cd7611"
+                },
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "射门速度-玩湃熊之力",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "shemenImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:824383a8e878",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "shemen",
+                          "id": "u:a4dbdeb9115e",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "射门速度-玩湃熊之力"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "shemenId",
+                          "id": "u:89bccaf7242f",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "13"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "shemenCoin",
+                          "id": "u:99015dfd4264",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "shemenCash",
+                          "id": "u:31888fb92add",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "shemenInt",
+                          "id": "u:c42ab4593d20",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:8445330f451b",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:d191f24cb064"
                 }
               ],
-              "style": {
-                "position": "static",
-                "display": "block",
-                "flexWrap": "nowrap",
-                "maxWidth": "300px",
-                "overflowX": "auto",
-                "margin": "0"
-              },
-              "id": "u:08adb1dcf6b9",
-              "isFixedHeight": false,
-              "isFixedWidth": false
+              "id": "u:676721d0a98a"
+            },
+            {
+              "type": "grid",
+              "columns": [
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "玩湃熊之力-速度",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "suduImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:4abd099fd344",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "sudu",
+                          "id": "u:825f01e97cf5",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "玩湃熊之力-速度"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "suduId",
+                          "id": "u:f0f7e6028e17",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "15"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "suduCoin",
+                          "id": "u:b6faed384d78",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "suduCash",
+                          "id": "u:c7181c9b3ded",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "suduInt",
+                          "id": "u:ee897e373acb",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:89bd6bd7e231",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:e49a95f9b2c8",
+                  "columnClassName": "p-l-lg"
+                },
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "方块球王",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "fangkuaiImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:824383a8e878",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "fangkuai",
+                          "id": "u:a4dbdeb9115e",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "方块球王"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "fangkuaiId",
+                          "id": "u:89bccaf7242f",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "1"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "fangkuaiCoin",
+                          "id": "u:99015dfd4264",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "fangkuaiCash",
+                          "id": "u:31888fb92add",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "fangkuaiInt",
+                          "id": "u:c42ab4593d20",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:8445330f451b",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:3aaf60604641"
+                },
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "镜像阵容",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "jxImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:824383a8e878",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "jx",
+                          "id": "u:a4dbdeb9115e",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "镜像阵容"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "jxId",
+                          "id": "u:89bccaf7242f",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "7"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "jxCoin",
+                          "id": "u:99015dfd4264",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "jxCash",
+                          "id": "u:31888fb92add",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "jxInt",
+                          "id": "u:c42ab4593d20",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:8445330f451b",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:e80cbf026419"
+                }
+              ],
+              "id": "u:a53000ecee93"
+            },
+            {
+              "type": "grid",
+              "columns": [
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "社区小球王",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "sqImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:94fe22c43628",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "sq",
+                          "id": "u:49202e62cd8f",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "社区小球王"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "sqId",
+                          "id": "u:49c300f663f6",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "8"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "sqCoin",
+                          "id": "u:a58559426478",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "sqCash",
+                          "id": "u:e563cc483458",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "sqInt",
+                          "id": "u:688f4b7c3392",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:20efa0a87285",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:19d3a6b86a8d",
+                  "columnClassName": "p-l-lg"
+                },
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "涨姿势",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "zsImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:70a81ae5d75c",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "zs",
+                          "id": "u:fd19ffe45790",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "涨姿势"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "zsId",
+                          "id": "u:fe85cbcb2f69",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "10"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "zsCoin",
+                          "id": "u:af69b1a1d9cb",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "zsCash",
+                          "id": "u:8ba3c740b10c",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "zsInt",
+                          "id": "u:6d91bb154939",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:4b37f6a2c067",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:848bad292c8c"
+                },
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "涨姿势[2]",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "zs2Image",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:22f44cb955d7",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "zs2",
+                          "id": "u:97b8937d26a1",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "激战球场"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "zs2Id",
+                          "id": "u:49ad851a7bf9",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "11"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "zs2Coin",
+                          "id": "u:b29c25f053d9",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "zs2Cash",
+                          "id": "u:88a44c71abb0",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "zs2Int",
+                          "id": "u:fb82b3cf486c",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:cd832349886c",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:68716b29d1cd"
+                }
+              ],
+              "id": "u:0df19fcc8fc2"
+            },
+            {
+              "type": "grid",
+              "columns": [
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "绿茵密码",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "lyImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:704c6970b70d",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "游戏名称",
+                          "name": "ly",
+                          "id": "u:c4a543b6cda0",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "社区小球王"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "游戏id",
+                          "name": "lyId",
+                          "id": "u:90d5f2fa406a",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "5"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "lyCoin",
+                          "id": "u:d78d236c5f95",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "lyCash",
+                          "id": "u:20b24611e53c",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "lyInt",
+                          "id": "u:25e10253effb",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:fe79896823ad",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:b496c245ddf5",
+                  "columnClassName": "p-l-lg"
+                },
+                {
+                  "body": [
+                  ],
+                  "id": "u:5a16b34e0128"
+                },
+                {
+                  "body": [
+                  ],
+                  "id": "u:a49cf291b3fe"
+                }
+              ],
+              "id": "u:4641470c31fd"
+            },
+            {
+              "type": "grid",
+              "columns": [
+                {
+                  "body": [
+                    {
+                      "id": "u:8254704349a2",
+                      "type": "flex",
+                      "className": "p-1",
+                      "items": [
+                        {
+                          "type": "button",
+                          "id": "u:6c0b8f917bf7",
+                          "label": "关闭",
+                          "onEvent": {
+                            "click": {
+                              "actions": [
+                                {
+                                  "args": {
+                                  },
+                                  "script": "parent.layer.close(window.parent.TStudent.layerIndex);",
+                                  "actionType": "custom"
+                                }
+                              ]
+                            }
+                          }
+                        },
+                        {
+                          "type": "button",
+                          "id": "u:6c0b8f917bf7",
+                          "label": "保存",
+                          "level": "info",
+                          "onEvent": {
+                            "click": {
+                              "actions": [
+                                {
+                                  "componentId": "u:24af29be25d2",
+                                  "args": {
+                                  },
+                                  "outputVar": "responseResult",
+                                  "actionType": "submit"
+                                }
+                              ]
+                            }
+                          }
+                        }
+                      ],
+                      "style": {
+                        "position": "relative"
+                      }
+                    }
+                  ],
+                  "id": "u:ebd322f2aab8"
+                }
+              ],
+              "id": "u:1b16988908d9"
             }
           ],
           "api": {
@@ -329,11 +1163,14 @@
             "method": "post",
             "messages": {
             },
-            "dataType": "json"
-          }
+            "dataType": "form-data"
+          },
+          "actions": [
+          ]
         }
       ]
     };
+
     let amisScoped = amis.embed('#root', amisJSON);
 
 
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
new file mode 100644
index 0000000..6b53d15
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit.html
@@ -0,0 +1,1309 @@
+<!DOCTYPE html>
+<html lang="zh">
+<head>
+  <meta charset="UTF-8" />
+  <title>amis demo</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <meta
+          name="viewport"
+          content="width=device-width, initial-scale=1, maximum-scale=1"
+  />
+  <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+  <link rel="stylesheet" href="${ctxPath}/sdk/sdk.css" />
+  <link rel="stylesheet" href="${ctxPath}/sdk/helper.css" />
+  <link rel="stylesheet" href="${ctxPath}/sdk/iconfont.css" />
+  <!-- 这是默认主题所需的,如果是其他主题则不需要 -->
+  <!-- 从 1.1.0 开始 sdk.css 将不支持 IE 11,如果要支持 IE11 请引用这个 css,并把前面那个删了 -->
+  <!-- <link rel="stylesheet" href="sdk-ie11.css" /> -->
+  <!-- 不过 amis 开发团队几乎没测试过 IE 11 下的效果,所以可能有细节功能用不了,如果发现请报 issue -->
+  <style>
+    html,
+    body,
+    .app-wrapper {
+      position: relative;
+      width: 100%;
+      height: 100%;
+      margin: 0;
+      padding: 0;
+    }
+  </style>
+</head>
+<body>
+<div id="root" class="app-wrapper"></div>
+<script src="${ctxPath}/sdk/sdk.js"></script>
+<script type="text/javascript">
+  (function () {
+    let amis = amisRequire('amis/embed');
+    // 通过替换下面这个配置来生成不同页面
+    let amisJSON = {
+      "type": "page",
+      "id": "u:8c028a595aa6",
+      "body": [
+        {
+          "type": "form",
+          "id": "u:24af29be25d2",
+          "title": "",
+          "body": [
+            {
+              "label": "所属运营商:",
+              "type": "select",
+              "name": "operator",
+              "id": "u:970f68a2c4ee",
+              "mode": "horizontal",
+              "size": "lg",
+              "multiple": false,
+              "showInvalidMatch": false,
+              "searchable": true,
+              "clearable": true,
+              "horizontal": {
+                "leftFixed": "lg"
+              },
+              "options": [
+                {
+                  "label": "等待沟通中",
+                  "value": "等待沟通中"
+                }
+              ]
+            },
+            {
+              "type": "select",
+              "label": "所在省:",
+              "name": "province",
+              "id": "u:63c85c19f3aa",
+              "multiple": false,
+              "mode": "horizontal",
+              "size": "md",
+              "value":`${game.provinceCode}`,
+              "horizontal": {
+                "leftFixed": "lg"
+              },
+              "source": {
+                "url": "/coursePackage/queryProvince",
+                "method": "get",
+                "messages": {
+                },
+                "sendOn": ""
+              },
+              "onEvent": {
+                "change": {
+                  "weight": 0,
+                  "actions": [
+                    {
+                      "componentId": "u:14bafe37d5f3",
+                      "actionType": "reload",
+                      "dataMergeMode": "merge"
+                    }
+                  ]
+                }
+              },
+              "labelField": "name",
+              "valueField": "code",
+              "required": true
+            },
+            {
+              "type": "select",
+              "label": "所在市:",
+              "name": "city",
+              "value":`${game.cityCode}`,
+              "id": "u:14bafe37d5f3",
+              "multiple": false,
+              "mode": "horizontal",
+              "size": "md",
+              "horizontal": {
+                "leftFixed": "lg"
+              },
+              "source": {
+                "url": "/coursePackage/queryCity1/$province",
+                "method": "post",
+                "messages": {
+                },
+                "sendOn": "this.province != null &&this.province != ' '"
+              },
+              "onEvent": {
+                "change": {
+                  "weight": 0,
+                  "actions": [
+                    {
+                      "componentId": "u:576899b1b531",
+                      "actionType": "reload",
+                      "dataMergeMode": "merge"
+                    }
+                  ]
+                }
+              },
+              "labelField": "name",
+              "valueField": "code",
+              "required": true
+            },
+            {
+              "type": "select",
+              "label": "所属门店:",
+              "name": "store",
+              "value":`${game.storeId}`,
+              "id": "u:576899b1b531",
+              "multiple": false,
+              "mode": "horizontal",
+              "size": "md",
+              "horizontal": {
+                "leftFixed": "lg"
+              },
+              "source": {
+                "method": "post",
+                "url": "/coursePackage/queryStore1/$city",
+                "messages": {
+                },
+                "sendOn": "this.city != null &&this.city != ' '"
+              },
+              "labelField": "name",
+              "valueField": "id",
+              "onEvent": {
+                "change": {
+                  "weight": 0,
+                  "actions": [
+                    {
+                      "componentId": "u:0d288f4bdd8e",
+                      "actionType": "reload",
+                      "dataMergeMode": "merge"
+                    }
+                  ]
+                }
+              },
+              "required": true
+            },
+            {
+              "type": "select",
+              "label": "所属场地:",
+              "name": "site",
+              "value":`${game.siteId}`,
+              "id": "u:0d288f4bdd8e",
+              "multiple": false,
+              "mode": "horizontal",
+              "size": "md",
+              "horizontal": {
+                "leftFixed": "lg"
+              },
+              "source": {
+                "url": "/coursePackage/querySite",
+                "method": "post",
+                "messages": {
+                },
+                "data": {
+                  "storeId": "$store"
+                },
+                "dataType": "form"
+              },
+              "labelField": "name",
+              "valueField": "id",
+              "required": true
+            },
+            {
+              "type": "tpl",
+              "tpl": "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp设备ID:",
+              "inline": true,
+              "wrapperComponent": "",
+              "id": "u:587781d5d181",
+              "style": {
+                "marginLeft": "0"
+              }
+            },
+            {
+              "type": "input-text",
+              "label": "蓝色方",
+              "name": "blue",
+              "id": "u:a4dbdeb9165e",
+              "mode": "inline",
+              "size": "sm",
+              "horizontal": {
+                "leftFixed": "sm"
+              },
+              "value": "",
+              "required": true
+              ,
+              "value":`${game.blue}`
+            },
+            {
+              "type": "input-text",
+              "label": "红色方",
+              "name": "red",
+              "id": "u:b0544634a698",
+              "mode": "inline",
+              "clearValueOnHidden": false,
+              "hidden": false,
+              "required": true
+              ,
+              "value":`${game.red}`
+            },
+            {
+              "type": "button",
+              "label": "按钮",
+              "onEvent": {
+                "click": {
+                  "actions": [
+                    {
+                      "componentId": "u:24af29be25d2",
+                      "actionType": "submit"
+                    }
+                  ]
+                }
+              },
+              "id": "u:b96a47957f17",
+              "hidden": true
+            },
+            {
+              "type": "divider",
+              "id": "u:cc7161244b32"
+            },
+            {
+              "type": "tpl",
+              "id": "u:89c3a95a6721",
+              "tpl": "游戏配置:",
+              "inline": true,
+              "wrapperComponent": "h2"
+            },
+            {
+              "type": "grid",
+              "columns": [
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "玩湃跨城赛",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "kuachengImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:824383a8e878",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "kuacheng",
+                          "id": "u:a4dbdeb9115e",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "玩湃跨城赛"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "kuachengId",
+                          "id": "u:89bccaf7242f",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "14"
+                        },
+                        {
+                          "type": "tpl",
+                          "id": "u:587781d5d181",
+                          "tpl": "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp",
+                          "inline": true,
+                          "wrapperComponent": "",
+                          "style": {
+                            "marginLeft": "0"
+                          }
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "kuachengCoin",
+                          "id": "u:99015dfd4264",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "kuachengCash",
+                          "id": "u:31888fb92add",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "kuachengInt",
+                          "id": "u:c42ab4593d20",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:8445330f451b",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:a63f776f28ca",
+                  "columnClassName": "p-l-lg"
+                },
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "社区冠军赛",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "shequImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:824383a8e878",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "shequ",
+                          "id": "u:a4dbdeb9115e",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "社区冠军赛"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "shequId",
+                          "id": "u:89bccaf7242f",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "16"
+                        },
+                        {
+                          "type": "tpl",
+                          "id": "u:587781d5d181",
+                          "tpl": "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp",
+                          "inline": true,
+                          "wrapperComponent": "",
+                          "style": {
+                            "marginLeft": "0"
+                          }
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "shequCoin",
+                          "id": "u:99015dfd4264",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "shequCash",
+                          "id": "u:31888fb92add",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "shequInt",
+                          "id": "u:c42ab4593d20",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:8445330f451b",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:882210cd7611"
+                },
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "射门速度-玩湃熊之力",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "shemenImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:824383a8e878",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "shemen",
+                          "id": "u:a4dbdeb9115e",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "射门速度-玩湃熊之力"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "shemenId",
+                          "id": "u:89bccaf7242f",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "13"
+                        },
+                        {
+                          "type": "tpl",
+                          "id": "u:587781d5d181",
+                          "tpl": "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp",
+                          "inline": true,
+                          "wrapperComponent": "",
+                          "style": {
+                            "marginLeft": "0"
+                          }
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "shemenCoin",
+                          "id": "u:99015dfd4264",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "shemenCash",
+                          "id": "u:31888fb92add",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "shemenInt",
+                          "id": "u:c42ab4593d20",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:8445330f451b",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:d191f24cb064"
+                }
+              ],
+              "id": "u:676721d0a98a"
+            },
+            {
+              "type": "grid",
+              "columns": [
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "玩湃熊之力-速度",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "suduImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:4abd099fd344",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "sudu",
+                          "id": "u:825f01e97cf5",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "玩湃熊之力-速度"
+                        },
+                        {
+                          "type": "tpl",
+                          "id": "u:587781d5d181",
+                          "tpl": "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp",
+                          "inline": true,
+                          "wrapperComponent": "",
+                          "style": {
+                            "marginLeft": "0"
+                          }
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "suduId",
+                          "id": "u:ca5a1fd9c191",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "15"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "suduCoin",
+                          "id": "u:b6faed384d78",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "suduCash",
+                          "id": "u:c7181c9b3ded",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "suduInt",
+                          "id": "u:ee897e373acb",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:89bd6bd7e231",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:e49a95f9b2c8",
+                  "columnClassName": "p-l-lg"
+                },
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "方块球王",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "fangkuaiImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:824383a8e878",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "fangkuai",
+                          "id": "u:a4dbdeb9115e",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "方块球王"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "fangkuaiId",
+                          "id": "u:89bccaf7242f",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "1"
+                        },
+                        {
+                          "type": "tpl",
+                          "id": "u:587781d5d181",
+                          "tpl": "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp",
+                          "inline": true,
+                          "wrapperComponent": "",
+                          "style": {
+                            "marginLeft": "0"
+                          }
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "fangkuaiCoin",
+                          "id": "u:99015dfd4264",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "fangkuaiCash",
+                          "id": "u:31888fb92add",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "fangkuaiInt",
+                          "id": "u:c42ab4593d20",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:8445330f451b",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:3aaf60604641"
+                },
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "镜像阵容",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "jxImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:824383a8e878",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "jx",
+                          "id": "u:a4dbdeb9115e",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "镜像阵容"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "jxId",
+                          "id": "u:89bccaf7242f",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "7"
+                        },
+                        {
+                          "type": "tpl",
+                          "id": "u:587781d5d181",
+                          "tpl": "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp",
+                          "inline": true,
+                          "wrapperComponent": "",
+                          "style": {
+                            "marginLeft": "0"
+                          }
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "jxCoin",
+                          "id": "u:99015dfd4264",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "jxCash",
+                          "id": "u:31888fb92add",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "jxInt",
+                          "id": "u:c42ab4593d20",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:8445330f451b",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:e80cbf026419"
+                }
+              ],
+              "id": "u:a53000ecee93"
+            },
+            {
+              "type": "grid",
+              "columns": [
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "社区小球王",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "sqImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:94fe22c43628",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "sq",
+                          "id": "u:49202e62cd8f",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "社区小球王"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "sqId",
+                          "id": "u:49c300f663f6",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "8"
+                        },
+                        {
+                          "type": "tpl",
+                          "id": "u:587781d5d181",
+                          "tpl": "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp",
+                          "inline": true,
+                          "wrapperComponent": "",
+                          "style": {
+                            "marginLeft": "0"
+                          }
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "sqCoin",
+                          "id": "u:a58559426478",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "sqCash",
+                          "id": "u:e563cc483458",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "sqInt",
+                          "id": "u:688f4b7c3392",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:20efa0a87285",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:19d3a6b86a8d",
+                  "columnClassName": "p-l-lg"
+                },
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "涨姿势",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "zsImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:70a81ae5d75c",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "zs",
+                          "id": "u:fd19ffe45790",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "涨姿势"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "zsId",
+                          "id": "u:fe85cbcb2f69",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "10"
+                        },
+                        {
+                          "type": "tpl",
+                          "id": "u:587781d5d181",
+                          "tpl": "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp",
+                          "inline": true,
+                          "wrapperComponent": "",
+                          "style": {
+                            "marginLeft": "0"
+                          }
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "zsCoin",
+                          "id": "u:af69b1a1d9cb",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "zsCash",
+                          "id": "u:8ba3c740b10c",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "zsInt",
+                          "id": "u:6d91bb154939",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:4b37f6a2c067",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:848bad292c8c"
+                },
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "涨姿势[2]",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "zs2Image",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:22f44cb955d7",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "zs2",
+                          "id": "u:97b8937d26a1",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "激战球场"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "zs2Id",
+                          "id": "u:49ad851a7bf9",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "11"
+                        },
+                        {
+                          "type": "tpl",
+                          "id": "u:587781d5d181",
+                          "tpl": "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp",
+                          "inline": true,
+                          "wrapperComponent": "",
+                          "style": {
+                            "marginLeft": "0"
+                          }
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "zs2Coin",
+                          "id": "u:b29c25f053d9",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "zs2Cash",
+                          "id": "u:88a44c71abb0",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "zs2Int",
+                          "id": "u:fb82b3cf486c",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:cd832349886c",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:68716b29d1cd"
+                }
+              ],
+              "id": "u:0df19fcc8fc2"
+            },
+            {
+              "type": "grid",
+              "columns": [
+                {
+                  "body": [
+                    {
+                      "type": "card",
+                      "header": {
+                        "title": "绿茵密码",
+                        "subTitle": ""
+                      },
+                      "body": [
+                        {
+                          "type": "input-image",
+                          "label": "背景图:",
+                          "name": "lyImage",
+                          "autoUpload": true,
+                          "proxy": true,
+                          "uploadType": "fileReceptor",
+                          "imageClassName": "r w-full",
+                          "receiver": {
+                            "url": "/mgr/uploadImgAmis",
+                            "method": "post"
+                          },
+                          "id": "u:704c6970b70d",
+                          "labelClassName": "text-dark",
+                          "mode": "inline",
+                          "accept": ".jpeg, .jpg, .png, .gif",
+                          "multiple": false,
+                          "hideUploadButton": false,
+                          "fixedSize": false
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "ly",
+                          "id": "u:c4a543b6cda0",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "社区小球王"
+                        },
+                        {
+                          "type": "hidden",
+                          "label": "",
+                          "name": "lyId",
+                          "id": "u:90d5f2fa406a",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b",
+                          "value": "5"
+                        },
+                        {
+                          "type": "tpl",
+                          "id": "u:587781d5d181",
+                          "tpl": "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp",
+                          "inline": true,
+                          "wrapperComponent": "",
+                          "style": {
+                            "marginLeft": "0"
+                          }
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "玩派币",
+                          "name": "lyCoin",
+                          "id": "u:d78d236c5f95",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "现金",
+                          "name": "lyCash",
+                          "id": "u:20b24611e53c",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        },
+                        {
+                          "type": "input-text",
+                          "label": "积分",
+                          "name": "lyInt",
+                          "id": "u:25e10253effb",
+                          "mode": "inline",
+                          "labelClassName": "text-dark m-b text-lg"
+                        }
+                      ],
+                      "actions": [
+                      ],
+                      "id": "u:fe79896823ad",
+                      "bodyClassName": "no-border b-light",
+                      "className": "no-border"
+                    }
+                  ],
+                  "id": "u:b496c245ddf5",
+                  "columnClassName": "p-l-lg"
+                },
+                {
+                  "body": [
+                  ],
+                  "id": "u:5a16b34e0128"
+                },
+                {
+                  "body": [
+                  ],
+                  "id": "u:a49cf291b3fe"
+                }
+              ],
+              "id": "u:4641470c31fd"
+            },
+            {
+              "type": "grid",
+              "columns": [
+                {
+                  "body": [
+                    {
+                      "id": "u:8254704349a2",
+                      "type": "flex",
+                      "className": "p-1",
+                      "items": [
+                        {
+                          "type": "button",
+                          "id": "u:6c0b8f917bf7",
+                          "label": "关闭",
+                          "onEvent": {
+                            "click": {
+                              "actions": [
+                                {
+                                  "args": {
+                                  },
+                                  "script": "parent.layer.close(window.parent.TStudent.layerIndex);",
+                                  "actionType": "custom"
+                                }
+                              ]
+                            }
+                          }
+                        },
+                        {
+                          "type": "button",
+                          "id": "u:6c0b8f917bf7",
+                          "label": "保存",
+                          "level": "info",
+                          "onEvent": {
+                            "click": {
+                              "actions": [
+                                {
+                                  "componentId": "u:24af29be25d2",
+                                  "args": {
+                                  },
+                                  "outputVar": "responseResult",
+                                  "actionType": "submit"
+                                }
+                              ]
+                            }
+                          }
+                        }
+                      ],
+                      "style": {
+                        "position": "relative"
+                      }
+                    }
+                  ],
+                  "id": "u:ebd322f2aab8"
+                }
+              ],
+              "id": "u:1b16988908d9"
+            }
+          ],
+          "api": {
+            "url": "/ball/save",
+            "method": "post",
+            "messages": {
+            },
+            "dataType": "form-data"
+          },
+          "actions": [
+          ],
+          "onEvent": {
+            "submitSucc": {
+              "weight": 0,
+              "actions": [
+                {
+                  "args": {
+                  },
+                  "script": "parent.layer.close(window.parent.TStudent.layerIndex);",
+                  "actionType": "custom"
+                }
+              ]
+            }
+          }
+        }
+      ]
+    };
+
+    let amisScoped = amis.embed('#root', amisJSON);
+
+
+  })();
+
+  function test(){
+    console.log("测试成功")
+  }
+
+  var myButton = document.getElementById("ttt");
+  myButton.addEventListener("click",test);
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/jieshao.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/jieshao.html
new file mode 100644
index 0000000..06f5471
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/jieshao.html
@@ -0,0 +1,1163 @@
+<!DOCTYPE html>
+<html lang="zh">
+<head>
+    <meta charset="UTF-8" />
+    <title>amis demo</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <meta
+            name="viewport"
+            content="width=device-width, initial-scale=1, maximum-scale=1"
+    />
+    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+    <link rel="stylesheet" href="${ctxPath}/sdk/sdk.css" />
+    <link rel="stylesheet" href="${ctxPath}/sdk/helper.css" />
+    <link rel="stylesheet" href="${ctxPath}/sdk/iconfont.css" />
+    <!-- 这是默认主题所需的,如果是其他主题则不需要 -->
+    <!-- 从 1.1.0 开始 sdk.css 将不支持 IE 11,如果要支持 IE11 请引用这个 css,并把前面那个删了 -->
+    <!-- <link rel="stylesheet" href="sdk-ie11.css" /> -->
+    <!-- 不过 amis 开发团队几乎没测试过 IE 11 下的效果,所以可能有细节功能用不了,如果发现请报 issue -->
+    <style>
+        html,
+        body,
+        .app-wrapper {
+            position: relative;
+            width: 100%;
+            height: 100%;
+            margin: 0;
+            padding: 0;
+        }
+    </style>
+</head>
+<body>
+<div id="root" class="app-wrapper"></div>
+<script src="${ctxPath}/sdk/sdk.js"></script>
+<script type="text/javascript">
+    (function () {
+        let amis = amisRequire('amis/embed');
+        // 通过替换下面这个配置来生成不同页面
+        let amisJSON = {
+            "type": "page",
+            "body": [
+                {
+                    "type": "tabs",
+                    "tabsMode": "vertical",
+                    "tabs": [
+                        {
+                            "title": "玩湃跨城赛",
+                            "body": [
+                                {
+                                    "type": "form",
+                                    "id": "u:bd64f7f5fea7",
+                                    "title": "",
+                                    "mode": "horizontal",
+                                    "dsType": "api",
+                                    "feat": "Edit",
+                                    "body": [
+                                        {
+                                            "type": "input-text",
+                                            "label": "文本",
+                                            "name": "id",
+                                            "id": "u:4c0a1ededc47",
+                                            "value": "14",
+                                            "hidden": true
+                                        },
+                                        {
+                                            "type": "textarea",
+                                            "label": "文字介绍",
+                                            "name": "jieshao",
+                                            "id": "u:aa105bcfd51b",
+                                            "minRows": 10,
+                                            "maxRows": 20,
+                                            "required": true
+                                        },
+                                        {
+                                            "type": "input-file",
+                                            "label": "文件上传",
+                                            "autoUpload": true,
+                                            "proxy": true,
+                                            "uploadType": "fileReceptor",
+                                            "name": "vedio",
+                                            "id": "u:d84964c25e87",
+                                            "btnLabel": "文件上传",
+                                            "multiple": false,
+                                            "useChunk": false,
+                                            "accept": "",
+                                            "drag": false,
+                                            "receiver": {
+                                                "url": "/mgr/uploadImgAmis",
+                                                "method": "post"
+                                            },
+                                            "required": true
+                                        }
+                                    ],
+                                    "actions": [
+                                        {
+                                            "type": "button",
+                                            "label": "关闭",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "custom",
+                                                            "args": {
+                                                            },
+                                                            "script": "parent.layer.close(window.parent.TStudent.layerIndex);"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "id": "u:6c0b8f917bf7"
+                                        },
+                                        {
+                                            "type": "button",
+                                            "label": "提交",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "submit",
+                                                            "componentId": "u:bd64f7f5fea7"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "level": "primary",
+                                            "id": "u:91bfc503975f"
+                                        }
+                                    ],
+                                    "resetAfterSubmit": false,
+                                    "api": {
+                                        "url": "/ball/addjs",
+                                        "method": "post",
+                                        "requestAdaptor": "",
+                                        "adaptor": "",
+                                        "messages": {
+                                        }
+                                    },
+                                    "initApi": {
+                                        "url": "/ball/get/$id",
+                                        "method": "get"
+                                    }
+                                }
+                            ],
+                            "id": "u:dbc6f3c0e779"
+                        },
+                        {
+                            "title": "社区冠军赛",
+                            "body": [
+                                {
+                                    "type": "form",
+                                    "id": "u:bd64f7f5fe22",
+                                    "title": "",
+                                    "mode": "horizontal",
+                                    "dsType": "api",
+                                    "feat": "Insert",
+                                    "body": [
+                                        {
+                                            "type": "input-text",
+                                            "label": "文本",
+                                            "name": "id",
+                                            "id": "u:4c0a1ededc47",
+                                            "value": "16",
+                                            "hidden": true
+                                        },
+                                        {
+                                            "type": "textarea",
+                                            "label": "文字介绍",
+                                            "name": "jieshao",
+                                            "id": "u:aa105bcfd51b",
+                                            "minRows": 10,
+                                            "maxRows": 20,
+                                            "required": true
+                                        },
+                                        {
+                                            "type": "input-file",
+                                            "label": "文件上传",
+                                            "autoUpload": true,
+                                            "proxy": true,
+                                            "uploadType": "fileReceptor",
+                                            "name": "vedio",
+                                            "id": "u:d84964c25e87",
+                                            "btnLabel": "文件上传",
+                                            "multiple": false,
+                                            "useChunk": false,
+                                            "accept": "",
+                                            "drag": false,
+                                            "receiver": {
+                                                "url": "/mgr/uploadImgAmis",
+                                                "method": "post"
+                                            },
+                                            "required": true
+                                        }
+                                    ],
+                                    "actions": [
+                                        {
+                                            "type": "button",
+                                            "label": "关闭",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "custom",
+                                                            "args": {
+                                                            },
+                                                            "script": "parent.layer.close(window.parent.TStudent.layerIndex);"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "id": "u:6c0b8f917bf7"
+                                        },
+                                        {
+                                            "type": "button",
+                                            "label": "提交",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "submit",
+                                                            "componentId": "u:bd64f7f5fe22",
+                                                            "outputVar": "submitResult"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "level": "primary",
+                                            "id": "u:82085178ce49"
+                                        }
+                                    ],
+                                    "resetAfterSubmit": false,
+                                    "api": {
+                                        "url": "/ball/addjs",
+                                        "method": "post",
+                                        "requestAdaptor": "",
+                                        "adaptor": "",
+                                        "messages": {
+                                        }
+                                    },
+                                    "initApi": {
+                                        "url": "/ball/get/$id",
+                                        "method": "get"
+                                    }
+                                }
+                            ],
+                            "id": "u:012e71a6b2f9"
+                        },
+                        {
+                            "title": "射门速度-玩湃熊之力",
+                            "body": [
+                                {
+                                    "type": "form",
+                                    "id": "u:bd64f7f5f333",
+                                    "title": "",
+                                    "mode": "horizontal",
+                                    "dsType": "api",
+                                    "feat": "Insert",
+                                    "body": [
+                                        {
+                                            "type": "input-text",
+                                            "label": "文本",
+                                            "name": "id",
+                                            "id": "u:4c0a1ededc47",
+                                            "value": "13",
+                                            "hidden": true
+                                        },
+                                        {
+                                            "type": "textarea",
+                                            "label": "文字介绍",
+                                            "name": "jieshao",
+                                            "id": "u:aa105bcfd51b",
+                                            "minRows": 10,
+                                            "maxRows": 20,
+                                            "required": true
+                                        },
+                                        {
+                                            "type": "input-file",
+                                            "label": "文件上传",
+                                            "autoUpload": true,
+                                            "proxy": true,
+                                            "uploadType": "fileReceptor",
+                                            "name": "vedio",
+                                            "id": "u:d84964c25e87",
+                                            "btnLabel": "文件上传",
+                                            "multiple": false,
+                                            "useChunk": false,
+                                            "accept": "",
+                                            "drag": false,
+                                            "receiver": {
+                                                "url": "/mgr/uploadImgAmis",
+                                                "method": "post"
+                                            },
+                                            "required": true
+                                        }
+                                    ],
+                                    "actions": [
+                                        {
+                                            "type": "button",
+                                            "label": "关闭",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "custom",
+                                                            "args": {
+                                                            },
+                                                            "script": "parent.layer.close(window.parent.TStudent.layerIndex);"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "id": "u:6c0b8f917bf7"
+                                        },
+                                        {
+                                            "type": "button",
+                                            "label": "提交",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "submit",
+                                                            "componentId": "u:bd64f7f5f333",
+                                                            "outputVar": "submitResult"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "level": "primary",
+                                            "id": "u:60929d18d938"
+                                        }
+                                    ],
+                                    "resetAfterSubmit": false,
+                                    "api": {
+                                        "url": "/ball/addjs",
+                                        "method": "post",
+                                        "requestAdaptor": "",
+                                        "adaptor": "",
+                                        "messages": {
+                                        }
+                                    },
+                                    "initApi": {
+                                        "url": "/ball/get/$id",
+                                        "method": "get"
+                                    }
+                                }
+                            ],
+                            "id": "u:8ad650b97cb0"
+                        },
+                        {
+                            "title": "玩湃熊之力-速度",
+                            "body": [
+                                {
+                                    "type": "form",
+                                    "id": "u:bd64f7f5f444",
+                                    "title": "",
+                                    "mode": "horizontal",
+                                    "dsType": "api",
+                                    "feat": "Insert",
+                                    "body": [
+                                        {
+                                            "type": "input-text",
+                                            "label": "文本",
+                                            "name": "id",
+                                            "id": "u:4c0a1ededc47",
+                                            "value": "15",
+                                            "hidden": true
+                                        },
+                                        {
+                                            "type": "textarea",
+                                            "label": "文字介绍",
+                                            "name": "jieshao",
+                                            "id": "u:aa105bcfd51b",
+                                            "minRows": 10,
+                                            "maxRows": 20,
+                                            "required": true
+                                        },
+                                        {
+                                            "type": "input-file",
+                                            "label": "文件上传",
+                                            "autoUpload": true,
+                                            "proxy": true,
+                                            "uploadType": "fileReceptor",
+                                            "name": "vedio",
+                                            "id": "u:d84964c25e87",
+                                            "btnLabel": "文件上传",
+                                            "multiple": false,
+                                            "useChunk": false,
+                                            "accept": "",
+                                            "drag": false,
+                                            "receiver": {
+                                                "url": "/mgr/uploadImgAmis",
+                                                "method": "post"
+                                            },
+                                            "required": true
+                                        }
+                                    ],
+                                    "actions": [
+                                        {
+                                            "type": "button",
+                                            "label": "关闭",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "custom",
+                                                            "args": {
+                                                            },
+                                                            "script": "parent.layer.close(window.parent.TStudent.layerIndex);"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "id": "u:6c0b8f917bf7"
+                                        },
+                                        {
+                                            "type": "button",
+                                            "label": "提交",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "submit",
+                                                            "componentId": "u:bd64f7f5f444",
+                                                            "outputVar": "submitResult"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "level": "primary",
+                                            "id": "u:95a6bc834dc5"
+                                        }
+                                    ],
+                                    "resetAfterSubmit": false,
+                                    "api": {
+                                        "url": "/ball/addjs",
+                                        "method": "post",
+                                        "requestAdaptor": "",
+                                        "adaptor": "",
+                                        "messages": {
+                                        }
+                                    },
+                                    "initApi": {
+                                        "url": "/ball/get/$id",
+                                        "method": "get"
+                                    }
+                                }
+                            ],
+                            "id": "u:544152a47373"
+                        },
+                        {
+                            "title": "方块球王",
+                            "body": [
+                                {
+                                    "type": "form",
+                                    "id": "u:bd64f7f5f555",
+                                    "title": "",
+                                    "mode": "horizontal",
+                                    "dsType": "api",
+                                    "feat": "Insert",
+                                    "body": [
+                                        {
+                                            "type": "input-text",
+                                            "label": "文本",
+                                            "name": "id",
+                                            "id": "u:4c0a1ededc47",
+                                            "value": "1",
+                                            "hidden": true
+                                        },
+                                        {
+                                            "type": "textarea",
+                                            "label": "文字介绍",
+                                            "name": "jieshao",
+                                            "id": "u:aa105bcfd51b",
+                                            "minRows": 10,
+                                            "maxRows": 20,
+                                            "required": true
+                                        },
+                                        {
+                                            "type": "input-file",
+                                            "label": "文件上传",
+                                            "autoUpload": true,
+                                            "proxy": true,
+                                            "uploadType": "fileReceptor",
+                                            "name": "vedio",
+                                            "id": "u:d84964c25e87",
+                                            "btnLabel": "文件上传",
+                                            "multiple": false,
+                                            "useChunk": false,
+                                            "accept": "",
+                                            "drag": false,
+                                            "receiver": {
+                                                "url": "/mgr/uploadImgAmis",
+                                                "method": "post"
+                                            },
+                                            "required": true
+                                        }
+                                    ],
+                                    "actions": [
+                                        {
+                                            "type": "button",
+                                            "label": "关闭",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "custom",
+                                                            "args": {
+                                                            },
+                                                            "script": "parent.layer.close(window.parent.TStudent.layerIndex);"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "id": "u:6c0b8f917bf7"
+                                        },
+                                        {
+                                            "type": "button",
+                                            "label": "提交",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "submit",
+                                                            "componentId": "u:bd64f7f5f555",
+                                                            "outputVar": "submitResult"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "level": "primary",
+                                            "id": "u:f71511d042a8"
+                                        }
+                                    ],
+                                    "resetAfterSubmit": false,
+                                    "api": {
+                                        "url": "/ball/addjs",
+                                        "method": "post",
+                                        "requestAdaptor": "",
+                                        "adaptor": "",
+                                        "messages": {
+                                        }
+                                    },
+                                    "initApi": {
+                                        "url": "/ball/get/$id",
+                                        "method": "get"
+                                    }
+                                }
+                            ],
+                            "id": "u:755a96b3d27f"
+                        },
+                        {
+                            "title": "镜像阵容",
+                            "body": [
+                                {
+                                    "type": "form",
+                                    "id": "u:bd64f7f5f666",
+                                    "title": "",
+                                    "mode": "horizontal",
+                                    "dsType": "api",
+                                    "feat": "Insert",
+                                    "body": [
+                                        {
+                                            "type": "input-text",
+                                            "label": "文本",
+                                            "name": "id",
+                                            "id": "u:4c0a1ededc47",
+                                            "value": "7",
+                                            "hidden": true
+                                        },
+                                        {
+                                            "type": "textarea",
+                                            "label": "文字介绍",
+                                            "name": "jieshao",
+                                            "id": "u:aa105bcfd51b",
+                                            "minRows": 10,
+                                            "maxRows": 20,
+                                            "required": true
+                                        },
+                                        {
+                                            "type": "input-file",
+                                            "label": "文件上传",
+                                            "autoUpload": true,
+                                            "proxy": true,
+                                            "uploadType": "fileReceptor",
+                                            "name": "vedio",
+                                            "id": "u:d84964c25e87",
+                                            "btnLabel": "文件上传",
+                                            "multiple": false,
+                                            "useChunk": false,
+                                            "accept": "",
+                                            "drag": false,
+                                            "receiver": {
+                                                "url": "/mgr/uploadImgAmis",
+                                                "method": "post"
+                                            },
+                                            "required": true
+                                        }
+                                    ],
+                                    "actions": [
+                                        {
+                                            "type": "button",
+                                            "label": "关闭",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "custom",
+                                                            "args": {
+                                                            },
+                                                            "script": "parent.layer.close(window.parent.TStudent.layerIndex);"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "id": "u:6c0b8f917bf7"
+                                        },
+                                        {
+                                            "type": "button",
+                                            "label": "提交",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "submit",
+                                                            "componentId": "u:bd64f7f5f666",
+                                                            "outputVar": "submitResult"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "level": "primary",
+                                            "id": "u:a37a95f8c2c6"
+                                        }
+                                    ],
+                                    "resetAfterSubmit": false,
+                                    "api": {
+                                        "url": "/ball/addjs",
+                                        "method": "post",
+                                        "requestAdaptor": "",
+                                        "adaptor": "",
+                                        "messages": {
+                                        }
+                                    },
+                                    "initApi": {
+                                        "url": "/ball/get/$id",
+                                        "method": "get"
+                                    }
+                                }
+                            ],
+                            "id": "u:e4815a5fccf1"
+                        },
+                        {
+                            "title": "社区小球王",
+                            "body": [
+                                {
+                                    "type": "form",
+                                    "id": "u:bd64f7f5f777",
+                                    "title": "",
+                                    "mode": "horizontal",
+                                    "dsType": "api",
+                                    "feat": "Insert",
+                                    "body": [
+                                        {
+                                            "type": "input-text",
+                                            "label": "文本",
+                                            "name": "id",
+                                            "id": "u:4c0a1ededc47",
+                                            "value": "8",
+                                            "hidden": true
+                                        },
+                                        {
+                                            "type": "textarea",
+                                            "label": "文字介绍",
+                                            "name": "jieshao",
+                                            "id": "u:aa105bcfd51b",
+                                            "minRows": 10,
+                                            "maxRows": 20,
+                                            "required": true
+                                        },
+                                        {
+                                            "type": "input-file",
+                                            "label": "文件上传",
+                                            "autoUpload": true,
+                                            "proxy": true,
+                                            "uploadType": "fileReceptor",
+                                            "name": "vedio",
+                                            "id": "u:d84964c25e87",
+                                            "btnLabel": "文件上传",
+                                            "multiple": false,
+                                            "useChunk": false,
+                                            "accept": "",
+                                            "drag": false,
+                                            "receiver": {
+                                                "url": "/mgr/uploadImgAmis",
+                                                "method": "post"
+                                            },
+                                            "required": true
+                                        }
+                                    ],
+                                    "actions": [
+                                        {
+                                            "type": "button",
+                                            "label": "关闭",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "custom",
+                                                            "args": {
+                                                            },
+                                                            "script": "parent.layer.close(window.parent.TStudent.layerIndex);"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "id": "u:6c0b8f917bf7"
+                                        },
+                                        {
+                                            "type": "button",
+                                            "label": "提交",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "submit",
+                                                            "componentId": "u:bd64f7f5f777",
+                                                            "outputVar": "submitResult"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "level": "primary",
+                                            "id": "u:0c61e0e5b4f4"
+                                        }
+                                    ],
+                                    "resetAfterSubmit": false,
+                                    "api": {
+                                        "url": "/ball/addjs",
+                                        "method": "post",
+                                        "requestAdaptor": "",
+                                        "adaptor": "",
+                                        "messages": {
+                                        }
+                                    },
+                                    "initApi": {
+                                        "url": "/ball/get/$id",
+                                        "method": "get"
+                                    }
+                                }
+                            ],
+                            "id": "u:2bfa05b7cccb"
+                        },
+                        {
+                            "title": "涨姿势",
+                            "body": [
+                                {
+                                    "type": "form",
+                                    "id": "u:bd64f7f5f888",
+                                    "title": "",
+                                    "mode": "horizontal",
+                                    "dsType": "api",
+                                    "feat": "Insert",
+                                    "body": [
+                                        {
+                                            "type": "input-text",
+                                            "label": "文本",
+                                            "name": "id",
+                                            "id": "u:4c0a1ededc47",
+                                            "value": "10",
+                                            "hidden": true
+                                        },
+                                        {
+                                            "type": "textarea",
+                                            "label": "文字介绍",
+                                            "name": "jieshao",
+                                            "id": "u:aa105bcfd51b",
+                                            "minRows": 10,
+                                            "maxRows": 20,
+                                            "required": true
+                                        },
+                                        {
+                                            "type": "input-file",
+                                            "label": "文件上传",
+                                            "autoUpload": true,
+                                            "proxy": true,
+                                            "uploadType": "fileReceptor",
+                                            "name": "vedio",
+                                            "id": "u:d84964c25e87",
+                                            "btnLabel": "文件上传",
+                                            "multiple": false,
+                                            "useChunk": false,
+                                            "accept": "",
+                                            "drag": false,
+                                            "receiver": {
+                                                "url": "/mgr/uploadImgAmis",
+                                                "method": "post"
+                                            },
+                                            "required": true
+                                        }
+                                    ],
+                                    "actions": [
+                                        {
+                                            "type": "button",
+                                            "label": "关闭",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "custom",
+                                                            "args": {
+                                                            },
+                                                            "script": "parent.layer.close(window.parent.TStudent.layerIndex);"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "id": "u:6c0b8f917bf7"
+                                        },
+                                        {
+                                            "type": "button",
+                                            "label": "提交",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "submit",
+                                                            "componentId": "u:bd64f7f5f888",
+                                                            "outputVar": "submitResult"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "level": "primary",
+                                            "id": "u:e04f1bcae4aa"
+                                        }
+                                    ],
+                                    "resetAfterSubmit": false,
+                                    "api": {
+                                        "url": "/ball/addjs",
+                                        "method": "post",
+                                        "requestAdaptor": "",
+                                        "adaptor": "",
+                                        "messages": {
+                                        }
+                                    },
+                                    "initApi": {
+                                        "url": "/ball/get/$id",
+                                        "method": "get"
+                                    }
+                                }
+                            ],
+                            "id": "u:2f4595ac11a7"
+                        },
+                        {
+                            "title": "涨姿势[2]",
+                            "body": [
+                                {
+                                    "type": "form",
+                                    "id": "u:bd64f7f5f999",
+                                    "title": "",
+                                    "mode": "horizontal",
+                                    "dsType": "api",
+                                    "feat": "Insert",
+                                    "body": [
+                                        {
+                                            "type": "input-text",
+                                            "label": "文本",
+                                            "name": "id",
+                                            "id": "u:4c0a1ededc47",
+                                            "value": "11",
+                                            "hidden": true
+                                        },
+                                        {
+                                            "type": "textarea",
+                                            "label": "文字介绍",
+                                            "name": "jieshao",
+                                            "id": "u:aa105bcfd51b",
+                                            "minRows": 10,
+                                            "maxRows": 20,
+                                            "required": true
+                                        },
+                                        {
+                                            "type": "input-file",
+                                            "label": "文件上传",
+                                            "autoUpload": true,
+                                            "proxy": true,
+                                            "uploadType": "fileReceptor",
+                                            "name": "vedio",
+                                            "id": "u:d84964c25e87",
+                                            "btnLabel": "文件上传",
+                                            "multiple": false,
+                                            "useChunk": false,
+                                            "accept": "",
+                                            "drag": false,
+                                            "receiver": {
+                                                "url": "/mgr/uploadImgAmis",
+                                                "method": "post"
+                                            },
+                                            "required": true
+                                        }
+                                    ],
+                                    "actions": [
+                                        {
+                                            "type": "button",
+                                            "label": "关闭",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "custom",
+                                                            "args": {
+                                                            },
+                                                            "script": "parent.layer.close(window.parent.TStudent.layerIndex);"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "id": "u:6c0b8f917bf7"
+                                        },
+                                        {
+                                            "type": "button",
+                                            "label": "提交",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "submit",
+                                                            "componentId": "u:bd64f7f5f999",
+                                                            "outputVar": "submitResult"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "level": "primary",
+                                            "id": "u:6fbe66eae6e1"
+                                        }
+                                    ],
+                                    "resetAfterSubmit": false,
+                                    "api": {
+                                        "url": "/ball/addjs",
+                                        "method": "post",
+                                        "requestAdaptor": "",
+                                        "adaptor": "",
+                                        "messages": {
+                                        }
+                                    },
+                                    "initApi": {
+                                        "url": "/ball/get/$id",
+                                        "method": "get"
+                                    }
+                                }
+                            ],
+                            "id": "u:efb71048f771"
+                        },
+                        {
+                            "title": "绿茵密码",
+                            "body": [
+                                {
+                                    "type": "form",
+                                    "id": "u:bd64f7f50007",
+                                    "title": "",
+                                    "mode": "horizontal",
+                                    "dsType": "api",
+                                    "feat": "Insert",
+                                    "body": [
+                                        {
+                                            "type": "input-text",
+                                            "label": "文本",
+                                            "name": "id",
+                                            "id": "u:4c0a1ededc47",
+                                            "value": "5",
+                                            "hidden": true
+                                        },
+                                        {
+                                            "type": "textarea",
+                                            "label": "文字介绍",
+                                            "name": "jieshao",
+                                            "id": "u:aa105bcfd51b",
+                                            "minRows": 10,
+                                            "maxRows": 20,
+                                            "required": true
+                                        },
+                                        {
+                                            "type": "input-file",
+                                            "label": "文件上传",
+                                            "autoUpload": true,
+                                            "proxy": true,
+                                            "uploadType": "fileReceptor",
+                                            "name": "vedio",
+                                            "id": "u:d84964c25e87",
+                                            "btnLabel": "文件上传",
+                                            "multiple": false,
+                                            "useChunk": false,
+                                            "accept": "",
+                                            "drag": false,
+                                            "receiver": {
+                                                "url": "/mgr/uploadImgAmis",
+                                                "method": "post"
+                                            },
+                                            "required": true
+                                        }
+                                    ],
+                                    "actions": [
+                                        {
+                                            "type": "button",
+                                            "label": "关闭",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "custom",
+                                                            "args": {
+                                                            },
+                                                            "script": "parent.layer.close(window.parent.TStudent.layerIndex);"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "id": "u:6c0b8f917bf7"
+                                        },
+                                        {
+                                            "type": "button",
+                                            "label": "提交",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "submit",
+                                                            "componentId": "u:bd64f7f50007",
+                                                            "outputVar": "submitResult"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "level": "primary",
+                                            "id": "u:30fd93656c25"
+                                        }
+                                    ],
+                                    "resetAfterSubmit": false,
+                                    "api": {
+                                        "url": "/ball/addjs",
+                                        "method": "post",
+                                        "requestAdaptor": "",
+                                        "adaptor": "",
+                                        "messages": {
+                                        }
+                                    },
+                                    "initApi": {
+                                        "url": "/ball/get/$id",
+                                        "method": "get"
+                                    }
+                                }
+                            ],
+                            "id": "u:50cf027d8c62"
+                        },
+                        {
+                            "title": "步骤说明",
+                            "body": [
+                                {
+                                    "type": "form",
+                                    "id": "u:bd64f7f5f000",
+                                    "title": "",
+                                    "mode": "horizontal",
+                                    "dsType": "api",
+                                    "feat": "Insert",
+                                    "body": [
+                                        {
+                                            "type": "input-text",
+                                            "label": "文本",
+                                            "name": "id",
+                                            "id": "u:4c0a1ededc47",
+                                            "value": "100",
+                                            "hidden": true
+                                        },
+                                        {
+                                            "type": "input-rich-text",
+                                            "label": "富文本",
+                                            "name": "rich-text",
+                                            "vendor": "tinymce",
+                                            "id": "u:e67366a6ef31",
+                                            "options": {
+                                                "plugins": "advlist,autolink,link,image,lists,charmap,preview,anchor,pagebreak,searchreplace,wordcount,visualblocks,visualchars,code,fullscreen,insertdatetime,media,nonbreaking,table,emoticons,template,help",
+                                                "toolbar": "undo redo formatselect bold italic backcolor alignleft aligncenter alignright alignjustify bullist numlist outdent indent removeformat help",
+                                                "menubar": true
+                                            },
+                                            "mode": "normal"
+                                        }
+                                    ],
+                                    "actions": [
+                                        {
+                                            "type": "button",
+                                            "label": "关闭",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "custom",
+                                                            "args": {
+                                                            },
+                                                            "script": "parent.layer.close(window.parent.TStudent.layerIndex);"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "id": "u:6c0b8f917bf7"
+                                        },
+                                        {
+                                            "type": "button",
+                                            "label": "提交",
+                                            "onEvent": {
+                                                "click": {
+                                                    "actions": [
+                                                        {
+                                                            "actionType": "submit",
+                                                            "componentId": "u:bd64f7f5f000",
+                                                            "outputVar": "submitResult"
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "level": "primary",
+                                            "id": "u:c0684967ad04"
+                                        }
+                                    ],
+                                    "resetAfterSubmit": false,
+                                    "api": {
+                                        "url": "/ball/addjs",
+                                        "method": "post",
+                                        "requestAdaptor": "",
+                                        "adaptor": "",
+                                        "messages": {
+                                        }
+                                    },
+                                    "initApi": {
+                                        "url": "/ball/get/$id",
+                                        "method": "get"
+                                    }
+                                }
+                            ],
+                            "id": "u:254c9cdf53c1"
+                        }
+                    ],
+                    "id": "u:56160148e468",
+                    "toolbar": [
+                    ]
+                }
+            ],
+            "id": "u:899c8b49ca64"
+        };
+
+        let amisScoped = amis.embed('#root', amisJSON);
+
+
+    })();
+
+    function test(){
+        console.log("测试成功")
+    }
+
+    var myButton = document.getElementById("ttt");
+    myButton.addEventListener("click",test);
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/paike.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/paike.html
new file mode 100644
index 0000000..0be472f
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/paike.html
@@ -0,0 +1,410 @@
+<!DOCTYPE html>
+<html lang="zh">
+<head>
+  <meta charset="UTF-8" />
+  <title>amis demo</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <meta
+          name="viewport"
+          content="width=device-width, initial-scale=1, maximum-scale=1"
+  />
+  <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+  <link rel="stylesheet" href="${ctxPath}/sdk/sdk.css" />
+  <link rel="stylesheet" href="${ctxPath}/sdk/helper.css" />
+  <link rel="stylesheet" href="${ctxPath}/sdk/iconfont.css" />
+  <!-- 这是默认主题所需的,如果是其他主题则不需要 -->
+  <!-- 从 1.1.0 开始 sdk.css 将不支持 IE 11,如果要支持 IE11 请引用这个 css,并把前面那个删了 -->
+  <!-- <link rel="stylesheet" href="sdk-ie11.css" /> -->
+  <!-- 不过 amis 开发团队几乎没测试过 IE 11 下的效果,所以可能有细节功能用不了,如果发现请报 issue -->
+  <style>
+    html,
+    body,
+    .app-wrapper {
+      position: relative;
+      width: 100%;
+      height: 100%;
+      margin: 0;
+      padding: 0;
+    }
+  </style>
+</head>
+<body>
+<div id="root" class="app-wrapper"></div>
+<script src="${ctxPath}/sdk/sdk.js"></script>
+<script type="text/javascript">
+  (function () {
+    let amis = amisRequire('amis/embed');
+    // 通过替换下面这个配置来生成不同页面
+    let amisJSON = {
+      "type": "page",
+      "title": "",
+      "regions": [
+        "body",
+        "toolbar",
+        "header"
+      ],
+      "body": [
+        {
+          "type": "tabs",
+          "tabs": [
+            {
+              "title": "按学员查看",
+              "body": [
+                {
+                  "type": "crud",
+                  "syncLocation": false,
+                  "api": {
+                    "method": "post",
+                    "url": "/ball/getStudentTotal",
+                    "messages": {
+                    }
+                  },
+                  "columns": [
+                    {
+                      "name": "studentName",
+                      "label": "学院姓名",
+                      "type": "text",
+                      "id": "u:631a38f8ab8f"
+                    },
+                    {
+                      "name": "province",
+                      "label": "所在省",
+                      "type": "text",
+                      "id": "u:d1c9f94c453a"
+                    },
+                    {
+                      "label": "所在市",
+                      "type": "text",
+                      "name": "city",
+                      "id": "u:71aded278293"
+                    },
+                    {
+                      "label": "课包名称",
+                      "type": "text",
+                      "name": "courseName",
+                      "id": "u:22cab5368b85",
+                      "classNameExpr": "<%= data.courseName === '总计' ? 'bg-danger' : '' %>"
+                    },
+                    {
+                      "label": "应上课时数",
+                      "type": "text",
+                      "name": "totalClassHours",
+                      "id": "u:9f3c838b4dce",
+                      "placeholder": "-",
+                      "classNameExpr": "<%= data.courseName === '总计' ? 'bg-danger' : '' %>"
+                    },
+                    {
+                      "type": "text",
+                      "name": "cashPayment",
+                      "label": "应收总收益",
+                      "id": "u:ad526537117c",
+                      "classNameExpr": "<%= data.courseName === '总计' ? 'bg-danger' : '' %>"
+                    },
+                    {
+                      "label": "实上课时数",
+                      "type": "text",
+                      "name": "hasHours",
+                      "id": "u:14eb3c5fac85",
+                      "classNameExpr": "<%= data.courseName === '总计' ? 'bg-danger' : '' %>"
+                    },
+                    {
+                      "label": "实际总收益",
+                      "type": "text",
+                      "name": "hasPayment",
+                      "id": "u:6c0e4a862b04",
+                      "placeholder": "-",
+                      "format": "YYYY-MM-DD",
+                      "classNameExpr": "<%= data.courseName === '总计' ? 'bg-danger' : '' %>"
+                    }
+                  ],
+                  "bulkActions": [
+                  ],
+                  "itemActions": [
+                  ],
+                  "id": "u:e103c7434df8",
+                  "filterSettingSource": [
+                    "id",
+                    "customerName",
+                    "simName",
+                    "address",
+                    "industryId",
+                    "email",
+                    "createBy",
+                    "updateBy",
+                    "remark",
+                    "customerCode"
+                  ],
+                  "features": [
+                    "create",
+                    "filter",
+                    "bulkDelete",
+                    "view",
+                    "delete",
+                    "update",
+                    "bulkUpdate"
+                  ],
+                  "filterColumnCount": 3,
+                  "filterEnabledList": [
+                  ],
+                  "headerToolbar": [
+                    "bulkActions"
+                  ],
+                  "filter": {
+                    "title": "查询条件",
+                    "columnCount": 3,
+                    "mode": "horizontal",
+                    "body": [
+                      {
+                        "type": "input-city",
+                        "label": "城市选择",
+                        "name": "cityCode",
+                        "allowDistrict": false,
+                        "id": "u:16db9fd9fe42",
+                        "mode": "horizontal",
+                        "horizontal": {
+                          "left": 3,
+                          "right": 9
+                        },
+                        "className": ""
+                      },
+                      // {
+                      //   "type": "select",
+                      //   "label": "客户简称",
+                      //   "name": "simName",
+                      //   "id": "u:1942896a0f61",
+                      //   "multiple": false,
+                      //   "source": {
+                      //     "url": "/api/v1/rep/cus/getselect",
+                      //     "method": "get",
+                      //     "messages": {
+                      //     }
+                      //   },
+                      //   "labelField": "simName",
+                      //   "valueField": "simName",
+                      //   "searchable": true
+                      // },
+                      {
+                        "type": "input-date-range",
+                        "label": "日期范围",
+                        "name": "times",
+                        "id": "u:5ea0ab341c9e",
+                        "embed": false,
+                        "format": "YYYY-MM-DD",
+                        "inputFormat": "YYYY-MM-DD"
+                      },
+                      {
+                        "type": "input-text",
+                        "label": "学员姓名",
+                        "name": "studentName",
+                        "id": "u:528726820775"
+                      }
+                    ],
+                    "id": "u:2c92f31a25d0",
+                    "name": "select1",
+                    "rules": [
+                    ]
+                  },
+                  "perPageAvailable": [
+                    10,
+                    20,
+                    50,
+                    100
+                  ],
+                  "messages": {
+                  },
+                  "footerToolbar": [
+                    {
+                      "type": "statistics",
+                      "align": "left"
+                    },
+                    {
+                      "type": "pagination",
+                      "align": "left"
+                    },
+                    {
+                      "type": "switch-per-page",
+                      "tpl": "内容",
+                      "align": "left"
+                    }
+                  ],
+                  "columnsTogglable": "auto",
+                  "pageField": "",
+                  "perPageField": "",
+                  "alwaysShowPagination": true,
+                  "loadDataOnce": true,
+                  "perPage": 5,
+                  "combineNum": 3
+                }
+              ],
+              "id": "u:6e437c3e244f"
+            },
+            {
+              "title": "按课包查看",
+              "body": [
+                {
+                  "type": "crud",
+                  "syncLocation": false,
+                  "api": {
+                    "method": "post",
+                    "url": "/ball/bypac",
+                    "messages": {
+                    }
+                  },
+                  "columns": [
+                    {
+                      "name": "name",
+                      "label": "课包名称",
+                      "type": "text",
+                      "id": "u:ee84f6f80722"
+                    },
+                    {
+                      "name": "province",
+                      "label": "所在省",
+                      "type": "text",
+                      "id": "u:d35930e735a8"
+                    },
+                    {
+                      "type": "text",
+                      "label": "所在市",
+                      "name": "city",
+                      "id": "u:d74f9dcfdb4e"
+                    },
+                    {
+                      "type": "text",
+                      "label": "所属门店",
+                      "name": "store",
+                      "id": "u:6fb45db2b3ef"
+                    },
+                    {
+                      "type": "text",
+                      "label": "应上课时数",
+                      "name": "totalClassHours",
+                      "id": "u:5c82dde5c22d"
+                    },
+                    {
+                      "type": "text",
+                      "label": "应收总收益",
+                      "name": "cashPayment",
+                      "id": "u:b915f72e72b0"
+                    },
+                    {
+                      "type": "text",
+                      "label": "实上课时数",
+                      "name": "hasHours",
+                      "id": "u:2fb55efdecab"
+                    },
+                    {
+                      "type": "text",
+                      "label": "实收总收益",
+                      "name": "lavePay",
+                      "id": "u:c46b9aeca543"
+                    },
+                    {
+                      "type": "operation",
+                      "label": "操作",
+                      "buttons": [
+                      ],
+                      "id": "u:0c6ed863e6a8"
+                    }
+                  ],
+                  "bulkActions": [
+                  ],
+                  "itemActions": [
+                  ],
+                  "id": "u:c765ccbe1f1a",
+                  "features": [
+                    "filter"
+                  ],
+                  "filterColumnCount": 3,
+                  "filter": {
+                    "title": "查询条件",
+                    "columnCount": 3,
+                    "mode": "horizontal",
+                    "body": [
+                      {
+                        "type": "input-city",
+                        "label": "城市选择",
+                        "name": "cityCode",
+                        "allowDistrict": false,
+                        "id": "u:16db9fd9fe42",
+                        "mode": "horizontal",
+                        "horizontal": {
+                          "left": 3,
+                          "right": 9
+                        },
+                        "className": ""
+                      },
+                      // {
+                      //   "type": "select",
+                      //   "label": "客户简称",
+                      //   "name": "simName",
+                      //   "id": "u:1942896a0f61",
+                      //   "multiple": false,
+                      //   "source": {
+                      //     "url": "/api/v1/rep/cus/getselect",
+                      //     "method": "get",
+                      //     "messages": {
+                      //     }
+                      //   },
+                      //   "labelField": "simName",
+                      //   "valueField": "simName",
+                      //   "searchable": true
+                      // },
+                      {
+                        "type": "input-text",
+                        "label": "所属门店",
+                        "name": "store",
+                        "id": "u:528726820775"
+                      },
+                      {
+                        "type": "input-text",
+                        "label": "课包名称",
+                        "name": "name",
+                        "id": "u:3bce46aeafeb"
+                      },
+                      {
+                        "type": "input-date-range",
+                        "label": "日期范围",
+                        "name": "times",
+                        "id": "u:5ea0ab341c9e",
+                        "embed": false,
+                        "format": "YYYY-MM-DD",
+                        "inputFormat": "YYYY-MM-DD"
+                      }
+                    ],
+                    "id": "u:2c92f31a25d0",
+                    "name": "select1",
+                    "rules": [
+                    ]
+                  },
+                  "perPageAvailable": [
+                    10
+                  ],
+                  "messages": {
+                  }
+                }
+              ],
+              "id": "u:74421661b6be"
+            }
+          ],
+          "id": "u:9687d5f89c52"
+        }
+      ],
+      "id": "u:b14a93e2aeb3"
+    };
+
+    let amisScoped = amis.embed('#root', amisJSON);
+
+
+  })();
+
+  function test(){
+    console.log("测试成功")
+  }
+
+  var myButton = document.getElementById("ttt");
+  myButton.addEventListener("click",test);
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue.html
new file mode 100644
index 0000000..0aafb2c
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue.html
@@ -0,0 +1,89 @@
+@layout("/common/_container.html"){
+<div class="row" id = "ttt">
+    <div class="col-sm-12">
+        <div class="ibox float-e-margins">
+            <div class="ibox-title">
+                <h5>管理</h5>
+            </div>
+            <div class="ibox-content">
+                <div class="row row-lg">
+                    <div class="col-sm-12">
+                        <div class="row">
+                            @if(role=='1'){
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <div class="input-group-btn open">
+                                        <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true">
+                                            所在省
+                                        </button>
+                                    </div>
+                                    <select class="form-control" id="pCode" onchange="TCompetition.oneChange(this)">
+                                        <option value="">全部</option>
+                                        @for(obj in list){
+                                        <option value="${obj.code}">${obj.name}</option>
+                                        @}
+                                    </select>
+                                </div>
+                            </div>
+                            @}
+                            @if(role=='1'){
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <div class="input-group-btn open">
+                                        <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true">
+                                            所在市
+                                        </button>
+                                    </div>
+                                    <select class="form-control" id="cCode">
+                                    </select>
+                                </div>
+                            </div>
+                            @}
+
+                            <div class="col-sm-3">
+                                <#NameCon id="store" name="门店名称" />
+                            </div>
+                            <div class="col-sm-3">
+                                <#NameCon id="peopleName" name="预约人" />
+                            </div>
+                            <div class="col-sm-3">
+                                <#NameCon id="phone" name="联系方式" />
+                            </div>
+
+                            <div class="col-sm-3">
+                                <#TimeCon id="date" name="报名时间" isTime="false"/>
+                            </div>
+
+                            <div class="col-sm-3">
+                                <#button name="搜索" icon="fa-search" clickFun="TStudent.search()"/>
+                            </div>
+                        </div>
+                        <div class="hidden-xs" id="TStudentTableToolbar" role="group">
+                                <#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.openTStudentDetail1()" space="true"/>
+
+                            @if(shiro.hasPermission("/tStudent/delete")){
+                                <#button name="删除" icon="fa-remove" clickFun="TStudent.delete()" space="true"/>
+                            @}
+<!--                            <button id="exportButton">TTTTTTTTTT</button>-->
+                        </div>
+                        <#table id="TStudentTable"/>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="${ctxPath}/modular/system/ball/yuyue.js"></script>
+<script src="${ctxPath}/modular/system/tShop/tShop.js"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.4.0/jspdf.umd.min.js">
+</script>
+<script>
+    laydate.render({
+        elem: '#date'
+        ,lang:"CN"
+    });
+</script>
+@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_add.html
new file mode 100644
index 0000000..d64fa91
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_add.html
@@ -0,0 +1,286 @@
+@layout("/common/_container.html"){
+<style>
+    .green-button {
+        background-color: green;
+    }
+</style>
+<div class="ibox float-e-margins">
+    <div class="ibox-content">
+        <div class="form-horizontal">
+            <div class="row">
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">*所在省:</label>
+                    <div class="col-sm-4">
+                        <select class="form-control" id="provinceCode" name="provinceCode">
+                            @for(obj in province){
+                            <option value="${obj.code}">${obj.name}</option>
+                            @}
+                        </select>
+                    </div>
+                </div>
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">*所在市:</label>
+                    <div class="col-sm-4">
+                        <select class="form-control" id="cityCode" name="cityCode">
+                            @for(obj in city){
+                            <option value="${obj.code}">${obj.name}</option>
+                            @}
+                        </select>
+                    </div>
+                </div>
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">*所属门店:</label>
+                    <div class="col-sm-4">
+                        <select class="form-control" id="storeId" name="storeId">
+                            @for(obj in store){
+                            <option value="${obj.id}">${obj.name}</option>
+                            @}
+                        </select>
+                    </div>
+                </div>
+
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">*预约类型:</label>
+                    <div class="col-sm-4">
+                       <input type="radio" name="type" value="1"  checked="" onclick="updateType(1)"  > 全场
+                        <input type="radio" name="type" value="2" onclick="updateType(2)" > 半场
+                    </div>
+                </div>
+
+
+
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">*上课场地:</label>
+                    <div class="col-sm-4">
+                        <select class="form-control" id="siteId" name="siteId"  onchange="CoursePackageInfo.addTime(this.value)">
+                            <option >请选择场地</option>
+
+
+                            @for(obj in site){
+                            <option value="${obj.id}"  data-custom-data="1">${obj.name}</option>
+                            @}
+                        </select>
+                    </div>
+                </div>
+
+
+                <div class="form-group"  id="half1"  hidden="hidden">
+                    <label class="col-sm-3 control-label">*选择半场:</label>
+                    <div class="col-sm-4">
+                        <select class="form-control"  name="half" id="half">
+
+                        </select>
+                    </div>
+                </div>
+
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">预约时间:</label>
+                    <div class="col-sm-4">
+                        <input class="form-control" id="time" name="time" type="text" >
+
+                    </div>
+                </div>
+
+
+
+
+
+
+
+
+
+
+
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">*预约时间段:</label>
+                    <div class="col-sm-5" id="ttt1">
+                        <div class="layui-btn-group" id="ttt2">
+                        </div>
+
+                    </div>
+                </div>
+
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">现金价格:</label>
+                    <div class="col-sm-4">
+                        <input class="form-control" id="cash" name="cash" type="text" >
+
+                    </div>
+                </div>
+
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">玩派币价格:</label>
+                    <div class="col-sm-4">
+                        <input class="form-control" id="play" name="play" type="text" >
+
+                    </div>
+                </div>
+
+
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">预约人:</label>
+                    <div class="col-sm-4">
+                        <input class="form-control" id="booker" name="booker" type="text" >
+
+                    </div>
+                </div>
+
+
+
+
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">预约人:</label>
+                    <div class="col-sm-4">
+                        <input class="form-control" id="phone" name="phone" type="text" >
+
+                    </div>
+                </div>
+<!--                <input type="text" id = "counpons">-->
+            </div>
+            <div class="row btn-group-m-t">
+                <div class="col-sm-10">
+                    <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="CoursePackageInfo.addSubmit()"/>
+                    <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="CoursePackageInfo.close()"/>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="${ctxPath}/modular/system/ball/yuyue_info.js"></script>
+<script type="text/javascript">
+    function updateType(o) {
+        if(o==1){
+
+            var elements = document.getElementsByClassName("layui-btn layui-btn-primary green-button");
+            var count = elements.length;
+
+            console.log("Number of elements: " + count);
+
+            $("#half1").hide()
+            var radios = document.getElementsByName("type");
+            var selectedValue;
+
+            for (var i = 0; i < radios.length; i++) {
+                if (radios[i].checked) {
+                    selectedValue = radios[i].value;
+                    break;
+                }
+            }
+
+            var ajax3 = new $ax(Feng.ctxPath + "/ball/getMoney/"+$('#siteId').val()+'/'+selectedValue, function(data){
+                console.log("===========3333====="+data)
+                if(data!=null){
+
+                    $("#cash").val(data[0] * count);
+                    $("#play").val(data[1] * count);
+
+                }
+            })
+            ajax3.start()
+        }else {
+            var elements = document.getElementsByClassName("layui-btn layui-btn-primary green-button");
+            var count = elements.length;
+
+            console.log("Number of elements: " + count);
+
+            $("#half1").show()
+            var radios = document.getElementsByName("type");
+            var selectedValue;
+
+            for (var i = 0; i < radios.length; i++) {
+                if (radios[i].checked) {
+                    selectedValue = radios[i].value;
+                    break;
+                }
+            }
+
+            var ajax3 = new $ax(Feng.ctxPath + "/ball/getMoney/"+$('#siteId').val()+'/'+selectedValue, function(data){
+                console.log("===========3333====="+data)
+                if(data!=null){
+
+                    $("#cash").val(data[0] * count);
+                    $("#play").val(data[1] * count);
+
+                }
+            })
+            ajax3.start()
+
+        }
+
+    }
+
+
+
+    function toggleColor(button) {
+        button.classList.toggle("green-button");
+
+        var elements = document.getElementsByClassName("layui-btn layui-btn-primary green-button");
+        var count = elements.length;
+
+        console.log("Number of elements: " + count);
+
+
+        var radios = document.getElementsByName("type");
+        var selectedValue;
+
+        for (var i = 0; i < radios.length; i++) {
+            if (radios[i].checked) {
+                selectedValue = radios[i].value;
+                break;
+            }
+        }
+
+        var ajax3 = new $ax(Feng.ctxPath + "/ball/getMoney/"+$('#siteId').val()+'/'+selectedValue, function(data){
+            console.log("===========3333====="+data)
+            if(data!=null){
+
+                $("#cash").val(data[0] * count);
+                $("#play").val(data[1] * count);
+
+            }
+        })
+        ajax3.start()
+
+
+    }
+
+    laydate.render({
+        elem: '#time'
+        ,lang:"CN",
+        min:0,
+        max:10
+    });
+
+    laydate.render({
+        elem: '#holitime'
+        ,range: true //或 range: '~' 来自定义分割字符
+    });
+
+    var avatarUp = new $WebUpload("coverDrawing");
+    avatarUp.setUploadBarId("progressBar");
+    avatarUp.init();
+
+    var avatarUp1 = new $WebUpload("detailDrawing");
+    avatarUp1.setUploadBarId("progressBar");
+    avatarUp1.init();
+
+    var avatarUp1 = new $WebUpload("introduceDrawing");
+    avatarUp1.setUploadBarId("progressBar");
+    avatarUp1.init();
+    function addTime(){
+        var i =  $('#dayTime > div').length
+
+        let htmlStr ='           <div style="display:flex">\n' +
+            '                                <input class="form-control" id="classStartTime'+i+'" name="classStartTime" placeholder="请选择" style="width: 200px;">\n' +
+            '                                <i class="fa fa-trash-o" style="font-size:24px" onclick="removePrice1(this)"></i>\n' +
+            '                            </div>'
+        $('#dayTime').append(htmlStr);
+        console.log("========="+i)
+        laydate.render({
+            elem: '#classStartTime'+i,
+            type: 'time',
+            range: true
+        });
+    }
+</script>
+@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html
index 1adda3f..dec58f2 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html
@@ -28,7 +28,7 @@
             <div class="form-group" id="shop">
                 <label class="col-sm-3 control-label">举办门店:</label>
                 <div class="col-sm-9">
-                    <select class="form-control" id="shopId" name="shopId">
+                    <select class="form-control" id="shopId" name="shopId" multiple>
                         <option value="">选择门店</option>
                     </select>
                 </div>
@@ -132,8 +132,16 @@
     </div>
 </div>
 <script src="${ctxPath}/modular/system/tCompetition/tCompetition_info.js"></script>
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css">
+<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>-->
+<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js"></script>
 <script>
-
+    $(document).ready(function() {
+        $('#shopId').select2({
+            multiple: true,
+            closeOnSelect: false
+        });
+    });
 
     laydate.render({
         elem: '#startTime'
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/ball/ball.js b/cloud-server-management/src/main/webapp/static/modular/system/ball/ball.js
index b9aa25e..b8d838d 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/ball/ball.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/ball/ball.js
@@ -69,7 +69,7 @@
             area: ['100%', '100%'],  //宽高
             fix: false, //不固定
             maxmin: true,
-            content: Feng.ctxPath + '/tStudent/tStudent_update/' + TStudent.seItem.id
+            content: Feng.ctxPath + '/ball/pre_edit/' + TStudent.seItem.id
         });
         this.layerIndex = index;
     }
@@ -80,17 +80,16 @@
  * 打开详情
  */
 TStudent.openTStudentDetail1 = function () {
-    if (this.check()) {
         var index = layer.open({
             type: 2,
             title: '详情',
             area: ['100%', '100%'],  //宽高
             fix: false, //不固定
             maxmin: true,
-            content: Feng.ctxPath + '/tStudent/tStudent_info/' + TStudent.seItem.id
+            content: Feng.ctxPath + '/ball/jieshao'
         });
         this.layerIndex = index;
-    }
+
 };
 
 
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/ball/ball_info.js b/cloud-server-management/src/main/webapp/static/modular/system/ball/ball_info.js
index abd40bf..c1fd424 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/ball/ball_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/ball/ball_info.js
@@ -3,6 +3,7 @@
  */
 var CoursePackageInfo = {
     userInfoData: {},
+
 };
 
 
@@ -15,6 +16,7 @@
 };
 
 
+
 CoursePackageInfo.openDia = function (i) {
 
         let index = layer.open({
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js b/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js
new file mode 100644
index 0000000..6f0c86f
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js
@@ -0,0 +1,135 @@
+/**
+ * 管理初始化
+ */
+var TStudent = {
+    id: "TStudentTable",	//表格id
+    seItem: null,		//选中的条目
+    table: null,
+    layerIndex: -1
+};
+
+/**
+ * 初始化表格的列
+ */
+TStudent.initColumn = function () {
+    return [
+        {field: 'selectItem', radio: true},
+            {title: '主键', field: 'id', visible: false, align: 'center', valign: 'middle'},
+            {title: '所在省', field: 'operation', visible: true, align: 'center', valign: 'middle'},
+            {title: '所在市', field: 'province', visible: true, align: 'center', valign: 'middle'},
+            {title: '预约门店', field: 'city', visible: true, align: 'center', valign: 'middle'},
+        { title: '预约场地', field: 'store', visible: true, align: 'center', valign: 'middle'},
+        { title: '姓名', field: 'site', visible: true, align: 'center', valign: 'middle'},
+        { title: '联系电话', field: 'blue', visible: true, align: 'center', valign: 'middle'},
+        { title: '预约时间段', field: 'red', visible: true, align: 'center', valign: 'middle'},
+        { title: '支付方式', field: 'red', visible: true, align: 'center', valign: 'middle'}
+
+
+    ];
+};
+
+/**
+ * 检查是否选中
+ */
+TStudent.check = function () {
+    var selected = $('#' + this.id).bootstrapTable('getSelections');
+    if(selected.length == 0){
+        Feng.info("请先选中表格中的某一记录!");
+        return false;
+    }else{
+        TStudent.seItem = selected[0];
+        return true;
+    }
+};
+
+/**
+ * 点击添加
+ */
+TStudent.openAddTStudent = function () {
+    var index = layer.open({
+        type: 2,
+        title: '添加',
+        area: ['100%', '100%'], //宽高
+        fix: false, //不固定
+        maxmin: true,
+        content: Feng.ctxPath + '/ball/yuyue_add'
+    });
+    this.layerIndex = index;
+};
+
+/**
+ * 打开修改
+ */
+TStudent.openTStudentDetail = function () {
+    if (this.check()) {
+        var index = layer.open({
+            type: 2,
+            title: '详情',
+            area: ['100%', '100%'],  //宽高
+            fix: false, //不固定
+            maxmin: true,
+            content: Feng.ctxPath + '/ball/pre_edit/' + TStudent.seItem.id
+        });
+        this.layerIndex = index;
+    }
+};
+
+
+/**
+ * 打开详情
+ */
+TStudent.openTStudentDetail1 = function () {
+    if (this.check()) {
+        var index = layer.open({
+            type: 2,
+            title: '详情',
+            area: ['100%', '100%'],  //宽高
+            fix: false, //不固定
+            maxmin: true,
+            content: Feng.ctxPath + '/tStudent/tStudent_info/' + TStudent.seItem.id
+        });
+        this.layerIndex = index;
+    }
+};
+
+
+
+/**
+ * 删除
+ */
+TStudent.delete = function () {
+    if (this.check()) {
+        var ajax = new $ax(Feng.ctxPath + "/tStudent/delete", function (data) {
+            Feng.success("删除成功!");
+            TStudent.table.refresh();
+        }, function (data) {
+            Feng.error("删除失败!" + data.responseJSON.message + "!");
+        });
+        ajax.set("tStudentId",this.seItem.id);
+        ajax.start();
+    }
+};
+
+/**
+ * 查询列表
+ */
+TStudent.search = function () {
+    var queryData = {};
+    queryData['provinceCode'] = $("#pCode").val();
+    queryData['cityCode'] = $("#cCode").val();
+    queryData['store'] = $("#store").val();
+    queryData['peopleName'] = $("#peopleName").val();
+    queryData['phone'] = $("#phone").val();
+    queryData['date'] = $("#peopleName").val();
+
+
+
+    TStudent.table.refresh({query: queryData});
+};
+
+$(function () {
+    var defaultColunms = TStudent.initColumn();
+    var table = new BSTable(TStudent.id, "/ball/yuyuelist", defaultColunms);
+    table.setPaginationType("client");
+    TStudent.table = table.init();
+});
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js b/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js
new file mode 100644
index 0000000..58fc38e
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js
@@ -0,0 +1,532 @@
+/**
+ * 用户详情对话框(可用于添加和修改对话框)
+ */
+var CoursePackageInfo = {
+    userInfoData: {},
+};
+
+
+
+/**
+ * 关闭此对话框
+ */
+CoursePackageInfo.close = function () {
+    parent.layer.close(window.parent.CoursePackage.layerIndex);
+};
+
+
+CoursePackageInfo.openDia = function (i) {
+
+        let index = layer.open({
+            type: 2,
+            title: '编辑',
+            area: ['80%', '80%'], //宽高
+            fix: false, //不固定
+            maxmin: true,
+            content: Feng.ctxPath + '/coursePackage/conpun/'+i
+        });
+        this.layerIndex = index;
+};
+
+CoursePackageInfo.openDia1 = function (i) {
+    var ids = $("#counpons"+i).val()
+
+        console.log($("#counpons"+i).val())
+    let index = layer.open({
+        type: 2,
+        title: '编辑',
+        area: ['80%', '80%'], //宽高
+        fix: false, //不固定
+        maxmin: true,
+        content: Feng.ctxPath + '/coursePackage/conpun1'+'/'+i+'?conpunids='+ids
+    });
+    this.layerIndex = index;
+};
+
+
+CoursePackageInfo.addTime = function (a) {
+    console.log("==========="+a)
+    var ajax = new $ax(Feng.ctxPath + "/ball/yuyuetimes/"+ $('#siteId').val(), function(data){
+        console.log("================"+data)
+        if(data!=null){
+            var content='';
+            $.each(data, function(k, v) {
+                var buttonClass = "layui-btn layui-btn-primary";
+                var style = "";
+                if (v.state === 0) {
+                    style = "background-color: red;";
+                }
+                var disabledAttribute = v.state === 0 ? "disabled" : "";
+                content += '<button type="button" class="' + buttonClass + '" ' + disabledAttribute + ' style="' + style + '" onclick="toggleColor(this)">' + v.time + '</button>';
+            });
+            $("#ttt2").empty().append(content);
+        }
+    })
+    ajax.start()
+
+    var ajax1 = new $ax(Feng.ctxPath + "/ball/halfName/"+ $('#siteId').val(), function(data){
+        console.log("================"+data)
+        if(data!=null){
+            let htmlStr = '';
+            for (let i = 0; i < data.length; i++) {
+                htmlStr += '<option value="' + data[i] + '">' + data[i] + '</option>'
+            }
+            $("#half").empty().append(htmlStr);
+        }
+    })
+    ajax1.start()
+
+
+
+
+
+};
+
+/**
+ * 提交添加用户
+ */
+CoursePackageInfo.addSubmit = function () {
+    let province = $('#provinceCode option:checked').text();
+    let provinceCode = $('#provinceCode').val();
+    let city = $('#cityCode option:checked').text();
+    let cityCode = $('#cityCode').val();
+    let storeId = $('#storeId').val();
+    let siteId = $('#siteId').val();
+    let site = $('#siteId option:checked').text();
+
+
+    let type = $('#type').val();
+    let half = $('#half').val();
+    let date = $('#time').val();
+
+
+    var elements = document.getElementsByClassName("layui-btn layui-btn-primary green-button");
+    var values = "";
+
+    for (var i = 0; i < elements.length; i++) {
+        values += elements[i].innerText + ",";
+    }
+
+// 去除最后一个逗号
+    values = values.slice(0, -1);
+
+    console.log(values);
+
+    var times = values;
+
+    let cash = $('#cash').val();
+    let play = $('#play').val();
+    let booker = $('#booker').val();
+    let phone = $('#phone').val();
+
+    // if(null == provinceCode || '' == provinceCode){
+    //     Feng.error("所在省不能为空");
+    //     return
+    // }
+    // if(null == cityCode || '' == cityCode){
+    //     Feng.error("所在市不能为空");
+    //     return
+    // }
+    // if(null == storeId || '' == storeId){
+    //     Feng.error("所属门店不能为空");
+    //     return
+    // }
+    // if(null == coursePackageTypeId || '' == coursePackageTypeId){
+    //     Feng.error("课程类型不能为空");
+    //     return
+    // }
+    // if(null == name || '' == name){
+    //     Feng.error("课包名称不能为空");
+    //     return
+    // }
+    // if(null == siteId || '' == siteId){
+    //     Feng.error("上课场地不能为空");
+    //     return
+    // }
+    // if(null == coachId || '' == coachId){
+    //     Feng.error("授课教师不能为空");
+    //     return
+    // }
+    //
+    // classWeeks = classWeeks.substring(0, classWeeks.length - 1);
+    //
+    // if(null == coverDrawing || '' == coverDrawing){
+    //     Feng.error("课包封面不能为空");
+    //     return
+    // }
+    // if(null == detailDrawing || '' == detailDrawing){
+    //     Feng.error("详情页不能为空");
+    //     return
+    // }
+    // if(null == introduceDrawing || '' == introduceDrawing){
+    //     Feng.error("课包介绍不能为空");
+    //     return
+    // }
+
+
+    //提交信息
+    var ajax = new $ax(Feng.ctxPath + "/ball/ordersave", function (data) {
+        if(data.code == 200){
+            Feng.success("添加成功!");
+            CoursePackageInfo.close();
+            window.parent.CoursePackage.table.refresh();
+        }else{
+            Feng.error(data.msg);
+        }
+    }, function (data) {
+        Feng.error("添加失败!" + data.responseJSON.message + "!");
+    });
+    ajax.set("province",province)
+    ajax.set("provinceCode",provinceCode);
+    ajax.set("city",city);
+    ajax.set("cityCode",cityCode);
+    ajax.set("storeId",storeId);
+    ajax.set("isHalf",type);
+    ajax.set("siteId",siteId);
+    ajax.set("nextName",site);
+    ajax.set("halfName",half);
+    ajax.set("date",date);
+    ajax.set("times",times);
+    ajax.set("money",cash+","+play);
+    ajax.set("booker",booker);
+    ajax.set("phone",phone);
+
+    ajax.start();
+};
+
+/**
+ * 提交修改
+ */
+CoursePackageInfo.editSubmit = function () {
+    let id = $('#id').val();
+    let province = $('#provinceCode option:checked').text();
+    let provinceCode = $('#provinceCode').val();
+    let city = $('#cityCode option:checked').text();
+    let cityCode = $('#cityCode').val();
+    let storeId = $('#storeId').val();
+    let coursePackageTypeId = $('#coursePackageTypeId').val();
+    let name = $('#name').val();
+    let siteId = $('#siteId').val();
+    let coachId = $('#coachId').val();
+    let maxSubscribeNumber = $('#maxSubscribeNumber').val();
+    let codeTime = $('#codeTime').val();
+    let type = $('#type').val();
+
+    let holitime = $('#holitime').val();
+
+    var inputElements = document.querySelectorAll('input[name="classStartTime"]');
+    let classStartTime =  JSON.stringify(Array.from(inputElements).map(function(element) {
+        return element.value;
+    }))
+
+    // let classStartTime = $('#classStartTime').val();
+    let classWeeks = '';
+    $('input[name="classWeeks"]:checked').each(function (index, e) {
+        classWeeks += $(e).val() + ";";
+    })
+    let coverDrawing = $('#coverDrawing').val();
+    let detailDrawing = $('#detailDrawing').val();
+    let introduceDrawing = $('#introduceDrawing').val();
+    let sort = $('#sort').val();
+    let validDays = $('#validDays').val();
+    // let counpons = $($(e).find(".counpons")).val();
+
+    let price = [];
+    $('#price>.form-group').each(function (i, e) {
+        let classHours = $($(e).find(".classNumber_span input[class='classNumber']")[0]).val();
+        let cash = $($(e).find(".cash_span input[class='cash']")[0]).val();
+        let paiCoin = $($(e).find(".paiCoin_span input[class='paiCoin']")[0]).val();
+        let counpons = $($(e).find(".counpons")).val();
+
+        price.push({
+            classHours: classHours,
+            cashPayment: typeof cash == "undefined" ? 0 : cash,
+            playPaiCoin: typeof paiCoin == "undefined" ? 0 : paiCoin,
+            couponIds: typeof counpons == "undefined" ? 0 : counpons
+
+        })
+    });
+    if(null == provinceCode || '' == provinceCode){
+        Feng.error("所在省不能为空");
+        return
+    }
+    if(null == cityCode || '' == cityCode){
+        Feng.error("所在市不能为空");
+        return
+    }
+    if(null == storeId || '' == storeId){
+        Feng.error("所属门店不能为空");
+        return
+    }
+    if(null == coursePackageTypeId || '' == coursePackageTypeId){
+        Feng.error("课程类型不能为空");
+        return
+    }
+    if(null == name || '' == name){
+        Feng.error("课包名称不能为空");
+        return
+    }
+    if(null == siteId || '' == siteId){
+        Feng.error("上课场地不能为空");
+        return
+    }
+    if(null == coachId || '' == coachId){
+        Feng.error("授课教师不能为空");
+        return
+    }
+    // if(null == maxSubscribeNumber || '' == maxSubscribeNumber){
+    //     Feng.error("最多预约人数不能为空");
+    //     return
+    // }
+    // if(null == codeTime || '' == codeTime){
+    //     Feng.error("扣除课时不能为空");
+    //     return
+    // }
+    // if(null == classStartTime || '' == classStartTime){
+    //     Feng.error("上课时间不能为空");
+    //     return
+    // }
+    // if(null == classWeeks || '' == classWeeks){
+    //     Feng.error("周不能为空");
+    //     return
+    // }
+    classWeeks = classWeeks.substring(0, classWeeks.length - 1);
+
+    if(null == coverDrawing || '' == coverDrawing){
+        Feng.error("课包封面不能为空");
+        return
+    }
+    if(null == detailDrawing || '' == detailDrawing){
+        Feng.error("详情页不能为空");
+        return
+    }
+    if(null == introduceDrawing || '' == introduceDrawing){
+        Feng.error("课包介绍不能为空");
+        return
+    }
+    // if(null == validDays || '' == validDays){
+    //     Feng.error("课时有效期不能为空");
+    //     return
+    // }
+
+    let obj = {
+        id: id,
+        province: province,
+        provinceCode: provinceCode,
+        city: city,
+        cityCode: cityCode,
+        storeId: storeId,
+        coursePackageTypeId: coursePackageTypeId,
+        name: name,
+        siteId: siteId,
+        coachId: coachId,
+        maxSubscribeNumber: maxSubscribeNumber,
+        codeTime: codeTime,
+        type:type,
+        classStartTime: classStartTime,
+        // classEndTime: classStartTime.split(" - ")[1],
+        classWeeks: classWeeks,
+        coverDrawing: coverDrawing,
+        detailDrawing: detailDrawing,
+        introduceDrawing: introduceDrawing,
+        sort: sort,
+        validDays: validDays,
+        coursePackagePaymentConfig: JSON.stringify(price),
+        holitime:holitime
+    }
+
+    console.log("======="+obj)
+
+    //提交信息
+    var ajax = new $ax(Feng.ctxPath + "/coursePackage/updateCoursePackage", function (data) {
+        if(data.code == 200){
+            Feng.success("编辑成功!");
+            CoursePackageInfo.close();
+            window.parent.CoursePackage.table.refresh();
+        }else{
+            Feng.error(data.msg);
+        }
+    }, function (data) {
+        Feng.error("编辑失败!" + data.responseJSON.message + "!");
+    });
+    ajax.set(obj);
+    ajax.start();
+};
+
+
+
+
+function queryStore() {
+    let ajax = new $ax(Feng.ctxPath + "/coursePackage/queryStore", function (data) {
+        let htmlStr = '';
+        for (let i = 0; i < data.length; i++) {
+            htmlStr += '<option value="' + data[i].id + '">' + data[i].name + '</option>'
+        }
+        $('#storeId').html(htmlStr);
+
+        querySite();
+    }, function (data) {
+        Feng.error("获取失败!" + data.responseJSON.message + "!");
+    });
+    ajax.set("cityCode", $('#cityCode').val());
+    ajax.start();
+}
+
+
+
+function querySite(){
+    let ajax = new $ax(Feng.ctxPath + "/coursePackage/querySite", function (data) {
+        let htmlStr = '';
+        for (let i = 0; i < data.length; i++) {
+            htmlStr += '<option value="' + data[i].id + '">' + data[i].name + '</option>'
+        }
+        $('#siteId').html(htmlStr);
+    }, function (data) {
+        Feng.error("获取失败!" + data.responseJSON.message + "!");
+    });
+    ajax.set("storeId", $('#storeId').val());
+    ajax.start();
+}
+
+
+function queryCoach(){
+    let ajax = new $ax(Feng.ctxPath + "/coursePackage/queryCoach", function (data) {
+        let htmlStr = '';
+        for (let i = 0; i < data.length; i++) {
+            htmlStr += '<option value="' + data[i].id + '">' + data[i].name + '</option>'
+        }
+        $('#coachId').html(htmlStr);
+    }, function (data) {
+        Feng.error("获取失败!" + data.responseJSON.message + "!");
+    });
+    ajax.set("cityCode", $('#cityCode').val());
+    ajax.start();
+}
+
+
+function addPrice(y){
+    console.log("===="+y)
+    let cash = false;
+    let paiCoin = false;
+    $('input[name="payType"]:checked').each(function (index, e) {
+        let v = $(e).val();
+        if(v == 1){
+            cash = true;
+        }
+        if(v == 2){
+            paiCoin = true;
+        }
+    })
+    var i =  $('#price > div').length+1
+    let htmlStr = ''
+
+
+    if (y===1){
+
+        htmlStr +=   '<div class="form-group">\n' +
+            '                        <label class="col-sm-3 control-label">*课时数:</label>\n' +
+            '                        <div class="col-sm-8">\n' +
+            '                            <span class="classNumber_span"><input class="classNumber" type="number" 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">\n';
+
+    }
+    if (y===2){
+
+        htmlStr +=   '<div class="form-group">\n' +
+            '                        <label class="col-sm-3 control-label"></label>\n' +
+            '                        <div class="col-sm-8">\n' +
+            '                            <span class="classNumber_span" hidden="hidden"><input class="classNumber" type="number" 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">\n';
+
+    }
+        '<div class="form-group">\n' +
+        '                        <label class="col-sm-3 control-label">*课时数:</label>\n' +
+        '                        <div class="col-sm-8">\n' +
+        '                            <span class="classNumber_span"><input class="classNumber" type="number" 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">\n';
+        if(cash){
+            htmlStr += '现金支付:<input class="cash" type="number" 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;\n';
+        }
+        htmlStr += '</span> <span class="paiCoin_span">';
+        if(paiCoin){
+            htmlStr += '玩湃币支付:<input class="paiCoin" type="number" 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;\n';
+        }
+    htmlStr += '<button type="button" class="btn btn-info " onclick="CoursePackageInfo.openDia('+i+')" id="ensure">\n' +
+        '    <i class="fa fa-check"></i>&nbsp;优惠卷\n' +
+        '</button>';
+
+    htmlStr += '</span> <i class="fa fa-trash-o" style="font-size:24px" onclick="removePrice(this)"></i>\n' +
+        '</div>\n' +'<input type="text" hidden="hidden" class = "counpons" id = "counpons'+i+'" >'+i+
+        '</div>';
+    $('#price').append(htmlStr);
+}
+
+
+
+
+function removePrice(e){
+    $(e).parent('div').parent('div').remove();
+}
+
+function removePrice1(e){
+    $(e).parent('div').remove();
+}
+
+
+
+$(function () {
+    $('#provinceCode').change(function () {
+        let ajax = new $ax(Feng.ctxPath + "/coursePackage/queryCity", function (data) {
+            let htmlStr = '';
+            for (let i = 0; i < data.length; i++) {
+                htmlStr += '<option value="' + data[i].code + '">' + data[i].name + '</option>'
+            }
+            $('#cityCode').html(htmlStr);
+
+            queryStore();
+            queryCoach();
+        }, function (data) {
+            Feng.error("获取失败!" + data.responseJSON.message + "!");
+        });
+        ajax.set("code", $(this).val());
+        ajax.start();
+    })
+
+
+    $('#cityCode').change(function () {
+        queryStore();
+    })
+
+
+    $('#storeId').change(function () {
+        querySite();
+    })
+
+    $('input[name="payType"]').click(function () {
+        $('input[name="payType"]').each(function (index, e) {
+            let v = $(e).val();
+            if(v == 1) {
+                if (e.checked) {
+                    $('span[class="cash_span"]').each(function (index, e) {
+                        $(e).html('现金支付:<input class="cash" type="number" 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;');
+                    })
+                } else {
+                    $('span[class="cash_span"]').each(function (index, e) {
+                        $(e).html('');
+                    })
+                }
+            }
+
+            if(v == 2){
+                if (e.checked) {
+                    $('span[class="paiCoin_span"]').each(function (index, e) {
+                        $(e).html('玩湃币支付:<input class="paiCoin" type="number" 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;')
+                    })
+                } else {
+                    $('span[class="paiCoin_span"]').each(function (index, e) {
+                        $(e).html('');
+                    })
+                }
+            }
+        })
+    })
+
+
+});
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js
index 9972130..4f789de 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js
@@ -173,6 +173,7 @@
         return;
     }
     var shopId = $("#shopId").val();
+    var shopIdString = shopId.join(",");
     var name = $("#name").val();
     if(name==""){
         Feng.info("请输入赛事名称");
@@ -242,7 +243,7 @@
     });
     ajax.set("provinceCode",pCode);
     ajax.set("cityCode",cCode);
-    ajax.set("storeId",shopId);
+    ajax.set("storeId",shopIdString);
     ajax.set("name",name);
     ajax.set("sTime",startTime);
     ajax.set("eTime",endTime);
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java
index 4012ed7..9494de6 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java
@@ -7,10 +7,13 @@
 import com.dsh.other.model.BannerVo;
 import com.dsh.other.service.GameService;
 import com.dsh.other.service.IBannerService;
+import com.dsh.other.service.IRegionService;
+import com.dsh.other.service.TGameConfigService;
 import com.dsh.other.util.ResultUtil;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.models.auth.In;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -18,6 +21,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author zhibing.pu
@@ -36,12 +40,51 @@
         return games;
     }
 
+    @Autowired
+    private IRegionService regionService;
 
     @ResponseBody
     @PostMapping("/save")
-    public void save(@RequestBody Game game){
+    public Integer save(@RequestBody Game game){
+
+        Region city = regionService.getOne(new QueryWrapper<Region>().eq("code", game.getCityCode()));
+        game.setCity(city.getName());
+
+
+        Region province = regionService.getOne(new QueryWrapper<Region>().eq("code", game.getProvinceCode()));
+        game.setProvince(province.getName());
+
+
+
 
         gameService.save(game);
+         System.out.println("==========="+game);
+         return  game.getId();
+    }
+    @Autowired
+    private TGameConfigService config;
+
+
+    @ResponseBody
+    @PostMapping("/saveConfig")
+    public void saveConfig(@RequestBody List<TGameConfig> gameConfigList){
+        System.out.println("=======gameConfigList===="+gameConfigList);
+        config.saveBatch(gameConfigList);
+//        return  game.getId();
+    }
+
+    @ResponseBody
+    @PostMapping("/queryGame")
+    public Game queryGame(@RequestParam Integer id){
+       return gameService.getById(id);
+//        return  game.getId();
+    }
+
+    @ResponseBody
+    @PostMapping("/listorder")
+    public List<Map<String, Object>>  listorder(@RequestBody BookingQuery bookingQuery){
+        return gameService.orderlist(bookingQuery);
+//        return  game.getId();
     }
 
 
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
index 5c0343c..8d86b0a 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -118,6 +118,33 @@
         }
     }
 
+
+    /**
+     * 添加场地管理
+     * @return
+     */
+    @RequestMapping("/base/site/addSiteBooking")
+    public Object addSiteBooking(@RequestBody SiteBooking siteBooking){
+        if(siteBooking.getId()!= null ){
+
+            return siteBookingService.updateById(siteBooking);
+        }else {
+            return siteBookingService.save(siteBooking);
+        }
+    }
+
+    @RequestMapping("/base/site/listById")
+    public Site listById(@RequestParam("id") Integer id){
+        Site byId = siteService.getById(id);
+        return byId;
+    }
+
+
+    @RequestMapping("/base/site/listBooks")
+    public  List<SiteBooking> listBooks(@RequestParam("id") Integer id){
+        List<SiteBooking> siteId = siteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id));
+        return siteId;
+    }
     @ResponseBody
     @PostMapping("/base/site/querySiteType")
     @ApiOperation(value = "获取场地类型", tags = {"用户—预约场地"})
diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/BookingQuery.java b/cloud-server-other/src/main/java/com/dsh/other/entity/BookingQuery.java
new file mode 100644
index 0000000..4bbde6e
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/entity/BookingQuery.java
@@ -0,0 +1,19 @@
+package com.dsh.other.entity;
+
+import lombok.Data;
+
+@Data
+public class BookingQuery {
+    String provinceCode;
+    String cityCode;
+
+    String store;
+
+    String peopleName;
+    String phone;
+    String date;
+    Integer state;
+    Integer payMethod;
+
+
+}
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 0f64bb9..ebc2d76 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
@@ -20,6 +20,7 @@
     private Integer id;
     @TableField("operationId")
     private Integer operationId;
+    @TableField(exist = false)
     private String operation;
     @TableField("province")
     private String province;
@@ -31,10 +32,11 @@
     private String cityCode;
     @TableField("storeId")
     private Integer storeId;
+    @TableField(exist = false)
     private String store;
     @TableField("siteId")
     private Integer siteId;
-
+    @TableField(exist = false)
     private String site;
     @TableField("blue")
 
diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java b/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java
index a25f44a..715d35e 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java
@@ -61,8 +61,8 @@
      */
     @TableField("gameId")
     private Integer gameId;
-
-
+    @TableField("otherId")
+    private Integer otherId;
     @Override
     protected Serializable pkVal() {
         return this.id;
diff --git a/cloud-server-other/src/main/java/com/dsh/other/mapper/GameMapper.java b/cloud-server-other/src/main/java/com/dsh/other/mapper/GameMapper.java
index d37627b..9ae5c8a 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/mapper/GameMapper.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/mapper/GameMapper.java
@@ -2,10 +2,12 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dsh.other.entity.BallQueryDto;
+import com.dsh.other.entity.BookingQuery;
 import com.dsh.other.entity.Game;
 import com.dsh.other.entity.Notice;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -18,4 +20,6 @@
 public interface GameMapper extends BaseMapper<Game> {
 
     List<Game> queryAll(BallQueryDto ballQueryDto);
+
+    List<Map<String, Object>> orderlist(BookingQuery bookingQuery);
 }
diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/GameService.java b/cloud-server-other/src/main/java/com/dsh/other/service/GameService.java
index 0d275e4..e11ad70 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/service/GameService.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/GameService.java
@@ -2,10 +2,12 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.dsh.other.entity.BallQueryDto;
+import com.dsh.other.entity.BookingQuery;
 import com.dsh.other.entity.Game;
 import com.dsh.other.entity.Protocol;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author zhibing.pu
@@ -13,4 +15,6 @@
  */
 public interface GameService extends IService<Game> {
     List<Game> queryAll(BallQueryDto ballQueryDto);
+
+    List<Map<String, Object>> orderlist(BookingQuery bookingQuery);
 }
diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/GameServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/GameServiceImpl.java
index d95dd0d..88df77e 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/service/impl/GameServiceImpl.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/GameServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dsh.other.entity.BallQueryDto;
+import com.dsh.other.entity.BookingQuery;
 import com.dsh.other.entity.Game;
 import com.dsh.other.entity.Notice;
 import com.dsh.other.mapper.GameMapper;
@@ -11,6 +12,7 @@
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -27,4 +29,9 @@
     public List<Game> queryAll(BallQueryDto ballQueryDto) {
         return this.baseMapper.queryAll(ballQueryDto);
     }
+
+    @Override
+    public List<Map<String, Object>> orderlist(BookingQuery bookingQuery) {
+        return this.baseMapper.orderlist(bookingQuery);
+    }
 }
diff --git a/cloud-server-other/src/main/resources/mapper/GameMapper.xml b/cloud-server-other/src/main/resources/mapper/GameMapper.xml
index 59b4d6c..fb0656a 100644
--- a/cloud-server-other/src/main/resources/mapper/GameMapper.xml
+++ b/cloud-server-other/src/main/resources/mapper/GameMapper.xml
@@ -31,4 +31,15 @@
 
 
     </select>
+    <select id="orderlist" resultType="map">
+        SELECT *,st.`name` as storeName,si.`name` as siteName,CONCAT(DATE_FORMAT(bk.startTime, '%Y-%m-%d %H:%i:%s'), ' - ', TIME_FORMAT(bk.endTime, '%H:%i:%s')) AS timeRange
+        FROM t_site_booking bk
+                 LEFT JOIN t_store st on bk.storeId = st.id
+                 LEFT JOIN t_site si on bk.siteId = si.id
+
+
+
+
+
+    </select>
 </mapper>
diff --git a/logs/mb-cloud-management/2023-10/debug.2023-10-07.0.log117386460201400.tmp b/logs/mb-cloud-management/2023-10/debug.2023-10-07.0.log117386460201400.tmp
new file mode 100644
index 0000000..cfb605b
--- /dev/null
+++ b/logs/mb-cloud-management/2023-10/debug.2023-10-07.0.log117386460201400.tmp
@@ -0,0 +1,79 @@
+2023-10-07 10:04:22,469 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@3234f74e, started on Sat Oct 07 08:49:39 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 10:05:53,995 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 10:04:33 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 10:07:24,264 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@38be305c, started on Sat Oct 07 10:06:03 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 10:22:23,717 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 10:07:28 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 10:24:10,440 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 10:22:45 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 10:26:19,281 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 10:24:14 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 10:30:41,568 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 10:26:26 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 10:31:52,915 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 10:30:48 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 10:34:33,275 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 10:31:58 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 10:57:27,183 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 10:34:36 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 10:58:13,976 [http-nio-5006-exec-2] ERROR [c.m.c.c.sentinel.fallback.DefaultFeignFallback] DefaultFeignFallback.java:54 - FunFeignFallback:[com.dsh.course.feignClient.other.BallClient.listorder] serviceId:[mb-cloud-other] message:[[500 Internal Server Error] during [POST] to [http://mb-cloud-other/listorder] [BallClient#listorder(BookingQuery)]: [{"code":"1","msg":"操作失败","data":null}]]
+2023-10-07 10:58:18,246 [http-nio-5006-exec-3] ERROR [c.m.c.c.sentinel.fallback.DefaultFeignFallback] DefaultFeignFallback.java:54 - FunFeignFallback:[com.dsh.course.feignClient.other.BallClient.listorder] serviceId:[mb-cloud-other] message:[[500 Internal Server Error] during [POST] to [http://mb-cloud-other/listorder] [BallClient#listorder(BookingQuery)]: [{"code":"1","msg":"操作失败","data":null}]]
+2023-10-07 10:58:33,368 [http-nio-5006-exec-4] ERROR [c.m.c.c.sentinel.fallback.DefaultFeignFallback] DefaultFeignFallback.java:54 - FunFeignFallback:[com.dsh.course.feignClient.other.BallClient.listorder] serviceId:[mb-cloud-other] message:[[500 Internal Server Error] during [POST] to [http://mb-cloud-other/listorder] [BallClient#listorder(BookingQuery)]: [{"code":"1","msg":"操作失败","data":null}]]
+2023-10-07 10:59:02,597 [http-nio-5006-exec-5] ERROR [c.m.c.c.sentinel.fallback.DefaultFeignFallback] DefaultFeignFallback.java:54 - FunFeignFallback:[com.dsh.course.feignClient.other.BallClient.listorder] serviceId:[mb-cloud-other] message:[[500 Internal Server Error] during [POST] to [http://mb-cloud-other/listorder] [BallClient#listorder(BookingQuery)]: [{"code":"1","msg":"操作失败","data":null}]]
+2023-10-07 10:59:51,368 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 10:57:35 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 15:22:05,394 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 10:59:58 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 15:23:50,215 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 15:22:13 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 15:25:10,547 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@38be305c, started on Sat Oct 07 15:23:54 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 15:26:33,318 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 15:25:14 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 15:28:17,566 [http-nio-5006-exec-5] ERROR [c.m.c.c.sentinel.fallback.DefaultFeignFallback] DefaultFeignFallback.java:54 - FunFeignFallback:[com.dsh.course.feignClient.activity.CouponClient.getCouponExamineListOfSearch] serviceId:[mb-cloud-activity] message:[Error while extracting response for type [java.util.List<java.util.Map<java.lang.String, java.lang.Object>>] and content type [application/json]; nested exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize instance of `java.util.ArrayList<java.util.Map<java.lang.String,java.lang.Object>>` out of START_OBJECT token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList<java.util.Map<java.lang.String,java.lang.Object>>` out of START_OBJECT token
+ at [Source: (PushbackInputStream); line: 1, column: 1]]
+2023-10-07 15:29:23,546 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 15:26:40 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 15:32:36,756 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 15:29:27 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 15:36:12,483 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 15:32:40 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 15:39:18,640 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@38be305c, started on Sat Oct 07 15:36:16 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 16:02:56,756 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@38be305c, started on Sat Oct 07 15:39:23 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 16:05:01,636 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 16:03:03 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:11:18,273 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 16:05:05 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:14:10,192 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 16:11:22 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:14:31,810 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 16:14:13 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:17:02,515 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 16:14:35 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:17:18,494 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 16:17:06 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:18:40,704 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 16:17:22 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:19:44,311 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 16:18:44 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:21:49,158 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@3234f74e, started on Sat Oct 07 16:19:48 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:22:33,610 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@38be305c, started on Sat Oct 07 16:21:54 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 16:23:24,059 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 16:22:37 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:24:40,590 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 16:23:27 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:25:34,814 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 16:24:44 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:26:37,875 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 16:25:38 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:27:52,826 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 16:26:41 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:30:52,615 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 16:27:56 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:33:00,881 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 16:30:56 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:34:47,898 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 16:33:07 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:36:06,645 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 16:34:51 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:40:07,849 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 16:36:11 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:41:27,309 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 16:40:24 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 16:43:05,729 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 16:41:30 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:52:04,274 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@38be305c, started on Sat Oct 07 16:43:18 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 16:54:07,502 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 16:52:11 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:54:59,117 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 16:54:11 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 16:56:04,700 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 16:55:02 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 17:34:02,105 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 16:56:08 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 17:35:48,103 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 17:34:12 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 17:36:42,918 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 17:35:54 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 17:38:09,147 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 17:36:46 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 17:56:43,048 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@38be305c, started on Sat Oct 07 17:47:41 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 17:58:44,509 [http-nio-5006-exec-2] ERROR [c.m.c.c.sentinel.fallback.DefaultFeignFallback] DefaultFeignFallback.java:54 - FunFeignFallback:[com.dsh.course.feignClient.course.CoursePackageClient.queryCoursePackageLists] serviceId:[mb-cloud-course] message:[Read timed out executing POST http://mb-cloud-course/coursePackage/queryCoursePackageLists]
+2023-10-07 17:58:47,966 [http-nio-5006-exec-5] ERROR [c.m.c.c.sentinel.fallback.DefaultFeignFallback] DefaultFeignFallback.java:54 - FunFeignFallback:[com.dsh.course.feignClient.account.AppUserClient.queryWebUser] serviceId:[mb-cloud-account] message:[Read timed out executing POST http://mb-cloud-account/student/webStudentList]
+2023-10-07 17:58:52,954 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 17:57:10 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 18:02:09,935 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 17:58:58 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 18:03:57,871 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@40e10ff8, started on Sat Oct 07 18:02:25 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 18:08:17,719 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 18:04:06 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 18:10:54,821 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@38be305c, started on Sat Oct 07 18:08:55 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 18:16:49,197 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@38be305c, started on Sat Oct 07 18:11:12 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 18:19:07,066 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@38be305c, started on Sat Oct 07 18:17:24 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 18:30:29,735 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 18:19:26 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 18:31:27,179 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 18:30:33 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 18:33:12,099 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 18:31:30 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 18:35:24,229 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 18:33:15 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 18:38:46,012 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 18:35:27 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 18:40:35,057 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@38be305c, started on Sat Oct 07 18:38:51 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6e0f5f7f
+2023-10-07 18:41:54,940 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 18:40:38 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 18:44:37,247 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 18:41:58 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 18:45:55,416 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 18:44:41 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 18:46:58,276 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 18:45:59 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 18:47:40,029 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@3234f74e, started on Sat Oct 07 18:47:02 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 18:48:15,963 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@5ed731d0, started on Sat Oct 07 18:47:43 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709
+2023-10-07 18:53:47,268 [SpringContextShutdownHook] DEBUG [cn.mb.cloud.common.core.util.SpringContextHolder] SpringContextHolder.java:59 - 清除SpringContextHolder中的ApplicationContext:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@269f4bad, started on Sat Oct 07 18:48:19 GMT+08:00 2023, parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2805d709

--
Gitblit v1.7.1