From 991871770f339eda8bae952d92ad6bad4e9aec4d Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 29 二月 2024 11:57:10 +0800
Subject: [PATCH] 合并代码

---
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java                 |   21 
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MyWorldCupInfo.java                               |   18 
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MatchRecordVo.java                                |   20 
 .idea/encodings.xml                                                                                                            |    1 
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupRank.java                                 |   25 +
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java |  137 ++++++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MatchRecord.java                                  |   22 +
 .idea/misc.xml                                                                                                                 |    2 
 cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml                                          |   74 +++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java                      |   67 ++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MatchRecordList.java                              |   26 +
 .idea/workspace.xml                                                                                                            |  663 +++++++++++++++++++++++------
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentParticipantService.java         |    9 
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java         |  133 +++++
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java                    |   20 
 .idea/compiler.xml                                                                                                             |   11 
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupRankVo.java                               |   24 +
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/ParticipantVo.java                                |   36 +
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/entity/WorldCupPayment.java                             |    5 
 19 files changed, 1,155 insertions(+), 159 deletions(-)

diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index d160803..b749c30 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -9,13 +9,14 @@
         <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
         <outputRelativeToContentRoot value="true" />
         <module name="mb-cloud-account" />
-        <module name="mb-cloud-gateway" />
-        <module name="mb-cloud-course" />
-        <module name="mb-cloud-management" />
         <module name="mb-cloud-activity" />
-        <module name="mb-cloud-other" />
-        <module name="mb-cloud-competition" />
         <module name="mb-cloud-auth" />
+        <module name="mb-cloud-communityWorldCup" />
+        <module name="mb-cloud-competition" />
+        <module name="mb-cloud-course" />
+        <module name="mb-cloud-gateway" />
+        <module name="mb-cloud-management" />
+        <module name="mb-cloud-other" />
       </profile>
     </annotationProcessing>
     <bytecodeTargetLevel target="8" />
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index 69a6bd5..53a0039 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -4,6 +4,7 @@
     <file url="file://$PROJECT_DIR$/cloud-server-account" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/cloud-server-activity" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/cloud-server-auth" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/cloud-server-communityWorldCup" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/cloud-server-competition" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/cloud-server-course" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/cloud-server-gateway" charset="UTF-8" />
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 02fed69..44d0322 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="ExternalStorageConfigurationManager" enabled="true" />
   <component name="JavaScriptSettings">
@@ -15,6 +16,7 @@
         <option value="$PROJECT_DIR$/cloud-server-auth/pom.xml" />
         <option value="$PROJECT_DIR$/cloud-server-activity/pom.xml" />
         <option value="$PROJECT_DIR$/cloud-server-account/pom.xml" />
+        <option value="$PROJECT_DIR$/cloud-server-communityWorldCup/pom.xml" />
       </list>
     </option>
   </component>
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index e7c5bba..8ce874b 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -26,13 +26,25 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="cb08d02f-fd4f-4fa2-85fe-abd508fa83ac" name="Default Changelist" comment="11.27,9">
-      <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/entity/TStudent.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/entity/TStudent.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/StudentClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/StudentClient.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/model/Student.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/model/Student.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/compiler.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/encodings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/encodings.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/HomeModuleController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/HomeModuleController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/entity/HomeModule.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/entity/HomeModule.java" afterDir="false" />
     </list>
+    <ignored path="$PROJECT_DIR$/cloud-server-competition/target/" />
+    <ignored path="$PROJECT_DIR$/cloud-server-other/target/" />
+    <ignored path="$PROJECT_DIR$/cloud-server-activity/target/" />
+    <ignored path="$PROJECT_DIR$/cloud-server-account/target/" />
+    <ignored path="$PROJECT_DIR$/cloud-server-auth/target/" />
+    <ignored path="$PROJECT_DIR$/cloud-server-management/target/" />
+    <ignored path="$PROJECT_DIR$/cloud-server-course/target/" />
+    <ignored path="$PROJECT_DIR$/cloud-server-gateway/target/" />
+    <ignored path="$PROJECT_DIR$/cloud-server-parent/target/" />
+    <ignored path="$PROJECT_DIR$/cloud-server-communityWorldCup/target/" />
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
@@ -43,6 +55,69 @@
       <option value="directory" />
     </option>
   </component>
+  <component name="FUSProjectUsageTrigger">
+    <session id="1283956588">
+      <usages-collector id="statistics.lifecycle.project">
+        <counts>
+          <entry key="project.closed" value="1" />
+          <entry key="project.open.time.7" value="1" />
+          <entry key="project.opened" value="1" />
+        </counts>
+      </usages-collector>
+      <usages-collector id="statistics.vcs.git.usages">
+        <counts>
+          <entry key="git.branch.checkout.remote" value="1" />
+        </counts>
+      </usages-collector>
+      <usages-collector id="statistics.file.extensions.open">
+        <counts>
+          <entry key="xml" value="1" />
+        </counts>
+      </usages-collector>
+      <usages-collector id="statistics.file.types.open">
+        <counts>
+          <entry key="XML" value="1" />
+        </counts>
+      </usages-collector>
+    </session>
+    <session id="-908660615">
+      <usages-collector id="statistics.lifecycle.project">
+        <counts>
+          <entry key="project.open.time.4" value="1" />
+          <entry key="project.opened" value="1" />
+        </counts>
+      </usages-collector>
+      <usages-collector id="statistics.file.extensions.open">
+        <counts>
+          <entry key="java" value="19" />
+          <entry key="properties" value="2" />
+          <entry key="xml" value="2" />
+        </counts>
+      </usages-collector>
+      <usages-collector id="statistics.file.types.open">
+        <counts>
+          <entry key="JAVA" value="19" />
+          <entry key="Properties" value="2" />
+          <entry key="XML" value="2" />
+        </counts>
+      </usages-collector>
+      <usages-collector id="statistics.file.extensions.edit">
+        <counts>
+          <entry key="java" value="105" />
+          <entry key="txt" value="5" />
+        </counts>
+      </usages-collector>
+      <usages-collector id="statistics.file.types.edit">
+        <counts>
+          <entry key="JAVA" value="105" />
+          <entry key="PLAIN_TEXT" value="5" />
+        </counts>
+      </usages-collector>
+    </session>
+  </component>
+  <component name="FileEditorManager">
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300" />
+  </component>
   <component name="FileTemplateManagerImpl">
     <option name="RECENT_TEMPLATES">
       <list>
@@ -52,8 +127,43 @@
       </list>
     </option>
   </component>
+  <component name="FindInProjectRecents">
+    <findStrings>
+      <find>2.0</find>
+    </findStrings>
+    <dirStrings>
+      <dir>E:\IDEA Workspaces\PlayPai\code</dir>
+    </dirStrings>
+  </component>
   <component name="Git.Settings">
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
+    <option name="RECENT_BRANCH_BY_REPOSITORY">
+      <map>
+        <entry key="$PROJECT_DIR$" value="master" />
+      </map>
+    </option>
+  </component>
+  <component name="IdeDocumentHistory">
+    <option name="CHANGED_PATHS">
+      <list>
+        <option value="$PROJECT_DIR$/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/TaskUtil.java" />
+        <option value="$PROJECT_DIR$/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/DeductionCompetitionsClient.java" />
+        <option value="$PROJECT_DIR$/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/TaskUtilCompetition.java" />
+        <option value="$PROJECT_DIR$/cloud-server-communityWorldCup/src/main/java/com/dsh/CommunityWorldCupApplication.java" />
+        <option value="$PROJECT_DIR$/cloud-server-gateway/src/main/java/cn/mb/cloud/gateway/filter/PermissionsFilter.java" />
+        <option value="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java" />
+        <option value="$PROJECT_DIR$/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java" />
+        <option value="$PROJECT_DIR$/cloud-server-other/src/main/resources/mapper/BannerMapper.xml" />
+        <option value="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/HomeModuleController.java" />
+        <option value="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/entity/HomeModule.java" />
+      </list>
+    </option>
+  </component>
+  <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
+  <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
+  <component name="JsGulpfileManager">
+    <detection-done>true</detection-done>
+    <sorting>DEFINITION_ORDER</sorting>
   </component>
   <component name="MarkdownSettingsMigration">
     <option name="stateVersion" value="1" />
@@ -61,8 +171,8 @@
   <component name="MavenImportPreferences">
     <option name="generalSettings">
       <MavenGeneralSettings>
-        <option name="localRepository" value="C:\Users\44323\.m2\repository" />
-        <option name="userSettingsFile" value="C:\Users\44323\.m2\settings.xml" />
+        <option name="mavenHome" value="$APPLICATION_HOME_DIR$/plugins/maven/lib/maven3" />
+        <option name="userSettingsFile" value="E:\apache-maven\apache-maven-3.6.1\conf\settings.xml" />
       </MavenGeneralSettings>
     </option>
     <option name="enabledProfiles">
@@ -76,8 +186,19 @@
       </list>
     </option>
   </component>
+  <component name="MavenProjectNavigator">
+    <treeState>
+      <expand />
+      <select />
+    </treeState>
+  </component>
   <component name="MavenRunner">
     <option name="skipTests" value="true" />
+  </component>
+  <component name="NodePackageJsonFileManager">
+    <packageJsonPaths>
+      <path value="$PROJECT_DIR$/package.json" />
+    </packageJsonPaths>
   </component>
   <component name="PackageJsonUpdateNotifier">
     <dismissed value="$PROJECT_DIR$/package.json" />
@@ -85,20 +206,55 @@
   <component name="ProblemsViewState">
     <option name="selectedTabId" value="CurrentFile" />
   </component>
+  <component name="ProjectFrameBounds" extendedState="6">
+    <option name="x" value="-7" />
+    <option name="y" value="1" />
+    <option name="width" value="1932" />
+    <option name="height" value="1046" />
+  </component>
   <component name="ProjectId" id="2T0poWYlZShlnPso29uxjn4gQQo" />
   <component name="ProjectLevelVcsManager" settingsEditedManually="true">
     <ConfirmationsSetting value="2" id="Add" />
+  </component>
+  <component name="ProjectView">
+    <navigator proportions="" version="1">
+      <foldersAlwaysOnTop value="true" />
+    </navigator>
+    <panes>
+      <pane id="PackagesPane" />
+      <pane id="AndroidView" />
+      <pane id="Scope" />
+      <pane id="ProjectPane">
+        <subPane>
+          <expand>
+            <path>
+              <item name="code" type="b2602c69:ProjectViewProjectNode" />
+              <item name="code" type="462c0819:PsiDirectoryNode" />
+            </path>
+          </expand>
+          <select />
+        </subPane>
+      </pane>
+    </panes>
   </component>
   <component name="ProjectViewState">
     <option name="hideEmptyMiddlePackages" value="true" />
     <option name="showLibraryContents" value="true" />
   </component>
-  <component name="PropertiesComponent"><![CDATA[{
-  "keyToString": {
-    "git-widget-placeholder": "正在合并 master",
-    "node.js.selected.package.tslint": "(autodetect)"
-  }
-}]]></component>
+  <component name="PropertiesComponent">
+    <property name="RequestMappingsPanelOrder0" value="0" />
+    <property name="RequestMappingsPanelOrder1" value="1" />
+    <property name="RequestMappingsPanelWidth0" value="75" />
+    <property name="RequestMappingsPanelWidth1" value="75" />
+    <property name="WebServerToolWindowFactoryState" value="false" />
+    <property name="aspect.path.notification.shown" value="true" />
+    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1709178957576" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
+    <property name="project.structure.last.edited" value="Project" />
+    <property name="project.structure.proportion" value="0.0" />
+    <property name="project.structure.side.proportion" value="0.0" />
+    <property name="settings.editor.selected.configurable" value="MavenSettings" />
+  </component>
   <component name="ReactorSettings">
     <option name="notificationShown" value="true" />
   </component>
@@ -134,11 +290,21 @@
         <option value="SpringBootApplicationConfigurationType" />
       </set>
     </option>
+    <option name="ruleStates">
+      <list>
+        <RuleState>
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
+        </RuleState>
+        <RuleState>
+          <option name="name" value="StatusDashboardGroupingRule" />
+        </RuleState>
+      </list>
+    </option>
+    <option name="contentProportion" value="0.24296537" />
   </component>
-  <component name="RunManager" selected="JUnit.AccountApplicationTests.contextLoads">
+  <component name="RunManager" selected="Spring Boot.OtherApplication">
     <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>
@@ -149,84 +315,6 @@
         <option name="Make" enabled="true" />
       </method>
     </configuration>
-    <configuration name="AccountApplicationTests" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="com.dsh.AccountApplicationTests" />
-      <module name="mb-cloud-account" />
-      <extension name="coverage">
-        <pattern>
-          <option name="PATTERN" value="com.dsh.*" />
-          <option name="ENABLED" value="true" />
-        </pattern>
-      </extension>
-      <method v="2">
-        <option name="Make" enabled="true" />
-      </method>
-    </configuration>
-    <configuration name="AntMerchantExpandIndirectImageUpload" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="com.dsh.guns.modular.system.api.AntMerchantExpandIndirectImageUpload" />
-      <module name="mb-cloud-management" />
-      <extension name="coverage">
-        <pattern>
-          <option name="PATTERN" value="com.dsh.guns.modular.system.api.*" />
-          <option name="ENABLED" value="true" />
-        </pattern>
-      </extension>
-      <method v="2">
-        <option name="Make" enabled="true" />
-      </method>
-    </configuration>
-    <configuration name="BigDecimalToChineseWords" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="com.dsh.guns.modular.system.util.BigDecimalToChineseWords" />
-      <module name="mb-cloud-management" />
-      <extension name="coverage">
-        <pattern>
-          <option name="PATTERN" value="com.dsh.guns.modular.system.util.*" />
-          <option name="ENABLED" value="true" />
-        </pattern>
-      </extension>
-      <method v="2">
-        <option name="Make" enabled="true" />
-      </method>
-    </configuration>
-    <configuration name="OperatorController" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="com.dsh.guns.modular.system.controller.code.OperatorController" />
-      <module name="mb-cloud-management" />
-      <extension name="coverage">
-        <pattern>
-          <option name="PATTERN" value="com.dsh.guns.modular.system.controller.code.*" />
-          <option name="ENABLED" value="true" />
-        </pattern>
-      </extension>
-      <method v="2">
-        <option name="Make" enabled="true" />
-      </method>
-    </configuration>
-    <configuration name="SaticScheduleTask" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="com.dsh.guns.modular.system.api.SaticScheduleTask" />
-      <module name="mb-cloud-management" />
-      <extension name="coverage">
-        <pattern>
-          <option name="PATTERN" value="com.dsh.guns.modular.system.api.*" />
-          <option name="ENABLED" value="true" />
-        </pattern>
-      </extension>
-      <method v="2">
-        <option name="Make" enabled="true" />
-      </method>
-    </configuration>
-    <configuration name="WeChatUtil" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
-      <option name="MAIN_CLASS_NAME" value="com.dsh.guns.modular.system.util.WeChatUtil" />
-      <module name="mb-cloud-management" />
-      <extension name="coverage">
-        <pattern>
-          <option name="PATTERN" value="com.dsh.guns.modular.system.util.*" />
-          <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" />
@@ -263,15 +351,14 @@
     </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>
     </configuration>
     <configuration name="AccountApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
       <module name="mb-cloud-account" />
-      <option name="SHORTEN_COMMAND_LINE" value="MANIFEST" />
       <option name="SPRING_BOOT_MAIN_CLASS" value="com.dsh.AccountApplication" />
+      <option name="SHORTEN_COMMAND_LINE" value="MANIFEST" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
@@ -286,8 +373,8 @@
     </configuration>
     <configuration name="ActivityApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
       <module name="mb-cloud-activity" />
-      <option name="SHORTEN_COMMAND_LINE" value="MANIFEST" />
       <option name="SPRING_BOOT_MAIN_CLASS" value="com.dsh.ActivityApplication" />
+      <option name="SHORTEN_COMMAND_LINE" value="MANIFEST" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
@@ -310,14 +397,22 @@
     <configuration name="AuthApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
       <module name="mb-cloud-auth" />
       <option name="SPRING_BOOT_MAIN_CLASS" value="cn.mb.cloud.auth.AuthApplication" />
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+    <configuration name="CommunityWorldCupApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
+      <module name="mb-cloud-communityWorldCup" />
+      <option name="SPRING_BOOT_MAIN_CLASS" value="com.dsh.CommunityWorldCupApplication" />
+      <option name="SHORTEN_COMMAND_LINE" value="MANIFEST" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
     </configuration>
     <configuration name="CompetitionApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
       <module name="mb-cloud-competition" />
-      <option name="SHORTEN_COMMAND_LINE" value="MANIFEST" />
       <option name="SPRING_BOOT_MAIN_CLASS" value="com.dsh.CompetitionApplication" />
+      <option name="SHORTEN_COMMAND_LINE" value="MANIFEST" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
@@ -332,8 +427,8 @@
     </configuration>
     <configuration name="CourseApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
       <module name="mb-cloud-course" />
-      <option name="SHORTEN_COMMAND_LINE" value="MANIFEST" />
       <option name="SPRING_BOOT_MAIN_CLASS" value="com.dsh.CourseApplication" />
+      <option name="SHORTEN_COMMAND_LINE" value="MANIFEST" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
@@ -361,10 +456,10 @@
       </method>
     </configuration>
     <configuration name="ManagementApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
-      <option name="ENABLE_JMX_AGENT" value="false" />
       <module name="mb-cloud-management" />
-      <option name="SHORTEN_COMMAND_LINE" value="MANIFEST" />
       <option name="SPRING_BOOT_MAIN_CLASS" value="com.dsh.ManagementApplication" />
+      <option name="ENABLE_JMX_AGENT" value="false" />
+      <option name="SHORTEN_COMMAND_LINE" value="MANIFEST" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
@@ -399,7 +494,6 @@
       </method>
     </configuration>
     <list>
-      <item itemvalue="JUnit.AccountApplicationTests.contextLoads" />
       <item itemvalue="Spring Boot.CourseApplication" />
       <item itemvalue="Spring Boot.AuthApplication" />
       <item itemvalue="Spring Boot.AccountApplication" />
@@ -408,12 +502,8 @@
       <item itemvalue="Spring Boot.OtherApplication" />
       <item itemvalue="Spring Boot.ActivityApplication" />
       <item itemvalue="Spring Boot.CompetitionApplication" />
-      <item itemvalue="应用程序.AccountApplicationTests" />
-      <item itemvalue="应用程序.AntMerchantExpandIndirectImageUpload" />
-      <item itemvalue="应用程序.BigDecimalToChineseWords" />
-      <item itemvalue="应用程序.OperatorController" />
-      <item itemvalue="应用程序.SaticScheduleTask" />
-      <item itemvalue="应用程序.WeChatUtil" />
+      <item itemvalue="JUnit.AccountApplicationTests.contextLoads" />
+      <item itemvalue="Spring Boot.CommunityWorldCupApplication" />
     </list>
     <recent_temporary>
       <list>
@@ -445,7 +535,7 @@
   <component name="ShelveChangesManager">
     <option name="remove_strategy" value="true" />
   </component>
-  <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="应用程序级" UseSingleDictionary="true" transferred="false" />
+  <component name="SpellCheckerSettings" BundledDictionaries="0" Folders="0" CustomDictionaries="0" Dictionaries="0" CorrectionsLimit="5" DefaultDictionary="应用程序级" UseSingleDictionary="true" />
   <component name="SvnConfiguration">
     <configuration>C:\Users\luo\AppData\Roaming\Subversion</configuration>
   </component>
@@ -538,14 +628,8 @@
       <workItem from="1698325880893" duration="54542000" />
       <workItem from="1698455150596" duration="11287000" />
       <workItem from="1698627531587" duration="2092000" />
-    </task>
-    <task id="LOCAL-00047" summary="10.12">
-      <option name="closed" value="true" />
-      <created>1697011234286</created>
-      <option name="number" value="00047" />
-      <option name="presentableId" value="LOCAL-00047" />
-      <option name="project" value="LOCAL" />
-      <updated>1697011234286</updated>
+      <workItem from="1708947562373" duration="284000" />
+      <workItem from="1708947995181" duration="6987000" />
     </task>
     <task id="LOCAL-00048" summary="10.13">
       <option name="closed" value="true" />
@@ -911,23 +995,83 @@
       <option name="project" value="LOCAL" />
       <updated>1701174292128</updated>
     </task>
-    <option name="localTasksCounter" value="96" />
+    <task id="LOCAL-00096" summary="修改bug">
+      <created>1709112234344</created>
+      <option name="number" value="00096" />
+      <option name="presentableId" value="LOCAL-00096" />
+      <option name="project" value="LOCAL" />
+      <updated>1709112234345</updated>
+    </task>
+    <option name="localTasksCounter" value="97" />
     <servers />
+  </component>
+  <component name="TimeTrackingManager">
+    <option name="totallyTimeSpent" value="7271000" />
+  </component>
+  <component name="ToolWindowManager">
+    <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
+    <layout>
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.25266525" />
+      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
+      <window_info id="Designer" order="2" />
+      <window_info id="Image Layers" order="3" />
+      <window_info id="UI Designer" order="4" />
+      <window_info id="Favorites" order="5" side_tool="true" />
+      <window_info id="Capture Tool" order="6" />
+      <window_info id="Web" order="7" side_tool="true" />
+      <window_info anchor="bottom" id="Spring" />
+      <window_info anchor="bottom" id="Messages" weight="0.32899022" />
+      <window_info anchor="bottom" id="Message" order="0" />
+      <window_info anchor="bottom" id="Find" order="1" />
+      <window_info anchor="bottom" id="Run" order="2" weight="0.32899022" />
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
+      <window_info anchor="bottom" id="TODO" order="6" />
+      <window_info anchor="bottom" id="Terminal" order="7" />
+      <window_info anchor="bottom" id="Event Log" order="8" side_tool="true" />
+      <window_info anchor="bottom" id="Statistic" order="9" />
+      <window_info anchor="bottom" id="Java Enterprise" order="10" />
+      <window_info anchor="bottom" id="Database Changes" order="11" show_stripe_button="false" />
+      <window_info anchor="bottom" id="Version Control" order="12" weight="0.32899022" />
+      <window_info anchor="bottom" id="Run Dashboard" order="13" visible="true" weight="0.4039088" />
+      <window_info anchor="right" id="Bean Validation" />
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
+      <window_info anchor="right" id="Palette" order="3" />
+      <window_info anchor="right" id="Capture Analysis" order="4" />
+      <window_info anchor="right" id="Maven Projects" order="5" weight="0.21321961" />
+      <window_info anchor="right" id="Database" order="6" />
+      <window_info anchor="right" id="Palette&#9;" order="7" />
+      <window_info anchor="right" id="Theme Preview" order="8" />
+    </layout>
+  </component>
+  <component name="TypeScriptGeneratedFilesManager">
+    <option name="version" value="1" />
   </component>
   <component name="Vcs.Log.Tabs.Properties">
     <option name="TAB_STATES">
       <map>
         <entry key="MAIN">
           <value>
-            <State />
+            <State>
+              <option name="RECENTLY_FILTERED_USER_GROUPS">
+                <collection />
+              </option>
+              <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
+                <collection />
+              </option>
+            </State>
           </value>
         </entry>
       </map>
     </option>
   </component>
+  <component name="VcsContentAnnotationSettings">
+    <option name="myLimit" value="2678400000" />
+  </component>
   <component name="VcsManagerConfiguration">
-    <option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
-    <MESSAGE value="9.26。11" />
     <MESSAGE value="9.26。12" />
     <MESSAGE value="9.26。13" />
     <MESSAGE value="9.26。14" />
@@ -952,56 +1096,297 @@
     <MESSAGE value="10.20" />
     <MESSAGE value="商户认证" />
     <MESSAGE value="11.27,9" />
-    <option name="LAST_COMMIT_MESSAGE" value="11.27,9" />
+    <MESSAGE value="修改bug" />
+    <option name="LAST_COMMIT_MESSAGE" value="修改bug" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
       <breakpoints>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java</url>
-          <line>145</line>
+          <line>264</line>
+          <properties />
           <option name="timeStamp" value="1" />
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/cloud-server-auth/src/main/java/cn/mb/cloud/auth/service/UserDetailsServiceImpl.java</url>
           <line>111</line>
+          <properties />
           <option name="timeStamp" value="2" />
         </line-breakpoint>
         <line-breakpoint type="java-line">
           <url>file://$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java</url>
           <line>458</line>
+          <properties />
           <option name="timeStamp" value="9" />
-        </line-breakpoint>
-        <line-breakpoint type="java-line">
-          <url>file://$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java</url>
-          <line>1382</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/DataStatisticsController.java</url>
           <line>282</line>
+          <properties />
           <option name="timeStamp" value="50" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="java-line">
           <url>file://$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java</url>
-          <line>172</line>
+          <line>584</line>
+          <properties />
           <option name="timeStamp" value="111" />
         </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
-    <pin-to-top-manager>
-      <pinned-members>
-        <PinnedItemInfo parentTag="com.baomidou.mybatisplus.extension.plugins.pagination.Page" memberName="total" />
-        <PinnedItemInfo parentTag="com.dsh.account.feignclient.activity.model.PointMerchandiseVo" memberName="merchandises" />
-        <PinnedItemInfo parentTag="com.dsh.competition.model.PaymentCompetitionVo" memberName="id" />
-        <PinnedItemInfo parentTag="com.alipay.api.response.AlipayTradeAppPayResponse" memberName="body" />
-        <PinnedItemInfo parentTag="java.lang.Long" memberName="value" />
-        <PinnedItemInfo parentTag="com.dsh.other.util.ResultUtil" memberName="msg" />
-      </pinned-members>
-    </pin-to-top-manager>
   </component>
   <component name="XSLT-Support.FileAssociations.UIState">
     <expand />
     <select />
   </component>
+  <component name="editorHistoryManager">
+    <entry file="file://$PROJECT_DIR$/cloud-server-parent/pom.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="225">
+          <caret line="9" selection-start-line="9" selection-end-line="9" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/TaskUtil.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="593">
+          <caret line="29" selection-start-line="29" selection-end-line="29" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/DeductionCompetitionsClient.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="175">
+          <caret line="13" selection-start-line="13" selection-end-line="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/TaskUtilCompetition.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="148">
+          <caret line="19" column="13" selection-start-line="19" selection-start-column="13" selection-end-line="19" selection-end-column="13" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="156">
+          <caret line="39" column="13" selection-start-line="39" selection-start-column="13" selection-end-line="39" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state>
+          <caret column="33" selection-start-column="8" selection-end-column="33" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-communityWorldCup/src/main/java/com/dsh/CommunityWorldCupApplication.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="125">
+          <caret line="17" column="3" lean-forward="true" selection-start-line="17" selection-start-column="3" selection-end-line="17" selection-end-column="3" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-communityWorldCup/src/main/resources/sharding-jdbc.properties">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="175">
+          <caret line="7" column="32" lean-forward="true" selection-start-line="7" selection-start-column="32" selection-end-line="7" selection-end-column="32" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-gateway/src/main/java/cn/mb/cloud/gateway/filter/RequestParamFilter.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-26">
+          <caret line="21" column="13" selection-start-line="21" selection-start-column="13" selection-end-line="21" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-gateway/src/main/java/cn/mb/cloud/gateway/filter/ResponseParamFilter.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-876">
+          <caret line="29" column="13" selection-start-line="29" selection-start-column="13" selection-end-line="29" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-gateway/src/main/java/cn/mb/cloud/gateway/filter/WrapperResponseGlobalFilter.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-476">
+          <caret line="21" column="13" selection-start-line="21" selection-start-column="13" selection-end-line="21" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-gateway/src/main/java/cn/mb/cloud/gateway/filter/PermissionsFilter.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="139">
+          <caret line="124" column="19" selection-start-line="124" selection-start-column="19" selection-end-line="124" selection-end-column="19" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-gateway/src/main/java/cn/mb/cloud/gateway/model/HeaderParams.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="125">
+          <caret line="5" column="13" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-gateway/src/main/java/cn/mb/cloud/gateway/handler/AppTypeContextHolder.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="261">
+          <caret line="17" selection-start-line="17" selection-end-line="17" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/model/StoreConfigVo.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="195">
+          <caret line="12" column="13" selection-start-line="12" selection-start-column="13" selection-end-line="12" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="358">
+          <caret line="46" lean-forward="true" selection-start-line="46" selection-end-line="46" />
+          <folding>
+            <element signature="e#1744#1745#0" expanded="true" />
+            <element signature="e#1771#1772#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/model/BannerVo.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="372">
+          <caret line="23" column="31" lean-forward="true" selection-start-line="23" selection-start-column="31" selection-end-line="23" selection-end-column="31" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-other/src/main/resources/mapper/BannerMapper.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="372">
+          <caret line="51" column="63" selection-start-line="51" selection-start-column="59" selection-end-line="51" selection-end-column="63" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-gateway/src/main/java/cn/mb/cloud/gateway/filter/QueryParamsUtil.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-1828">
+          <caret line="18" column="13" selection-start-line="18" selection-start-column="13" selection-end-line="18" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-communityWorldCup/pom.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="325">
+          <caret line="13" column="22" selection-start-line="13" selection-start-column="22" selection-end-line="13" selection-end-column="22" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="2130">
+          <caret line="125" lean-forward="true" selection-start-line="125" selection-end-line="125" />
+          <folding>
+            <element signature="e#5114#5115#0" expanded="true" />
+            <element signature="e#5197#5198#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/HomeModuleController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="350">
+          <caret line="30" column="24" lean-forward="true" selection-start-line="30" selection-start-column="24" selection-end-line="30" selection-end-column="24" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/entity/HomeModule.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="254">
+          <caret line="30" column="7" lean-forward="true" selection-start-line="30" selection-start-column="7" selection-end-line="30" selection-end-column="7" />
+        </state>
+      </provider>
+    </entry>
+  </component>
+  <component name="masterDetails">
+    <states>
+      <state key="ArtifactsStructureConfigurable.UI">
+        <settings>
+          <artifact-editor />
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+      <state key="FacetStructureConfigurable.UI">
+        <settings>
+          <last-edited>Spring</last-edited>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+      <state key="GlobalLibrariesConfigurable.UI">
+        <settings>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+      <state key="JdkListConfigurable.UI">
+        <settings>
+          <last-edited>1.8</last-edited>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+      <state key="ModuleStructureConfigurable.UI">
+        <settings>
+          <last-edited>PlayPai</last-edited>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+                <option value="0.6" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+      <state key="ProjectLibrariesConfigurable.UI">
+        <settings>
+          <last-edited>Maven: antlr:antlr:2.7.7</last-edited>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+    </states>
+  </component>
 </project>
\ No newline at end of file
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
index 0bfffc6..da81fe4 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
@@ -418,8 +418,69 @@
     }
 
 
+    @ResponseBody
+    @PostMapping("/api/worldCup/getParticipant")
+    @ApiOperation(value = "获取已报名的参赛人员【2.0】", tags = {"APP-个人中心"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<List<ParticipantVo>> getParticipant(){
+        try {
+            Integer uid = tokenUtil.getUserIdFormRedis();
+            if(null == uid){
+                return ResultUtil.tokenErr();
+            }
+            List<ParticipantVo> participant = worldCupPaymentParticipantService.getParticipant(uid);
+            return ResultUtil.success(participant);
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResultUtil.runErr();
+        }
+    }
 
-//    public ResultUtil<MyWorldCupInfo> getMyWorldCupInfo(@RequestBody String id){
-//
-//    }
+
+
+
+    @ResponseBody
+    @PostMapping("/api/worldCup/getMyWorldCupInfo")
+    @ApiOperation(value = "获取已报名世界杯详情【2.0】", tags = {"APP-个人中心"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "列表中的id", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<MyWorldCupInfo> getMyWorldCupInfo(@RequestBody String id){
+        MyWorldCupInfo myWorldCupInfo = worldCupPaymentParticipantService.getMyWorldCupInfo(id);
+        return ResultUtil.success(myWorldCupInfo);
+    }
+
+
+
+
+    @ResponseBody
+    @PostMapping("/api/worldCup/getWorldCupMatchRecord")
+    @ApiOperation(value = "获取比赛记录【2.0】", tags = {"APP-个人中心"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<MatchRecordVo> getWorldCupMatchRecord(MatchRecord matchRecord){
+        MatchRecordVo matchRecord1 = worldCupCompetitorService.getMatchRecord(matchRecord);
+        return ResultUtil.success(matchRecord1);
+    }
+
+
+
+    @ResponseBody
+    @PostMapping("/api/worldCup/getWorldCupRank")
+    @ApiOperation(value = "获取比赛排名【2.0】", tags = {"APP-个人中心"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<List<WorldCupRankVo>> getWorldCupRank(WorldCupRank worldCupRank){
+        List<WorldCupRankVo> worldCupRank1 = worldCupCompetitorService.getWorldCupRank(worldCupRank);
+        return ResultUtil.success(worldCupRank1);
+    }
+
+
+
+
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/entity/WorldCupPayment.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/entity/WorldCupPayment.java
index da459cd..edeeddf 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/entity/WorldCupPayment.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/entity/WorldCupPayment.java
@@ -42,6 +42,11 @@
     @TableField("payType")
     private Integer payType;
     /**
+     * 支付单价
+     */
+    @TableField("unitPrice")
+    private BigDecimal unitPrice;
+    /**
      * 支付金额
      */
     @TableField("amount")
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java
index 3b04e73..d638451 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/mapper/WorldCupCompetitorMapper.java
@@ -2,6 +2,10 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dsh.communityWorldCup.entity.WorldCupCompetitor;
+import com.dsh.communityWorldCup.model.MatchRecord;
+import com.dsh.communityWorldCup.model.MatchRecordList;
+import com.dsh.communityWorldCup.model.WorldCupRank;
+import com.dsh.communityWorldCup.model.WorldCupRankVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -19,4 +23,20 @@
      * @return
      */
     List<Map<String, Object>> getNumberOfGamesRanked(@Param("appUserIds") List<Integer> appUserIds);
+
+
+    /**
+     * 获取比赛记录
+     * @param matchRecord
+     * @return
+     */
+    List<MatchRecordList> getMatchRecord(@Param("item") MatchRecord matchRecord);
+
+
+    /**
+     * 获取参赛排名
+     * @param worldCupRank
+     * @return
+     */
+    List<Map<String, Object>> getWorldCupRank(@Param("item") WorldCupRank worldCupRank, @Param("appUserIds") List<Integer> appUserIds);
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MatchRecord.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MatchRecord.java
new file mode 100644
index 0000000..bdd41f6
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MatchRecord.java
@@ -0,0 +1,22 @@
+package com.dsh.communityWorldCup.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/29 10:19
+ */
+@Data
+@ApiModel
+public class MatchRecord {
+    @ApiModelProperty(value = "参赛人id", required = true, dataType = "int")
+    private Integer id;
+    @ApiModelProperty(value = "是否是学员", required = true, dataType = "int")
+    private Integer isStudent;
+    @ApiModelProperty(value = "页码,首页1", required = true, dataType = "int")
+    private Integer pageNo;
+    @ApiModelProperty(value = "每页条数", required = true, dataType = "int")
+    private Integer pageSize;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MatchRecordList.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MatchRecordList.java
new file mode 100644
index 0000000..b1e5e6c
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MatchRecordList.java
@@ -0,0 +1,26 @@
+package com.dsh.communityWorldCup.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/29 10:12
+ */
+@Data
+@ApiModel
+public class MatchRecordList {
+    @ApiModelProperty("名称")
+    private String name;
+    @ApiModelProperty("我方分数")
+    private Integer ourScore;
+    @ApiModelProperty("对手分数")
+    private Integer opponentScore;
+    @ApiModelProperty("比赛时间")
+    private String startTime;
+    @ApiModelProperty("比赛结果(1=胜,-1=负)")
+    private Integer matchResult;
+    @ApiModelProperty("获得积分")
+    private Integer award;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MatchRecordVo.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MatchRecordVo.java
new file mode 100644
index 0000000..c190bde
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MatchRecordVo.java
@@ -0,0 +1,20 @@
+package com.dsh.communityWorldCup.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/29 10:08
+ */
+@Data
+@ApiModel
+public class MatchRecordVo {
+    @ApiModelProperty("总场次")
+    private Integer totalSession;
+    @ApiModelProperty("记录列表")
+    private List<MatchRecordList> list;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MyWorldCupInfo.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MyWorldCupInfo.java
index 85cd333..2e5ae9b 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MyWorldCupInfo.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/MyWorldCupInfo.java
@@ -4,6 +4,8 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * @author zhibing.pu
  * @Date 2024/2/28 16:49
@@ -33,14 +35,18 @@
     private String address;
     @ApiModelProperty("参与赛点")
     private String stores;
-    @ApiModelProperty("比赛费用(现金)")
-    private Double cash;
-    @ApiModelProperty("比赛费用(玩湃币)")
-    private Double paiCoin;
-    @ApiModelProperty("比赛费用(课时)")
-    private Double classHour;
+    @ApiModelProperty("参赛人员列表")
+    private List<ParticipantVo> participants;
+    @ApiModelProperty("比赛费用单价")
+    private Double unitPrice;
+    @ApiModelProperty("支付费用")
+    private Double expense;
     @ApiModelProperty("简介")
     private String intro;
     @ApiModelProperty("富文本")
     private String content;
+    @ApiModelProperty("比赛状态(1=未开始,2=已开始,3=已结束,4=已取消)")
+    private Integer status;
+    @ApiModelProperty("是否可取消(0=否,1=是)")
+    private Integer revocable;
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/ParticipantVo.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/ParticipantVo.java
new file mode 100644
index 0000000..833d212
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/ParticipantVo.java
@@ -0,0 +1,36 @@
+package com.dsh.communityWorldCup.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @date 2023/7/6 16:52
+ */
+@Data
+@ApiModel
+public class ParticipantVo {
+    @ApiModelProperty("人员id")
+    private Integer id;
+    @ApiModelProperty("姓名")
+    private String name;
+    @ApiModelProperty("年龄")
+    private Integer age;
+    @ApiModelProperty("身份证号码")
+    private String idcard;
+    @ApiModelProperty("电话号码")
+    private String phone;
+    @ApiModelProperty("身高")
+    private Integer height;
+    @ApiModelProperty("体重")
+    private Double weight;
+    @ApiModelProperty("生日")
+    private String birthday;
+    @ApiModelProperty("性别(1=男,2=女)")
+    private Integer gender;
+    @ApiModelProperty("剩余课时")
+    private Integer residueClassHour;
+    @ApiModelProperty("是否为学员")
+    private Integer isStudent;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupRank.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupRank.java
new file mode 100644
index 0000000..ba6da5c
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupRank.java
@@ -0,0 +1,25 @@
+package com.dsh.communityWorldCup.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/29 10:47
+ */
+@Data
+@ApiModel
+public class WorldCupRank {
+    @ApiModelProperty(value = "参赛人id", required = true, dataType = "int")
+    private Integer id;
+    @ApiModelProperty(value = "是否是学员", required = true, dataType = "int")
+    private Integer isStudent;
+    @ApiModelProperty(value = "年份,2024", required = false, dataType = "int")
+    private Integer year;
+    @ApiModelProperty(value = "范围,1=全国,2=成都", required = true, dataType = "int")
+    private Integer radius;
+    @ApiModelProperty(value = "排序,1=场次,2=胜率", required = true, dataType = "int")
+    private Integer sort;
+    private Integer appUserId;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupRankVo.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupRankVo.java
new file mode 100644
index 0000000..e506669
--- /dev/null
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupRankVo.java
@@ -0,0 +1,24 @@
+package com.dsh.communityWorldCup.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/2/29 10:35
+ */
+@Data
+@ApiModel
+public class WorldCupRankVo {
+    @ApiModelProperty("姓名")
+    private String name;
+    @ApiModelProperty("头像")
+    private String avatar;
+    @ApiModelProperty("总场次")
+    private Integer totalSession;
+    @ApiModelProperty("胜率")
+    private Double winRate;
+    @ApiModelProperty("是否是自己(0=否,1=是)")
+    private Integer oneself;
+}
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java
index b88ad1e..ffc7f16 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupCompetitorService.java
@@ -2,8 +2,9 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.dsh.communityWorldCup.entity.WorldCupCompetitor;
-import com.dsh.communityWorldCup.model.EntrantRank;
-import com.dsh.communityWorldCup.model.EntrantRankVo;
+import com.dsh.communityWorldCup.model.*;
+
+import java.util.List;
 
 /**
  * @author zhibing.pu
@@ -18,4 +19,20 @@
      * @return
      */
     EntrantRankVo getEntrantRank(EntrantRank entrantRank);
+
+
+    /**
+     * 获取比赛记录
+     * @param matchRecord
+     * @return
+     */
+    MatchRecordVo getMatchRecord(MatchRecord matchRecord);
+
+
+    /**
+     * 获取参赛排名
+     * @param worldCupRank
+     * @return
+     */
+    List<WorldCupRankVo> getWorldCupRank(WorldCupRank worldCupRank);
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentParticipantService.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentParticipantService.java
index b40293a..660d8eb 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentParticipantService.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/IWorldCupPaymentParticipantService.java
@@ -4,6 +4,7 @@
 import com.dsh.communityWorldCup.entity.WorldCupPaymentParticipant;
 import com.dsh.communityWorldCup.model.MyWorldCupInfo;
 import com.dsh.communityWorldCup.model.MyWorldCupList;
+import com.dsh.communityWorldCup.model.ParticipantVo;
 import com.dsh.communityWorldCup.model.WorldCupListVo;
 import org.springframework.web.bind.annotation.RequestBody;
 
@@ -40,4 +41,12 @@
      * @return
      */
     MyWorldCupInfo getMyWorldCupInfo(String id);
+
+
+    /**
+     * 获取已报过名的参赛人员
+     * @param uid   当前用户
+     * @return
+     */
+    List<ParticipantVo> getParticipant(Integer uid);
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java
index d4ac4e6..bf244d5 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java
@@ -11,8 +11,7 @@
 import com.dsh.communityWorldCup.feignclient.competition.model.Participant;
 import com.dsh.communityWorldCup.feignclient.other.StoreClient;
 import com.dsh.communityWorldCup.mapper.WorldCupCompetitorMapper;
-import com.dsh.communityWorldCup.model.EntrantRank;
-import com.dsh.communityWorldCup.model.EntrantRankVo;
+import com.dsh.communityWorldCup.model.*;
 import com.dsh.communityWorldCup.service.IWorldCupCompetitorService;
 import org.springframework.stereotype.Service;
 
@@ -20,6 +19,7 @@
 import java.math.BigDecimal;
 import java.math.MathContext;
 import java.math.RoundingMode;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -116,4 +116,133 @@
         }
         return entrantRankVo;
     }
+
+
+    /**
+     * 获取比赛记录
+     * @param matchRecord
+     * @return
+     */
+    @Override
+    public MatchRecordVo getMatchRecord(MatchRecord matchRecord) {
+        matchRecord.setIsStudent(matchRecord.getIsStudent() == 0 ? 2 : 1);
+        int pageNo = (matchRecord.getPageNo() - 1) * matchRecord.getPageSize();
+        matchRecord.setPageNo(pageNo);
+        MatchRecordVo matchRecordVo = new MatchRecordVo();
+        int count = this.count(new QueryWrapper<WorldCupCompetitor>().eq("participantId", matchRecord.getId())
+                .eq("participantType", matchRecord.getIsStudent()));
+        matchRecordVo.setTotalSession(count);
+        List<MatchRecordList> matchRecord1 = this.baseMapper.getMatchRecord(matchRecord);
+        matchRecordVo.setList(matchRecord1);
+        return matchRecordVo;
+    }
+
+
+    /**
+     * 获取参赛排名
+     * @param worldCupRank
+     * @return
+     */
+    @Override
+    public List<WorldCupRankVo> getWorldCupRank(WorldCupRank worldCupRank) {
+        worldCupRank.setIsStudent(worldCupRank.getIsStudent() == 0 ? 2 : 1);
+        List<Integer> appUserIds = null;
+        if(worldCupRank.getRadius() == 2){
+            AppUser appUser = appUserClient.getAppUser(worldCupRank.getAppUserId());
+            appUserIds = appUserClient.getAppUserIds(appUser.getCityCode());
+        }
+        List<Map<String, Object>> lists = this.baseMapper.getWorldCupRank(worldCupRank, appUserIds);
+        List<WorldCupRankVo> list = new ArrayList<>();
+        for (int i = 0; i < lists.size(); i++) {
+            Map<String, Object> map = lists.get(i);
+            Integer participantType = Integer.valueOf(map.get("participantType").toString());
+            Integer participantId = Integer.valueOf(map.get("participantId").toString());
+            Integer appUserId = Integer.valueOf(map.get("appUserId").toString());
+            Integer totalSession = Integer.valueOf(map.get("totalSession").toString());
+            Double winRate = Double.valueOf(map.get("winRate").toString());
+            //自己排名在20内的标识
+            boolean b = false;
+            if(i <= 19){
+                WorldCupRankVo worldCupRankVo = new WorldCupRankVo();
+                worldCupRankVo.setTotalSession(totalSession);
+                worldCupRankVo.setWinRate(winRate);
+                //学员
+                if(participantType == 1){
+                    TStudent tStudent = studentClient.queryById(participantId);
+                    worldCupRankVo.setAvatar(tStudent.getHeadImg());
+                    String name = tStudent.getName();
+                    if(name.length() > 2){
+                        name = name.charAt(0) + "*" + name.substring(2);
+                    }else{
+                        name = name.charAt(0) + "*";
+                    }
+                    worldCupRankVo.setName(name);
+                }
+                //参赛人员
+                if(participantType == 2){
+                    AppUser appUser1 = appUserClient.getAppUser(appUserId);
+                    Participant participant = participantClient.getParticipant(participantId);
+                    worldCupRankVo.setAvatar(appUser1.getHeadImg());
+                    String name = participant.getName();
+                    if(name.length() > 2){
+                        name = name.charAt(0) + "*" + name.substring(2);
+                    }else{
+                        name = name.charAt(0) + "*";
+                    }
+                    worldCupRankVo.setName(name);
+
+                }
+                if(worldCupRank.getIsStudent().equals(participantType) && worldCupRank.getId().equals(participantId)){
+                    worldCupRankVo.setOneself(1);
+                    b = true;
+                }else{
+                    worldCupRankVo.setOneself(0);
+                }
+
+                list.add(worldCupRankVo);
+            }
+            //排名20内,且包含自己直接返回
+            if(i == 19 && b){
+                break;
+            }
+            //排名前20的数据添加完成后且包含自己,需要将自己找出来后添加到21位
+            if(i > 19 && !b){
+                if(worldCupRank.getIsStudent().equals(participantType) && worldCupRank.getId().equals(participantId)){
+                    WorldCupRankVo worldCupRankVo = new WorldCupRankVo();
+                    worldCupRankVo.setTotalSession(totalSession);
+                    worldCupRankVo.setWinRate(winRate);
+                    //学员
+                    if(participantType == 1){
+                        TStudent tStudent = studentClient.queryById(participantId);
+                        worldCupRankVo.setAvatar(tStudent.getHeadImg());
+                        String name = tStudent.getName();
+                        if(name.length() > 2){
+                            name = name.charAt(0) + "*" + name.substring(2);
+                        }else{
+                            name = name.charAt(0) + "*";
+                        }
+                        worldCupRankVo.setName(name);
+                    }
+                    //参赛人员
+                    if(participantType == 2){
+                        AppUser appUser1 = appUserClient.getAppUser(appUserId);
+                        Participant participant = participantClient.getParticipant(participantId);
+                        worldCupRankVo.setAvatar(appUser1.getHeadImg());
+                        String name = participant.getName();
+                        if(name.length() > 2){
+                            name = name.charAt(0) + "*" + name.substring(2);
+                        }else{
+                            name = name.charAt(0) + "*";
+                        }
+                        worldCupRankVo.setName(name);
+
+                    }
+                    worldCupRankVo.setOneself(1);
+                    list.add(worldCupRankVo);
+                    break;
+                }
+            }
+        }
+        return list;
+    }
 }
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java
index 6054af7..5eba133 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupPaymentParticipantServiceImpl.java
@@ -1,15 +1,30 @@
 package com.dsh.communityWorldCup.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.communityWorldCup.entity.WorldCup;
+import com.dsh.communityWorldCup.entity.WorldCupPayment;
 import com.dsh.communityWorldCup.entity.WorldCupPaymentParticipant;
+import com.dsh.communityWorldCup.feignclient.account.StudentClient;
+import com.dsh.communityWorldCup.feignclient.account.model.TStudent;
+import com.dsh.communityWorldCup.feignclient.competition.ParticipantClient;
+import com.dsh.communityWorldCup.feignclient.competition.model.Participant;
 import com.dsh.communityWorldCup.mapper.WorldCupPaymentParticipantMapper;
 import com.dsh.communityWorldCup.model.MyWorldCupInfo;
 import com.dsh.communityWorldCup.model.MyWorldCupList;
 import com.dsh.communityWorldCup.model.WorldCupListVo;
+import com.dsh.communityWorldCup.model.*;
 import com.dsh.communityWorldCup.service.IWorldCupPaymentParticipantService;
+import com.dsh.communityWorldCup.service.IWorldCupPaymentService;
+import com.dsh.communityWorldCup.service.IWorldCupService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
+import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author zhibing.pu
@@ -17,6 +32,20 @@
  */
 @Service
 public class WorldCupPaymentParticipantServiceImpl extends ServiceImpl<WorldCupPaymentParticipantMapper, WorldCupPaymentParticipant> implements IWorldCupPaymentParticipantService {
+
+    @Autowired
+    private IWorldCupPaymentService worldCupPaymentService;
+
+    @Resource
+    private StudentClient studentClient;
+
+    @Resource
+    private ParticipantClient participantClient;
+
+    @Autowired
+    private IWorldCupService worldCupService;
+
+
 
 
     /**
@@ -46,8 +75,112 @@
     }
 
 
+    /**
+     * 获取已报名的世界杯详情
+     * @param id    社区世界杯支付对应的参与者记录id
+     * @return
+     */
     @Override
     public MyWorldCupInfo getMyWorldCupInfo(String id) {
-        return null;
+        WorldCupPaymentParticipant worldCupPaymentParticipant = this.getById(id);
+        Integer worldCupId = worldCupPaymentParticipant.getWorldCupId();
+        WorldCupPayment worldCupPayment = worldCupPaymentService.getById(worldCupPaymentParticipant.getWorldCupPaymentId());
+        WorldCupInfo worldCupInfo = worldCupService.getWorldCupInfo(worldCupId);
+        WorldCup worldCup = worldCupService.getById(worldCupId);
+        MyWorldCupInfo myWorldCupInfo = new MyWorldCupInfo();
+        BeanUtils.copyProperties(worldCupInfo, myWorldCupInfo);
+        myWorldCupInfo.setUnitPrice(worldCupPayment.getUnitPrice().doubleValue());
+        myWorldCupInfo.setExpense(worldCupPayment.getAmount().doubleValue());
+        myWorldCupInfo.setStatus(worldCup.getStatus());
+        myWorldCupInfo.setRevocable(1);
+        //开始前一天不能取消
+        if(worldCup.getStartTime().getTime() < System.currentTimeMillis() + 86400000L){
+            myWorldCupInfo.setRevocable(0);
+        }
+        List<ParticipantVo> datas = new ArrayList<>();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
+        List<WorldCupPaymentParticipant> list1 = this.list(new QueryWrapper<WorldCupPaymentParticipant>().eq("worldCupPaymentId", worldCupPaymentParticipant.getWorldCupPaymentId()));
+        for (WorldCupPaymentParticipant wcpp : list1) {
+            Integer participantType = wcpp.getParticipantType();
+            Integer participantId = wcpp.getParticipantId();
+            ParticipantVo participantVo = new ParticipantVo();
+            //学员
+            if(1 == participantType){
+                TStudent tStudent = studentClient.queryById(participantId);
+                participantVo.setId(tStudent.getId());
+                participantVo.setName(tStudent.getName());
+                int age = Integer.valueOf(sdf.format(new Date())) - Integer.valueOf(sdf.format(tStudent.getBirthday()));
+                participantVo.setAge(age);
+                participantVo.setIdcard(tStudent.getIdCard());
+                participantVo.setPhone(tStudent.getPhone());
+                participantVo.setIsStudent(1);
+                datas.add(participantVo);
+            }
+            //参赛人员
+            if(2 == participantType){
+                Participant participant = participantClient.getParticipant(participantId);
+                participantVo.setId(participant.getId());
+                participantVo.setName(participant.getName());
+                int age = Integer.valueOf(sdf.format(new Date())) - Integer.valueOf(sdf.format(participant.getBirthday()));
+                participantVo.setAge(age);
+                participantVo.setIdcard(participant.getIdcard());
+                participantVo.setPhone(participant.getPhone());
+                participantVo.setIsStudent(0);
+                datas.add(participantVo);
+            }
+        }
+
+        myWorldCupInfo.setParticipants(datas);
+        return myWorldCupInfo;
+    }
+
+
+    /**
+     * 获取已报过名的参赛人员
+     * @param uid   当前用户
+     * @return
+     */
+    @Override
+    public List<ParticipantVo> getParticipant(Integer uid) {
+        List<WorldCupPayment> list = worldCupPaymentService.list(new QueryWrapper<WorldCupPayment>().eq("appUserId", uid)
+                .eq("payStatus", 2).eq("state", 1));
+        List<Long> collect = list.stream().map(WorldCupPayment::getId).collect(Collectors.toList());
+        List<ParticipantVo> datas = new ArrayList<>();
+        Set<Integer> csry = new HashSet<>();
+        Set<Integer> xy = new HashSet<>();
+        if(collect.size() > 0){
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
+            List<WorldCupPaymentParticipant> list1 = this.list(new QueryWrapper<WorldCupPaymentParticipant>().in("worldCupPaymentId", collect));
+            for (WorldCupPaymentParticipant worldCupPaymentParticipant : list1) {
+                Integer participantType = worldCupPaymentParticipant.getParticipantType();
+                Integer participantId = worldCupPaymentParticipant.getParticipantId();
+                ParticipantVo participantVo = new ParticipantVo();
+                //学员
+                if(1 == participantType && !xy.contains(participantId)){
+                    TStudent tStudent = studentClient.queryById(participantId);
+                    participantVo.setId(tStudent.getId());
+                    participantVo.setName(tStudent.getName());
+                    int age = Integer.valueOf(sdf.format(new Date())) - Integer.valueOf(sdf.format(tStudent.getBirthday()));
+                    participantVo.setAge(age);
+                    participantVo.setIdcard(tStudent.getIdCard());
+                    participantVo.setPhone(tStudent.getPhone());
+                    participantVo.setIsStudent(1);
+                    datas.add(participantVo);
+                }
+                //参赛人员
+                if(2 == participantType && !csry.contains(participantId)){
+                    Participant participant = participantClient.getParticipant(participantId);
+                    participantVo.setId(participant.getId());
+                    participantVo.setName(participant.getName());
+                    int age = Integer.valueOf(sdf.format(new Date())) - Integer.valueOf(sdf.format(participant.getBirthday()));
+                    participantVo.setAge(age);
+                    participantVo.setIdcard(participant.getIdcard());
+                    participantVo.setPhone(participant.getPhone());
+                    participantVo.setIsStudent(0);
+                    datas.add(participantVo);
+                }
+            }
+        }
+        return datas;
     }
 }
diff --git a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml
index 0f696eb..abad966 100644
--- a/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml
+++ b/cloud-server-communityWorldCup/src/main/resources/mapper/WorldCupCompetitorMapper.xml
@@ -20,4 +20,78 @@
         ) as aa order by aa.num desc
     </select>
 
+
+
+    <select id="getMatchRecord" resultType="com.dsh.communityWorldCup.model.MatchRecordList">
+        select
+            b.`name`,
+            a.ourScore,
+            a.opponentScore,
+            DATE_FORMAT(a.startTime, '%Y-%m-%d %H:%i') as startTime,
+            a.matchResult,
+            (a.participationIntegral + a.winIntegral) as award
+        from t_world_cup_competitor a
+        left join t_world_cup b on (a.worldCupId = b.id)
+        where a.participantId = #{item.id} and a.participantType = #{item.isStudent}
+        order by a.startTime desc limit #{item.pageNo}, #{item.pageSize}
+    </select>
+
+
+
+
+    <select id="getWorldCupRank" resultType="java.util.Map">
+        select * from (
+            select
+            a.participantType,
+            a.participantId,
+            a.appUserId,
+            a.num as totalSession,
+            (ifnull(b.num, 0) / a.num * 100) as winRate
+            from (
+                select
+                participantType,
+                participantId,
+                appUserId,
+                count(*) as num
+                from t_world_cup_competitor
+                where 1 = 1
+                <if test="null != item.year">
+                    and DATE_FORMAT(a.startTime, '%Y') = #{item.year}
+                </if>
+                <if test="null != appUserIds and appUserIds.size() > 0">
+                    and appUserId in
+                    <foreach collection="appUserIds" item="iten" index="index" open="(" separator="," close=")">
+                        #{iten}
+                    </foreach>
+                </if>
+                group by participantType, participantId, appUserId
+            ) as a
+            left join (
+                select
+                participantType,
+                participantId,
+                appUserId,
+                count(*) as num
+                from t_world_cup_competitor
+                where matchResult = 1
+                <if test="null != item.year">
+                    and DATE_FORMAT(a.startTime, '%Y') = #{item.year}
+                </if>
+                <if test="null != appUserIds and appUserIds.size() > 0">
+                    and appUserId in
+                    <foreach collection="appUserIds" item="iten" index="index" open="(" separator="," close=")">
+                        #{iten}
+                    </foreach>
+                </if>
+                group by participantType, participantId, appUserId
+            ) as b on (a.participantId = b.participantId and a.participantType = b.participantType)
+        ) as aa
+        <if test="null != item.sort and item.sort == 1">
+            order by aa.totalSession desc
+        </if>
+        <if test="null != item.sort and item.sort == 2">
+            order by aa.winRate desc
+        </if>
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.7.1