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:
GA Pro
2026-05-09 21:29:18 +09:00
parent c716f5eb70
commit cef4e48e27
100 changed files with 4914 additions and 0 deletions
@@ -0,0 +1,40 @@
package com.ga.common.system;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@Mapper
public interface SystemLogMapper {
int insertLoginLog(@Param("userId") Long userId,
@Param("loginId") String loginId,
@Param("loginType") String loginType,
@Param("failReason") String failReason,
@Param("ipAddress") String ipAddress,
@Param("userAgent") String userAgent);
int insertApiAccessLog(@Param("userId") Long userId,
@Param("method") String method,
@Param("url") String url,
@Param("requestParam") String requestParam,
@Param("responseCode") String responseCode,
@Param("responseTime") Integer responseTime,
@Param("ipAddress") String ipAddress,
@Param("errorMessage") String errorMessage);
int insertDataChangeLog(@Param("userId") Long userId,
@Param("menuCode") String menuCode,
@Param("tableName") String tableName,
@Param("recordId") String recordId,
@Param("actionType") String actionType,
@Param("beforeJson") String beforeJson,
@Param("afterJson") String afterJson,
@Param("changedKeys") String changedKeys);
List<Map<String, Object>> selectLoginLogs(@Param("param") Map<String, Object> param);
List<Map<String, Object>> selectApiAccessLogs(@Param("param") Map<String, Object> param);
List<Map<String, Object>> selectDataChangeLogs(@Param("param") Map<String, Object> param);
}