From 29bd4d946349eacd38442c07ebf15b470af92e82 Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期二, 10 十月 2023 14:26:44 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- cloud-server-management/src/main/webapp/WEB-INF/view/system/gameData/GameData.html | 141 + cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue.html | 44 cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportion.html | 109 + cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java | 3 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java | 6 cloud-server-management/src/main/resources/TOperatorUserMapper.xml | 34 cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js | 193 ++ cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_add.html | 192 ++ cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_add.html | 41 cloud-server-management/src/main/webapp/WEB-INF/view/system/course/course.html | 14 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/OperatorUser.java | 31 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java | 65 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GameDataController.java | 119 + .idea/workspace.xml | 121 + cloud-server-management/src/main/resources/mapper/TStoreMapper.xml | 11 cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser_proportion.html | 109 + cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html | 3 cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.js | 13 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CityGame.java | 2 cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html | 2 cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser_proportionAuth.html | 125 + cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GateDataController.java | 48 cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_edit.html | 2 cloud-server-account/src/test/java/com/dsh/AccountApplicationTests.java | 22 cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/Operator.html | 1 cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js | 73 + cloud-server-management/src/main/webapp/static/modular/system/operator/operator.js | 106 + cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/join.html | 189 ++ cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/AccuracyGameDataOne.java | 16 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/MethodDto.java | 9 cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java | 1 cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportionAuth.html | 125 + /dev/null | 308 ---- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java | 36 cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_edit.html | 354 +++++ cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html | 23 cloud-server-other/src/main/resources/mapper/GameMapper.xml | 32 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java | 4 cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java | 3 cloud-server-management/src/main/webapp/static/modular/system/gateData/gateData.js | 2 cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit.html | 67 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java | 375 +++++ cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_info.html | 384 +++++ cloud-server-management/src/main/webapp/static/modular/system/gameData/gameData.js | 6 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/AccuracyGameOne.java | 16 cloud-server-management/src/main/webapp/WEB-INF/view/system/gateData/GateData.html | 9 cloud-server-management/src/main/webapp/static/modular/system/operatorUser/operatorUser.js | 69 - cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/cancel.html | 206 +++ 48 files changed, 3,220 insertions(+), 644 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index aacdc06..f73921d 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -25,13 +25,26 @@ <select /> </component> <component name="ChangeListManager"> - <list default="true" id="cb08d02f-fd4f-4fa2-85fe-abd508fa83ac" name="Default Changelist" comment="10.8"> + <list default="true" id="cb08d02f-fd4f-4fa2-85fe-abd508fa83ac" name="Default Changelist" comment="10.8。1"> <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/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-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/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/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/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_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/ball/ball_pre_edit.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit.html" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue.html" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_add.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_add.html" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_edit.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_edit.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/yuyue.js" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js" afterDir="false" /> <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue_info.js" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/entity/SiteBooking.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/entity/SiteBooking.java" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.js" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.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/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" /> @@ -79,43 +92,43 @@ <option name="hideEmptyMiddlePackages" value="true" /> <option name="showLibraryContents" value="true" /> </component> - <component name="PropertiesComponent">{ - "keyToString": { - "DefaultHtmlFileTemplate": "HTML File", - "RequestMappingsPanelOrder0": "0", - "RequestMappingsPanelOrder1": "1", - "RequestMappingsPanelWidth0": "75", - "RequestMappingsPanelWidth1": "75", - "RunOnceActivity.OpenProjectViewOnStart": "true", - "RunOnceActivity.ShowReadmeOnStart": "true", - "WebServerToolWindowFactoryState": "false", - "git-widget-placeholder": "master", - "ignore.virus.scanning.warn.message": "true", - "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)", - "node.js.selected.package.tslint": "(autodetect)", - "nodejs_package_manager_path": "npm", - "project.structure.last.edited": "模块", - "project.structure.proportion": "0.15", - "project.structure.side.proportion": "0.54367816", - "service.view.auto.scroll.to.source": "true", - "settings.editor.selected.configurable": "preferences.pluginManager", - "spring.configuration.checksum": "6e27eb92c8707375af194da5aa857bbc", - "vue.rearranger.settings.migration": "true" + <component name="PropertiesComponent"><![CDATA[{ + "keyToString": { + "DefaultHtmlFileTemplate": "HTML File", + "RequestMappingsPanelOrder0": "0", + "RequestMappingsPanelOrder1": "1", + "RequestMappingsPanelWidth0": "75", + "RequestMappingsPanelWidth1": "75", + "RunOnceActivity.OpenProjectViewOnStart": "true", + "RunOnceActivity.ShowReadmeOnStart": "true", + "WebServerToolWindowFactoryState": "false", + "git-widget-placeholder": "master", + "ignore.virus.scanning.warn.message": "true", + "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)", + "node.js.selected.package.tslint": "(autodetect)", + "nodejs_package_manager_path": "npm", + "project.structure.last.edited": "模块", + "project.structure.proportion": "0.15", + "project.structure.side.proportion": "0.54367816", + "service.view.auto.scroll.to.source": "true", + "settings.editor.selected.configurable": "preferences.lookFeel", + "spring.configuration.checksum": "6e27eb92c8707375af194da5aa857bbc", + "vue.rearranger.settings.migration": "true" } -}</component> +}]]></component> <component name="ReactorSettings"> <option name="notificationShown" value="true" /> </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-account\src\test\java\com\dsh" /> <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" /> </key> <key name="MoveFile.RECENT_KEYS"> <recent name="D:\JavaTool\PlayPai1\cloud-server-management\src\main\webapp\static\modular\system\tStudent" /> @@ -147,6 +160,30 @@ <option name="ENABLED" value="true" /> </pattern> </extension> + <method v="2"> + <option name="Make" enabled="true" /> + </method> + </configuration> + <configuration name="AccountApplicationTests.contextLoads" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true"> + <module name="mb-cloud-account" /> + <shortenClasspath name="MANIFEST" /> + <extension name="coverage"> + <pattern> + <option name="PATTERN" value="com.dsh.*" /> + <option name="ENABLED" value="true" /> + </pattern> + </extension> + <option name="PACKAGE_NAME" value="com.dsh" /> + <option name="MAIN_CLASS_NAME" value="com.dsh.AccountApplicationTests" /> + <option name="METHOD_NAME" value="contextLoads" /> + <option name="TEST_OBJECT" value="method" /> + <method v="2"> + <option name="Make" enabled="true" /> + </method> + </configuration> + <configuration default="true" type="JUnit" factoryName="JUnit"> + <shortenClasspath name="MANIFEST" /> + <option name="TEST_OBJECT" value="class" /> <method v="2"> <option name="Make" enabled="true" /> </method> @@ -235,8 +272,9 @@ </method> </configuration> <list> - <item itemvalue="Spring Boot.GatewayApplication" /> + <item itemvalue="JUnit.AccountApplicationTests.contextLoads" /> <item itemvalue="Spring Boot.ManagementApplication" /> + <item itemvalue="Spring Boot.GatewayApplication" /> <item itemvalue="Spring Boot.OtherApplication" /> <item itemvalue="Spring Boot.UserApplication" /> <item itemvalue="Spring Boot.AccountApplication" /> @@ -248,6 +286,7 @@ </list> <recent_temporary> <list> + <item itemvalue="JUnit.AccountApplicationTests.contextLoads" /> <item itemvalue="应用程序.BigDecimalToChineseWords" /> </list> </recent_temporary> @@ -307,7 +346,7 @@ <workItem from="1696433675086" duration="2211000" /> <workItem from="1696462020097" duration="481000" /> <workItem from="1696465598653" duration="19850000" /> - <workItem from="1696639362946" duration="45956000" /> + <workItem from="1696639362946" duration="88523000" /> </task> <task id="LOCAL-00001" summary="后台代码删除"> <created>1690249807612</created> @@ -608,7 +647,15 @@ <option name="project" value="LOCAL" /> <updated>1696749061197</updated> </task> - <option name="localTasksCounter" value="40" /> + <task id="LOCAL-00040" summary="10.8。1"> + <option name="closed" value="true" /> + <created>1696753188954</created> + <option name="number" value="00040" /> + <option name="presentableId" value="LOCAL-00040" /> + <option name="project" value="LOCAL" /> + <updated>1696753188954</updated> + </task> + <option name="localTasksCounter" value="41" /> <servers /> </component> <component name="TypeScriptGeneratedFilesManager"> @@ -650,7 +697,8 @@ <MESSAGE value="9.26。14" /> <MESSAGE value="9.26。15" /> <MESSAGE value="10.8" /> - <option name="LAST_COMMIT_MESSAGE" value="10.8" /> + <MESSAGE value="10.8。1" /> + <option name="LAST_COMMIT_MESSAGE" value="10.8。1" /> </component> <component name="XDebuggerManager"> <breakpoint-manager> @@ -674,11 +722,6 @@ <url>file://$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java</url> <line>1358</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>139</line> - <option name="timeStamp" value="21" /> </line-breakpoint> </breakpoints> </breakpoint-manager> diff --git a/cloud-server-account/src/test/java/com/dsh/AccountApplicationTests.java b/cloud-server-account/src/test/java/com/dsh/AccountApplicationTests.java new file mode 100644 index 0000000..455dcdd --- /dev/null +++ b/cloud-server-account/src/test/java/com/dsh/AccountApplicationTests.java @@ -0,0 +1,22 @@ +package com.dsh; + +import com.dsh.account.controller.CoachTypeController; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import java.util.List; + +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = AccountApplication.class) +class AccountApplicationTests { + + @Autowired + private CoachTypeController controller; + + @Test + void contextLoads() { + System.out.println("==============="+controller.list()); + } + +} 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 0a958da..07185a1 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 @@ -7,6 +7,7 @@ import com.dsh.guns.modular.system.model.TStore; import com.dsh.guns.modular.system.model.TStoreListVo; import com.dsh.guns.modular.system.model.TTurn; +import com.dsh.guns.modular.system.model.dto.SelectDto; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -69,4 +70,6 @@ void inset(JsDto jsDto); JsDto get(Integer id); + + List<SelectDto> getSelect(); } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GameDataController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GameDataController.java index 609b06e..51c79c4 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GameDataController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GameDataController.java @@ -102,8 +102,60 @@ } return new ArrayList<>(); } + + @RequestMapping("/listAll1") + @ResponseBody + public Object listAll1(String spaceId,String type,String date,String cityCode){ + if(spaceId==null){ + spaceId=""; + } + if(type==null){ + type="y"; + } + if(date==null){ + date=""; + } + if(cityCode==null){ + cityCode=""; + } +// String apiUrl1 = "https://try.daowepark.com/v7/user_api/general/accuracyGameRanking?space_id=1001"+spaceId+"&type="+type+"&date="+date+"&city_code="+cityCode; + String apiUrl1 = "https://try.daowepark.com/v7/user_api/general/accuracyGameRanking?space_id="+spaceId+"&type="+type+"&date="+date+"&city_code="+cityCode; + URL url1 = null; + try { + url1 = new URL(apiUrl1); + HttpURLConnection connection1 = (HttpURLConnection) url1.openConnection(); + connection1.setRequestMethod("GET"); + // 发送请求并获取响应 + int responseCode1 = connection1.getResponseCode(); + if (responseCode1 == HttpURLConnection.HTTP_OK) { + BufferedReader reader1 = new BufferedReader(new InputStreamReader(connection1.getInputStream())); + String line1; + StringBuilder response1 = new StringBuilder(); + while ((line1 = reader1.readLine()) != null) { + response1.append(line1); + } + reader1.close(); + // 处理响应数据 + String data1 = response1.toString(); + // 使用Jackson库将JSON字符串转换为Java对象 + ObjectMapper objectMapper1 = new ObjectMapper(); + AccuracyGameOne res1 = objectMapper1.readValue(data1, AccuracyGameOne.class); + List<AccuracyGameDataOne> data2 = res1.getData(); + return data2; + } + } catch (ProtocolException e) { + e.printStackTrace(); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } catch (MalformedURLException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return new ArrayList<>(); + } /** - * 跳转到充值记录页面 + * 跳转到智慧球场数据统计页面 */ @RequestMapping("") public String index(Model model) { @@ -153,7 +205,7 @@ */ @RequestMapping("/list") @ResponseBody - public Object list(Integer storeId) { + public Object list(String storeId) { Map<String, Object> result = new HashMap<>(); try { // 年度数据 @@ -162,7 +214,7 @@ // 创建 POST 请求 HttpPost httpPost = new HttpPost("https://try.daowepark.com/v7/user_api/general/getBatterData"); // 设置请求体数据 - String postData = "sign=0DB011836143EEE2C2E072967C9F4E4B&space_id="+""+"&date_type=y"; + String postData = "sign=0DB011836143EEE2C2E072967C9F4E4B&space_id="+storeId+"&date_type=y"+"&year="; StringEntity entity = new StringEntity(postData, ContentType.APPLICATION_FORM_URLENCODED); httpPost.setEntity(entity); @@ -196,7 +248,7 @@ // 创建 POST 请求 HttpPost httpPost1 = new HttpPost("https://try.daowepark.com/v7/user_api/general/getBatterData"); // 设置请求体数据 - String postData1 = "sign=0DB011836143EEE2C2E072967C9F4E4B&space_id=1001&date_type=m&year=2022"; + String postData1 = "sign=0DB011836143EEE2C2E072967C9F4E4B&space_id=1001"+""+"&date_type=m"+"&year="+year; StringEntity entity1 = new StringEntity(postData1, ContentType.APPLICATION_FORM_URLENCODED); httpPost1.setEntity(entity1); // 执行请求 @@ -204,13 +256,12 @@ // 处理响应 HttpEntity responseEntity1 = response1.getEntity(); if (responseEntity1 != null) { - String responseData = EntityUtils.toString(responseEntity1); + String responseData1 = EntityUtils.toString(responseEntity1); ObjectMapper objectMapper = new ObjectMapper(); - Batter batter = objectMapper.readValue(responseData, Batter.class); + Batter batter = objectMapper.readValue(responseData1, Batter.class); result.put("totalNumber", batter.getData().getAll_batter_num()); result.put("totalTime", batter.getData().getAll_batter_time()); List<BatterData> dataList = batter.getData().getList(); - // 月度数据 result.put("mDataList", dataList); } @@ -351,7 +402,44 @@ return result; } /** - * 获取跨城赛统计 + * 获取90°准度赛全球总数 + */ + @RequestMapping("/cityGameOne") + @ResponseBody + public Object cityGameOne() { + Map<String, Object> result = new HashMap<>(); + try { + String apiUrl = "https://try.daowepark.com/v7/user_api/general/getAccuracyGameCount?space_id="; + URL url = new URL(apiUrl); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setRequestMethod("GET"); + // 发送请求并获取响应 + int responseCode = connection.getResponseCode(); + if (responseCode == HttpURLConnection.HTTP_OK) { + BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); + String line; + StringBuilder response = new StringBuilder(); + while ((line = reader.readLine()) != null) { + response.append(line); + } + reader.close(); + // 处理响应数据 + String data = response.toString(); + // 使用Jackson库将JSON字符串转换为Java对象 + ObjectMapper objectMapper = new ObjectMapper(); + CityGame res = objectMapper.readValue(data, CityGame.class); + result.put("totalNum", res.getData().getTotal_num()); + return result; + } + } + catch (IOException e) { + e.printStackTrace(); + } + return result; + } + + /** + * 获取跨城赛统计全球总数 */ @RequestMapping("/cityGame") @ResponseBody @@ -377,18 +465,11 @@ // 使用Jackson库将JSON字符串转换为Java对象 ObjectMapper objectMapper = new ObjectMapper(); CityGame res = objectMapper.readValue(data, CityGame.class); - // 场地总入场人数 - String totalNum = ""; - for (CityGameData datum : res.getData()) { - totalNum = datum.getTotal_num(); - } - result.put("totalNum", totalNum); - - - return result; - } + result.put("totalNum", res.getData().getTotal_num()); + return result; } - catch (IOException e) { + } + catch (IOException e) { e.printStackTrace(); } return result; diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GateDataController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GateDataController.java index bb2b034..222ec11 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GateDataController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/GateDataController.java @@ -53,8 +53,6 @@ private SiteClient siteClient; private String PREFIX = "/system/gateData/"; - - /** * 跳转到充值记录页面 */ @@ -63,15 +61,13 @@ return PREFIX + "GateData.html"; } /** - * 获取教练类型列表 + * 获取闸机数据列表 */ @RequestMapping("/list") @ResponseBody public Object list() { - List<Site> list = siteClient.getList(); try { - for (Site site : list) { - String apiUrl = "https://try.daowepark.com/v7/user_api/general/spaceDoorData?space_id=" + site.getId(); + String apiUrl = "https://try.daowepark.com/v7/user_api/general/spaceDoorData?space_id=1001"; URL url = new URL(apiUrl); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); @@ -106,6 +102,46 @@ } else { System.out.println("请求失败: " + responseCode); } + } catch (IOException e) { + e.printStackTrace(); + } + return new ArrayList<>(); + } + /** + * 获取教练类型列表 + */ + @RequestMapping("/totalNum") + @ResponseBody + public Object totalNum() { + try { + String apiUrl = "https://try.daowepark.com/v7/user_api/general/spaceDoorData?space_id=1001"; + URL url = new URL(apiUrl); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setRequestMethod("GET"); + // 发送请求并获取响应 + int responseCode = connection.getResponseCode(); + if (responseCode == HttpURLConnection.HTTP_OK) { + BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); + String line; + StringBuilder response = new StringBuilder(); + while ((line = reader.readLine()) != null) { + response.append(line); + } + reader.close(); + // 处理响应数据 + String data = response.toString(); + // 使用Jackson库将JSON字符串转换为Java对象 + ObjectMapper objectMapper = new ObjectMapper(); + GateDataResponse res = objectMapper.readValue(data, GateDataResponse.class); + // 访问Java对象中的数据 + int code = res.getCode(); + String message = res.getMessage(); + // 场地总入场人数 + int totalNum = res.getData().getTotal_num(); + return totalNum; + + } else { + System.out.println("请求失败: " + responseCode); } } catch (IOException e) { e.printStackTrace(); diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java index 3a2fd41..aa3447b 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java @@ -20,12 +20,11 @@ import com.dsh.guns.core.common.constant.factory.PageFactory; import com.dsh.guns.core.util.SinataUtil; import com.dsh.guns.modular.system.model.*; -import com.dsh.guns.modular.system.service.ICityService; -import com.dsh.guns.modular.system.service.IUserService; -import com.dsh.guns.modular.system.service.TOperatorCityService; -import com.dsh.guns.modular.system.service.TOperatorService; +import com.dsh.guns.modular.system.service.*; +import com.dsh.guns.modular.system.service.impl.TOperatorUserServiceImpl; import com.dsh.guns.modular.system.util.ResultUtil; import io.swagger.models.auth.In; +import org.apache.catalina.valves.RemoteIpValve; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -48,6 +47,8 @@ private TOperatorService operatorService; @Autowired private TOperatorCityService operatorCityService; + @Autowired + private IOperatorUserService operatorUserService; @Autowired private IUserService userService; @Autowired @@ -127,7 +128,59 @@ page.setRecords(list); return super.packForBT(page); } - + /** + * 跳转运营商商户去认证页面 + */ + @RequestMapping("/proportionAuth/{id}") + public String proportionAuth(Model model,@PathVariable("id") Integer id) { + model.addAttribute("operatorId",id); + return PREFIX + "OperatorUser_proportionAuth.html"; + } + /** + * 商户认证提交 + */ + @RequestMapping(value = "/auth") + @ResponseBody + public Object auth(Integer alipayType,Integer wechatType,String alipayNum,String wechatNum,Integer operatorId ) { + TOperator id = operatorService.getOne(new QueryWrapper<TOperator>().eq("id", operatorId)); + OperatorUser operatorUser = new OperatorUser(); + operatorUser.setUserId(id.getUserId()); + operatorUser.setAlipay("支付宝"); + operatorUser.setWechat("微信"); + operatorUser.setWechatType(wechatType); + operatorUser.setAlipayType(alipayType); + operatorUser.setAlipayNum(alipayNum); + operatorUser.setWechatNum(wechatNum); + operatorUser.setOperatorId(operatorId); + operatorUserService.save(operatorUser); + // 修改运营商状态为 已认证 + id.setStatus(2); + operatorService.updateById(id); + return SUCCESS_TIP; + } + /** + * 分账比例提交 + */ + @RequestMapping(value = "/proportion") + @ResponseBody + public Object auth(String alipayProportion,String wechatProportion,Integer operatorIdOne ) { + OperatorUser id = operatorUserService.getOne(new QueryWrapper<OperatorUser>().eq("id", operatorIdOne)); + id.setAlipayProportion(alipayProportion); + id.setWechatProportion(wechatProportion); + operatorUserService.updateById(id); + return SUCCESS_TIP; + } + /** + * 跳转运营商设置分账比例页面 + */ + @RequestMapping("/proportion/{id}") + public String proportion(Model model,@PathVariable("id") Integer id) { + OperatorUser o = operatorUserService.getOne(new QueryWrapper<OperatorUser>().eq("operatorId", id)); + model.addAttribute("operatorIdOne",o.getId()); + model.addAttribute("alipayProportion",o.getAlipayProportion()); + model.addAttribute("wechatProportion",o.getWechatProportion()); + return PREFIX + "OperatorUser_proportion.html"; + } /** * 批量重置密码 * @return @@ -140,7 +193,7 @@ List<Integer> userIds = list.stream() .map(TOperator::getUserId) .collect(Collectors.toList()); - String a123456 = SecureUtil.md5("123456"); + String a123456 = SecureUtil.md5("a123456"); List<User> users = userService.list(new QueryWrapper<User>().in("id", userIds)); for (User user : users) { user.setPassword(a123456); diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java index 982a40b..3b37641 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java @@ -62,22 +62,7 @@ } - /** - * 跳转运营商商户去认证页面 - */ - @RequestMapping("/proportion/{id}") - public String update(Model model,@PathVariable("id") Integer id) { - List<TCity> provinceList = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); - model.addAttribute("provinceList",provinceList); - List<Bank> bankList = operatorService.getBankList(); - TStore store = storeService.getOne(new QueryWrapper<TStore>().eq("cityManagerId", id)); - model.addAttribute("storeName",store.getName()); - TStoreStaff storeByStoreStaffId = storeStaffClient.getStoreByStoreStaffId(store.getStoreStaffId()); - model.addAttribute("storeStaff",storeByStoreStaffId.getName()); - model.addAttribute("storePhone",storeByStoreStaffId.getPhone()); - model.addAttribute("bankList",bankList); - return PREFIX + "OperatorUser_auth.html"; - } + /** * 获取运营商列表 */ @@ -90,23 +75,4 @@ return super.packForBT(page); } - /** - * 批量重置密码 - * @return - */ - @RequestMapping(value = "/addProportion") - @ResponseBody - public Object pwd(Integer id, BigDecimal alipay,BigDecimal wechat) { - List<OperatorUser> list = operatorUserService.list(new QueryWrapper<OperatorUser>().eq("operatorId", id)); - for (OperatorUser operatorUser : list) { - if (operatorUser.getPlatform()==1){ - operatorUser.setProportion(wechat); - operatorUserService.updateById(operatorUser); - }else { - operatorUser.setProportion(alipay); - operatorUserService.updateById(operatorUser); - } - } - return SUCCESS_TIP; - } } 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 3c4532d..ae08367 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 @@ -830,8 +830,10 @@ String jsonString = jsonArray.getString(i); String[] split = jsonString.split("-"); + System.out.println("============"+split); + if (split.length>1){ first.add(split[0]); - second.add(split[1]); + second.add(split[1]);} } String firstString = String.join(",",first); 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 210b1ff..4efb025 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 @@ -22,10 +22,7 @@ import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.modular.system.model.*; 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; -import com.dsh.guns.modular.system.service.ITSiteService; +import com.dsh.guns.modular.system.service.*; import com.dsh.guns.modular.system.util.HttpRequestUtil; import com.dsh.guns.modular.system.util.ResultUtil; import com.google.common.base.Ascii; @@ -56,7 +53,9 @@ import java.nio.charset.StandardCharsets; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.time.LocalTime; +import java.time.format.DateTimeFormatter; import java.util.*; @Controller @@ -106,6 +105,72 @@ return PREFIX+"ball.html"; } + //入园方式 + @RequestMapping("/joinmethod/{id}") + public String joinmethod(Model model,@PathVariable("id") Integer id) { + + + model.addAttribute("id",id); + + return PREFIX+"join.html"; + } + + + @RequestMapping("/selectJoin") + @ResponseBody + public ResultUtil join(@RequestBody MethodDto method) { + + System.out.println("============"+method); + SiteBooking siteBooking = new SiteBooking(); + siteBooking.setStatus(2); + siteBooking.setId(method.getId()); + siteBooking.setGoType(method.getMethod()); + iSiteBookingService.updateById(siteBooking); + + return new ResultUtil<>(0,0,"到店成功",null,null); + } + + + + @RequestMapping(value = "/yunying") + @ResponseBody + public ResultUtil getUserSlect() { + + + + List<SelectDto> selectDtos = storeService.getSelect(); + Map<String,List<SelectDto>> map = new HashMap<>(); + map.put("options",selectDtos); + + System.out.println("=======selectDtos====="+selectDtos); + return new ResultUtil(0,0,"编辑成功",map,""); + } + + //取消凭证页面 + @RequestMapping("/tocancel/{id}") + public String tocancel(Model model,@PathVariable("id") Integer id) { + + model.addAttribute("id",id); + + return PREFIX+"cancel.html"; + } + + + @RequestMapping("/cancel") + @ResponseBody + public ResultUtil cancel(Integer id,String voucher,String textarea) { + + System.out.println("============"+id); + SiteBooking siteBooking = new SiteBooking(); + siteBooking.setId(id); + siteBooking.setStatus(5); + siteBooking.setVoucher(voucher); + siteBooking.setRemark(textarea); + siteBooking.setCancelUserId(UserExt.getUser().getId()); + iSiteBookingService.updateById(siteBooking); + + return new ResultUtil<>(0,0,"到店成功",null,null); + } /** * 获取变更列表 @@ -123,7 +188,7 @@ @RequestMapping("/save") @ResponseBody - public ResultUtil save(String red, String blue, String province, String city, Integer site, Integer store + public ResultUtil save(String operationId,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 @@ -148,6 +213,13 @@ game.setCityCode(city); game.setSiteId(site); game.setStoreId(store); + + + if (!operationId.equals("平台")){ + game.setOperationId(Integer.valueOf(operationId));} + else { + game.setOperationId(0); + } System.out.println("============"+game); Integer gameId = ballClient.save(game); @@ -285,7 +357,7 @@ @RequestMapping("/pre_add") public String add(Model model) { - + model.addAttribute("is","${is}"); return PREFIX+"ball_pre_add.html"; } @@ -301,6 +373,260 @@ return PREFIX+"ball_pre_edit.html"; } + + @Autowired + private ISiteBookingService iSiteBookingService; + + @RequestMapping("/yueyue_edit/{id}") + public String yueyue_edit(@PathVariable("id") Integer id,Model model) { + + List<String> strings1 = new ArrayList<>(); + + SiteBooking book = iSiteBookingService.getById(id); + model.addAttribute("item", book); + if (book.getMoney()!=null){ + model.addAttribute("money",book.getMoney().split(","));} + String[] split1 = book.getTimes().split(";"); + model.addAttribute("date",split1[0].substring(0,10)); + + for (String s : split1) { + + String convertedValue = s.substring(11); + strings1.add(convertedValue); + } + + System.out.println("========strings1====="+strings1); + +//时间段 + List<String> strings = new ArrayList<>(); +// List<SiteBooking> siteBookings = siteClient.listBooks(book.getSiteId()); + List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", book.getSiteId()).like("times",split1[0].substring(0,10))); + 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(book.getSiteId()); + System.out.println("================"+site); + String appointmentStartTime = site.getAppointmentStartTime(); + String appointmentEndTime = site.getAppointmentEndTime(); + //生成用于比较日期是否超过的当前日期 + LocalDate currentDate = LocalDate.now(); + LocalDate parsedDate = LocalDate.parse(split1[0].substring(0,10), DateTimeFormatter.ISO_DATE); + boolean isAfterCurrentDate = parsedDate.isBefore(currentDate); + System.out.println("是否超过当前日期"+isAfterCurrentDate); + 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); + } + //日期是否超过 + if (isAfterCurrentDate){ + orderDto.setState(0); + } + //是否是当前场地当前日期预定的 + if (strings1.contains(timeRange)){ + orderDto.setState(1); + } + + + + + timeRanges.add(orderDto); + currentTime = nextTime; + } + System.out.println("-------------"+timeRanges); + model.addAttribute("timeRanges",timeRanges); + +System.out.println("======timeRanges========"+timeRanges); + + + + + + + Integer objectType = UserExt.getUser().getObjectType(); + Integer objectId = UserExt.getUser().getObjectId(); + + String cityCode = null; + if(objectType == 2){//城市管理员 + CityManager cityManager = cityManagerClient.queryCityManagerById(objectId); + cityCode = cityManager.getCityCode(); + } + List<Map<String, Object>> list = storeService.queryProvince(cityCode); + model.addAttribute("province", list); + Object code = list.get(0).get("code"); + List<Map<String, Object>> list1 = storeService.queryCity(code.toString(), cityCode); + model.addAttribute("city", list1); + String code1 = list1.get(0).get("code").toString(); + List<TStore> list2 = storeService.list(new QueryWrapper<TStore>().eq("cityCode", code1).eq("state", 1)); + model.addAttribute("store", list2); + 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_edit.html"; + } + + + + +@Autowired +private IUserService userService; + @RequestMapping("/yueyue_info/{id}") + public String yueyue_info(@PathVariable("id") Integer id,Model model) { + + List<String> strings1 = new ArrayList<>(); + + SiteBooking book = iSiteBookingService.getById(id); + model.addAttribute("item", book); + if (book.getMoney()!=null){ + model.addAttribute("money",book.getMoney().split(","));} + String[] split1 = book.getTimes().split(";"); + model.addAttribute("date",split1[0].substring(0,10)); + + + User user = userService.getById(book.getCancelUserId()); + if (user!=null) { + model.addAttribute("cancelUser", user.getName()); + } + + + for (String s : split1) { + + String convertedValue = s.substring(11); + strings1.add(convertedValue); + } + + System.out.println("========strings1====="+strings1); + +//时间段 + List<String> strings = new ArrayList<>(); +// List<SiteBooking> siteBookings = siteClient.listBooks(book.getSiteId()); + List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", book.getSiteId()).like("times",split1[0].substring(0,10))); + 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(book.getSiteId()); + System.out.println("================"+site); + String appointmentStartTime = site.getAppointmentStartTime(); + String appointmentEndTime = site.getAppointmentEndTime(); + //生成用于比较日期是否超过的当前日期 + LocalDate currentDate = LocalDate.now(); + LocalDate parsedDate = LocalDate.parse(split1[0].substring(0,10), DateTimeFormatter.ISO_DATE); + boolean isAfterCurrentDate = parsedDate.isBefore(currentDate); + System.out.println("是否超过当前日期"+isAfterCurrentDate); + 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); + } + //日期是否超过 + if (isAfterCurrentDate){ + orderDto.setState(0); + } + //是否是当前场地当前日期预定的 + if (strings1.contains(timeRange)){ + orderDto.setState(1); + } + + + + + timeRanges.add(orderDto); + currentTime = nextTime; + } + System.out.println("-------------"+timeRanges); + model.addAttribute("timeRanges",timeRanges); + + System.out.println("======timeRanges========"+timeRanges); + + + + + + + Integer objectType = UserExt.getUser().getObjectType(); + Integer objectId = UserExt.getUser().getObjectId(); + + String cityCode = null; + if(objectType == 2){//城市管理员 + CityManager cityManager = cityManagerClient.queryCityManagerById(objectId); + cityCode = cityManager.getCityCode(); + } + List<Map<String, Object>> list = storeService.queryProvince(cityCode); + model.addAttribute("province", list); + Object code = list.get(0).get("code"); + List<Map<String, Object>> list1 = storeService.queryCity(code.toString(), cityCode); + model.addAttribute("city", list1); + String code1 = list1.get(0).get("code").toString(); + List<TStore> list2 = storeService.list(new QueryWrapper<TStore>().eq("cityCode", code1).eq("state", 1)); + model.addAttribute("store", list2); + 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_info.html"; + } + @RequestMapping("/paike") @@ -434,11 +760,13 @@ @RequestMapping("/yuyuetimes/{id}") @ResponseBody - public List<OrderDto> yuyuetimes(@PathVariable("id") Integer id) { - + public List<OrderDto> yuyuetimes(@PathVariable("id") Integer id,String date) { + System.out.println("=======date======"+date); List<String> strings = new ArrayList<>(); - List<SiteBooking> siteBookings = siteClient.listBooks(id); + +// List<SiteBooking> siteBookings = siteClient.listBooks(id); + List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).like("times",date)); System.out.println("=======siteBookings======"+siteBookings); for (SiteBooking siteBooking : siteBookings) { String[] split = siteBooking.getTimes().split(";"); @@ -503,6 +831,25 @@ } return String.format("%02d:%02d", hour, minute); + +// String[] parts = currentTime.split(":"); +// int hour = Integer.parseInt(parts[0]); +// int minute = Integer.parseInt(parts[1]); +// +// if (minute == 45) { +// hour++; +// minute = 0; +// } else if (minute == 0){ +// minute = 15; +// }else if (minute == 15){ +// minute = 30; +// }else if (minute == 30){ +// minute = 45; +// } +// +// return String.format("%02d:%02d", hour, minute); + + } @@ -556,4 +903,14 @@ return new ResultUtil<>(null,200,null,null,null); } + @RequestMapping("/orderedit") + @ResponseBody + public ResultUtil orderedit(SiteBooking siteBooking){ + iSiteBookingService.updateById(siteBooking); + + System.out.println("================="+siteBooking); + + return new ResultUtil<>(null,200,null,null,null); + } + } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/AccuracyGameDataOne.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/AccuracyGameDataOne.java new file mode 100644 index 0000000..010b3d1 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/AccuracyGameDataOne.java @@ -0,0 +1,16 @@ +package com.dsh.guns.modular.system.model; + +import lombok.Data; + +/** + * 获取游戏列表 + */ +@Data +public class AccuracyGameDataOne { + private int account_id; + private int score; + private int match_id; + private String name; + private String avatar; + private String rank; +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/AccuracyGameOne.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/AccuracyGameOne.java new file mode 100644 index 0000000..491a8f7 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/AccuracyGameOne.java @@ -0,0 +1,16 @@ +package com.dsh.guns.modular.system.model; + +import lombok.Data; + +import java.util.List; + +/** + * 获取游戏列表 + */ +@Data +public class AccuracyGameOne { + private int code; + private String message; + private List<AccuracyGameDataOne> data; + private String nextUrl; +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CityGame.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CityGame.java index 0c7fdbf..247ab20 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CityGame.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CityGame.java @@ -11,6 +11,6 @@ public class CityGame { private int code; private String message; - private List<CityGameData> data; + private CityGameData data; private String nextUrl; } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/OperatorUser.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/OperatorUser.java index 6ccfbc2..871d65d 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/OperatorUser.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/OperatorUser.java @@ -1,5 +1,8 @@ package com.dsh.guns.modular.system.model; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -8,16 +11,26 @@ @TableName("t_operator_user") @Data public class OperatorUser { + @TableId(value = "id", type = IdType.AUTO) private Integer id; - private String province; - private Integer provinceCode; - private String city; - private Integer cityCode; + @TableField(value = "userId") private Integer userId; - private Integer platform; - private Integer type; - private BigDecimal proportion; - private Integer state; - private Integer status; + @TableField(value = "alipay") + private String alipay; + @TableField(value = "alipayProportion") + private String alipayProportion; + @TableField(value = "alipayNum") + private String alipayNum; + @TableField(value = "wechat") + private String wechat; + @TableField(value = "wechatProportion") + private String wechatProportion; + @TableField(value = "wechatNum") + private String wechatNum; + @TableField(value = "alipayType") + private Integer alipayType; + @TableField(value = "wechatType") + private Integer wechatType; + @TableField(value = "operatorId") private Integer operatorId; } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/MethodDto.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/MethodDto.java new file mode 100644 index 0000000..6af7834 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/MethodDto.java @@ -0,0 +1,9 @@ +package com.dsh.guns.modular.system.model.dto; + +import lombok.Data; + +@Data +public class MethodDto { + Integer id; + Integer method; +} 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 55d1c2b..01baa7a 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 @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.dsh.guns.modular.system.model.*; +import com.dsh.guns.modular.system.model.dto.SelectDto; import io.swagger.models.auth.In; import com.dsh.course.dto.JsDto; import com.dsh.guns.modular.system.model.Dict; @@ -71,4 +72,6 @@ void insert(JsDto jsDto); JsDto get(Integer id); + + List<SelectDto> getSelect(); } 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 2ac311e..f66f1c7 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 @@ -8,6 +8,7 @@ import com.dsh.guns.modular.system.model.TStore; import com.dsh.guns.modular.system.model.TStoreListVo; import com.dsh.guns.modular.system.model.TTurn; +import com.dsh.guns.modular.system.model.dto.SelectDto; import com.dsh.guns.modular.system.service.IStoreService; import org.springframework.stereotype.Service; @@ -104,6 +105,11 @@ } @Override + public List<SelectDto> getSelect() { + return this.baseMapper.getSelect(); + } + + @Override public List<TImgConfig> getConfig() { return this.baseMapper.getConfig1(); diff --git a/cloud-server-management/src/main/resources/TOperatorUserMapper.xml b/cloud-server-management/src/main/resources/TOperatorUserMapper.xml index 340f060..224b958 100644 --- a/cloud-server-management/src/main/resources/TOperatorUserMapper.xml +++ b/cloud-server-management/src/main/resources/TOperatorUserMapper.xml @@ -1,37 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.dsh.course.mapper.TOperatorUserMapper"> - <select id="listAll" resultType="java.util.Map"> - select t1.id as id, t1.platform,t1.type,t1.proportion,CONCAT(t1.province,t1.city) as provinceAndCity - t1.state as state,t1.status as status,t2.name as userName,t2.phone as phone from t_operatorUser t1 - left join sys_user t2 on t1.userId = t2.id - where 1=1 - <if test="province != null and province != ''"> - and t1.provinceCode = #{province} - </if> - <if test="city != null and city != ''"> - and t1.cityCode = #{city} - </if> - <if test="userName != null and userName != ''"> - and t2.name like CONCAT('%',#{userName},'%') - </if> - <if test="phone != null and phone != ''"> - and t2.phone like CONCAT('%',#{phone},'%') - </if> - <if test="platform != null and platform != ''"> - and t1.platform = #{platform} - </if> - <if test="type != null and type != ''"> - and t1.type = #{type} - </if> - <if test="proportion != null and proportion != ''"> - and t1.proportion = #{proportion} - </if> - <if test="state != null and state != ''"> - and t1.state = #{state} - </if> - <if test="status != null and status != ''"> - and t1.status = #{status} - </if> - </select> + </mapper> diff --git a/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml b/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml index e247e9d..5877e09 100644 --- a/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml +++ b/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml @@ -127,4 +127,15 @@ <select id="getConfig1" resultType="com.dsh.guns.modular.system.model.TImgConfig"> select * from t_img_config </select> + <select id="getSelect" resultType="com.dsh.guns.modular.system.model.dto.SelectDto"> + + + SELECT op.id , CONCAT(us.name,'-',us.`phone`) as value + FROM t_operator op + LEFT JOIN sys_user us on op.userId = us.id + + + + + </select> </mapper> \ No newline at end of file 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 8eef478..caf096a 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,15 +42,24 @@ { "type": "form", "id": "u:24af29be25d2", - "title": "111", + "title": "", "body": [ { - "label": "所属运营商:", + "type": "tpl", + "id": "u:587781d5d181", + "tpl": "                                    *所属运营商:", + "inline": true, + "wrapperComponent": "", + "style": { + "marginLeft": "0" + } + },{ "type": "select", - "name": "operator", - "id": "u:970f68a2c4ee", - "mode": "horizontal", - "size": "lg", + "label": "", + "name": "operationId", + "id": "u:c037c33c2c81", + "mode": "inline", + "size": "md", "multiple": false, "showInvalidMatch": false, "searchable": true, @@ -58,12 +67,38 @@ "horizontal": { "leftFixed": "lg" }, - "options": [ - { - "label": "等待沟通中", - "value": "等待沟通中" + "disabledOn": "is!=0", + "required": true, + "source": { + "url": "/ball/yunying", + "method": "post", + "messages": { } - ] + }, + "labelField": "value", + "valueField": "id" + },{ + "type": "checkbox", + "option": "平台", + "name": "is", + "id": "u:88f23ebcf4f7", + "onEvent": { + "change": { + "weight": 0, + "actions": [ + { + "componentId": "u:c037c33c2c81", + "args": { + "value": "$event.data.value" + }, + "actionType": "setValue" + } + ] + } + }, + "trueValue": "平台", + "falseValue": 0, + "mode": "inline" }, { "type": "select", @@ -214,6 +249,7 @@ }, "value": "", "required": true + }, { "type": "input-text", @@ -224,6 +260,7 @@ "clearValueOnHidden": false, "hidden": false, "required": true + }, { "type": "button", @@ -301,6 +338,16 @@ "mode": "inline", "labelClassName": "text-dark m-b", "value": "14" + }, + { + "type": "tpl", + "id": "u:587781d5d181", + "tpl": "                                ", + "inline": true, + "wrapperComponent": "", + "style": { + "marginLeft": "0" + } }, { "type": "input-text", @@ -385,6 +432,16 @@ "value": "16" }, { + "type": "tpl", + "id": "u:587781d5d181", + "tpl": "                                ", + "inline": true, + "wrapperComponent": "", + "style": { + "marginLeft": "0" + } + }, + { "type": "input-text", "label": "玩派币", "name": "shequCoin", @@ -466,6 +523,16 @@ "value": "13" }, { + "type": "tpl", + "id": "u:587781d5d181", + "tpl": "                                ", + "inline": true, + "wrapperComponent": "", + "style": { + "marginLeft": "0" + } + }, + { "type": "input-text", "label": "玩派币", "name": "shemenCoin", @@ -544,10 +611,20 @@ "value": "玩湃熊之力-速度" }, { + "type": "tpl", + "id": "u:587781d5d181", + "tpl": "                                ", + "inline": true, + "wrapperComponent": "", + "style": { + "marginLeft": "0" + } + }, + { "type": "hidden", "label": "", "name": "suduId", - "id": "u:f0f7e6028e17", + "id": "u:ca5a1fd9c191", "mode": "inline", "labelClassName": "text-dark m-b", "value": "15" @@ -635,6 +712,16 @@ "value": "1" }, { + "type": "tpl", + "id": "u:587781d5d181", + "tpl": "                                ", + "inline": true, + "wrapperComponent": "", + "style": { + "marginLeft": "0" + } + }, + { "type": "input-text", "label": "玩派币", "name": "fangkuaiCoin", @@ -714,6 +801,16 @@ "mode": "inline", "labelClassName": "text-dark m-b", "value": "7" + }, + { + "type": "tpl", + "id": "u:587781d5d181", + "tpl": "                                ", + "inline": true, + "wrapperComponent": "", + "style": { + "marginLeft": "0" + } }, { "type": "input-text", @@ -803,6 +900,16 @@ "value": "8" }, { + "type": "tpl", + "id": "u:587781d5d181", + "tpl": "                                ", + "inline": true, + "wrapperComponent": "", + "style": { + "marginLeft": "0" + } + }, + { "type": "input-text", "label": "玩派币", "name": "sqCoin", @@ -883,6 +990,16 @@ "mode": "inline", "labelClassName": "text-dark m-b", "value": "10" + }, + { + "type": "tpl", + "id": "u:587781d5d181", + "tpl": "                                ", + "inline": true, + "wrapperComponent": "", + "style": { + "marginLeft": "0" + } }, { "type": "input-text", @@ -966,6 +1083,16 @@ "value": "11" }, { + "type": "tpl", + "id": "u:587781d5d181", + "tpl": "                                ", + "inline": true, + "wrapperComponent": "", + "style": { + "marginLeft": "0" + } + }, + { "type": "input-text", "label": "玩派币", "name": "zs2Coin", @@ -1036,7 +1163,7 @@ }, { "type": "hidden", - "label": "游戏名称", + "label": "", "name": "ly", "id": "u:c4a543b6cda0", "mode": "inline", @@ -1045,12 +1172,22 @@ }, { "type": "hidden", - "label": "游戏id", + "label": "", "name": "lyId", "id": "u:90d5f2fa406a", "mode": "inline", "labelClassName": "text-dark m-b", "value": "5" + }, + { + "type": "tpl", + "id": "u:587781d5d181", + "tpl": "                                ", + "inline": true, + "wrapperComponent": "", + "style": { + "marginLeft": "0" + } }, { "type": "input-text", @@ -1137,10 +1274,18 @@ "actions": [ { "componentId": "u:24af29be25d2", + "actionType": "submit" + }, + { "args": { }, - "outputVar": "responseResult", - "actionType": "submit" + "script": "window.parent.TStudent.table.refresh();", + "actionType": "custom" + }, + { + "args": {}, + "script": "parent.layer.close(window.parent.TStudent.layerIndex);", + "actionType": "custom" } ] } @@ -1166,7 +1311,20 @@ "dataType": "form-data" }, "actions": [ - ] + ], + "onEvent": { + "submitSucc": { + "weight": 0, + "actions": [ + { + "args": { + }, + "script": "parent.layer.close(window.parent.TStudent.layerIndex);", + "actionType": "custom" + } + ] + } + } } ] }; diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit.html index 6b53d15..f375f7f 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit.html @@ -45,12 +45,21 @@ "title": "", "body": [ { - "label": "所属运营商:", + "type": "tpl", + "id": "u:587781d5d181", + "tpl": "                                    *所属运营商:", + "inline": true, + "wrapperComponent": "", + "style": { + "marginLeft": "0" + } + },{ "type": "select", - "name": "operator", - "id": "u:970f68a2c4ee", - "mode": "horizontal", - "size": "lg", + "label": "", + "name": "operationId", + "id": "u:c037c33c2c81", + "mode": "inline", + "size": "md", "multiple": false, "showInvalidMatch": false, "searchable": true, @@ -58,12 +67,38 @@ "horizontal": { "leftFixed": "lg" }, - "options": [ - { - "label": "等待沟通中", - "value": "等待沟通中" + "disabledOn": "is!=0", + "required": true, + "source": { + "url": "/ball/yunying", + "method": "post", + "messages": { } - ] + }, + "labelField": "value", + "valueField": "id" + },{ + "type": "checkbox", + "option": "平台", + "name": "is", + "id": "u:88f23ebcf4f7", + "onEvent": { + "change": { + "weight": 0, + "actions": [ + { + "componentId": "u:c037c33c2c81", + "args": { + "value": "$event.data.value" + }, + "actionType": "setValue" + } + ] + } + }, + "trueValue": "平台", + "falseValue": 0, + "mode": "inline" }, { "type": "select", @@ -1245,10 +1280,18 @@ "actions": [ { "componentId": "u:24af29be25d2", + "actionType": "submit" + }, + { "args": { }, - "outputVar": "responseResult", - "actionType": "submit" + "script": "window.parent.TStudent.table.refresh();", + "actionType": "custom" + }, + { + "args": {}, + "script": "parent.layer.close(window.parent.TStudent.layerIndex);", + "actionType": "custom" } ] } diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/cancel.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/cancel.html new file mode 100644 index 0000000..624df13 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/cancel.html @@ -0,0 +1,206 @@ +<!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": "", + "body": [ + { + "type": "form", + "id": "u:6d72ddddf222", + "title": "", + "body": [ + { + "type": "grid", + "columns": [ + ], + "id": "u:313016b48f71" + }, + { + "type": "flex", + "id": "u:e21645a48093", + "className": "p-1", + "items": [ + { + "type": "tpl", + "id": "u:5130236fd5a1", + "tpl": "入园方式", + "inline": true, + "wrapperComponent": "h2" + } + ], + "style": { + "position": "static", + "flexWrap": "nowrap" + }, + "direction": "row", + "justify": "center", + "alignItems": "stretch", + "isFixedHeight": false, + "isFixedWidth": false + }, + { + "type": "input-image", + "label": "上传凭证", + "name": "voucher", + "autoUpload": true, + "proxy": true, + "uploadType": "fileReceptor", + "imageClassName": "r w-full", + "receiver": { + "url": "/mgr/uploadImgAmis", + "method": "post" + }, + "id": "u:15f57e1e7de6", + "accept": ".jpeg, .jpg, .png, .gif", + "multiple": false, + "hideUploadButton": false, + "fixedSize": false, + "required": true, + "mode": "horizontal" + }, + { + "type": "textarea", + "label": "备注:", + "name": "textarea", + "id": "u:d98613414ea8", + "minRows": 3, + "maxRows": 20, + "mode": "horizontal", + "size": "md" + }, + { + "type": "hidden", + "name": "id", + "id": "u:91f4afc2930e", + "value": `${id}` + }, + { + "type": "flex", + "id": "u:8254704349a2", + "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:6d72ddddf222", + "actionType": "submit" + } + ] + } + } + } + ], + "style": { + "position": "relative" + } + }, + { + "type": "grid", + "columns": [ + ], + "id": "u:ec43218540fa" + } + ], + "api": { + "url": "/ball/cancel", + "method": "post", + "messages": { + }, + "dataType": "form-data" + }, + "actions": [ + ], + "onEvent": { + "submitSucc": { + "weight": 0, + "actions": [ + { + "args": { + }, + "script": "window.parent.TStudent.table.refresh();", + "actionType": "custom" + }, + { + "args": { + }, + "script": "parent.layer.close(window.parent.TStudent.layerIndex);", + "actionType": "custom" + } + ] + } + } + } + ], + "id": "u:b97e4e9b9f48", + "actions": [ + ] + }; + + let amisScoped = amis.embed('#root', amisJSON); + + + })(); + + +</script> + +</body> +</html> \ No newline at end of file diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/join.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/join.html new file mode 100644 index 0000000..1ff3eb8 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/join.html @@ -0,0 +1,189 @@ +<!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": "", + "body": [ + { + "type": "form", + "id": "u:6d72ddddf25c", + "title": "", + "body": [ + { + "type": "grid", + "columns": [ + ], + "id": "u:313016b48f71" + }, + { + "type": "flex", + "id": "u:e21645a48093", + "className": "p-1", + "items": [ + { + "type": "tpl", + "id": "u:5130236fd5a1", + "tpl": "入园方式", + "inline": true, + "wrapperComponent": "h2" + } + ], + "style": { + "position": "static", + "flexWrap": "nowrap" + }, + "direction": "row", + "justify": "center", + "alignItems": "stretch", + "isFixedHeight": false, + "isFixedWidth": false + }, + { + "type": "hidden", + "name": "id", + "id": "u:91f4afc2930e", + "value": `${id}` + }, + { + "type": "radios", + "id": "u:d98068b4f7d2", + "label": "请选择:", + "name": "method", + "options": [ + { + "label": "手环", + "value": "1" + } + ], + "mode": "inline", + "required": true + }, + { + "type": "flex", + "id": "u:8254704349a2", + "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:6d72ddddf25c", + "actionType": "submit" + } + ] + } + } + } + ], + "style": { + "position": "relative" + } + }, + { + "type": "grid", + "columns": [ + ], + "id": "u:ec43218540fa" + } + ], + "api": { + "url": "/ball/selectJoin", + "method": "post", + "messages": { + } + }, + "actions": [ + ], + "onEvent": { + "submitSucc": { + "weight": 0, + "actions": [ + { + "args": { + }, + "script": "window.parent.TStudent.table.refresh();", + "actionType": "custom" + }, + { + "args": { + }, + "script": "parent.layer.close(window.parent.TStudent.layerIndex);", + "actionType": "custom" + } + ] + } + } + } + ], + "id": "u:b97e4e9b9f48", + "actions": [ + ] + }; + + let amisScoped = amis.embed('#root', amisJSON); + + + })(); + + +</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 index 0aafb2c..f4eef17 100644 --- 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 @@ -55,6 +55,45 @@ </div> <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="payMethod"> + <option value="">全部</option> + <option value=1>微信</option> + <option value=2>支付宝</option> + <option value=3>玩湃币</option> + <option value=4>手动支付</option> + </select> + </div> + </div> + + <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="state"> + <option value="">全部</option> + + <option value="0">待支付</option> + <option value="1">待核销</option> + <option value="2">已到店</option> + <option value="3">已完成</option> + <option value="4">已过期</option> + <option value="5">已取消</option> + </select> + </div> + </div> + + + + <div class="col-sm-3"> <#button name="搜索" icon="fa-search" clickFun="TStudent.search()"/> </div> </div> @@ -62,7 +101,10 @@ <#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"/> + <#button name="取消凭证" icon="fa-edit" clickFun="TStudent.openTStudentDetail4()" space="true"/> + + <#button name="查看详情" icon="fa-edit" clickFun="TStudent.openTStudentDetail5()" 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/yuyue_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_add.html index d64fa91..3ced3d4 100644 --- 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 @@ -52,7 +52,7 @@ <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)"> + <select class="form-control" id="siteId" name="siteId" > <option >请选择场地</option> @@ -76,7 +76,7 @@ <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" > + <input class="form-control" id="time" name="time" type="text" onchange="CoursePackageInfo.addTime()"> </div> </div> @@ -248,7 +248,42 @@ elem: '#time' ,lang:"CN", min:0, - max:10 + max:10, + format:'yyyy-MM-dd', + done: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.set("date",$('#time').val()); + 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() + + } }); laydate.render({ diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_edit.html new file mode 100644 index 0000000..6dd45c1 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_edit.html @@ -0,0 +1,354 @@ +@layout("/common/_container.html"){ +<style> + .green-button { + background-color: green; + } +</style> +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <input type="hidden" id="id" value="${item.id}"> + <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.code == item.provinceCode ? 'selected=selected' : ''}>${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.code == item.cityCode ? 'selected=selected' : ''}>${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.id == item.storeId ? 'selected=selected' : ''}>${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> + <input type="hidden" id="selSiteId" value="${item.siteId}"> + + <div class="col-sm-4"> + <select class="form-control" id="siteId" name="siteId" onchange="CoursePackageInfo.addTime1()" > + <option >请选择场地</option> + + @for(obj in site){ + <option value="${obj.id}" data-custom-data="1" ${obj.id == item.siteId ? 'selected=selected' : ''} >${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"> + <input type="hidden" id="selDate" value="${date}"> + <label class="col-sm-3 control-label">预约时间:</label> + <div class="col-sm-4"> + <input class="form-control" id="time" name="time" type="text" value="${date}"> + + </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 class="layui-btn-group" id="ttt3"> + + @for(obj in timeRanges){ + <button name="has" type="button" ${obj.state == 0 ? "class = 'layui-btn layui-btn-primary' disabled style='background-color: red'" : obj.state == 1 ? "class = 'layui-btn layui-btn-primary green-button'" : "class = 'layui-btn layui-btn-primary'"} onclick="toggleColor(this)">${obj.time}</button> +<!-- <button type="button" ${obj.state == 0 ? "class = 'layui-btn layui-btn-primary' disabled style='background-color: red'" : "class = 'layui-btn layui-btn-primary' "} onclick="toggleColor(this)">${obj.time}</button>--> +<!-- <button type="button" ${obj.state == 0 ? "class = 'layui-btn layui-btn-primary green-button'" : "class = 'layui-btn layui-btn-primary'"} onclick="toggleColor(this)">${obj.time}</button>--> + @} + </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" value="${money[0]!}" > + </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" value="${money[1]!}" > + + </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" value="${item.booker}" > + + </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" value="${item.phone}" > + + </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.addSubmit1()"/> + <#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, + format:'yyyy-MM-dd', + done:function (a) { + console.log("==============="+$('#time').val()) + console.log("==============="+$('#selDate').val()) + console.log("==============="+$('#siteId').val()) + console.log("==============="+$('#selSiteId').val()) + + if ($('#siteId').val() != $('#selSiteId').val()||$('#time').val()!=$('#selDate').val()){ + $("#ttt3").hide() + $("#ttt2").show() + + }else { + $("#ttt3").show() + $("#ttt2").hide() + + } + + 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() + + + + + + } + + + }); + + 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/ball/yuyue_info.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_info.html new file mode 100644 index 0000000..4ee4007 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue_info.html @@ -0,0 +1,384 @@ +@layout("/common/_container.html"){ +<style> + .green-button { + background-color: green; + } +</style> +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <input type="hidden" id="id" value="${item.id}"> + <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" disabled> + @for(obj in province){ + <option value="${obj.code}" ${obj.code == item.provinceCode ? 'selected=selected' : ''}>${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" disabled> + @for(obj in city){ + <option value="${obj.code}" ${obj.code == item.cityCode ? 'selected=selected' : ''}>${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" disabled> + @for(obj in store){ + <option value="${obj.id}" ${obj.id == item.storeId ? 'selected=selected' : ''}>${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)" disabled> 全场 + <input type="radio" name="type" value="2" onclick="updateType(2)" disabled> 半场 + </div> + </div> + + + + <div class="form-group"> + <label class="col-sm-3 control-label">*上课场地:</label> + <input type="hidden" id="selSiteId" value="${item.siteId}"> + + <div class="col-sm-4"> + <select class="form-control" id="siteId" name="siteId" onchange="CoursePackageInfo.addTime1()" disabled > + <option >请选择场地</option> + + @for(obj in site){ + <option value="${obj.id}" data-custom-data="1" ${obj.id == item.siteId ? 'selected=selected' : ''} >${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" disabled> + + </select> + </div> + </div> + + <div class="form-group"> + <input type="hidden" id="selDate" value="${date}"> + <label class="col-sm-3 control-label">预约时间:</label> + <div class="col-sm-4"> + <input class="form-control" id="time" name="time" type="text" value="${date}" disabled> + + </div> + </div> + + + + + + + + + + + + <div class="form-group"> + <label class="col-sm-3 control-label">*预约时间段:</label> + <div class="col-sm-5" id="ttt1" disabled=""> + <div class="layui-btn-group" id="ttt2"> + + + </div> + + <div class="layui-btn-group" id="ttt3"> + + @for(obj in timeRanges){ + <button disabled name="has" type="button" ${obj.state == 0 ? "class = 'layui-btn layui-btn-primary' disabled style='background-color: red'" : obj.state == 1 ? "class = 'layui-btn layui-btn-primary green-button'" : "class = 'layui-btn layui-btn-primary'"} onclick="toggleColor(this)">${obj.time}</button> + <!-- <button type="button" ${obj.state == 0 ? "class = 'layui-btn layui-btn-primary' disabled style='background-color: red'" : "class = 'layui-btn layui-btn-primary' "} onclick="toggleColor(this)">${obj.time}</button>--> + <!-- <button type="button" ${obj.state == 0 ? "class = 'layui-btn layui-btn-primary green-button'" : "class = 'layui-btn layui-btn-primary'"} onclick="toggleColor(this)">${obj.time}</button>--> + @} + </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" value="${money[0]!}" disabled > + + </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" value="${money[1]!}" disabled > + + </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" value="${item.booker}" disabled > + + </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" value="${item.phone}" disabled > + + </div> + </div> + + <div class="form-group"> + <label class="col-sm-3 control-label">操作人:</label> + <div class="col-sm-4"> + <input class="form-control" id="cancelUserId" name="cancelUserId" type="text" value="${cancelUser!}" disabled > + + </div> + </div> + + <div class="form-group" disabled> + <label class="col-sm-3 control-label head-scu-label">*上传凭证:</label> + <div class="col-sm-2"> + <div id="introduceDrawingPreId"> + <div><img width="100px" height="100px" src="${item.voucher}"></div> + </div> + </div> + <div class="col-sm-2"> + + </div> + + </div> + + + <div class="form-group"> + <label class="col-sm-3 control-label">备注:</label> + <div class="col-sm-4"> + <textarea class="form-control" id="remark" name="remark" disabled>${item.remark}</textarea > + </div> + </div> + + </div> + <div class="row btn-group-m-t"> + <div class="col-sm-10"> +<!-- <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="CoursePackageInfo.addSubmit1()"/>--> + <#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, + format:'yyyy-MM-dd', + done:function (a) { + console.log("==============="+$('#time').val()) + console.log("==============="+$('#selDate').val()) + console.log("==============="+$('#siteId').val()) + console.log("==============="+$('#selSiteId').val()) + + if ($('#siteId').val() != $('#selSiteId').val()||$('#time').val()!=$('#selDate').val()){ + $("#ttt3").hide() + $("#ttt2").show() + + }else { + $("#ttt3").show() + $("#ttt2").hide() + + } + + 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() + + + + + + } + + + }); + + 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/course/course.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/course/course.html index 5f50669..7060573 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/course/course.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/course/course.html @@ -4,7 +4,7 @@ <div class="col-sm-12"> <div class="ibox float-e-margins"> <div class="ibox-title"> - <h5>课程管理</h5> + <h5>视频课管理</h5> </div> <div class="ibox-content"> <div class="row row-lg"> @@ -35,24 +35,12 @@ </div> </div> <div class="hidden-xs" id="managerTableToolbar" role="group"> - @if(shiro.hasPermission("/course/addCourse")){ <#button name="添加" icon="fa-plus" clickFun="Course.addCourse()"/> - @} - @if(shiro.hasPermission("/course/editCourse")){ <#button name="编辑" icon="fa-edit" clickFun="Course.editCourse()" space="true"/> - @} - @if(shiro.hasPermission("/course/deleteCourse")){ <#button name="删除" icon="fa-remove" clickFun="Course.deleteCourse()" space="true"/> - @} - @if(shiro.hasPermission("/course/upCourse")){ <#button name="上架" icon="fa-refresh" clickFun="Course.editCourseState(1)" space="true"/> - @} - @if(shiro.hasPermission("/course/downCourse")){ <#button name="下架" icon="fa-warning" clickFun="Course.editCourseState(2)" space="true"/> - @} - @if(shiro.hasPermission("/course/detailsCourse")){ <#button name="详情" icon="fa-check-circle" clickFun="Course.detailsCourse()" space="true"/> - @} </div> <#table id="managerTable"/> </div> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html index cb7fc3a..f66df1d 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html @@ -205,7 +205,7 @@ <span class="classNumber_span" ${type == 2||type == 3 ? '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;"> </span> <span class="cash_span" ></span> <span class="paiCoin_span"></span> - <#button btnCss="info" name="优惠卷" id="ensure" icon="fa-check" clickFun="CoursePackageInfo.openDia(1)"/> + <#button btnCss="info" name="优惠券" id="ensure" icon="fa-check" clickFun="CoursePackageInfo.openDia(1)"/> <i class="fa fa-plus-circle" style="font-size:24px" onclick="addPrice(${type})"></i> <input type="text" id = "counpons1" class="counpons" hidden="hidden" > </div> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_edit.html index c9d8e1b..7142138 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_edit.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_edit.html @@ -221,7 +221,7 @@ @} </span> <input type="hidden" id="counpons1" value="${couponIds}" class="counpons"> - <#button btnCss="info" name="优惠卷" id="ensure" icon="fa-check" clickFun="CoursePackageInfo.openDia(1)"/> + <#button btnCss="info" name="优惠券" id="ensure" icon="fa-check" clickFun="CoursePackageInfo.openDia(1)"/> <i class="fa fa-plus-circle" style="font-size:24px" onclick="addPrice(${type})"></i> </div> </div> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/gameData/GameData.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/gameData/GameData.html index 443382a..491d757 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/gameData/GameData.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/gameData/GameData.html @@ -66,7 +66,7 @@ @} </select> - <#button name="搜索" icon="fa-search" clickFun="Search()"/> + <#button name="搜索" icon="fa-search" clickFun="BatterData()"/> </div> <div class="col-sm-10"> <div class="row" id="t1" style="margin-left: 100px;"> @@ -142,61 +142,76 @@ </div> </div> <div class="row" id="content3" style="margin-left: 100px;"> + <div class="col-sm-11"> + <div class="form-group"> + <span id="totalNumber3">全球场次总数:</span> + </div> + </div> + </br> <div class="col-sm-11" style="display: flex"> <div class="form-group"> - <label class="col-sm-3 control-label">*筛选城市:</label> + <label class="col-sm-3 control-label">*筛选范围:</label> <div class="col-sm-9"> - <select style="width: 200px" class="form-control" id="yearOrMonth3" name="cCode" onchange="getStoreByCity1(this)"> + <select style="width: 300px" class="form-control" id="yearOrMonth3" name="cCode" > <option value="y">年度</option> <option value="m">月度</option> </select> </div> </div> + <div class="form-group" > <label class="col-sm-3 control-label">*筛选内容:</label> <div class="col-sm-9" style="display: flex;"> - <input style="width: 200px" class="form-control" id="con3" placeholder="请输入年份或者月份" type="text"> + <input style="width: 300px" class="form-control" id="con3" placeholder="请输入年份或者月份" type="text"> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">*筛选城市:</label> <div class="col-sm-9"> - <select style="width: 200px" class="form-control" id="cCode3" name="cCode" onchange="getStoreByCity1(this)"> + <select style="width: 300px" class="form-control" id="cCode3" name="cCode" onchange="getStoreByCity3(this)"> <option value="">全球</option> @for(obj in list){ - <option style="width: 200px" value="${obj.cityCode}">${obj.city}</option> + <option style="width: 300px" value="${obj.cityCode}">${obj.city}</option> @} </select> </div> </div> - <div class="form-group" > - <label class="col-sm-3 control-label">*筛选场地:</label> - <div class="col-sm-9"> - <select style="width: 200px" class="form-control" id="site3" name="site"> - <option value="">全球</option> - @for(obj in sites){ - <option style="width: 200px" value="${obj.id}">${obj.name}</option> - @} - </select> - </div> + </div> + <div class="col-sm-11" style="display: flex"> + <div class="form-group" > + <label class="col-sm-3 control-label">*筛选场地:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="site3" name="site"> + <option value="">全球</option> + @for(obj in sites){ + <option style="width: 300px" value="${obj.id}">${obj.name}</option> + @} + </select> </div> - <#button name="搜索" icon="fa-search" clickFun="TSite.search3()"/> + </div> + <#button name="搜索" icon="fa-search" clickFun="TSite.search3()"/> </div> <#table id="TSiteTable"/> </div> <div class="row" id="content4" style="margin-left: 100px;"> + <div class="col-sm-11"> + <div class="form-group"> + <span id="totalNumber4">全球场次总数:</span> + </div> + </div> <div class="col-sm-11" style="display: flex"> <div class="form-group"> - <label class="col-sm-3 control-label">*筛选城市:</label> + <label class="col-sm-3 control-label">*筛选范围:</label> <div class="col-sm-9"> - <select style="width: 200px" class="form-control" id="yearOrMonth4" name="cCode" onchange="getStoreByCity1(this)"> + <select style="width: 300px" class="form-control" id="yearOrMonth4" name="cCode"> <option value="y">年度</option> <option value="m">月度</option> </select> </div> </div> + <div class="form-group" > <label class="col-sm-3 control-label">*筛选内容:</label> <div class="col-sm-9" style="display: flex;"> @@ -207,7 +222,7 @@ <div class="form-group"> <label class="col-sm-3 control-label">*筛选城市:</label> <div class="col-sm-9"> - <select style="width: 300px" class="form-control" id="cCode4" name="cCode" onchange="getStoreByCity1(this)"> + <select style="width: 300px" class="form-control" id="cCode4" name="cCode" onchange="getStoreByCity4(this)"> <option value="">全球</option> @for(obj in list){ <option style="width: 300px" value="${obj.cityCode}">${obj.city}</option> @@ -216,19 +231,23 @@ </div> </div> - <div class="form-group" > - <label class="col-sm-3 control-label">*筛选场地:</label> - <div class="col-sm-9"> - <select style="width: 300px" class="form-control" id="site4" name="site"> - <option value="">全球</option> - @for(obj in sites){ - <option style="width: 300px" value="${obj.id}">${obj.name}</option> - @} - </select> - </div> - </div> - <#button name="搜索" icon="fa-search" clickFun="TCompetition.search4()"/> </div> + + <div class="col-sm-11" style="display: flex"> + <div class="form-group" > + <label class="col-sm-3 control-label">*筛选场地:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="site4" name="site"> + <option value="">全球</option> + @for(obj in sites){ + <option style="width: 300px" value="${obj.id}">${obj.name}</option> + @} + </select> + </div> + </div> + <#button name="搜索" icon="fa-search" clickFun="TSite1.search4()"/> + </div> + <#table id="TSiteTable1"/> </div> </div> @@ -376,8 +395,8 @@ // 时长 yT = []; mT = []; + yearX=[]; for (let i = 0; i <yDataList.length ; i++) { - yD.push(yDataList[i].total_num); yT.push(yDataList[i].batter_time); } @@ -387,6 +406,9 @@ } for (let i = 0; i <resp.yearList.length ; i++) { yearX.push(resp.yearList[i]) + } + if(resp.yearList.length==0){ + yearX=[2019,2020,2021,2023] } var totalNumber= resp.totalNumber; var totalTime= resp.totalTime; @@ -496,7 +518,12 @@ } ] }; + var myChart4 = echarts.init(document.getElementById('number')); + myChart4.setOption(option); + var myChart5 = echarts.init(document.getElementById('time')); + myChart5.setOption(option2); }); + ajax.set("storeId",$("#stores").val()); ajax.start(); } @@ -546,7 +573,18 @@ BatterData(); SUTUData(); Search1(); - + // 跨城赛获取全球场次总数 + var ajax = new $ax(Feng.ctxPath + "/gameData/cityGame", function(data){ + var totalNumber3= document.getElementById("totalNumber3"); + totalNumber3.innerText = "全球场次总数:"+data.totalNum; + }); + ajax.start(); + // 获取90°准度赛全球场次总数 + var ajax4 = new $ax(Feng.ctxPath + "/gameData/cityGameOne", function(data){ + var totalNumber4= document.getElementById("totalNumber4"); + totalNumber4.innerText = "全球场次总数:"+data.totalNum; + }); + ajax4.start(); // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('number')); @@ -619,7 +657,12 @@ var cityCode=$(e).val(); var ajax = new $ax(Feng.ctxPath + "/tSite/getSiteByCity", function(data){ if(data!=null){ - var content='<option value="">全球</option>'; + if (cityCode==""){ + var content='<option value="">全球</option>'; + }else{ + var content='<option value="">全部</option>'; + } + $.each(data, function(k,v) { content += "<option value='"+v.id+"'>"+v.name+"</option>"; }); @@ -629,15 +672,37 @@ ajax.set("oneId",cityCode); ajax.start(); } - function getStoreByCity1(e) { + function getStoreByCity3(e) { var cityCode=$(e).val(); var ajax = new $ax(Feng.ctxPath + "/tSite/getSiteByCity", function(data){ if(data!=null){ - var content='<option value="">全球</option>'; + if (cityCode==""){ + var content='<option value="">全球</option>'; + }else{ + var content='<option value="">全部</option>'; + } $.each(data, function(k,v) { content += "<option value='"+v.id+"'>"+v.name+"</option>"; }); - $("#site1").empty().append(content); + $("#site3").empty().append(content); + } + }); + ajax.set("oneId",cityCode); + ajax.start(); + } + function getStoreByCity4(e) { + var cityCode=$(e).val(); + var ajax = new $ax(Feng.ctxPath + "/tSite/getSiteByCity", function(data){ + if(data!=null){ + if (cityCode==""){ + var content='<option value="">全球</option>'; + }else{ + var content='<option value="">全部</option>'; + } + $.each(data, function(k,v) { + content += "<option value='"+v.id+"'>"+v.name+"</option>"; + }); + $("#site4").empty().append(content); } }); ajax.set("oneId",cityCode); diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/gateData/GateData.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/gateData/GateData.html index 45bdb55..78d091a 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/gateData/GateData.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/gateData/GateData.html @@ -11,7 +11,7 @@ <div class="row"> </div> <div class="hidden-xs" id="TCompetitionTableToolbar" role="group"> - <h3>场地总人次:</h3> + <h3 id="totalNumber">场地总人次:</h3> </div> <#table id="TSiteTable"/> </div> @@ -27,5 +27,12 @@ ,range: true ,lang:"en" }); + $(function(){ + var ajax = new $ax(Feng.ctxPath + "/gateData/totalNum", function(data){ + var totalNumber= document.getElementById("totalNumber"); + totalNumber.innerText = "场地总人次:" + data +"次"; + }); + ajax.start(); + }); </script> @} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/Operator.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/Operator.html index b132165..035ee7d 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/Operator.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/Operator.html @@ -39,6 +39,7 @@ <#button name="编辑" icon="fa-edit" clickFun="TSite.openInfo()" space="true"/> <#button name="冻结" icon="fa-remove" clickFun="TSite.offShelf()" space="true"/> <#button name="解冻" icon="fa-check" clickFun="TSite.onShelf()" space="true"/> + <#button name="分账比例" icon="fa-plus" clickFun="TSite.proportion()"/> <#button name="重置密码" icon="fa-search" clickFun="TSite.reload()" space="true"/> </div> <#table id="TSiteTable"/> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportion.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportion.html new file mode 100644 index 0000000..bf89989 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportion.html @@ -0,0 +1,109 @@ +@layout("/common/_container.html"){ +<style> + .avatar-uploader .el-upload { + border: 1px dashed #d9d9d9; + border-radius: 6px; + cursor: pointer; + position: relative; + height: 100px; + width: 100px; + overflow: hidden; + } + + .avatar-uploader .el-upload:hover { + border-color: #409EFF; + } + .avatar-uploader-icon { + font-size: 28px; + color: #8c939d; + width: 100px; + height: 100px; + line-height: 100px; + margin-top: 32px; + text-align: center; + } + .avatar { + width: 100px; + height: 100px; + display: block; + } + + .col-sm-12 { + margin-top: 20px; + } + + .col-sm-12 select { + height: 33px; + } + #app1{ + margin-left: 255px; + } + + +</style> +<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal" id="carInfoForm"> + <div class="row"> + <div class="col-lg-6" style=""> + <input hidden id="operatorIdOne" value="${operatorIdOne}"> + <div class="form-group" > + <label class="col-sm-3 control-label">*支付宝分账比例(%):</label> + <div class="col-sm-9"> + <input style="width: 300px" class="form-control" id="alipayProportion" value="${alipayProportion}" placeholder="请输入" type="number"> + </div> + </div> + <div class="form-group" > + <label class="col-sm-3 control-label">*微信分账比例(%):</label> + <div class="col-sm-9"> + <input style="width: 300px" class="form-control" id="wechatProportion" value="${wechatProportion}" placeholder="请输入" type="number"> + </div> + </div> + </div> + </div> + + + + <div class="form-group"> + <div class="row btn-group-m-t"> + <div class="col-sm-10 col-sm-offset-5" > + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSite.addSubmit1()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TSite.close()"/> + </div> + </div> + </div> + </div> + </div> +</div> + +<script src="${ctxPath}/modular/system/operator/operator.js"></script> +<script src="${ctxPath}/js/vue/vue.js"></script> +<script src="${ctxPath}/js/elementui/index.js"></script> +<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> +<script> + laydate.render({ + elem: '#tradeTime' + ,range: true + ,lang:"CN" + }); + laydate.render({ + elem: '#IDCardTime' + ,range: true + ,lang:"CN" + }); + laydate.render({ + elem: '#bTime' + ,range: true + ,lang:"CN" + }); + function updateHalf(e) { + if(e==1){ + $("#benefit").hide() + }else { + $("#benefit").show() + } + + } +</script> +@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportionAuth.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportionAuth.html new file mode 100644 index 0000000..8105712 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportionAuth.html @@ -0,0 +1,125 @@ +@layout("/common/_container.html"){ +<style> + .avatar-uploader .el-upload { + border: 1px dashed #d9d9d9; + border-radius: 6px; + cursor: pointer; + position: relative; + height: 100px; + width: 100px; + overflow: hidden; + } + + .avatar-uploader .el-upload:hover { + border-color: #409EFF; + } + .avatar-uploader-icon { + font-size: 28px; + color: #8c939d; + width: 100px; + height: 100px; + line-height: 100px; + margin-top: 32px; + text-align: center; + } + .avatar { + width: 100px; + height: 100px; + display: block; + } + + .col-sm-12 { + margin-top: 20px; + } + + .col-sm-12 select { + height: 33px; + } + #app1{ + margin-left: 255px; + } + + +</style> +<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal" id="carInfoForm"> + <div class="row"> + <div class="col-lg-6" style=""> + <input id="operatorId" value="${operatorId}" hidden> + <div class="form-group"> + <label class="col-sm-3 control-label">*支付宝认证类型:</label> + <div class="col-sm-9"> + <input type="radio" name="alipayType" value="1" checked>个人 + <input type="radio" name="alipayType" value="2" >企业 + </div> + </div> + <div class="form-group" > + <label class="col-sm-3 control-label">*支付宝商户号:</label> + <div class="col-sm-9"> + <input style="width: 300px" class="form-control" id="alipayNum" placeholder="请输入" type="text"> + </div> + </div> + + <div class="form-group"> + <label class="col-sm-3 control-label">*微信认证类型:</label> + <div class="col-sm-9"> + <input type="radio" name="wechatType" value="1" checked>个人 + <input type="radio" name="wechatType" value="2" >企业 + </div> + </div> + <div class="form-group" > + <label class="col-sm-3 control-label">*微信商户号:</label> + <div class="col-sm-9"> + <input style="width: 300px" class="form-control" id="wechatNum" placeholder="请输入" type="text"> + </div> + </div> + + </div> + </div> + + + + <div class="form-group"> + <div class="row btn-group-m-t"> + <div class="col-sm-10 col-sm-offset-5" > + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSite.addSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TSite.close()"/> + </div> + </div> + </div> + </div> + </div> +</div> + +<script src="${ctxPath}/modular/system/operator/operator.js"></script> +<script src="${ctxPath}/js/vue/vue.js"></script> +<script src="${ctxPath}/js/elementui/index.js"></script> +<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> +<script> + laydate.render({ + elem: '#tradeTime' + ,range: true + ,lang:"CN" + }); + laydate.render({ + elem: '#IDCardTime' + ,range: true + ,lang:"CN" + }); + laydate.render({ + elem: '#bTime' + ,range: true + ,lang:"CN" + }); + function updateHalf(e) { + if(e==1){ + $("#benefit").hide() + }else { + $("#benefit").show() + } + + } +</script> +@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html index a639b53..31f91ba 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html @@ -93,8 +93,7 @@ </div> </div> <div class="hidden-xs" id="TCompetitionTableToolbar" role="group"> - <#button name="分账比例" icon="fa-plus" clickFun="TSite.openAddTSite()"/> - <#button name="认证" icon="fa-plus" clickFun="TSite.openInfo()"/> + <#button name="分账比例" icon="fa-plus" clickFun="TSite.proportion()"/> </div> <#table id="TSiteTable"/> </div> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser_auth.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser_auth.html deleted file mode 100644 index cebe82c..0000000 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser_auth.html +++ /dev/null @@ -1,308 +0,0 @@ -@layout("/common/_container.html"){ -<style> - .avatar-uploader .el-upload { - border: 1px dashed #d9d9d9; - border-radius: 6px; - cursor: pointer; - position: relative; - height: 100px; - width: 100px; - overflow: hidden; - } - - .avatar-uploader .el-upload:hover { - border-color: #409EFF; - } - .avatar-uploader-icon { - font-size: 28px; - color: #8c939d; - width: 100px; - height: 100px; - line-height: 100px; - margin-top: 32px; - text-align: center; - } - .avatar { - width: 100px; - height: 100px; - display: block; - } - - .col-sm-12 { - margin-top: 20px; - } - - .col-sm-12 select { - height: 33px; - } - #app1{ - margin-left: 255px; - } - - -</style> -<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> -<div class="ibox float-e-margins"> - <div class="ibox-content"> - <div class="form-horizontal" id="carInfoForm"> - <h2>商户信息</h2> - <div style="display: flex"> - <span id="storeName"></span> - <span id="storeStaff"></span> - <span id="storePhone"></span> - </div> - <h2>商户号信息</h2> - </br> - </br> - - <div class="row"> - <div class="col-lg-6" style=""> - <div class="form-group"> - <label class="col-sm-4 control-label" > - 主题类型:<input type="radio" name="type" value="1" checked onclick="updateHalf(1)">个人 - <input type="radio" name="type" value="2" onclick="updateHalf(2)">企业 - </label> - </div> - <div class="form-group" > - <label class="col-sm-3 control-label">*营业执照商户名称:</label> - <div class="col-sm-9"> - <input style="width: 300px" class="form-control" id="merchantName" placeholder="请输入" type="text"> - </div> - </div> - <div class="form-group" > - <label class="col-sm-3 control-label">*法定代表人姓名:</label> - <div class="col-sm-9"> - <input style="width: 300px" class="form-control" id="lrName" placeholder="请输入" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">*营业期限:</label> - <div class="col-sm-9" style="display: flex"> - <input style="width: 300px" class="form-control" id="tradeTime" name="tradeTime" type="date"> - <input type="checkbox" style="margin-left: 10px" id="tradeT" value="0" onchange="TSite.tradeYse(this)">长期</input> - </div> - </div> - </div> - <div class="col-lg-6" style=""> - <div class="form-group" > - <label class="col-sm-3 control-label">*营业执照注册号:</label> - <div class="col-sm-9" > - <input style="width: 300px" class="form-control" id="licenseRegistration" placeholder="请输入" type="text"> - </div> - </div> - <div class="form-group" > - <label class="col-sm-3 control-label">*注册地址:</label> - <div class="col-sm-9" > - <input style="width: 300px" class="form-control" id="registerAddress" placeholder="请输入" type="text"> - </div> - </div> - <div class="form-group"> - <#avatar id="license" name="营业执照" /> - </div> - </div> - </div> - <div class="row"> - <div class="col-lg-6" style=""> - <div class="form-group" > - <label class="col-sm-3 control-label">*法人姓名:</label> - <div class="col-sm-9" > - <input style="width: 300px" class="form-control" id="legalPerson" placeholder="请输入" type="text"> - </div> - </div> - <div class="form-group" > - <label class="col-sm-3 control-label">*法人手机号:</label> - <div class="col-sm-9"> - <input style="width: 300px" class="form-control" id="legalPhone" placeholder="请输入" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">*法人身份证有效期:</label> - <div class="col-sm-9" style="display: flex"> - <input style="width: 300px" class="form-control" id="IDCardTime" name="IDCardTime" type="date"> - <input type="checkbox" style="margin-left: 10px" id="IDCardT" value="0" onchange="TSite.tradeYse(this)">长期</input> - </div> - </div> - <div class="form-group"> - <#avatar id="IDCardImg" name="法人身份证正面照" /> - </div> - </div> - <div class="col-lg-6" style=""> - <div class="form-group"> - <label class="col-sm-3 control-label">*法人身份证号:</label> - <div class="col-sm-9"> - <input style="width: 300px" class="form-control" id="lIDNumber" placeholder="请输入" type="text"> - </div> - </div> - <div class="form-group" > - <label class="col-sm-3 control-label">*法人邮箱:</label> - <div class="col-sm-9"> - <input style="width: 300px" class="form-control" id="lEmail" placeholder="请输入" type="text"> - </div> - </div> - <div class="form-group" > - <label class="col-sm-3 control-label">*法人身份证地址:</label> - <div class="col-sm-9"> - <input style="width: 300px" class="form-control" id="lIDAddress" placeholder="请输入" type="text"> - </div> - </div> - <div class="form-group"> - <#avatar id="IDCardImg1" name="法人身份证背面照" /> - </div> - </div> - </div> - - <div class="row"> - <div class="col-lg-6" style=""> - <div class="form-group" > - <label class="col-sm-4 control-label" > - 结算账户类型:<input type="radio" name="type" value="1">对公 <input type="radio" name="type" value="2">对私 - </label> - </div> - - <div class="form-group"> - <label class="col-sm-3 control-label">开户银行:</label> - <div class="col-sm-9"> - <select style="width: 300px" class="form-control" id="bank" name="bank"> - <option value="">选择开户银行</option> - @for(obj in bankList){ - <option value="${obj.bankCode}">${obj.bankName}</option> - @} - </select> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">开户所在地:</label> - <div class="col-sm-9" style="display: flex"> - <select style="width: 150px" class="form-control" id="pCode" onchange="TSite.oneChange(this)" name="bank"> - <option value="">选择省</option> - @for(obj in provinceList){ - <option value="${obj.code}">${obj.name}</option> - @} - </select> - <select style="width: 150px" class="form-control" id="cCode" name="bank"> - <option value="">选择市区</option> - </select> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">*银行卡号:</label> - <div class="col-sm-9"> - <input style="width: 300px" class="form-control" id="backNumber" name="backNumber" type="text"> - </div> - </div> - </div> - <div class="col-lg-6" style=""> - <div class="form-group"> - <label class="col-sm-3 control-label">*开户名称:</label> - <div class="col-sm-9"> - <input style="width: 300px" class="form-control" id="backUserName" placeholder="请输入" type="text"> - </div> - </div> - <div class="form-group" > - <label class="col-sm-3 control-label">*开户行全称:</label> - <div class="col-sm-9"> - <input style="width: 300px" class="form-control" id="backName" placeholder="请输入" type="text"> - </div> - </div> - </div> - </div> - <div class="row" id="benefit"> - <div class="col-lg-6" style=""> - <div class="form-group"> - <label class="col-sm-4 control-label" > - 法人是否为受益人:<input type="radio" name="type" value="1">是 <input type="radio" name="type" value="2">否 - </label> - </div> - - <div class="form-group"> - <label class="col-sm-3 control-label">*受益人姓名:</label> - <div class="col-sm-9"> - <input style="width: 300px" class="form-control" id="bName" name="bName" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">*受益人身份证地址:</label> - <div class="col-sm-9"> - <input style="width: 300px" class="form-control" id="bAddress" placeholder="请输入" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">*受益人身份证有效期:</label> - <div class="col-sm-9"> - <input style="width: 300px" class="form-control" id="bTime" name="bTime" type="date"> - </div> - </div> - <div class="form-group"> - <#avatar id="bImg1" name="受益人身份证正面照" /> - </div> - </div> - <div class="col-lg-6" style=""> - <div class="form-group"> - <label class="col-sm-3 control-label">*受益人身份证号:</label> - <div class="col-sm-9" > - <input style="width: 300px" class="form-control" id="bIDNumber" placeholder="请输入" type="text"> - </div> - </div> - <div class="form-group"> - <#avatar id="bImg2" name="受益人身份证背面照" /> - </div> - </div> - </div> - <div class="row"> - <div class="col-lg-6" style=""> - <div class="form-group"> - <label class="col-sm-3 control-label">*拒绝理由:</label> - </div> - <div class="form-group"> - <#avatar id="Img" name="上传图片" /> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">*备注:</label> - <div class="col-sm-9"> - <input style="width: 300px" class="form-control" id="remark" name="remark" type="text"> - </div> - </div> - </div> - </div> - <div class="form-group"> - <div class="row btn-group-m-t"> - <div class="col-sm-10 col-sm-offset-5" > - <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSite.addSubmit()"/> - <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TSite.close()"/> - </div> - </div> - </div> - </div> - </div> -</div> - -<script src="${ctxPath}/modular/system/operatorUser/operatorUser.js"></script> -<script src="${ctxPath}/js/vue/vue.js"></script> -<script src="${ctxPath}/js/elementui/index.js"></script> -<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> -<script> - laydate.render({ - elem: '#tradeTime' - ,range: true - ,lang:"CN" - }); - laydate.render({ - elem: '#IDCardTime' - ,range: true - ,lang:"CN" - }); - laydate.render({ - elem: '#bTime' - ,range: true - ,lang:"CN" - }); - function updateHalf(e) { - if(e==1){ - $("#benefit").hide() - }else { - $("#benefit").show() - } - - } -</script> -@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser_proportion.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser_proportion.html new file mode 100644 index 0000000..8fd20a8 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser_proportion.html @@ -0,0 +1,109 @@ +@layout("/common/_container.html"){ +<style> + .avatar-uploader .el-upload { + border: 1px dashed #d9d9d9; + border-radius: 6px; + cursor: pointer; + position: relative; + height: 100px; + width: 100px; + overflow: hidden; + } + + .avatar-uploader .el-upload:hover { + border-color: #409EFF; + } + .avatar-uploader-icon { + font-size: 28px; + color: #8c939d; + width: 100px; + height: 100px; + line-height: 100px; + margin-top: 32px; + text-align: center; + } + .avatar { + width: 100px; + height: 100px; + display: block; + } + + .col-sm-12 { + margin-top: 20px; + } + + .col-sm-12 select { + height: 33px; + } + #app1{ + margin-left: 255px; + } + + +</style> +<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal" id="carInfoForm"> + <div class="row"> + <div class="col-lg-6" style=""> + <input hidden id="operatorIdOne" value="${operatorIdOne}"> + <div class="form-group" > + <label class="col-sm-3 control-label">*支付宝分账比例:</label> + <div class="col-sm-9"> + <input style="width: 300px" class="form-control" id="alipayProportion" value="${alipay}" placeholder="请输入" type="text"> + </div> + </div> + <div class="form-group" > + <label class="col-sm-3 control-label">*微信分账比例:</label> + <div class="col-sm-9"> + <input style="width: 300px" class="form-control" id="wechatProportion" value="${wechat}" placeholder="请输入" type="text"> + </div> + </div> + </div> + </div> + + + + <div class="form-group"> + <div class="row btn-group-m-t"> + <div class="col-sm-10 col-sm-offset-5" > + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSite.addSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TSite.close()"/> + </div> + </div> + </div> + </div> + </div> +</div> + +<script src="${ctxPath}/modular/system/operatorUser/operatorUser.js"></script> +<script src="${ctxPath}/js/vue/vue.js"></script> +<script src="${ctxPath}/js/elementui/index.js"></script> +<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> +<script> + laydate.render({ + elem: '#tradeTime' + ,range: true + ,lang:"CN" + }); + laydate.render({ + elem: '#IDCardTime' + ,range: true + ,lang:"CN" + }); + laydate.render({ + elem: '#bTime' + ,range: true + ,lang:"CN" + }); + function updateHalf(e) { + if(e==1){ + $("#benefit").hide() + }else { + $("#benefit").show() + } + + } +</script> +@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser_proportionAuth.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser_proportionAuth.html new file mode 100644 index 0000000..cf745b6 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser_proportionAuth.html @@ -0,0 +1,125 @@ +@layout("/common/_container.html"){ +<style> + .avatar-uploader .el-upload { + border: 1px dashed #d9d9d9; + border-radius: 6px; + cursor: pointer; + position: relative; + height: 100px; + width: 100px; + overflow: hidden; + } + + .avatar-uploader .el-upload:hover { + border-color: #409EFF; + } + .avatar-uploader-icon { + font-size: 28px; + color: #8c939d; + width: 100px; + height: 100px; + line-height: 100px; + margin-top: 32px; + text-align: center; + } + .avatar { + width: 100px; + height: 100px; + display: block; + } + + .col-sm-12 { + margin-top: 20px; + } + + .col-sm-12 select { + height: 33px; + } + #app1{ + margin-left: 255px; + } + + +</style> +<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal" id="carInfoForm"> + <div class="row"> + <div class="col-lg-6" style=""> + <input id="operatorId" value="${operatorId}" hidden> + <div class="form-group"> + <label class="col-sm-4 control-label" > + 支付宝认证类型: + <input type="radio" name="alipayType" value="1" checked>个人 + <input type="radio" name="alipayType" value="2" >企业 + </label> + </div> + <div class="form-group" > + <label class="col-sm-3 control-label">支付宝商户号</label> + <div class="col-sm-9"> + <input style="width: 300px" class="form-control" id="alipayNum" placeholder="请输入" type="text"> + </div> + </div> + + <div class="form-group"> + <label class="col-sm-4 control-label" > + 微信认证类型: + <input type="radio" name="wechatType" value="1" checked>个人 + <input type="radio" name="wechatType" value="2" >企业 + </label> + </div> + <div class="form-group" > + <label class="col-sm-3 control-label">微信商户号</label> + <div class="col-sm-9"> + <input style="width: 300px" class="form-control" id="wechatNum" placeholder="请输入" type="text"> + </div> + </div> + + </div> + </div> + + + + <div class="form-group"> + <div class="row btn-group-m-t"> + <div class="col-sm-10 col-sm-offset-5" > + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSite.addSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TSite.close()"/> + </div> + </div> + </div> + </div> + </div> +</div> + +<script src="${ctxPath}/modular/system/operatorUser/operatorUser.js"></script> +<script src="${ctxPath}/js/vue/vue.js"></script> +<script src="${ctxPath}/js/elementui/index.js"></script> +<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> +<script> + laydate.render({ + elem: '#tradeTime' + ,range: true + ,lang:"CN" + }); + laydate.render({ + elem: '#IDCardTime' + ,range: true + ,lang:"CN" + }); + laydate.render({ + elem: '#bTime' + ,range: true + ,lang:"CN" + }); + function updateHalf(e) { + if(e==1){ + $("#benefit").hide() + }else { + $("#benefit").show() + } + + } +</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 b49d32e..92cd00c 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 @@ -70,7 +70,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> @@ -193,10 +193,31 @@ </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 src="${ctxPath}/js/vue/vue.js"></script> <script src="${ctxPath}/js/elementui/index.js"></script> <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> <script> + $(document).ready(function() { + $('#shopId').select2({ + multiple: true, + closeOnSelect: false + }); + }); + + laydate.render({ + elem: '#startTime' + ,type:"datetime" + }); + laydate.render({ + elem: '#endTime' + ,type:"datetime" + }); + + + var vue2 = new Vue({ el: '#app1', props: { 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 index 9403aa8..cf527c3 100644 --- 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 @@ -127,23 +127,88 @@ */ TStudent.openTStudentDetail = function () { if (this.check()) { + + if (TStudent.seItem.status!=1){ + Feng.error("请选择待核销的数据") + return + } var index = layer.open({ type: 2, title: '详情', area: ['100%', '100%'], //宽高 fix: false, //不固定 maxmin: true, - content: Feng.ctxPath + '/ball/pre_edit/' + TStudent.seItem.id + content: Feng.ctxPath + '/ball/yueyue_edit/' + TStudent.seItem.id }); this.layerIndex = index; } }; + +TStudent.openTStudentDetail5 = function () { + if (this.check()) { + + + var index = layer.open({ + type: 2, + title: '详情', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/ball/yueyue_info/' + TStudent.seItem.id + }); + this.layerIndex = index; + } +}; /** - * 打开详情 + * 确认到店 */ TStudent.openTStudentDetail1 = function () { + if (this.check()) { + + if (TStudent.seItem.status!=1){ + Feng.error("请选择待核销的数据") + return + } + var index = layer.open({ + type: 2, + title: '', + area: ['20%', '25%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/ball/joinmethod/' + TStudent.seItem.id + }); + + this.layerIndex = index; + } +}; + + +/** + * 确认到店 + */ +TStudent.openTStudentDetail4 = function () { + if (this.check()) { + + if (TStudent.seItem.status!=1){ + Feng.error("请选择待核销的数据") + return + } + var index = layer.open({ + type: 2, + title: '', + area: ['30%', '40%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/ball/tocancel/' + TStudent.seItem.id + }); + + this.layerIndex = index; + } +}; + +TStudent.openTStudentDetail2 = function () { if (this.check()) { var index = layer.open({ type: 2, @@ -185,7 +250,9 @@ queryData['store'] = $("#store").val(); queryData['peopleName'] = $("#peopleName").val(); queryData['phone'] = $("#phone").val(); - queryData['date'] = $("#peopleName").val(); + queryData['date'] = $("#date").val(); + queryData['payMethod'] = $("#payMethod").val(); + queryData['state'] = $("#state").val(); 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 index 9dc4393..4456b15 100644 --- 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 @@ -62,6 +62,59 @@ $("#ttt2").empty().append(content); } }) + ajax.set("date",$('#time').val()); + 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.addTime1 = function (a) { + + + if ($('#siteId').val() != $('#selSiteId').val()||$('#time').val()!=$('#selDate').val()){ + $("#ttt3").hide() + $("#ttt2").show() + + }else { + $("#ttt3").show() + $("#ttt2").hide() + + } + + 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){ @@ -114,7 +167,7 @@ var values = ""; for (var i = 0; i < elements.length; i++) { - values += date +" "+ elements[i].innerText + ","; + values += date +" "+ elements[i].innerText + ";"; } // 去除最后一个逗号 @@ -204,6 +257,144 @@ ajax.start(); }; + +/** + * 新修改 + */ +CoursePackageInfo.addSubmit1 = 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(); + + + var radios = document.getElementsByName("type"); + var selectedValue; + + + + for (var i = 0; i < radios.length; i++) { + if (radios[i].checked) { + selectedValue = radios[i].value; + break; + } + } + + let type = selectedValue; + let half = $('#half').val(); + let date = $('#time').val(); + + + var elements = document.getElementsByClassName("layui-btn layui-btn-primary green-button"); + var values = ""; + console.log("==============="+elements[0]) + if ($('#siteId').val() != $('#selSiteId').val()||$('#time').val()!=$('#selDate').val()) { + for (var i = 0; i < elements.length; i++) { + if (elements[i].name != 'has') { + values += date + " " + elements[i].innerText + ";"; + } + + } + }else { + for (var i = 0; i < elements.length; i++) { + if (elements[i].name = 'has') { + values += date + " " + 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(); + let id = $('#id').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/orderedit", function (data) { + if(data.code == 200){ + Feng.success("添加成功!"); + CoursePackageInfo.close(); + window.parent.TStudent.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.set("id",id); + + + ajax.start(); +}; /** * 提交修改 */ diff --git a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.js b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.js index 413b667..e951696 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.js @@ -167,10 +167,14 @@ */ CoursePackage.editCoursePackageState = function (state) { if (this.check()) { + if(CoursePackage.seItem.state == state){ Feng.error("不能重复操作"); return } + parent.layer.confirm(state == 1 ? '是否上架' : "是否下架" , { + btn: ['确定', '取消'] + }, function (index) { let ajax = new $ax(Feng.ctxPath + "/coursePackage/editCoursePackageState", function (data) { Feng.success(state == 1 ? '上架' : "下架" + "成功!"); CoursePackage.table.refresh(); @@ -180,6 +184,15 @@ ajax.set("id", CoursePackage.seItem.id); ajax.set("state", state); ajax.start(); + parent.layer.close(index); + + }, function (index) { + parent.layer.close(index); + } + + + ) + } }; diff --git a/cloud-server-management/src/main/webapp/static/modular/system/gameData/gameData.js b/cloud-server-management/src/main/webapp/static/modular/system/gameData/gameData.js index b743ec8..53a0e2a 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/gameData/gameData.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/gameData/gameData.js @@ -47,7 +47,7 @@ {field: 'selectItem', checkbox: true}, {title: '主键ID', field: 'id', visible: false, align: 'center', valign: 'middle'}, {title: '序号', field: 'account_id', visible:true, align: 'center', valign: 'middle'}, - {title: '昵称', field: 'nickname', visible: true, align: 'center', valign: 'middle',}, + {title: '昵称', field: 'name', visible: true, align: 'center', valign: 'middle',}, {title: '成绩', field: 'score', visible: true, align: 'center', valign: 'middle'}, ]; }; @@ -73,7 +73,7 @@ queryData['date'] = $("#con4").val(); queryData['cityCode'] = $("#cCode4").val(); queryData['spaceId'] = $("#site4").val(); - TSite.table.refresh({query: queryData}); + TSite1.table.refresh({query: queryData}); }; TSite.resetSearch = function () { @@ -95,7 +95,7 @@ TSite.table = table.init(); var defaultColunms1 = TSite1.initColumn(); - var table1 = new BSTable(TSite1.id, "/gameData/listAll", defaultColunms1); + var table1 = new BSTable(TSite1.id, "/gameData/listAll1", defaultColunms1); table1.setPaginationType("client"); TSite1.table = table1.init(); }); diff --git a/cloud-server-management/src/main/webapp/static/modular/system/gateData/gateData.js b/cloud-server-management/src/main/webapp/static/modular/system/gateData/gateData.js index 03934ba..59b12d6 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/gateData/gateData.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/gateData/gateData.js @@ -16,7 +16,7 @@ {field: 'selectItem', radio: true}, {title: '主键ID', field: 'id', visible: false, align: 'center', valign: 'middle'}, {title: '场地区域名称', field: 'name', visible: true, align: 'center', valign: 'middle'}, - {title: '入场人次', field: 'number', visible: true, align: 'center', valign: 'middle'} + {title: '入场人次', field: 'enter_num', visible: true, align: 'center', valign: 'middle'} ]; }; diff --git a/cloud-server-management/src/main/webapp/static/modular/system/operator/operator.js b/cloud-server-management/src/main/webapp/static/modular/system/operator/operator.js index 4c69cd5..2cf6b42 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/operator/operator.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/operator/operator.js @@ -34,7 +34,7 @@ formatter: function (data,row) { var btn = ""; if(data==1) { - var str = '<button class="btn btn-outline btn-primary" onclick="TSite.bindOperator('+row.id+')" >去绑定</button>' + var str = '<button class="btn btn-outline btn-primary" onclick="TSite.Allocationratio('+row.id+')" >去绑定</button>' btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="" onfocus="TUser.tooltip()">' + str + '</p>'] }else{ var str = '<h3>已绑定</h3>' @@ -64,18 +64,102 @@ return true; } }; -TSite.bindOperator = function (e) { - var index = layer.open({ - type: 2, - title: "认证", - area: ['100%', '100%'], //宽高 - fix: false, //不固定 - maxmin: true, - content: Feng.ctxPath + '/operatorUser/proportion/' + e - }); - this.layerIndex = index; +/** + * 商户号认证 + */ +TSite.Allocationratio = function (e) { + console.log("看看E"); + console.log(e); + var index = layer.open({ + type: 2, + title: "商户认证", + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/operator/proportionAuth/' + e + }); + this.layerIndex = index; +}; +/** + * 分账比例 + */ +TSite.proportion = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length >1 ){ + Feng.info("只能选择一个运营商商户设置分账比例!"); + }else { + if (this.check()) { + console.log("看看状态") + console.log(TSite.seItem.status) + if (TSite.seItem.status==1){ + Feng.error("当前运营商没有绑定商户号,请先绑定商户号!") + return; + } + var index = layer.open({ + type: 2, + title: "认证", + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/operator/proportion/' + TSite.seItem.id + }); + this.layerIndex = index; + } + } }; +TSite.addSubmit = function(){ + var alipayType = $("input[name='alipayType']:checked").val(); + var wechatType = $("input[name='wechatType']:checked").val(); + var alipayNum = $("#alipayNum").val(); + var wechatNum = $("#wechatNum").val(); + var operatorId = $("#operatorId").val(); + if($("#alipayNum").val()=='' ){ + Feng.info("请输入支付宝商户号") + return; + } + if($("#wechatNum").val()=='' ){ + Feng.info("请输入微信商户号") + return; + } + var ajax = new $ax(Feng.ctxPath + "/operator/auth", function(data){ + Feng.success("认证成功") + TSite.close(); + TSite.search(); + }); + ajax.set("alipayType",alipayType); + ajax.set("wechatType",wechatType); + ajax.set("alipayNum",alipayNum); + ajax.set("wechatNum",wechatNum); + ajax.set("operatorId",operatorId); + ajax.start(); +}; +TSite.addSubmit1 = function(){ + var alipayProportion = $("#alipayProportion").val(); + var wechatProportion = $("#wechatProportion").val(); + var operatorIdOne = $("#operatorIdOne").val(); + if($("#alipayNum").val()=='' ){ + Feng.info("请输入支付宝分账比例") + return; + } + if($("#wechatNum").val()=='' ){ + Feng.info("请输入微信分账比例") + return; + } + if (Number(alipayProportion)+Number(wechatProportion)!=100){ + Feng.info("总比例应该是100%,当前比例:"+Number(Number(alipayProportion)+Number(wechatProportion))); + return; + } + var ajax = new $ax(Feng.ctxPath + "/operator/proportion", function(data){ + Feng.success("分账比例设置成功") + TSite.close(); + TSite.search(); + }); + ajax.set("alipayProportion",alipayProportion); + ajax.set("wechatProportion",wechatProportion); + ajax.set("operatorIdOne",operatorIdOne); + ajax.start(); +}; /** * 上架 */ diff --git a/cloud-server-management/src/main/webapp/static/modular/system/operatorUser/operatorUser.js b/cloud-server-management/src/main/webapp/static/modular/system/operatorUser/operatorUser.js index fab95cf..746abf5 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/operatorUser/operatorUser.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/operatorUser/operatorUser.js @@ -48,76 +48,7 @@ return true; } }; -/** - * 分账比例 - */ -TSite.openAddTSite = function () { - var selected = $('#' + this.id).bootstrapTable('getSelections'); - if(selected.length >1 ){ - Feng.info("只能选择一个运营商商户设置分账比例!"); - }else { - if (this.check()) { - var index = layer.load(1,{ - type: 1 - , title: '添加分账比例' - , area: ['50%', '50%'] - , offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset - , id: 'layerDemo' //防止重复弹出cge - , content: '<div class="form-horizontal">' + - ' <div class="col-sm-11" >' + - ' <div class="col-sm-11">' + - ' <div class="form-group">\n' + - ' <label class="col-sm-3 control-label">支付宝分账比例:</label>\n' + - ' <div class="col-sm-9">\n' + - ' <input class="form-control" placeholder="请输入分账比例" type="text" id="alipay"> '+ - ' </div>\n' + - ' </div>\n' + - ' <div class="form-group">\n' + - ' <label class="col-sm-3 control-label">微信分账比例:</label>\n' + - ' <div class="col-sm-9">\n' + - ' <input class="form-control" placeholder="请输入分账比例" type="text" id="wechat"> '+ - ' </div>\n' + - ' </div>\n' + - ' </div>' + - ' </div>' + - '</div>' - , btn: ['关闭', '保存'] - , btnAlign: 'c' //按钮居中 - , shade: 0.5 //不显示遮罩 - ,load:1 - , yes: function () { - layer.closeAll(); - }, - btn2:function () { - let wechat = $("#wechat").val() - let alipay = $("#alipay").val() - if(alipay==''){ - Feng.info("请输入支付宝分账比例") - return false; - } - if(wechat==''){ - Feng.info("请输入微信分账比例") - return false; - } - var ajax = new $ax(Feng.ctxPath + "/operatorUser/addProportion", function (data) { - Feng.success("设置成功!"); - window.location.reload(); - window.parent.layer.closeAll(); - }, function (data) { - Feng.error("操作失败!") - }); - ajax.set("id", TSite.seItem.id); - ajax.set("alipay", alipay); - ajax.set("wechat", wechat); - ajax.start(); - layer.closeAll(); - } - }); - this.layerIndex = index; - } - } -}; function UploadFileFn(){ $('#upFile').click(); } 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 9494de6..ff9fa6c 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 @@ -83,6 +83,7 @@ @ResponseBody @PostMapping("/listorder") public List<Map<String, Object>> listorder(@RequestBody BookingQuery bookingQuery){ + System.out.println("===bookingQuery===="+bookingQuery); return gameService.orderlist(bookingQuery); // return game.getId(); } diff --git a/cloud-server-other/src/main/resources/mapper/GameMapper.xml b/cloud-server-other/src/main/resources/mapper/GameMapper.xml index fb0656a..7ba2226 100644 --- a/cloud-server-other/src/main/resources/mapper/GameMapper.xml +++ b/cloud-server-other/src/main/resources/mapper/GameMapper.xml @@ -36,7 +36,39 @@ 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 + <where> + <if test="provinceCode!=null and provinceCode!= ''"> + and bk.provinceCode=#{provinceCode} + </if> + <if test="cityCode!=null and cityCode!= ''"> + and bk.cityCode=#{cityCode} + </if> + <if test="store!=null and store!= ''"> + and st.name=#{store} + </if> + + <if test="peopleName!=null and peopleName!= ''"> + and bk.booker=#{peopleName} + </if> + + <if test="phone!=null and phone!= ''"> + and bk.phone=#{phone} + </if> + + + <if test="date!=null and date!= ''"> + and bk.times like concat('%',#{date},'%') </if> + <if test="payMethod!=null "> + and bk.payType=#{payMethod} + </if> + + <if test="state!=null "> + and bk.status=#{state} + </if> + + + </where> -- Gitblit v1.7.1