feat: project skeleton + DB migrations V1-V12 + ga-common framework
- Gradle multi-module: ga-common, ga-core, ga-api, ga-batch, ga-admin - Flyway V1-V12: org/product/rule/receive/ledger/settle/batch/code/menu/system + seed - ga-common (complete): - model: ApiResponse, PageResponse, SearchParam, TreeNode - exception: ErrorCode, BizException, GlobalExceptionHandler - annotation + aop: @RequirePermission, @DataChangeLog, ApiLog - auth + security: JWT, SecurityConfig - mybatis: BaseMapper, EncryptTypeHandler, JsonTypeHandler, AuditInterceptor - code (Redis cached) / menu (RBAC tree) / file / system / notification - excel: SXSSF+Cursor export, SAX+batch import (1M/700K rows) - util: Date/Money/Mask/Encrypt/Security
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
// ga-api: REST API (실행 모듈)
|
||||
apply plugin: 'org.springframework.boot'
|
||||
|
||||
bootJar {
|
||||
enabled = true
|
||||
archiveFileName = 'ga-api.jar'
|
||||
mainClass = 'com.ga.api.GaApiApplication'
|
||||
}
|
||||
jar.enabled = false
|
||||
|
||||
dependencies {
|
||||
implementation project(':ga-core')
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.ga.api;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
/**
|
||||
* GA 수수료 정산 API 서버.
|
||||
* 컴포넌트 스캔: com.ga 패키지 (common/core/api 모두 포함)
|
||||
*/
|
||||
@SpringBootApplication(scanBasePackages = {"com.ga"})
|
||||
public class GaApiApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(GaApiApplication.class, args);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
spring:
|
||||
application:
|
||||
name: ga-api
|
||||
profiles:
|
||||
active: local
|
||||
datasource:
|
||||
url: jdbc:postgresql://localhost:5432/ga
|
||||
username: ga
|
||||
password: ga
|
||||
driver-class-name: org.postgresql.Driver
|
||||
flyway:
|
||||
enabled: true
|
||||
locations: classpath:db/migration
|
||||
baseline-on-migrate: true
|
||||
data:
|
||||
redis:
|
||||
host: localhost
|
||||
port: 6379
|
||||
servlet:
|
||||
multipart:
|
||||
max-file-size: 100MB
|
||||
max-request-size: 100MB
|
||||
|
||||
server:
|
||||
port: 8080
|
||||
servlet:
|
||||
encoding:
|
||||
charset: UTF-8
|
||||
force: true
|
||||
|
||||
mybatis:
|
||||
config-location: classpath:mybatis/mybatis-config.xml
|
||||
mapper-locations: classpath*:mapper/**/*.xml
|
||||
type-aliases-package: com.ga.core.vo,com.ga.common.model
|
||||
|
||||
pagehelper:
|
||||
helper-dialect: postgresql
|
||||
reasonable: true
|
||||
support-methods-arguments: true
|
||||
|
||||
springdoc:
|
||||
swagger-ui:
|
||||
path: /swagger-ui.html
|
||||
|
||||
ga:
|
||||
jwt:
|
||||
secret: ${JWT_SECRET:change-me-please-this-must-be-at-least-256-bits-long-secret-key}
|
||||
access-token-expire: 7200000
|
||||
refresh-token-expire: 604800000
|
||||
encrypt:
|
||||
key: ${ENCRYPT_KEY:0123456789abcdef0123456789abcdef}
|
||||
|
||||
logging:
|
||||
level:
|
||||
com.ga: DEBUG
|
||||
org.mybatis: INFO
|
||||
Reference in New Issue
Block a user