Forráskód Böngészése

fix:新增 支付和国家模块

zhangwei 2 hete
szülő
commit
77eb608a67
37 módosított fájl, 986 hozzáadás és 60 törlés
  1. 0 9
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/dto/BannerDto.java
  2. 0 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/dto/BaseDto.java
  3. 10 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/ShopProductSku.java
  4. 1 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/BaseCountryServeController.java
  5. 5 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopProductController.java
  6. 4 2
      edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/ShopProductSkuMapper.xml
  7. 216 0
      edu-travel-service/edu-travel-service-country/pom.xml
  8. 17 0
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/CountryApplication.java
  9. 32 0
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/config/MyAccessDeniedHandler.java
  10. 31 0
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/config/MyAuthenticationEntryPoint.java
  11. 39 0
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/config/ResourceServerConfig.java
  12. 48 0
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/config/TokenConfig.java
  13. 21 0
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/config/WebSecurityConfig.java
  14. 23 0
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/config/WebServerFactoryConfigs.java
  15. 1 4
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/entity/BaseCountry.java
  16. 42 0
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/exception/GlobalExceptionHandler.java
  17. 61 0
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/filter/TokenAuthenticationFilter.java
  18. 2 2
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/mapper/BaseCountryMapper.java
  19. 3 2
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/service/BaseCountryService.java
  20. 4 4
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/service/impl/BaseCountryServiceImpl.java
  21. 4 3
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/web/BaseCountryController.java
  22. 34 0
      edu-travel-service/edu-travel-service-country/src/main/resources/bootstrap-dev.yml
  23. 9 0
      edu-travel-service/edu-travel-service-country/src/main/resources/bootstrap.yml
  24. 2 2
      edu-travel-service/edu-travel-service-country/src/main/resources/mapper/BaseCountryMapper.xml
  25. 211 0
      edu-travel-service/edu-travel-service-pay/pom.xml
  26. 17 0
      edu-travel-service/edu-travel-service-pay/src/main/java/edu/travel/PayApplication.java
  27. 34 0
      edu-travel-service/edu-travel-service-pay/src/main/resources/bootstrap-dev.yml
  28. 9 0
      edu-travel-service/edu-travel-service-pay/src/main/resources/bootstrap.yml
  29. 11 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/dto/BannerDto.java
  30. 67 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/dto/BaseCountryServeDTO.java
  31. 3 3
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/entity/ShopBanner.java
  32. 2 2
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/mapper/ShopBannerMapper.java
  33. 5 4
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/ShopBannerService.java
  34. 6 8
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/ShopBannerServiceImpl.java
  35. 1 1
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/vo/BannerVo.java
  36. 9 11
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/ShopBannerController.java
  37. 2 2
      edu-travel-service/edu-travel-service-tenement/src/main/resources/mapper/ShopBannerMapper.xml

+ 0 - 9
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/dto/BannerDto.java

@@ -1,9 +0,0 @@
-package edu.travel.commodity.dto;
-
-import lombok.Data;
-
-@Data
-public class BannerDto extends BaseDto{
-    /**mode 0 首页轮播图*/
-    private String mode;
-}

+ 0 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/dto/BaseDto.java

@@ -1,6 +1,5 @@
 package edu.travel.commodity.dto;
 
-import edu.travel.entity.BaseEntity;
 import edu.travel.po.PagePO;
 import lombok.Data;
 

+ 10 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/ShopProductSku.java

@@ -79,5 +79,15 @@ public class ShopProductSku extends BaseEntity {
     @TableField(value = "sales_volume")
     private Integer salesVolume;
 
+    /**
+     * 条码
+     */
+    @TableField(value = "barcodes")
+    private Integer barcodes;
+    /**
+     * 条码
+     */
+    @TableField(value = "cost_price")
+    private BigDecimal costPrice;
 
 }

+ 1 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/BaseCountryServeController.java

@@ -9,6 +9,7 @@ import edu.travel.interfaces.UpdateGroups;
 import edu.travel.resp.BaseResponse;
 import edu.travel.rpc.RPCBaseResponse;
 import edu.travel.web.BaseController;
+import org.springframework.beans.BeanUtils;
 import org.springframework.validation.Errors;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;

+ 5 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopProductController.java

@@ -37,4 +37,9 @@ public class ShopProductController extends BaseController<ShopProduct> {
     }
 
 
+    /**
+     * 搜索商品
+     */
+
+
 }

+ 4 - 2
edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/ShopProductSkuMapper.xml

@@ -12,6 +12,8 @@
     <result column="inventory" jdbcType="INTEGER" property="inventory" />
     <result column="sales_volume" jdbcType="INTEGER" property="salesVolume" />
     <result column="status" jdbcType="INTEGER" property="status" />
+    <result column="barcodes" jdbcType="VARCHAR" property="barcodes" />
+    <result column="cost_price" jdbcType="DECIMAL" property="costPrice" />
     <result column="image_url" jdbcType="INTEGER" property="imageUrl" />
     <result column="price" jdbcType="DECIMAL" property="price" />
     <result column="project" jdbcType="VARCHAR" property="project" />
@@ -23,7 +25,7 @@
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, sku_id, product_id, warehouse_id, `freeze`, inventory, `status`, price, project, image_url,sales_volume,
-    create_time, create_user_id, update_time, update_user_id, delete_flag
+    id, sku_id, product_id, warehouse_id, `freeze`, inventory, `status`, price, project, image_url,sales_volume,barcodes,
+    create_time, create_user_id, update_time, update_user_id, delete_flag,cost_price
   </sql>
 </mapper>

+ 216 - 0
edu-travel-service/edu-travel-service-country/pom.xml

@@ -0,0 +1,216 @@
+<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>edu.travel</groupId>
+        <artifactId>edu-travel-service</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+
+    <artifactId>edu-travel-service-country</artifactId>
+    <packaging>jar</packaging>
+
+    <name>edu-travel-service-country</name>
+    <url>http://maven.apache.org</url>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-validation</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.cloud</groupId>
+            <artifactId>spring-cloud-starter-zipkin</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-security</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-oauth2</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-bootstrap</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.csp</groupId>
+            <artifactId>sentinel-transport-simple-http</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.csp</groupId>
+            <artifactId>sentinel-annotation-aspectj</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.csp</groupId>
+            <artifactId>sentinel-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-alibaba-sentinel-datasource</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.csp</groupId>
+            <artifactId>sentinel-datasource-nacos</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.csp</groupId>
+            <artifactId>sentinel-web-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-remote-tenant</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-util</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-model-base</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-datasource</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-constant</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-core</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-cache</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid</artifactId>
+            <version>1.2.6</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-remote-commodity</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <!--        <dependency>-->
+        <!--            <groupId>jakarta.validation</groupId>-->
+        <!--            <artifactId>jakarta.validation-api</artifactId>-->
+        <!--        </dependency>-->
+
+    </dependencies>
+    <profiles>
+        <profile>
+            <id>dev</id>
+            <properties>
+                <env>dev</env>
+                <versionCode>${version}-SNAPSHOT</versionCode>
+                <spark.compiler.score>compile</spark.compiler.score>
+            </properties>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+        </profile>
+        <profile>
+            <id>prod</id>
+            <properties>
+                <env>prod</env>
+                <versionCode>${version}</versionCode>
+                <spark.compiler.score>provided</spark.compiler.score>
+            </properties>
+        </profile>
+    </profiles>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.8.1</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <configuration>
+                    <delimiters>@</delimiters>
+                    <useDefaultDelimiters>false</useDefaultDelimiters>
+                </configuration>
+            </plugin>
+            <!-- 打包插件 -->
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <!-- maven 打包时跳过测试 -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <skipTests>true</skipTests>
+                </configuration>
+            </plugin>
+        </plugins>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <!--开启过滤,用指定的参数替换directory下的文件中的参数-->
+                <filtering>true</filtering>
+            </resource>
+        </resources>
+    </build>
+</project>

+ 17 - 0
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/CountryApplication.java

@@ -0,0 +1,17 @@
+package edu.travel;
+
+import edu.travel.cache.annotation.EnableRedisCache;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+
+@SpringBootApplication
+@EnableDiscoveryClient
+@MapperScan("edu.travel.country.mapper")
+@EnableRedisCache
+public class CountryApplication {
+    public static void main(String[] args) {
+        SpringApplication.run(CountryApplication.class, args);
+    }
+}

+ 32 - 0
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/config/MyAccessDeniedHandler.java

@@ -0,0 +1,32 @@
+package edu.travel.country.config;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.security.access.AccessDeniedException;
+import org.springframework.security.web.access.AccessDeniedHandler;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+public class MyAccessDeniedHandler  implements AccessDeniedHandler {
+    @Override
+    public void handle(HttpServletRequest req, HttpServletResponse resp, AccessDeniedException e) throws IOException, ServletException {
+        resp.setContentType("application/json;charset=UTF-8");
+        Map map = new HashMap();
+        map.put("code", "450");
+        map.put("message", e.getMessage());
+        map.put("path", req.getServletPath());
+        map.put("timestamp", String.valueOf(System.currentTimeMillis()));
+        resp.setContentType("application/json");
+        resp.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
+        try {
+            ObjectMapper mapper = new ObjectMapper();
+            mapper.writeValue(resp.getOutputStream(), map);
+        } catch (Exception ex) {
+            throw new ServletException();
+        }
+    }
+}

+ 31 - 0
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/config/MyAuthenticationEntryPoint.java

@@ -0,0 +1,31 @@
+package edu.travel.country.config;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.security.core.AuthenticationException;
+import org.springframework.security.web.AuthenticationEntryPoint;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+public class MyAuthenticationEntryPoint implements AuthenticationEntryPoint {
+    @Override
+    public void commence(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, AuthenticationException e) throws IOException, ServletException {
+        Map map = new HashMap();
+        map.put("code", "451");
+        map.put("message", "无权限访问");
+        map.put("path", httpServletRequest.getServletPath());
+        map.put("timestamp", String.valueOf(System.currentTimeMillis()));
+        httpServletResponse.setContentType("application/json");
+        httpServletResponse.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
+        try {
+            ObjectMapper mapper = new ObjectMapper();
+            mapper.writeValue(httpServletResponse.getOutputStream(), map);
+        } catch (Exception ex) {
+            throw new ServletException();
+        }
+    }
+}

+ 39 - 0
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/config/ResourceServerConfig.java

@@ -0,0 +1,39 @@
+package edu.travel.country.config;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.http.SessionCreationPolicy;
+import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
+import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
+import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer;
+import org.springframework.security.oauth2.provider.token.TokenStore;
+
+@Configuration
+@EnableResourceServer
+public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
+    private static  final String RESOURCE_ID = "admin";
+
+    @Autowired
+    private TokenStore tokenStore;
+
+    @Override
+    public void configure(ResourceServerSecurityConfigurer resources) {
+        resources.resourceId(RESOURCE_ID)//资源 id
+                .tokenStore(tokenStore)
+                .authenticationEntryPoint(new MyAuthenticationEntryPoint())
+                .accessDeniedHandler(new MyAccessDeniedHandler())
+//                .tokenServices(tokenService())//验证令牌的服务
+                .stateless(true);
+    }
+
+    @Override
+    public void configure(HttpSecurity http) throws Exception {
+
+        http
+                .authorizeRequests()
+                .antMatchers("/**").permitAll()
+                .and().csrf().disable()
+                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
+    }
+}

+ 48 - 0
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/config/TokenConfig.java

@@ -0,0 +1,48 @@
+package edu.travel.country.config;
+
+import edu.travel.RSAUtill;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.crypto.password.NoOpPasswordEncoder;
+import org.springframework.security.crypto.password.PasswordEncoder;
+import org.springframework.security.oauth2.provider.token.TokenStore;
+import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter;
+import org.springframework.security.oauth2.provider.token.store.JwtTokenStore;
+
+import java.security.PrivateKey;
+
+@Configuration
+public class TokenConfig {
+    @Value("${OAUTH_KEY}")
+    private String key;
+    @Value("${PRIVATE_KEY}")
+    private String privateKey;
+    @Bean
+    public PasswordEncoder passwordEncoder(){
+        return NoOpPasswordEncoder.getInstance();
+    }
+    @Bean
+    public TokenStore tokenStore() {
+        //JWT令牌存储方案
+        return new JwtTokenStore(accessTokenConverter());
+    }
+
+    @Bean
+    public JwtAccessTokenConverter accessTokenConverter() {
+        try {
+            PrivateKey privateKeyFromString = RSAUtill.getPrivateKeyFromString(privateKey);
+            String decrypt = RSAUtill.decrypt(key, privateKeyFromString);
+            JwtAccessTokenConverter converter = new JwtAccessTokenConverter();
+            //对称秘钥,资源服务器使用该秘钥来验证
+//        converter.setKeyPair(keyPair());
+            converter.setSigningKey(decrypt);
+            return converter;
+
+        }catch (Exception e){
+            e.printStackTrace();
+            return null;
+        }
+
+    }
+}

+ 21 - 0
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/config/WebSecurityConfig.java

@@ -0,0 +1,21 @@
+package edu.travel.country.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
+
+@Configuration
+@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)
+public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
+    //安全拦截机制(最重要)
+    @Override
+    protected void configure(HttpSecurity http) throws Exception {
+        http.csrf().disable()
+                .authorizeRequests()
+                .anyRequest().authenticated()
+        ;
+
+
+    }
+}

+ 23 - 0
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/config/WebServerFactoryConfigs.java

@@ -0,0 +1,23 @@
+package edu.travel.country.config;
+
+import org.apache.catalina.connector.Connector;
+import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
+import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
+import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class WebServerFactoryConfigs {
+    @Bean
+    public ConfigurableServletWebServerFactory webServerFactory() {
+        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
+        factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
+            @Override
+            public void customize(Connector connector) {
+                connector.setProperty("relaxedQueryChars", "|{}[]");
+            }
+        });
+        return factory;
+    }
+}

+ 1 - 4
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/BaseCountry.java → edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/entity/BaseCountry.java

@@ -1,12 +1,9 @@
-package edu.travel.commodity.entity;
+package edu.travel.country.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.math.BigDecimal;
-import java.util.Date;
-
 import edu.travel.entity.BaseEntity;
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 42 - 0
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/exception/GlobalExceptionHandler.java

@@ -0,0 +1,42 @@
+package edu.travel.country.exception;
+
+import edu.travel.emun.ResponseCode;
+import edu.travel.exception.BaseException;
+import edu.travel.resp.BaseResponse;
+import edu.travel.resp.PageResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+
+/**
+ * GlobalExceptionHandler 类。
+ * <p>
+ * 描述:
+ *
+ * @author huangwenwen
+ * @date 2025/2/11
+ */
+
+@RestControllerAdvice
+@Slf4j
+public class GlobalExceptionHandler {
+
+    @ExceptionHandler(BaseException.class)
+    public BaseResponse<Object> handleUserInfoException(BaseException e){
+        e.printStackTrace();
+        return  PageResponse.out(e.getCode(),e.getMessage(),null);
+    }
+
+    @ExceptionHandler(IllegalArgumentException.class)
+    public BaseResponse<Object> handleException(IllegalArgumentException e){
+        e.printStackTrace();
+        return PageResponse.out(ResponseCode.LOGIC_ERROR.getCode(), e.getMessage(),null);
+    }
+
+    @ExceptionHandler(Throwable.class)
+    public BaseResponse<Object> handleException(Exception e){
+        e.printStackTrace();
+        return PageResponse.out(ResponseCode.ERROR.getCode(),e.getMessage(),null);
+    }
+
+}

+ 61 - 0
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/filter/TokenAuthenticationFilter.java

@@ -0,0 +1,61 @@
+package edu.travel.country.filter;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import edu.travel.EncryptUtil;
+import edu.travel.entity.EduTenantPO;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.authority.AuthorityUtils;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
+import org.springframework.stereotype.Component;
+import org.springframework.web.filter.OncePerRequestFilter;
+
+import javax.servlet.FilterChain;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+@Component
+public class TokenAuthenticationFilter extends OncePerRequestFilter {
+    @Autowired
+    private RedisTemplate redisTemplate;
+    @Override
+    protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException {
+        String token = httpServletRequest.getHeader("token");
+//token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiYWRtaW4iXSwiZXhwIjoxNzQwMjAyNTcyLCJ1c2VyX25hbWUiOiIxNTk5ODk1NzA3NCIsImp0aSI6IjM0M2JjNGUzLTk5ZjMtNGE4Zi1iMmIxLTI1ZjRkMzBmNmJmYyIsImNsaWVudF9pZCI6ImFkbWluIiwic2NvcGUiOlsic2VydmVyIl19.MYoFq8gg832DQMX-wVMLN0JlIaWeuQZvl1z1NUNFspQ";
+        if (StringUtils.isNotBlank(token)){
+            String json = EncryptUtil.decodeUTF8StringBase64(token);
+            //将token转成json对象
+            JSONObject jsonObject = JSON.parseObject(json);
+            //用户身份信息
+            String username  = jsonObject.getString("principal");
+            Object object = redisTemplate.opsForValue().get(username + "_info");
+            if (object == null){
+                JSONObject resultObject = new JSONObject();
+                resultObject.put("code",401);
+                resultObject.put("msg","not found user");
+                resultObject.put("data",null);
+                httpServletResponse.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
+                httpServletResponse.setContentType("application/json;charset=utf-8");
+                httpServletResponse.getWriter().write(resultObject.toJSONString());
+                return;
+            }
+            EduTenantPO eduTenant = JSON.parseObject(object.toString(), EduTenantPO.class);
+            //用户权限
+            JSONArray authoritiesArray = jsonObject.getJSONArray("authorities");
+            String[] authorities = authoritiesArray.toArray(new String[authoritiesArray.size()]);
+            //将用户信息和权限填充 到用户身份token对象中
+            UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(eduTenant, null, AuthorityUtils.createAuthorityList(authorities));
+            authenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(httpServletRequest));
+            //将authenticationToken填充到安全上下文
+            SecurityContextHolder.getContext().setAuthentication(authenticationToken);
+        }
+        filterChain.doFilter(httpServletRequest,httpServletResponse);
+    }
+}

+ 2 - 2
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/mapper/BaseCountryMapper.java → edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/mapper/BaseCountryMapper.java

@@ -1,7 +1,7 @@
-package edu.travel.commodity.mapper;
+package edu.travel.country.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import edu.travel.commodity.entity.BaseCountry;
+import edu.travel.country.entity.BaseCountry;
 
 public interface BaseCountryMapper extends BaseMapper<BaseCountry> {
 }

+ 3 - 2
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/BaseCountryService.java → edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/service/BaseCountryService.java

@@ -1,7 +1,8 @@
-package edu.travel.commodity.service;
+package edu.travel.country.service;
 
-import edu.travel.commodity.entity.BaseCountry;
 import com.baomidou.mybatisplus.extension.service.IService;
+import edu.travel.country.entity.BaseCountry;
+
 public interface BaseCountryService extends IService<BaseCountry>{
 
 

+ 4 - 4
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/BaseCountryServiceImpl.java → edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/service/impl/BaseCountryServiceImpl.java

@@ -1,9 +1,9 @@
-package edu.travel.commodity.service.impl;
+package edu.travel.country.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import edu.travel.commodity.entity.BaseCountry;
-import edu.travel.commodity.mapper.BaseCountryMapper;
-import edu.travel.commodity.service.BaseCountryService;
+import edu.travel.country.entity.BaseCountry;
+import edu.travel.country.mapper.BaseCountryMapper;
+import edu.travel.country.service.BaseCountryService;
 import org.springframework.stereotype.Service;
 
 @Service

+ 4 - 3
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/BaseCountryController.java → edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/web/BaseCountryController.java

@@ -1,8 +1,9 @@
-package edu.travel.commodity.web;
-import edu.travel.commodity.service.BaseCountryService;
-import org.springframework.web.bind.annotation.*;
+package edu.travel.country.web;
 
+import edu.travel.country.service.BaseCountryService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
 * 国家表(base_country)表控制层

+ 34 - 0
edu-travel-service/edu-travel-service-country/src/main/resources/bootstrap-dev.yml

@@ -0,0 +1,34 @@
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 192.168.1.44:8848,192.168.1.44:8849,192.168.1.44:8858
+        namespace: yangzheng-@env@
+      config:
+        file-extension: yaml
+        server-addr: 192.168.1.44:8848,192.168.1.44:8849,192.168.1.44:8858
+        refresh-enabled: true
+        namespace: yangzheng-@env@
+        shared-configs:
+          - data-id: mybatis-config-dev.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+          - data-id: reids-config-dev.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+          - data-id: datasource-config-dev.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+          - data-id: system-config-dev.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+          - data-id: zipkin.yml
+            group: DEFAULT_GROUP
+            refresh: true
+          - data-id: seata.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+          - data-id: sentinel_tenant.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+

+ 9 - 0
edu-travel-service/edu-travel-service-country/src/main/resources/bootstrap.yml

@@ -0,0 +1,9 @@
+server:
+  port: 10009
+spring:
+  application:
+    name: commodity-@env@
+  profiles:
+    active: @env@
+  main:
+    allow-bean-definition-overriding: true

+ 2 - 2
edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/BaseCountryMapper.xml → edu-travel-service/edu-travel-service-country/src/main/resources/mapper/BaseCountryMapper.xml

@@ -1,7 +1,7 @@
 <?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="edu.travel.commodity.mapper.BaseCountryMapper">
-  <resultMap id="BaseResultMap" type="edu.travel.commodity.entity.BaseCountry">
+<mapper namespace="edu.travel.country.mapper.BaseCountryMapper">
+  <resultMap id="BaseResultMap" type="edu.travel.country.entity.BaseCountry">
     <!--@mbg.generated-->
     <!--@Table base_country-->
     <id column="id" jdbcType="BIGINT" property="id" />

+ 211 - 0
edu-travel-service/edu-travel-service-pay/pom.xml

@@ -0,0 +1,211 @@
+<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>edu.travel</groupId>
+        <artifactId>edu-travel-service</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>edu-travel-service-pay</artifactId>
+    <packaging>jar</packaging>
+
+
+    <name>edu-travel-service-pay</name>
+    <url>http://maven.apache.org</url>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-validation</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.cloud</groupId>
+            <artifactId>spring-cloud-starter-zipkin</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-security</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-oauth2</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-bootstrap</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.csp</groupId>
+            <artifactId>sentinel-transport-simple-http</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.csp</groupId>
+            <artifactId>sentinel-annotation-aspectj</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.csp</groupId>
+            <artifactId>sentinel-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-alibaba-sentinel-datasource</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.csp</groupId>
+            <artifactId>sentinel-datasource-nacos</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.csp</groupId>
+            <artifactId>sentinel-web-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-remote-tenant</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-util</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-model-base</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-datasource</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-constant</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-core</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-cache</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid</artifactId>
+            <version>1.2.6</version>
+            <scope>compile</scope>
+        </dependency>
+        <!--        <dependency>-->
+        <!--            <groupId>jakarta.validation</groupId>-->
+        <!--            <artifactId>jakarta.validation-api</artifactId>-->
+        <!--        </dependency>-->
+
+    </dependencies>
+    <profiles>
+        <profile>
+            <id>dev</id>
+            <properties>
+                <env>dev</env>
+                <versionCode>${version}-SNAPSHOT</versionCode>
+                <spark.compiler.score>compile</spark.compiler.score>
+            </properties>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+        </profile>
+        <profile>
+            <id>prod</id>
+            <properties>
+                <env>prod</env>
+                <versionCode>${version}</versionCode>
+                <spark.compiler.score>provided</spark.compiler.score>
+            </properties>
+        </profile>
+    </profiles>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.8.1</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <configuration>
+                    <delimiters>@</delimiters>
+                    <useDefaultDelimiters>false</useDefaultDelimiters>
+                </configuration>
+            </plugin>
+            <!-- 打包插件 -->
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+            <!-- maven 打包时跳过测试 -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <skipTests>true</skipTests>
+                </configuration>
+            </plugin>
+        </plugins>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <!--开启过滤,用指定的参数替换directory下的文件中的参数-->
+                <filtering>true</filtering>
+            </resource>
+        </resources>
+    </build>
+</project>

+ 17 - 0
edu-travel-service/edu-travel-service-pay/src/main/java/edu/travel/PayApplication.java

@@ -0,0 +1,17 @@
+package edu.travel;
+
+import edu.travel.cache.annotation.EnableRedisCache;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+
+@SpringBootApplication
+@EnableDiscoveryClient
+@MapperScan("edu.travel.pay.mapper")
+@EnableRedisCache
+public class PayApplication {
+    public static void main(String[] args) {
+        SpringApplication.run(PayApplication.class, args);
+    }
+}

+ 34 - 0
edu-travel-service/edu-travel-service-pay/src/main/resources/bootstrap-dev.yml

@@ -0,0 +1,34 @@
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 192.168.1.44:8848,192.168.1.44:8849,192.168.1.44:8858
+        namespace: zhangwei-@env@
+      config:
+        file-extension: yaml
+        server-addr: 192.168.1.44:8848,192.168.1.44:8849,192.168.1.44:8858
+        refresh-enabled: true
+        namespace: zhangwei-@env@
+        shared-configs:
+          - data-id: mybatis-config-dev.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+          - data-id: reids-config-dev.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+          - data-id: datasource-config-dev.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+          - data-id: system-config-dev.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+          - data-id: zipkin.yml
+            group: DEFAULT_GROUP
+            refresh: true
+          - data-id: seata.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+          - data-id: sentinel_tenant.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+

+ 9 - 0
edu-travel-service/edu-travel-service-pay/src/main/resources/bootstrap.yml

@@ -0,0 +1,9 @@
+server:
+  port: 10010
+spring:
+  application:
+    name: order-@env@
+  profiles:
+    active: @env@
+  main:
+    allow-bean-definition-overriding: true

+ 11 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/dto/BannerDto.java

@@ -0,0 +1,11 @@
+package edu.travel.tenant.dto;
+
+import lombok.Data;
+
+@Data
+public class BannerDto{
+    /**国家ID*/
+    private String countryId;
+    /**mode 0 首页轮播图*/
+    private String mode;
+}

+ 67 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/dto/BaseCountryServeDTO.java

@@ -0,0 +1,67 @@
+package edu.travel.tenant.dto;
+
+import edu.travel.po.PagePO;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+/**
+ * 服务国家表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class BaseCountryServeDTO extends PagePO {
+    /**
+     * ID
+     */
+    private Long id;
+
+    /**
+     * 所属洲
+     */
+    private Long parentId;
+
+    /**
+     * 关联国家id
+     */
+    private Long countryId;
+
+    /**
+     * 服务费比率
+     */
+    private BigDecimal serviceChargeValue;
+
+    /**
+     * 结算显示方式 -0 CNY100 -1 ¥100 -2 100RMB
+     */
+    private Integer payViewWay;
+
+    /**
+     * 中文国家/洲名称
+     */
+    private String countryNameZh;
+
+    /**
+     * 英文国家/洲名称
+     */
+    private String countryNameEn;
+
+    /**
+     * 本地国家/洲名称
+     */
+    private String countryNameLocal;
+
+    /**
+     * 服务状态,默认0,-0未开通,-1开通
+     */
+    private Integer serveEnable;
+
+
+    /**
+     * 货币表id
+     */
+    private Long currencyId;
+}

+ 3 - 3
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/ShopBanner.java → edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/entity/ShopBanner.java

@@ -1,16 +1,16 @@
-package edu.travel.commodity.entity;
+package edu.travel.tenant.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.util.Date;
-
 import edu.travel.entity.BaseEntity;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.util.Date;
+
 /**
  * 轮播图
  */

+ 2 - 2
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/mapper/ShopBannerMapper.java → edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/mapper/ShopBannerMapper.java

@@ -1,7 +1,7 @@
-package edu.travel.commodity.mapper;
+package edu.travel.tenant.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import edu.travel.commodity.entity.ShopBanner;
+import edu.travel.tenant.entity.ShopBanner;
 
 public interface ShopBannerMapper extends BaseMapper<ShopBanner> {
 }

+ 5 - 4
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopBannerService.java → edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/ShopBannerService.java

@@ -1,12 +1,13 @@
-package edu.travel.commodity.service;
+package edu.travel.tenant.service;
 
-import edu.travel.commodity.dto.BannerDto;
-import edu.travel.commodity.entity.ShopBanner;
 import com.baomidou.mybatisplus.extension.service.IService;
-import edu.travel.commodity.vo.BannerVo;
+import edu.travel.tenant.dto.BannerDto;
+import edu.travel.tenant.entity.ShopBanner;
+import edu.travel.tenant.vo.BannerVo;
 
 import java.util.List;
 
+
 public interface ShopBannerService extends IService<ShopBanner>{
 
 

+ 6 - 8
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopBannerServiceImpl.java → edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/ShopBannerServiceImpl.java

@@ -1,23 +1,21 @@
-package edu.travel.commodity.service.impl;
+package edu.travel.tenant.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import edu.travel.commodity.dto.BannerDto;
-import edu.travel.commodity.entity.ShopBanner;
-import edu.travel.commodity.mapper.ShopBannerMapper;
-import edu.travel.commodity.service.ShopBannerService;
-import edu.travel.commodity.vo.BannerVo;
+import edu.travel.tenant.dto.BannerDto;
+import edu.travel.tenant.entity.ShopBanner;
+import edu.travel.tenant.mapper.ShopBannerMapper;
+import edu.travel.tenant.service.ShopBannerService;
+import edu.travel.tenant.vo.BannerVo;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
-import static org.springframework.security.oauth2.common.AuthenticationScheme.query;
-
 @Service
 public class ShopBannerServiceImpl extends ServiceImpl<ShopBannerMapper, ShopBanner> implements ShopBannerService {
 

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/vo/BannerVo.java → edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/vo/BannerVo.java

@@ -1,4 +1,4 @@
-package edu.travel.commodity.vo;
+package edu.travel.tenant.vo;
 
 import lombok.Data;
 

+ 9 - 11
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopBannerController.java → edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/ShopBannerController.java

@@ -1,16 +1,14 @@
-package edu.travel.commodity.web;
-
-import edu.travel.commodity.dto.BannerDto;
-import edu.travel.commodity.dto.ShopTypeDto;
-import edu.travel.commodity.entity.ShopCategory;
-import edu.travel.commodity.service.ShopBannerService;
-import edu.travel.commodity.vo.BannerVo;
-import edu.travel.commodity.vo.ShopTypeVo;
+package edu.travel.tenant.web;
+
 import edu.travel.resp.BaseResponse;
+import edu.travel.tenant.dto.BannerDto;
+import edu.travel.tenant.service.ShopBannerService;
+import edu.travel.tenant.vo.BannerVo;
 import edu.travel.web.BaseController;
-import org.springframework.web.bind.annotation.*;
-
 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;
 
@@ -21,7 +19,7 @@ import java.util.List;
 */
 @RestController
 @RequestMapping("/shopBanner")
-public class ShopBannerController extends BaseController<ShopCategory> {
+public class ShopBannerController extends BaseController{
 /**
 * 服务对象
 */

+ 2 - 2
edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/ShopBannerMapper.xml → edu-travel-service/edu-travel-service-tenement/src/main/resources/mapper/ShopBannerMapper.xml

@@ -1,7 +1,7 @@
 <?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="edu.travel.commodity.mapper.ShopBannerMapper">
-  <resultMap id="BaseResultMap" type="edu.travel.commodity.entity.ShopBanner">
+<mapper namespace="edu.travel.tenant.mapper.ShopBannerMapper">
+  <resultMap id="BaseResultMap" type="edu.travel.tenant.entity.ShopBanner">
     <!--@mbg.generated-->
     <!--@Table shop_banner-->
     <id column="id" jdbcType="BIGINT" property="id" />