xiang преди 2 месеца
ревизия
1f46d07195
променени са 58 файла, в които са добавени 1366 реда и са изтрити 0 реда
  1. 8 0
      .idea/.gitignore
  2. 18 0
      .idea/compiler.xml
  3. 12 0
      .idea/dataSources.xml
  4. 19 0
      .idea/encodings.xml
  5. 4 0
      .idea/gradle.xml
  6. 20 0
      .idea/jarRepositories.xml
  7. 23 0
      .idea/misc.xml
  8. 14 0
      .idea/modules.xml
  9. 124 0
      .idea/uiDesigner.xml
  10. 33 0
      auth/.gitignore
  11. 32 0
      auth/pom.xml
  12. 14 0
      auth/src/main/java/com/auth/AuthApplication.java
  13. 23 0
      auth/src/main/resources/bootstrap.yml
  14. 13 0
      auth/src/test/java/com/auth/AuthApplicationTests.java
  15. 33 0
      base/.gitignore
  16. 13 0
      base/pom.xml
  17. 21 0
      base/src/main/java/com/base/exception/CommonError.java
  18. 31 0
      base/src/main/java/com/base/exception/GlobalExceptionHandler.java
  19. 25 0
      base/src/main/java/com/base/exception/RestErrorResponse.java
  20. 31 0
      base/src/main/java/com/base/exception/WyMusicException.java
  21. 33 0
      content/.gitignore
  22. 47 0
      content/pom.xml
  23. 14 0
      content/src/main/java/com/content/ContentApplication.java
  24. 34 0
      content/src/main/java/com/content/controller/SwipperController.java
  25. 35 0
      content/src/main/java/com/content/domain/po/Swipper.java
  26. 18 0
      content/src/main/java/com/content/mapper/SwipperMapper.java
  27. 16 0
      content/src/main/java/com/content/service/ISwipperService.java
  28. 20 0
      content/src/main/java/com/content/service/impl/SwipperServiceImpl.java
  29. 23 0
      content/src/main/resources/bootstrap.yml
  30. 5 0
      content/src/main/resources/mapper/SwipperMapper.xml
  31. 13 0
      content/src/test/java/com/example/content/ContentApplicationTests.java
  32. 33 0
      gateway/.gitignore
  33. 31 0
      gateway/pom.xml
  34. 13 0
      gateway/src/main/java/com/gateway/GatewayApplication.java
  35. 23 0
      gateway/src/main/resources/bootstrap.yml
  36. 13 0
      gateway/src/test/java/com/gateway/GatewayApplicationTests.java
  37. 33 0
      order/.gitignore
  38. 31 0
      order/pom.xml
  39. 13 0
      order/src/main/java/com/order/OrderApplication.java
  40. 23 0
      order/src/main/resources/bootstrap.yml
  41. 13 0
      order/src/test/java/com/order/OrderApplicationTests.java
  42. BIN
      out/production/gateway/com/gateway/demos/web/BasicController.class
  43. BIN
      out/production/gateway/com/gateway/demos/web/PathVariableController.class
  44. BIN
      out/production/gateway/com/gateway/demos/web/User.class
  45. BIN
      out/production/order/com/order/demos/web/BasicController.class
  46. BIN
      out/production/order/com/order/demos/web/PathVariableController.class
  47. BIN
      out/production/order/com/order/demos/web/User.class
  48. BIN
      out/production/search/com/search/demos/web/BasicController.class
  49. BIN
      out/production/search/com/search/demos/web/PathVariableController.class
  50. BIN
      out/production/search/com/search/demos/web/User.class
  51. 33 0
      parent/.gitignore
  52. 216 0
      parent/pom.xml
  53. 33 0
      search/.gitignore
  54. 31 0
      search/pom.xml
  55. 13 0
      search/src/main/java/com/search/SearchApplication.java
  56. 23 0
      search/src/main/resources/bootstrap.yml
  57. 13 0
      search/src/test/java/com/search/SearchApplicationTests.java
  58. 9 0
      wy-music.iml

+ 8 - 0
.idea/.gitignore

@@ -0,0 +1,8 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml

+ 18 - 0
.idea/compiler.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <annotationProcessing>
+      <profile name="Maven default annotation processors profile" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <module name="search" />
+        <module name="auth" />
+        <module name="content" />
+        <module name="gateway" />
+        <module name="base" />
+        <module name="order" />
+      </profile>
+    </annotationProcessing>
+  </component>
+</project>

+ 12 - 0
.idea/dataSources.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="DataSourceManagerImpl" format="xml" multifile-model="true">
+    <data-source source="LOCAL" name="@117.72.120.45" uuid="094595d5-9f46-41d8-8163-3d75db867969">
+      <driver-ref>mysql.8</driver-ref>
+      <synchronize>true</synchronize>
+      <jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
+      <jdbc-url>jdbc:mysql://117.72.120.45:3306</jdbc-url>
+      <working-dir>$ProjectFileDir$</working-dir>
+    </data-source>
+  </component>
+</project>

+ 19 - 0
.idea/encodings.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding">
+    <file url="file://$PROJECT_DIR$/auth/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/auth/src/main/resources" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/base/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/base/src/main/resources" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/content/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/content/src/main/resources" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/gateway/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/gateway/src/main/resources" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/order/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/order/src/main/resources" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/parent/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/parent/src/main/resources" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/search/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/search/src/main/resources" charset="UTF-8" />
+  </component>
+</project>

+ 4 - 0
.idea/gradle.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="GradleMigrationSettings" migrationVersion="1" />
+</project>

+ 20 - 0
.idea/jarRepositories.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RemoteRepositoriesConfiguration">
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="https://repo.maven.apache.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="jboss.community" />
+      <option name="name" value="JBoss Community repository" />
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+    </remote-repository>
+  </component>
+</project>

+ 23 - 0
.idea/misc.xml

@@ -0,0 +1,23 @@
+<project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="FrameworkDetectionExcludesConfiguration">
+    <file type="web" url="file://$PROJECT_DIR$/base" />
+    <file type="web" url="file://$PROJECT_DIR$/search" />
+  </component>
+  <component name="MavenProjectsManager">
+    <option name="originalFiles">
+      <list>
+        <option value="$PROJECT_DIR$/content/pom.xml" />
+        <option value="$PROJECT_DIR$/auth/pom.xml" />
+        <option value="$PROJECT_DIR$/order/pom.xml" />
+        <option value="$PROJECT_DIR$/base/pom.xml" />
+        <option value="$PROJECT_DIR$/gateway/pom.xml" />
+        <option value="$PROJECT_DIR$/parent/pom.xml" />
+        <option value="$PROJECT_DIR$/search/pom.xml" />
+      </list>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_18" default="true" project-jdk-name="18" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>

+ 14 - 0
.idea/modules.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/auth/auth.iml" filepath="$PROJECT_DIR$/auth/auth.iml" />
+      <module fileurl="file://$PROJECT_DIR$/content/content.iml" filepath="$PROJECT_DIR$/content/content.iml" />
+      <module fileurl="file://$PROJECT_DIR$/gateway/gateway.iml" filepath="$PROJECT_DIR$/gateway/gateway.iml" />
+      <module fileurl="file://$PROJECT_DIR$/order/order.iml" filepath="$PROJECT_DIR$/order/order.iml" />
+      <module fileurl="file://$PROJECT_DIR$/parent/parent.iml" filepath="$PROJECT_DIR$/parent/parent.iml" />
+      <module fileurl="file://$PROJECT_DIR$/search/search.iml" filepath="$PROJECT_DIR$/search/search.iml" />
+      <module fileurl="file://$PROJECT_DIR$/wy-music.iml" filepath="$PROJECT_DIR$/wy-music.iml" />
+    </modules>
+  </component>
+</project>

+ 124 - 0
.idea/uiDesigner.xml

@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Palette2">
+    <group name="Swing">
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+      </item>
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+        <initial-values>
+          <property name="text" value="Button" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="RadioButton" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="CheckBox" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="Label" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+          <preferred-size width="-1" height="20" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+      </item>
+    </group>
+  </component>
+</project>

+ 33 - 0
auth/.gitignore

@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/

+ 32 - 0
auth/pom.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>parent</artifactId>
+        <groupId>com.wy-music</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+        <relativePath>../parent</relativePath>
+    </parent>
+    <artifactId>auth</artifactId>
+    <packaging>jar</packaging>
+    <dependencies>
+        <dependency>
+            <groupId>com.wy-music</groupId>
+            <artifactId>base</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+    </dependencies>
+</project>

+ 14 - 0
auth/src/main/java/com/auth/AuthApplication.java

@@ -0,0 +1,14 @@
+package com.auth;
+
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class AuthApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(AuthApplication.class, args);
+    }
+
+}

+ 23 - 0
auth/src/main/resources/bootstrap.yml

@@ -0,0 +1,23 @@
+spring:
+  application:
+    name: auth
+  cloud:
+    nacos:
+      server-addr: 117.72.120.45:8848
+      discovery:
+        namespace: wy-music-dev
+        group: wy-music
+      config:
+        namespace: wy-music-dev
+        group: wy-music
+        file-extension: yaml
+        refresh-enabled: true
+        shared-configs:
+          - data-id: wy-music-auth-${spring.profiles.active}.yaml
+            group: wy-music
+            refresh: true
+          - data-id: wy-music-common-${spring.profiles.active}.yaml
+            group: wy-music
+            refresh: true
+  profiles:
+    active: dev

+ 13 - 0
auth/src/test/java/com/auth/AuthApplicationTests.java

@@ -0,0 +1,13 @@
+package com.auth;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class AuthApplicationTests {
+
+    @Test
+    void contextLoads() {
+    }
+
+}

+ 33 - 0
base/.gitignore

@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/

+ 13 - 0
base/pom.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.wy-music</groupId>
+        <artifactId>parent</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+        <!--基于当前pom.xml找到父工程-->
+        <relativePath>../parent</relativePath>
+    </parent>
+    <artifactId>base</artifactId>
+</project>

+ 21 - 0
base/src/main/java/com/base/exception/CommonError.java

@@ -0,0 +1,21 @@
+package com.base.exception;
+/**
+ * @description 通用错误信息
+ * @author Mr.M
+ * @date 2022/9/6 11:29
+ * @version 1.0
+ */
+public enum CommonError {
+	UNKOWN_ERROR("执行过程异常,请重试。"),
+	PARAMS_ERROR("非法参数"),
+	OBJECT_NULL("对象为空"),
+	QUERY_NULL("查询结果为空"),
+	REQUEST_NULL("请求参数为空");
+	private String errMessage;
+	public String getErrMessage() {
+		return errMessage;
+	}
+	private CommonError( String errMessage) {
+		this.errMessage = errMessage;
+	}
+}

+ 31 - 0
base/src/main/java/com/base/exception/GlobalExceptionHandler.java

@@ -0,0 +1,31 @@
+package com.base.exception;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @description 全局异常处理器
+ * @author Mr.M
+ * @date 2022/9/6 11:29
+ * @version 1.0
+ */
+@Slf4j
+@RestControllerAdvice
+public class GlobalExceptionHandler {
+    //项目的自定义异常
+    @ResponseBody   //json返回
+    @ExceptionHandler(WyMusicException.class)  //XueChengPlusException.class异常
+    @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)//返回异常码状态code500
+    public RestErrorResponse customException(WyMusicException e) {
+        log.error("【系统异常】{}",e.getErrMessage(),e);
+        return new RestErrorResponse(e.getErrMessage());
+    }
+    //非自定义异常
+    @ResponseBody
+    @ExceptionHandler(Exception.class)
+    @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
+    public RestErrorResponse exception(Exception e) {
+        log.error("【系统异常】{}",e.getMessage(),e);
+        throw new WyMusicException("自定义错误信息");
+    }
+}

+ 25 - 0
base/src/main/java/com/base/exception/RestErrorResponse.java

@@ -0,0 +1,25 @@
+package com.base.exception;
+
+import java.io.Serializable;
+
+/**
+ * @author Mr.M
+ * @version 1.0
+ * @description 和前端约定返回的异常信息模型
+ * @date 2023/2/12 16:55
+ */
+public class RestErrorResponse implements Serializable {
+
+ private String errMessage;
+ public RestErrorResponse(String errMessage){
+  this.errMessage= errMessage;
+ }
+
+ public String getErrMessage() {
+  return errMessage;
+ }
+
+ public void setErrMessage(String errMessage) {
+  this.errMessage = errMessage;
+ }
+}

+ 31 - 0
base/src/main/java/com/base/exception/WyMusicException.java

@@ -0,0 +1,31 @@
+package com.base.exception;
+
+/**
+ * @author Mr.M
+ * @version 1.0
+ * @description 本项目自定义异常类型
+ * @date 2023/2/12 16:56
+ */
+public class WyMusicException extends RuntimeException {
+    private String errMessage;
+
+    public WyMusicException(String message) {
+        super(message);
+        this.errMessage = message;
+    }
+
+    public String getErrMessage() {
+        return errMessage;
+    }
+
+    public void setErrMessage(String errMessage) {
+        this.errMessage = errMessage;
+    }
+
+    public static void cast(String message){
+        throw new WyMusicException(message);
+    }
+    public static void cast(CommonError error){
+        throw new WyMusicException(error.getErrMessage());
+    }
+}

+ 33 - 0
content/.gitignore

@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/

+ 47 - 0
content/pom.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>parent</artifactId>
+        <groupId>com.wy-music</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+        <relativePath>../parent</relativePath>
+    </parent>
+    <artifactId>content</artifactId>
+    <dependencies>
+        <dependency>
+            <groupId>com.wy-music</groupId>
+            <artifactId>base</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+        <!-- MySQL 驱动 -->
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+
+        <!-- mybatis plus的依赖 -->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <!-- Spring Boot 集成 swagger -->
+        <dependency>
+            <groupId>com.spring4all</groupId>
+            <artifactId>swagger-spring-boot-starter</artifactId>
+        </dependency>
+    </dependencies>
+</project>

+ 14 - 0
content/src/main/java/com/content/ContentApplication.java

@@ -0,0 +1,14 @@
+package com.content;
+
+import com.spring4all.swagger.EnableSwagger2Doc;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+@EnableSwagger2Doc
+@SpringBootApplication
+public class ContentApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(ContentApplication.class, args);
+    }
+
+}

+ 34 - 0
content/src/main/java/com/content/controller/SwipperController.java

@@ -0,0 +1,34 @@
+package com.content.controller;
+import com.base.exception.WyMusicException;
+import com.content.domain.po.Swipper;
+import com.content.service.ISwipperService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author xiang
+ * @since 2025-10-29
+ */
+
+@RestController
+@RequestMapping("/swipper")
+public class SwipperController {
+    @Autowired
+    private ISwipperService swipperService;
+    @GetMapping("/content")
+    public List<Swipper> content(){
+        return swipperService.list();
+    }
+    @GetMapping("/test")
+    public List<Swipper> test() {
+        WyMusicException.cast("账号或密码错误");
+        return null;
+    }
+}

+ 35 - 0
content/src/main/java/com/content/domain/po/Swipper.java

@@ -0,0 +1,35 @@
+package com.content.domain.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 轮播图实体类
+ * </p>
+ *
+ * @author xiang
+ * @since 2025-10-29
+ */
+@ApiModel(description = "轮播图信息")
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("swipper")
+public class Swipper implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键ID", example = "1")
+    private Integer id;
+
+    @ApiModelProperty(value = "图片URL地址", example = "https://example.com/image.jpg")
+    private String url;
+}

+ 18 - 0
content/src/main/java/com/content/mapper/SwipperMapper.java

@@ -0,0 +1,18 @@
+package com.content.mapper;
+
+import com.content.domain.po.Swipper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author xiang
+ * @since 2025-10-29
+ */
+@Mapper
+public interface SwipperMapper extends BaseMapper<Swipper> {
+
+}

+ 16 - 0
content/src/main/java/com/content/service/ISwipperService.java

@@ -0,0 +1,16 @@
+package com.content.service;
+
+import com.content.domain.po.Swipper;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author xiang
+ * @since 2025-10-29
+ */
+public interface ISwipperService extends IService<Swipper> {
+
+}

+ 20 - 0
content/src/main/java/com/content/service/impl/SwipperServiceImpl.java

@@ -0,0 +1,20 @@
+package com.content.service.impl;
+
+import com.content.domain.po.Swipper;
+import com.content.mapper.SwipperMapper;
+import com.content.service.ISwipperService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author xiang
+ * @since 2025-10-29
+ */
+@Service
+public class SwipperServiceImpl extends ServiceImpl<SwipperMapper, Swipper> implements ISwipperService {
+
+}

+ 23 - 0
content/src/main/resources/bootstrap.yml

@@ -0,0 +1,23 @@
+spring:
+  application:
+    name: content
+  cloud:
+    nacos:
+      server-addr: 117.72.120.45:8848
+      discovery:
+        namespace: wy-music-dev
+        group: wy-music
+      config:
+        namespace: wy-music-dev
+        group: wy-music
+        file-extension: yaml
+        refresh-enabled: true
+        shared-configs:
+          - data-id: wy-music-content-${spring.profiles.active}.yaml
+            group: wy-music
+            refresh: true
+          - data-id: wy-music-common-${spring.profiles.active}.yaml
+            group: wy-music
+            refresh: true
+  profiles:
+    active: dev

+ 5 - 0
content/src/main/resources/mapper/SwipperMapper.xml

@@ -0,0 +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.content.mapper.SwipperMapper">
+
+</mapper>

+ 13 - 0
content/src/test/java/com/example/content/ContentApplicationTests.java

@@ -0,0 +1,13 @@
+package com.example.content;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class ContentApplicationTests {
+
+    @Test
+    void contextLoads() {
+    }
+
+}

+ 33 - 0
gateway/.gitignore

@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/

+ 31 - 0
gateway/pom.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>parent</artifactId>
+        <groupId>com.wy-music</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+        <relativePath>../parent</relativePath>
+    </parent>
+    <artifactId>gateway</artifactId>
+    <dependencies>
+        <dependency>
+            <groupId>com.wy-music</groupId>
+            <artifactId>base</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+    </dependencies>
+</project>

+ 13 - 0
gateway/src/main/java/com/gateway/GatewayApplication.java

@@ -0,0 +1,13 @@
+package com.gateway;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class GatewayApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(GatewayApplication.class, args);
+    }
+
+}

+ 23 - 0
gateway/src/main/resources/bootstrap.yml

@@ -0,0 +1,23 @@
+spring:
+  application:
+    name: gateway
+  cloud:
+    nacos:
+      server-addr: 117.72.120.45:8848
+      discovery:
+        namespace: wy-music-dev
+        group: wy-music
+      config:
+        namespace: wy-music-dev
+        group: wy-music
+        file-extension: yaml
+        refresh-enabled: true
+        shared-configs:
+          - data-id: wy-music-gateway-${spring.profiles.active}.yaml
+            group: wy-music
+            refresh: true
+          - data-id: wy-music-common-${spring.profiles.active}.yaml
+            group: wy-music
+            refresh: true
+  profiles:
+    active: dev

+ 13 - 0
gateway/src/test/java/com/gateway/GatewayApplicationTests.java

@@ -0,0 +1,13 @@
+package com.gateway;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class GatewayApplicationTests {
+
+    @Test
+    void contextLoads() {
+    }
+
+}

+ 33 - 0
order/.gitignore

@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/

+ 31 - 0
order/pom.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>parent</artifactId>
+        <groupId>com.wy-music</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+        <relativePath>../parent</relativePath>
+    </parent>
+    <artifactId>order</artifactId>
+    <dependencies>
+        <dependency>
+            <groupId>com.wy-music</groupId>
+            <artifactId>base</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+    </dependencies>
+</project>

+ 13 - 0
order/src/main/java/com/order/OrderApplication.java

@@ -0,0 +1,13 @@
+package com.order;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class OrderApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(OrderApplication.class, args);
+    }
+
+}

+ 23 - 0
order/src/main/resources/bootstrap.yml

@@ -0,0 +1,23 @@
+spring:
+  application:
+    name: order
+  cloud:
+    nacos:
+      server-addr: 117.72.120.45:8848
+      discovery:
+        namespace: wy-music-dev
+        group: wy-music
+      config:
+        namespace: wy-music-dev
+        group: wy-music
+        file-extension: yaml
+        refresh-enabled: true
+        shared-configs:
+          - data-id: wy-music-order-${spring.profiles.active}.yaml
+            group: wy-music
+            refresh: true
+          - data-id: wy-music-common-${spring.profiles.active}.yaml
+            group: wy-music
+            refresh: true
+  profiles:
+    active: dev

+ 13 - 0
order/src/test/java/com/order/OrderApplicationTests.java

@@ -0,0 +1,13 @@
+package com.order;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class OrderApplicationTests {
+
+    @Test
+    void contextLoads() {
+    }
+
+}

BIN
out/production/gateway/com/gateway/demos/web/BasicController.class


BIN
out/production/gateway/com/gateway/demos/web/PathVariableController.class


BIN
out/production/gateway/com/gateway/demos/web/User.class


BIN
out/production/order/com/order/demos/web/BasicController.class


BIN
out/production/order/com/order/demos/web/PathVariableController.class


BIN
out/production/order/com/order/demos/web/User.class


BIN
out/production/search/com/search/demos/web/BasicController.class


BIN
out/production/search/com/search/demos/web/PathVariableController.class


BIN
out/production/search/com/search/demos/web/User.class


+ 33 - 0
parent/.gitignore

@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/

+ 216 - 0
parent/pom.xml

@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <!-- 项目基本信息 -->
+    <groupId>com.wy-music</groupId>
+    <artifactId>parent</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <name>wy-music-parent</name>
+    <description>Wy Music Platform Parent Project</description>
+    <packaging>pom</packaging>
+
+    <!-- 子模块定义 -->
+    <modules>
+        <module>../base</module>
+        <module>../gateway</module>
+        <module>../auth</module>
+        <module>../content</module>
+        <module>../search</module>
+        <module>../order</module>
+    </modules>
+
+    <!-- 版本属性定义 -->
+    <!-- 版本属性定义 -->
+    <properties>
+        <java.version>1.8</java.version>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+
+        <!-- Spring 生态版本 -->
+        <spring-boot.version>2.3.7.RELEASE</spring-boot.version>
+        <spring-cloud.version>Hoxton.SR9</spring-cloud.version>
+        <spring-cloud-alibaba.version>2.2.6.RELEASE</spring-cloud-alibaba.version>
+        <!--    swagger    -->
+        <swagger-spring-boot-starter.version>1.9.0.RELEASE</swagger-spring-boot-starter.version>
+        <swagger-annotations.version>1.5.20</swagger-annotations.version>
+        <!-- 数据库相关 -->
+        <mybatis-plus-boot-starter.version>3.4.1</mybatis-plus-boot-starter.version>
+        <druid-spring-boot-starter.version>1.2.8</druid-spring-boot-starter.version>
+        <mysql-connector-java.version>8.0.30</mysql-connector-java.version>
+
+        <!-- 搜索引擎 -->
+        <elasticsearch.version>7.12.1</elasticsearch.version>
+
+        <!-- 工具类 -->
+        <fastjson.version>1.2.83</fastjson.version>
+        <javax.servlet-api.version>4.0.1</javax.servlet-api.version>
+        <org.projectlombok.version>1.18.8</org.projectlombok.version>
+        <commons-lang.version>2.6</commons-lang.version>
+        <commons-lang3.version>3.10</commons-lang3.version>
+
+        <!-- 第三方服务 -->
+        <minio.version>8.4.3</minio.version>
+        <xxl-job-core.version>2.3.1</xxl-job-core.version>
+
+        <!-- 其他工具 -->
+        <okhttp.version>4.8.1</okhttp.version>
+        <swagger-annotations.version>1.5.20</swagger-annotations.version>
+        <swagger-spring-boot-starter.version>1.9.0.RELEASE</swagger-spring-boot-starter.version>
+        <org.mapstruct.version>1.3.1.Final</org.mapstruct.version>
+        <!--网关-->
+        <spring-cloud-alibaba.version>2.2.6.RELEASE</spring-cloud-alibaba.version>
+    </properties>
+
+
+    <!-- 全局依赖定义 -->
+    <dependencies>
+        <!-- Web基础依赖 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+
+        <!-- Lombok简化开发 -->
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>${org.projectlombok.version}</version>
+            <optional>true</optional>
+        </dependency>
+
+        <!-- 测试依赖 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <!-- 依赖管理 -->
+    <dependencyManagement>
+        <dependencies>
+            <!-- Spring Boot 依赖管理 -->
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-dependencies</artifactId>
+                <version>${spring-boot.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <!-- Spring Cloud 依赖管理 -->
+            <dependency>
+                <groupId>org.springframework.cloud</groupId>
+                <artifactId>spring-cloud-dependencies</artifactId>
+                <version>${spring-cloud.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>mysql</groupId>
+                <artifactId>mysql-connector-java</artifactId>
+                <version>${mysql-connector-java.version}</version>
+            </dependency>
+
+            <!-- MyBatis Plus -->
+            <dependency>
+                <groupId>com.baomidou</groupId>
+                <artifactId>mybatis-plus-boot-starter</artifactId>
+                <version>${mybatis-plus-boot-starter.version}</version>
+            </dependency>
+
+            <!-- Druid 数据库连接池 -->
+            <dependency>
+                <groupId>com.alibaba</groupId>
+                <artifactId>druid-spring-boot-starter</artifactId>
+                <version>${druid-spring-boot-starter.version}</version>
+            </dependency>
+
+            <!-- MinIO 对象存储 -->
+            <dependency>
+                <groupId>io.minio</groupId>
+                <artifactId>minio</artifactId>
+                <version>${minio.version}</version>
+            </dependency>
+
+            <!-- XXL-JOB 分布式任务调度 -->
+            <dependency>
+                <groupId>com.xuxueli</groupId>
+                <artifactId>xxl-job-core</artifactId>
+                <version>${xxl-job-core.version}</version>
+            </dependency>
+
+            <!-- Servlet API -->
+            <dependency>
+                <groupId>javax.servlet</groupId>
+                <artifactId>javax.servlet-api</artifactId>
+                <version>${javax.servlet-api.version}</version>
+            </dependency>
+
+            <!-- FastJSON -->
+            <dependency>
+                <groupId>com.alibaba</groupId>
+                <artifactId>fastjson</artifactId>
+                <version>${fastjson.version}</version>
+            </dependency>
+            <!--nacos-->
+            <dependency>
+                <groupId>com.alibaba.cloud</groupId>
+                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
+                <version>${spring-cloud-alibaba.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <!--swagger-->
+            <dependency>
+                <groupId>io.swagger</groupId>
+                <artifactId>swagger-annotations</artifactId>
+                <version>${swagger-annotations.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.spring4all</groupId>
+                <artifactId>swagger-spring-boot-starter</artifactId>
+                <version>${swagger-spring-boot-starter.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <!-- 构建配置 -->
+    <build>
+        <plugins>
+            <!-- Java 编译插件 -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.11.0</version>
+                <configuration>
+                    <source>${java.version}</source>
+                    <target>${java.version}</target>
+<!--                    <mainClass>com.wy.music.ParentApplication</mainClass>-->
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+
+            <!-- Spring Boot 打包插件 -->
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>${spring-boot.version}</version>
+                <configuration>
+                    <skip>false</skip>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>repackage</id>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>

+ 33 - 0
search/.gitignore

@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/

+ 31 - 0
search/pom.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>parent</artifactId>
+        <groupId>com.wy-music</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+        <relativePath>../parent</relativePath>
+    </parent>
+    <artifactId>search</artifactId>
+    <dependencies>
+        <dependency>
+            <groupId>com.wy-music</groupId>
+            <artifactId>base</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+    </dependencies>
+</project>

+ 13 - 0
search/src/main/java/com/search/SearchApplication.java

@@ -0,0 +1,13 @@
+package com.search;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class SearchApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(SearchApplication.class, args);
+    }
+
+}

+ 23 - 0
search/src/main/resources/bootstrap.yml

@@ -0,0 +1,23 @@
+spring:
+  application:
+    name: search
+  cloud:
+    nacos:
+      server-addr: 117.72.120.45:8848
+      discovery:
+        namespace: wy-music-dev
+        group: wy-music
+      config:
+        namespace: wy-music-dev
+        group: wy-music
+        file-extension: yaml
+        refresh-enabled: true
+        shared-configs:
+          - data-id: wy-music-search-${spring.profiles.active}.yaml
+            group: wy-music
+            refresh: true
+          - data-id: wy-music-common-${spring.profiles.active}.yaml
+            group: wy-music
+            refresh: true
+  profiles:
+    active: dev

+ 13 - 0
search/src/test/java/com/search/SearchApplicationTests.java

@@ -0,0 +1,13 @@
+package com.search;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class SearchApplicationTests {
+
+    @Test
+    void contextLoads() {
+    }
+
+}

+ 9 - 0
wy-music.iml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="GENERAL_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>