初始化 pay 模块
							parent
							
								
									1b8701b0cb
								
							
						
					
					
						commit
						d9448c181a
					
				| 
						 | 
					@ -0,0 +1,151 @@
 | 
				
			||||||
 | 
					<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 | 
				
			||||||
 | 
					    <parent>
 | 
				
			||||||
 | 
					        <artifactId>pay</artifactId>
 | 
				
			||||||
 | 
					        <groupId>cn.iocoder.mall</groupId>
 | 
				
			||||||
 | 
					        <version>1.0-SNAPSHOT</version>
 | 
				
			||||||
 | 
					    </parent>
 | 
				
			||||||
 | 
					    <modelVersion>4.0.0</modelVersion>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <artifactId>pay-application</artifactId>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <properties>
 | 
				
			||||||
 | 
					        <org.mapstruct.version>1.3.0.Final</org.mapstruct.version>
 | 
				
			||||||
 | 
					    </properties>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <dependencies>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>cn.iocoder.mall</groupId>
 | 
				
			||||||
 | 
					            <artifactId>common-framework</artifactId>
 | 
				
			||||||
 | 
					            <version>1.0-SNAPSHOT</version>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>cn.iocoder.mall</groupId>
 | 
				
			||||||
 | 
					            <artifactId>pay-service-impl</artifactId>
 | 
				
			||||||
 | 
					            <version>1.0-SNAPSHOT</version>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>org.springframework.boot</groupId>
 | 
				
			||||||
 | 
					            <artifactId>spring-boot-starter-web</artifactId>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>org.springframework.boot</groupId>
 | 
				
			||||||
 | 
					            <artifactId>spring-boot-starter-test</artifactId>
 | 
				
			||||||
 | 
					            <scope>test</scope>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>com.alibaba</groupId>
 | 
				
			||||||
 | 
					            <artifactId>dubbo</artifactId>
 | 
				
			||||||
 | 
					            <version>2.6.5</version>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>com.alibaba.boot</groupId>
 | 
				
			||||||
 | 
					            <artifactId>dubbo-spring-boot-starter</artifactId>
 | 
				
			||||||
 | 
					            <version>0.2.1.RELEASE</version>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>org.apache.curator</groupId>
 | 
				
			||||||
 | 
					            <artifactId>curator-framework</artifactId>
 | 
				
			||||||
 | 
					            <version>2.12.0</version>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>org.mapstruct</groupId>
 | 
				
			||||||
 | 
					            <artifactId>mapstruct</artifactId> <!-- use mapstruct-jdk8 for Java 8 or higher -->
 | 
				
			||||||
 | 
					            <version>${org.mapstruct.version}</version>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>io.springfox</groupId>
 | 
				
			||||||
 | 
					            <artifactId>springfox-swagger2</artifactId>
 | 
				
			||||||
 | 
					            <version>2.9.2</version>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>io.springfox</groupId>
 | 
				
			||||||
 | 
					            <artifactId>springfox-swagger-ui</artifactId>
 | 
				
			||||||
 | 
					            <version>2.9.2</version>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>org.mapstruct</groupId>
 | 
				
			||||||
 | 
					            <artifactId>mapstruct</artifactId> <!-- use mapstruct-jdk8 for Java 8 or higher -->
 | 
				
			||||||
 | 
					            <version>${org.mapstruct.version}</version>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>org.springframework.boot</groupId>
 | 
				
			||||||
 | 
					            <artifactId>spring-boot-devtools</artifactId>
 | 
				
			||||||
 | 
					            <optional>true</optional>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>cn.iocoder.mall</groupId>
 | 
				
			||||||
 | 
					            <artifactId>admin-sdk</artifactId>
 | 
				
			||||||
 | 
					            <version>1.0-SNAPSHOT</version>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!--<dependency>-->
 | 
				
			||||||
 | 
					        <!--<groupId>de.codecentric</groupId>-->
 | 
				
			||||||
 | 
					        <!--<artifactId>spring-boot-admin-starter-server</artifactId>-->
 | 
				
			||||||
 | 
					        <!--<version>2.1.3</version>-->
 | 
				
			||||||
 | 
					        <!--</dependency>-->
 | 
				
			||||||
 | 
					        <!--<dependency>-->
 | 
				
			||||||
 | 
					        <!--<groupId>de.codecentric</groupId>-->
 | 
				
			||||||
 | 
					        <!--<artifactId>spring-boot-admin-server-ui</artifactId>-->
 | 
				
			||||||
 | 
					        <!--<version>2.1.3</version>-->
 | 
				
			||||||
 | 
					        <!--</dependency>-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>de.codecentric</groupId>
 | 
				
			||||||
 | 
					            <artifactId>spring-boot-admin-starter-client</artifactId>
 | 
				
			||||||
 | 
					            <version>2.1.3</version>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>org.springframework.boot</groupId>
 | 
				
			||||||
 | 
					            <artifactId>spring-boot-starter-actuator</artifactId>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    </dependencies>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <build>
 | 
				
			||||||
 | 
					        <plugins>
 | 
				
			||||||
 | 
					            <!-- 提供给 mapstruct 使用 -->
 | 
				
			||||||
 | 
					            <plugin>
 | 
				
			||||||
 | 
					                <groupId>org.apache.maven.plugins</groupId>
 | 
				
			||||||
 | 
					                <artifactId>maven-compiler-plugin</artifactId>
 | 
				
			||||||
 | 
					                <version>3.5.1</version>
 | 
				
			||||||
 | 
					                <configuration>
 | 
				
			||||||
 | 
					                    <source>1.8</source> <!-- or higher, depending on your project -->
 | 
				
			||||||
 | 
					                    <target>1.8</target> <!-- or higher, depending on your project -->
 | 
				
			||||||
 | 
					                    <annotationProcessorPaths>
 | 
				
			||||||
 | 
					                        <path>
 | 
				
			||||||
 | 
					                            <groupId>org.mapstruct</groupId>
 | 
				
			||||||
 | 
					                            <artifactId>mapstruct-processor</artifactId>
 | 
				
			||||||
 | 
					                            <version>${org.mapstruct.version}</version>
 | 
				
			||||||
 | 
					                        </path>
 | 
				
			||||||
 | 
					                    </annotationProcessorPaths>
 | 
				
			||||||
 | 
					                </configuration>
 | 
				
			||||||
 | 
					            </plugin>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <!-- 打包 -->
 | 
				
			||||||
 | 
					            <plugin>
 | 
				
			||||||
 | 
					                <groupId>org.springframework.boot</groupId>
 | 
				
			||||||
 | 
					                <artifactId>spring-boot-maven-plugin</artifactId>
 | 
				
			||||||
 | 
					                <configuration>
 | 
				
			||||||
 | 
					                    <fork>true</fork>
 | 
				
			||||||
 | 
					                </configuration>
 | 
				
			||||||
 | 
					            </plugin>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        </plugins>
 | 
				
			||||||
 | 
					    </build>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</project>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,13 @@
 | 
				
			||||||
 | 
					package cn.iocoder.mall.pay.application;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.boot.SpringApplication;
 | 
				
			||||||
 | 
					import org.springframework.boot.autoconfigure.SpringBootApplication;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@SpringBootApplication(scanBasePackages = {"cn.iocoder.mall.pay"})
 | 
				
			||||||
 | 
					public class PayApplication {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static void main(String[] args) {
 | 
				
			||||||
 | 
					        SpringApplication.run(PayApplication.class, args);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,47 @@
 | 
				
			||||||
 | 
					package cn.iocoder.mall.pay.application.config;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import cn.iocoder.common.framework.config.GlobalExceptionHandler;
 | 
				
			||||||
 | 
					import org.springframework.context.annotation.Configuration;
 | 
				
			||||||
 | 
					import org.springframework.context.annotation.Import;
 | 
				
			||||||
 | 
					import org.springframework.web.servlet.config.annotation.CorsRegistry;
 | 
				
			||||||
 | 
					import org.springframework.web.servlet.config.annotation.EnableWebMvc;
 | 
				
			||||||
 | 
					import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
 | 
				
			||||||
 | 
					import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@EnableWebMvc
 | 
				
			||||||
 | 
					@Configuration
 | 
				
			||||||
 | 
					@Import(value = {GlobalExceptionHandler.class,  // 统一全局返回
 | 
				
			||||||
 | 
					//        AdminSecurityInterceptor.class
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					public class MVCConfiguration implements WebMvcConfigurer {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//    @Autowired
 | 
				
			||||||
 | 
					//    private UserSecurityInterceptor securityInterceptor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//    @Autowired
 | 
				
			||||||
 | 
					//    private AdminSecurityInterceptor adminSecurityInterceptor;
 | 
				
			||||||
 | 
					////
 | 
				
			||||||
 | 
					//    @Override
 | 
				
			||||||
 | 
					//    public void addInterceptors(InterceptorRegistry registry) {
 | 
				
			||||||
 | 
					////        registry.addInterceptor(securityInterceptor).addPathPatterns("/user/**", "/admin/**"); // 只拦截我们定义的接口
 | 
				
			||||||
 | 
					//        registry.addInterceptor(adminSecurityInterceptor).addPathPatterns("/admins/**")
 | 
				
			||||||
 | 
					//                .excludePathPatterns("/admins/passport/login"); // 排除登陆接口
 | 
				
			||||||
 | 
					//    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public void addResourceHandlers(ResourceHandlerRegistry registry) {
 | 
				
			||||||
 | 
					        // 解决 swagger-ui.html 的访问,参考自 https://stackoverflow.com/questions/43545540/swagger-ui-no-mapping-found-for-http-request 解决
 | 
				
			||||||
 | 
					        registry.addResourceHandler("swagger-ui.html**").addResourceLocations("classpath:/META-INF/resources/swagger-ui.html");
 | 
				
			||||||
 | 
					        registry.addResourceHandler("webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // TODO 芋艿,允许跨域
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public void addCorsMappings(CorsRegistry registry) {
 | 
				
			||||||
 | 
					        registry.addMapping("/**")
 | 
				
			||||||
 | 
					                .allowedHeaders("*")
 | 
				
			||||||
 | 
					                .allowedMethods("*")
 | 
				
			||||||
 | 
					                .allowedOrigins("*");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,36 @@
 | 
				
			||||||
 | 
					package cn.iocoder.mall.pay.application.config;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.context.annotation.Bean;
 | 
				
			||||||
 | 
					import org.springframework.context.annotation.Configuration;
 | 
				
			||||||
 | 
					import springfox.documentation.builders.ApiInfoBuilder;
 | 
				
			||||||
 | 
					import springfox.documentation.builders.PathSelectors;
 | 
				
			||||||
 | 
					import springfox.documentation.builders.RequestHandlerSelectors;
 | 
				
			||||||
 | 
					import springfox.documentation.service.ApiInfo;
 | 
				
			||||||
 | 
					import springfox.documentation.spi.DocumentationType;
 | 
				
			||||||
 | 
					import springfox.documentation.spring.web.plugins.Docket;
 | 
				
			||||||
 | 
					import springfox.documentation.swagger2.annotations.EnableSwagger2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Configuration
 | 
				
			||||||
 | 
					@EnableSwagger2 // TODO 生产环境时,禁用掉。
 | 
				
			||||||
 | 
					public class SwaggerConfiguration {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Bean
 | 
				
			||||||
 | 
					    public Docket createRestApi() {
 | 
				
			||||||
 | 
					        return new Docket(DocumentationType.SWAGGER_2)
 | 
				
			||||||
 | 
					                .apiInfo(apiInfo())
 | 
				
			||||||
 | 
					                .select()
 | 
				
			||||||
 | 
					                .apis(RequestHandlerSelectors.basePackage("cn.iocoder.mall.pay.application.controller"))
 | 
				
			||||||
 | 
					                .paths(PathSelectors.any())
 | 
				
			||||||
 | 
					                .build();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private ApiInfo apiInfo() {
 | 
				
			||||||
 | 
					        return new ApiInfoBuilder()
 | 
				
			||||||
 | 
					                .title("支付子系统")
 | 
				
			||||||
 | 
					                .description("支付子系统")
 | 
				
			||||||
 | 
					                .termsOfServiceUrl("http://www.iocoder.cn")
 | 
				
			||||||
 | 
					                .version("1.0.0")
 | 
				
			||||||
 | 
					                .build();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,15 @@
 | 
				
			||||||
 | 
					package cn.iocoder.mall.pay.application.controller;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import cn.iocoder.mall.pay.api.PayService;
 | 
				
			||||||
 | 
					import com.alibaba.dubbo.config.annotation.Reference;
 | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.RequestMapping;
 | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.RestController;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@RestController
 | 
				
			||||||
 | 
					@RequestMapping("/pay")
 | 
				
			||||||
 | 
					public class PayController {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Reference(validation = "true")
 | 
				
			||||||
 | 
					    private PayService payService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					spring:
 | 
				
			||||||
 | 
					  application:
 | 
				
			||||||
 | 
					    name: pay-application
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# server
 | 
				
			||||||
 | 
					server:
 | 
				
			||||||
 | 
					  port: 18084
 | 
				
			||||||
 | 
					  servlet:
 | 
				
			||||||
 | 
					    context-path: /pay-api/
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,15 @@
 | 
				
			||||||
 | 
					<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 | 
				
			||||||
 | 
					    <parent>
 | 
				
			||||||
 | 
					        <artifactId>pay</artifactId>
 | 
				
			||||||
 | 
					        <groupId>cn.iocoder.mall</groupId>
 | 
				
			||||||
 | 
					        <version>1.0-SNAPSHOT</version>
 | 
				
			||||||
 | 
					    </parent>
 | 
				
			||||||
 | 
					    <modelVersion>4.0.0</modelVersion>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <artifactId>pay-service-api</artifactId>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</project>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					package cn.iocoder.mall.pay.api;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public interface PayService {
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					package cn.iocoder.mall.pay.api;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public interface RefundService {
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,29 @@
 | 
				
			||||||
 | 
					package cn.iocoder.mall.pay.api.constant;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * 错误码枚举类
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 管理员系统,使用 1-004-000-000 段
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					public enum PayErrorCodeEnum {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // ========== PAY 模块 ==========
 | 
				
			||||||
 | 
					    ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final int code;
 | 
				
			||||||
 | 
					    private final String message;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    PayErrorCodeEnum(int code, String message) {
 | 
				
			||||||
 | 
					        this.code = code;
 | 
				
			||||||
 | 
					        this.message = message;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public int getCode() {
 | 
				
			||||||
 | 
					        return code;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public String getMessage() {
 | 
				
			||||||
 | 
					        return message;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,88 @@
 | 
				
			||||||
 | 
					<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 | 
				
			||||||
 | 
					    <parent>
 | 
				
			||||||
 | 
					        <artifactId>pay</artifactId>
 | 
				
			||||||
 | 
					        <groupId>cn.iocoder.mall</groupId>
 | 
				
			||||||
 | 
					        <version>1.0-SNAPSHOT</version>
 | 
				
			||||||
 | 
					    </parent>
 | 
				
			||||||
 | 
					    <modelVersion>4.0.0</modelVersion>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <artifactId>pay-service-impl</artifactId>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <properties>
 | 
				
			||||||
 | 
					        <org.mapstruct.version>1.3.0.Final</org.mapstruct.version>
 | 
				
			||||||
 | 
					    </properties>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <dependencies>
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>com.alibaba</groupId>
 | 
				
			||||||
 | 
					            <artifactId>dubbo</artifactId>
 | 
				
			||||||
 | 
					            <scope>compile</scope>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>cn.iocoder.mall</groupId>
 | 
				
			||||||
 | 
					            <artifactId>admin-service-api</artifactId>
 | 
				
			||||||
 | 
					            <version>1.0-SNAPSHOT</version>
 | 
				
			||||||
 | 
					            <scope>compile</scope>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>cn.iocoder.mall</groupId>
 | 
				
			||||||
 | 
					            <artifactId>pay-service-api</artifactId>
 | 
				
			||||||
 | 
					            <version>1.0-SNAPSHOT</version>
 | 
				
			||||||
 | 
					            <scope>compile</scope>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>mysql</groupId>
 | 
				
			||||||
 | 
					            <artifactId>mysql-connector-java</artifactId>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>org.springframework.boot</groupId>
 | 
				
			||||||
 | 
					            <artifactId>spring-boot-starter-jdbc</artifactId>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>org.mybatis.spring.boot</groupId>
 | 
				
			||||||
 | 
					            <artifactId>mybatis-spring-boot-starter</artifactId>
 | 
				
			||||||
 | 
					            <version>2.0.0</version>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>org.mapstruct</groupId>
 | 
				
			||||||
 | 
					            <artifactId>mapstruct</artifactId>
 | 
				
			||||||
 | 
					            <version>${org.mapstruct.version}</version>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>com.google.guava</groupId>
 | 
				
			||||||
 | 
					            <artifactId>guava</artifactId>
 | 
				
			||||||
 | 
					            <version>27.0.1-jre</version>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    </dependencies>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <build>
 | 
				
			||||||
 | 
					        <plugins>
 | 
				
			||||||
 | 
					            <!-- 提供给 mapstruct 使用 -->
 | 
				
			||||||
 | 
					            <plugin>
 | 
				
			||||||
 | 
					                <groupId>org.apache.maven.plugins</groupId>
 | 
				
			||||||
 | 
					                <artifactId>maven-compiler-plugin</artifactId>
 | 
				
			||||||
 | 
					                <version>3.5.1</version>
 | 
				
			||||||
 | 
					                <configuration>
 | 
				
			||||||
 | 
					                    <source>1.8</source> <!-- or higher, depending on your project -->
 | 
				
			||||||
 | 
					                    <target>1.8</target> <!-- or higher, depending on your project -->
 | 
				
			||||||
 | 
					                    <annotationProcessorPaths>
 | 
				
			||||||
 | 
					                        <path>
 | 
				
			||||||
 | 
					                            <groupId>org.mapstruct</groupId>
 | 
				
			||||||
 | 
					                            <artifactId>mapstruct-processor</artifactId>
 | 
				
			||||||
 | 
					                            <version>${org.mapstruct.version}</version>
 | 
				
			||||||
 | 
					                        </path>
 | 
				
			||||||
 | 
					                    </annotationProcessorPaths>
 | 
				
			||||||
 | 
					                </configuration>
 | 
				
			||||||
 | 
					            </plugin>
 | 
				
			||||||
 | 
					        </plugins>
 | 
				
			||||||
 | 
					    </build>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</project>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					package cn.iocoder.mall.pay.config;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.mybatis.spring.annotation.MapperScan;
 | 
				
			||||||
 | 
					import org.springframework.context.annotation.Configuration;
 | 
				
			||||||
 | 
					import org.springframework.transaction.annotation.EnableTransactionManagement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Configuration
 | 
				
			||||||
 | 
					@MapperScan("cn.iocoder.mall.pay.dao") // 扫描对应的 Mapper 接口
 | 
				
			||||||
 | 
					@EnableTransactionManagement(proxyTargetClass = true) // 启动事务管理。为什么使用 proxyTargetClass 参数,参见 https://blog.csdn.net/huang_550/article/details/76492600
 | 
				
			||||||
 | 
					public class DatabaseConfiguration {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // 数据源,使用 HikariCP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,26 @@
 | 
				
			||||||
 | 
					package cn.iocoder.mall.pay.config;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import cn.iocoder.common.framework.util.ServiceExceptionUtil;
 | 
				
			||||||
 | 
					import cn.iocoder.mall.admin.api.constant.AdminErrorCodeEnum;
 | 
				
			||||||
 | 
					import org.springframework.boot.context.event.ApplicationReadyEvent;
 | 
				
			||||||
 | 
					import org.springframework.context.annotation.Configuration;
 | 
				
			||||||
 | 
					import org.springframework.context.event.EventListener;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Configuration
 | 
				
			||||||
 | 
					public class ServiceExceptionConfiguration {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @EventListener(ApplicationReadyEvent.class) // 可参考 https://www.cnblogs.com/ssslinppp/p/7607509.html
 | 
				
			||||||
 | 
					    public void initMessages() {
 | 
				
			||||||
 | 
					//        从 service_exception_message.properties 加载错误码的方案
 | 
				
			||||||
 | 
					//        Properties properties;
 | 
				
			||||||
 | 
					//        try {
 | 
				
			||||||
 | 
					//            properties = PropertiesLoaderUtils.loadAllProperties("classpath:service_exception_message.properties");
 | 
				
			||||||
 | 
					//        } catch (IOException e) {
 | 
				
			||||||
 | 
					//            throw new RuntimeException(e);
 | 
				
			||||||
 | 
					//        }
 | 
				
			||||||
 | 
					        for (AdminErrorCodeEnum item : AdminErrorCodeEnum.values()) {
 | 
				
			||||||
 | 
					            ServiceExceptionUtil.put(item.getCode(), item.getMessage());
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					package cn.iocoder.mall.pay;
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					package cn.iocoder.mall.pay.service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import cn.iocoder.mall.pay.api.PayService;
 | 
				
			||||||
 | 
					import org.springframework.stereotype.Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Service
 | 
				
			||||||
 | 
					@com.alibaba.dubbo.config.annotation.Service(validation = "true")
 | 
				
			||||||
 | 
					public class PayServiceImpl implements PayService {
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					##################### 业务模块 #####################
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					spring:
 | 
				
			||||||
 | 
					  # datasource
 | 
				
			||||||
 | 
					  datasource:
 | 
				
			||||||
 | 
					    url: jdbc:mysql://180.167.213.26:13306/mall_pay?useSSL=false&useUnicode=true&characterEncoding=UTF-8
 | 
				
			||||||
 | 
					    driver-class-name: com.mysql.jdbc.Driver
 | 
				
			||||||
 | 
					    username: root
 | 
				
			||||||
 | 
					    password: ${MALL_MYSQL_PASSWORD}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# mybatis
 | 
				
			||||||
 | 
					mybatis:
 | 
				
			||||||
 | 
					  config-location: classpath:mybatis-config.xml
 | 
				
			||||||
 | 
					  mapper-locations: classpath:mapper/*.xml
 | 
				
			||||||
 | 
					  type-aliases-package: cn.iocoder.mall.pay.dataobject
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# dubbo
 | 
				
			||||||
 | 
					dubbo:
 | 
				
			||||||
 | 
					  application:
 | 
				
			||||||
 | 
					    name: pay-service
 | 
				
			||||||
 | 
					  registry:
 | 
				
			||||||
 | 
					    address: zookeeper://127.0.0.1:2181
 | 
				
			||||||
 | 
					  protocol:
 | 
				
			||||||
 | 
					    port: -1
 | 
				
			||||||
 | 
					    name: dubbo
 | 
				
			||||||
 | 
					  scan:
 | 
				
			||||||
 | 
					    base-packages: cn.iocoder.mall.pay.service
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,19 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?>
 | 
				
			||||||
 | 
					<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
 | 
				
			||||||
 | 
					<configuration>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <settings>
 | 
				
			||||||
 | 
					        <!-- 使用驼峰命名法转换字段。 -->
 | 
				
			||||||
 | 
					        <setting name="mapUnderscoreToCamelCase" value="true"/>
 | 
				
			||||||
 | 
					    </settings>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <typeAliases>
 | 
				
			||||||
 | 
					        <typeAlias alias="Integer" type="java.lang.Integer"/>
 | 
				
			||||||
 | 
					        <typeAlias alias="Long" type="java.lang.Long"/>
 | 
				
			||||||
 | 
					        <typeAlias alias="HashMap" type="java.util.HashMap"/>
 | 
				
			||||||
 | 
					        <typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap"/>
 | 
				
			||||||
 | 
					        <typeAlias alias="ArrayList" type="java.util.ArrayList"/>
 | 
				
			||||||
 | 
					        <typeAlias alias="LinkedList" type="java.util.LinkedList"/>
 | 
				
			||||||
 | 
					    </typeAliases>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</configuration>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,21 @@
 | 
				
			||||||
 | 
					<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 | 
				
			||||||
 | 
					    <parent>
 | 
				
			||||||
 | 
					        <artifactId>mall-parent</artifactId>
 | 
				
			||||||
 | 
					        <groupId>cn.iocoder.mall</groupId>
 | 
				
			||||||
 | 
					        <version>1.0-SNAPSHOT</version>
 | 
				
			||||||
 | 
					    </parent>
 | 
				
			||||||
 | 
					    <modelVersion>4.0.0</modelVersion>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <artifactId>pay</artifactId>
 | 
				
			||||||
 | 
					    <packaging>pom</packaging>
 | 
				
			||||||
 | 
					    <modules>
 | 
				
			||||||
 | 
					        <module>pay-application</module>
 | 
				
			||||||
 | 
					        <module>pay-service-api</module>
 | 
				
			||||||
 | 
					        <module>pay-service-impl</module>
 | 
				
			||||||
 | 
					    </modules>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</project>
 | 
				
			||||||
							
								
								
									
										1
									
								
								pom.xml
								
								
								
								
							
							
						
						
									
										1
									
								
								pom.xml
								
								
								
								
							| 
						 | 
					@ -20,6 +20,7 @@
 | 
				
			||||||
        <module>common</module>
 | 
					        <module>common</module>
 | 
				
			||||||
        <module>admin</module>
 | 
					        <module>admin</module>
 | 
				
			||||||
        <module>ops</module>
 | 
					        <module>ops</module>
 | 
				
			||||||
 | 
					        <module>pay</module>
 | 
				
			||||||
    </modules>
 | 
					    </modules>
 | 
				
			||||||
    <packaging>pom</packaging>
 | 
					    <packaging>pom</packaging>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
package cn.iocoder.mall.product;
 | 
					package cn.iocoder.mall.product.application;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import org.springframework.boot.SpringApplication;
 | 
					import org.springframework.boot.SpringApplication;
 | 
				
			||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
 | 
					import org.springframework.boot.autoconfigure.SpringBootApplication;
 | 
				
			||||||
		Loading…
	
		Reference in New Issue