From 833159d1f181382acf3e54ba60f10166ff12dae9 Mon Sep 17 00:00:00 2001 From: zyh Date: Tue, 26 Aug 2025 15:37:52 +0800 Subject: [PATCH] Update pom.xml for MyBatis Plus integration and downgrade Spring Boot version; refactor validation imports from Jakarta to Javax; modify mappers to extend BaseMapper for CRUD operations; clean up unused MyBatis-Flex mappers; adjust application.yml for MyBatis Plus configuration. --- pom.xml | 16 +++++----- .../controller/admin/AccountController.java | 2 +- .../controller/auth/AuthController.java | 2 +- .../controller/link/LinkController.java | 2 +- .../exception/GlobalExceptionHandler.java | 6 ++-- .../mapper/account/UserAccountMapper.java | 8 ++--- .../mapper/admin/AnnouncementMapper.java | 5 +++- .../mapper/admin/OperationLogMapper.java | 5 +++- .../mapper/admin/SystemConfigMapper.java | 5 +++- .../mapper/agent/AgentPointsTxMapper.java | 5 +++- .../server/mapper/agent/LinkBatchMapper.java | 5 +++- .../server/mapper/agent/LinkTaskMapper.java | 5 +++- .../flex/agent/LinkBatchFlexMapper.java | 14 --------- .../mapper/flex/agent/LinkTaskFlexMapper.java | 29 ------------------- .../dto/account/AccountCreateRequest.java | 2 +- .../dto/account/AccountUpdateRequest.java | 4 +-- .../dto/account/ResetPasswordRequest.java | 4 +-- .../server/model/dto/auth/LoginRequest.java | 2 +- .../model/dto/link/LinkListRequest.java | 4 +-- .../model/entity/account/UserAccount.java | 18 ++++++++++++ .../model/entity/admin/Announcement.java | 15 ++++++++++ .../model/entity/admin/OperationLog.java | 20 +++++++++++++ .../model/entity/admin/SystemConfig.java | 19 ++++++++++++ .../model/entity/agent/AgentPointsTx.java | 22 ++++++++++++++ .../server/model/entity/agent/LinkBatch.java | 14 +++++++++ .../server/model/entity/agent/LinkTask.java | 29 +++++++++++++++++++ .../server/service/UserService.java | 2 +- .../service/account/AccountService.java | 8 ++--- .../service/link/LinkGenerationService.java | 4 +-- src/main/resources/application.yml | 13 +++++++-- .../mapper/account/UserAccountMapper.xml | 19 ------------ 31 files changed, 204 insertions(+), 104 deletions(-) delete mode 100644 src/main/java/com/gameplatform/server/mapper/flex/agent/LinkBatchFlexMapper.java delete mode 100644 src/main/java/com/gameplatform/server/mapper/flex/agent/LinkTaskFlexMapper.java diff --git a/pom.xml b/pom.xml index 86c94cd..c8021eb 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 3.3.3 + 2.7.18 @@ -17,7 +17,7 @@ 17 - 3.0.3 + 3.5.8 @@ -33,11 +33,11 @@ spring-boot-starter-security - + - org.mybatis.spring.boot - mybatis-spring-boot-starter - ${mybatis.spring.boot.version} + com.baomidou + mybatis-plus-boot-starter + 3.5.8 @@ -88,8 +88,8 @@ org.springdoc - springdoc-openapi-starter-webflux-ui - 2.3.0 + springdoc-openapi-webflux-ui + 1.7.0 diff --git a/src/main/java/com/gameplatform/server/controller/admin/AccountController.java b/src/main/java/com/gameplatform/server/controller/admin/AccountController.java index ea9bcde..8ae16f0 100644 --- a/src/main/java/com/gameplatform/server/controller/admin/AccountController.java +++ b/src/main/java/com/gameplatform/server/controller/admin/AccountController.java @@ -6,7 +6,7 @@ import com.gameplatform.server.service.account.AccountService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.validation.Valid; +import javax.validation.Valid; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; import reactor.core.publisher.Mono; diff --git a/src/main/java/com/gameplatform/server/controller/auth/AuthController.java b/src/main/java/com/gameplatform/server/controller/auth/AuthController.java index 952eb2e..5487ab0 100644 --- a/src/main/java/com/gameplatform/server/controller/auth/AuthController.java +++ b/src/main/java/com/gameplatform/server/controller/auth/AuthController.java @@ -6,7 +6,7 @@ import com.gameplatform.server.security.JwtService; import io.jsonwebtoken.Claims; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import jakarta.validation.Valid; +import javax.validation.Valid; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; diff --git a/src/main/java/com/gameplatform/server/controller/link/LinkController.java b/src/main/java/com/gameplatform/server/controller/link/LinkController.java index 1ef99ef..643e4c2 100644 --- a/src/main/java/com/gameplatform/server/controller/link/LinkController.java +++ b/src/main/java/com/gameplatform/server/controller/link/LinkController.java @@ -11,7 +11,7 @@ import com.gameplatform.server.service.link.LinkStatusService; import io.jsonwebtoken.Claims; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.validation.Valid; +import javax.validation.Valid; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.http.HttpHeaders; diff --git a/src/main/java/com/gameplatform/server/exception/GlobalExceptionHandler.java b/src/main/java/com/gameplatform/server/exception/GlobalExceptionHandler.java index 0169e7f..4bdf650 100644 --- a/src/main/java/com/gameplatform/server/exception/GlobalExceptionHandler.java +++ b/src/main/java/com/gameplatform/server/exception/GlobalExceptionHandler.java @@ -9,8 +9,8 @@ import org.springframework.web.server.ServerWebInputException; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.core.AuthenticationException; -import jakarta.validation.ConstraintViolation; -import jakarta.validation.ConstraintViolationException; +import javax.validation.ConstraintViolation; +import javax.validation.ConstraintViolationException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestControllerAdvice; @@ -92,7 +92,7 @@ public class GlobalExceptionHandler { @ExceptionHandler(ResponseStatusException.class) public Object handleRse(ResponseStatusException e) { - var status = e.getStatusCode(); + var status = e.getStatus(); log.warn("{} ResponseStatusException: {} - Stack: {}", status, e.getReason(), getStackTrace(e)); return body(status.value(), e.getReason()); diff --git a/src/main/java/com/gameplatform/server/mapper/account/UserAccountMapper.java b/src/main/java/com/gameplatform/server/mapper/account/UserAccountMapper.java index ca47788..08a930b 100644 --- a/src/main/java/com/gameplatform/server/mapper/account/UserAccountMapper.java +++ b/src/main/java/com/gameplatform/server/mapper/account/UserAccountMapper.java @@ -1,15 +1,15 @@ package com.gameplatform.server.mapper.account; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.gameplatform.server.model.entity.account.UserAccount; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -public interface UserAccountMapper { +@Mapper +public interface UserAccountMapper extends BaseMapper { UserAccount findByUsernameAndType(@Param("username") String username, @Param("userType") String userType); UserAccount findByUsername(@Param("username") String username); - UserAccount findById(@Param("id") Long id); - int insert(UserAccount account); - int update(UserAccount account); int setStatus(@Param("id") Long id, @Param("status") String status); int updatePassword(@Param("id") Long id, @Param("passwordHash") String passwordHash); diff --git a/src/main/java/com/gameplatform/server/mapper/admin/AnnouncementMapper.java b/src/main/java/com/gameplatform/server/mapper/admin/AnnouncementMapper.java index fd4d781..ec57603 100644 --- a/src/main/java/com/gameplatform/server/mapper/admin/AnnouncementMapper.java +++ b/src/main/java/com/gameplatform/server/mapper/admin/AnnouncementMapper.java @@ -1,11 +1,14 @@ package com.gameplatform.server.mapper.admin; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.gameplatform.server.model.entity.admin.Announcement; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; -public interface AnnouncementMapper { +@Mapper +public interface AnnouncementMapper extends BaseMapper { Announcement findById(@Param("id") Long id); int insert(Announcement announcement); diff --git a/src/main/java/com/gameplatform/server/mapper/admin/OperationLogMapper.java b/src/main/java/com/gameplatform/server/mapper/admin/OperationLogMapper.java index bdf238d..35197e5 100644 --- a/src/main/java/com/gameplatform/server/mapper/admin/OperationLogMapper.java +++ b/src/main/java/com/gameplatform/server/mapper/admin/OperationLogMapper.java @@ -1,11 +1,14 @@ package com.gameplatform.server.mapper.admin; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.gameplatform.server.model.entity.admin.OperationLog; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; -public interface OperationLogMapper { +@Mapper +public interface OperationLogMapper extends BaseMapper { OperationLog findById(@Param("id") Long id); int insert(OperationLog operationLog); diff --git a/src/main/java/com/gameplatform/server/mapper/admin/SystemConfigMapper.java b/src/main/java/com/gameplatform/server/mapper/admin/SystemConfigMapper.java index d000120..3bcf5a2 100644 --- a/src/main/java/com/gameplatform/server/mapper/admin/SystemConfigMapper.java +++ b/src/main/java/com/gameplatform/server/mapper/admin/SystemConfigMapper.java @@ -1,11 +1,14 @@ package com.gameplatform.server.mapper.admin; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.gameplatform.server.model.entity.admin.SystemConfig; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; -public interface SystemConfigMapper { +@Mapper +public interface SystemConfigMapper extends BaseMapper { SystemConfig findById(@Param("id") Long id); SystemConfig findByKey(@Param("configKey") String configKey); diff --git a/src/main/java/com/gameplatform/server/mapper/agent/AgentPointsTxMapper.java b/src/main/java/com/gameplatform/server/mapper/agent/AgentPointsTxMapper.java index 3983587..873b47a 100644 --- a/src/main/java/com/gameplatform/server/mapper/agent/AgentPointsTxMapper.java +++ b/src/main/java/com/gameplatform/server/mapper/agent/AgentPointsTxMapper.java @@ -1,11 +1,14 @@ package com.gameplatform.server.mapper.agent; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.gameplatform.server.model.entity.agent.AgentPointsTx; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; -public interface AgentPointsTxMapper { +@Mapper +public interface AgentPointsTxMapper extends BaseMapper { AgentPointsTx findById(@Param("id") Long id); int insert(AgentPointsTx agentPointsTx); diff --git a/src/main/java/com/gameplatform/server/mapper/agent/LinkBatchMapper.java b/src/main/java/com/gameplatform/server/mapper/agent/LinkBatchMapper.java index eb8ff08..cd07f35 100644 --- a/src/main/java/com/gameplatform/server/mapper/agent/LinkBatchMapper.java +++ b/src/main/java/com/gameplatform/server/mapper/agent/LinkBatchMapper.java @@ -1,11 +1,14 @@ package com.gameplatform.server.mapper.agent; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.gameplatform.server.model.entity.agent.LinkBatch; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; -public interface LinkBatchMapper { +@Mapper +public interface LinkBatchMapper extends BaseMapper { LinkBatch findById(@Param("id") Long id); int insert(LinkBatch linkBatch); diff --git a/src/main/java/com/gameplatform/server/mapper/agent/LinkTaskMapper.java b/src/main/java/com/gameplatform/server/mapper/agent/LinkTaskMapper.java index 074dbe2..c460299 100644 --- a/src/main/java/com/gameplatform/server/mapper/agent/LinkTaskMapper.java +++ b/src/main/java/com/gameplatform/server/mapper/agent/LinkTaskMapper.java @@ -1,12 +1,15 @@ package com.gameplatform.server.mapper.agent; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.gameplatform.server.model.entity.agent.LinkTask; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.time.LocalDateTime; import java.util.List; -public interface LinkTaskMapper { +@Mapper +public interface LinkTaskMapper extends BaseMapper { LinkTask findById(@Param("id") Long id); LinkTask findByCodeNo(@Param("codeNo") String codeNo); diff --git a/src/main/java/com/gameplatform/server/mapper/flex/agent/LinkBatchFlexMapper.java b/src/main/java/com/gameplatform/server/mapper/flex/agent/LinkBatchFlexMapper.java deleted file mode 100644 index 0d3fa62..0000000 --- a/src/main/java/com/gameplatform/server/mapper/flex/agent/LinkBatchFlexMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.gameplatform.server.mapper.agent; - -import com.mybatisflex.core.BaseMapper; -import com.gameplatform.server.model.entity.agent.LinkBatch; -import org.apache.ibatis.annotations.Mapper; - -/** - * MyBatis-Flex Mapper for LinkBatch - * 提供高性能的查询构建器和自动生成的基础CRUD操作 - */ -@Mapper -public interface LinkBatchFlexMapper extends BaseMapper { - // MyBatis-Flex 会自动提供完整的CRUD操作 -} diff --git a/src/main/java/com/gameplatform/server/mapper/flex/agent/LinkTaskFlexMapper.java b/src/main/java/com/gameplatform/server/mapper/flex/agent/LinkTaskFlexMapper.java deleted file mode 100644 index 1cc75b1..0000000 --- a/src/main/java/com/gameplatform/server/mapper/flex/agent/LinkTaskFlexMapper.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.gameplatform.server.mapper.agent; - -import com.mybatisflex.core.BaseMapper; -import com.gameplatform.server.model.entity.agent.LinkTask; -import org.apache.ibatis.annotations.Mapper; - -/** - * MyBatis-Flex Mapper for LinkTask - * 提供高性能的查询构建器和自动生成的基础CRUD操作 - */ -@Mapper -public interface LinkTaskFlexMapper extends BaseMapper { - // MyBatis-Flex 会自动提供以下方法: - // - selectById - // - selectByMap - // - selectByCondition - // - selectListByCondition - // - selectCountByCondition - // - selectPageByCondition - // - insert - // - insertBatch - // - update - // - updateByCondition - // - delete - // - deleteByCondition - // 等等... - - // 如果需要自定义 SQL,可以在这里添加方法并在 XML 文件中实现 -} diff --git a/src/main/java/com/gameplatform/server/model/dto/account/AccountCreateRequest.java b/src/main/java/com/gameplatform/server/model/dto/account/AccountCreateRequest.java index 5072a2c..51cdf69 100644 --- a/src/main/java/com/gameplatform/server/model/dto/account/AccountCreateRequest.java +++ b/src/main/java/com/gameplatform/server/model/dto/account/AccountCreateRequest.java @@ -1,7 +1,7 @@ package com.gameplatform.server.model.dto.account; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.*; +import javax.validation.constraints.*; @Schema(description = "账户创建请求") public class AccountCreateRequest { diff --git a/src/main/java/com/gameplatform/server/model/dto/account/AccountUpdateRequest.java b/src/main/java/com/gameplatform/server/model/dto/account/AccountUpdateRequest.java index 4aabc16..30d608d 100644 --- a/src/main/java/com/gameplatform/server/model/dto/account/AccountUpdateRequest.java +++ b/src/main/java/com/gameplatform/server/model/dto/account/AccountUpdateRequest.java @@ -1,8 +1,8 @@ package com.gameplatform.server.model.dto.account; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Pattern; -import jakarta.validation.constraints.Size; +import javax.validation.constraints.Pattern; +import javax.validation.constraints.Size; @Schema(description = "账户更新请求") public class AccountUpdateRequest { diff --git a/src/main/java/com/gameplatform/server/model/dto/account/ResetPasswordRequest.java b/src/main/java/com/gameplatform/server/model/dto/account/ResetPasswordRequest.java index c7b383a..6db3a1c 100644 --- a/src/main/java/com/gameplatform/server/model/dto/account/ResetPasswordRequest.java +++ b/src/main/java/com/gameplatform/server/model/dto/account/ResetPasswordRequest.java @@ -1,8 +1,8 @@ package com.gameplatform.server.model.dto.account; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; @Schema(description = "重置密码请求") public class ResetPasswordRequest { diff --git a/src/main/java/com/gameplatform/server/model/dto/auth/LoginRequest.java b/src/main/java/com/gameplatform/server/model/dto/auth/LoginRequest.java index 08ba76c..a78e573 100644 --- a/src/main/java/com/gameplatform/server/model/dto/auth/LoginRequest.java +++ b/src/main/java/com/gameplatform/server/model/dto/auth/LoginRequest.java @@ -1,6 +1,6 @@ package com.gameplatform.server.model.dto.auth; -import jakarta.validation.constraints.NotBlank; +import javax.validation.constraints.NotBlank; public class LoginRequest { @NotBlank diff --git a/src/main/java/com/gameplatform/server/model/dto/link/LinkListRequest.java b/src/main/java/com/gameplatform/server/model/dto/link/LinkListRequest.java index 4627e8d..5c63838 100644 --- a/src/main/java/com/gameplatform/server/model/dto/link/LinkListRequest.java +++ b/src/main/java/com/gameplatform/server/model/dto/link/LinkListRequest.java @@ -1,8 +1,8 @@ package com.gameplatform.server.model.dto.link; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Max; -import jakarta.validation.constraints.Min; +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; import lombok.Data; /** diff --git a/src/main/java/com/gameplatform/server/model/entity/account/UserAccount.java b/src/main/java/com/gameplatform/server/model/entity/account/UserAccount.java index ae39486..bc0b4e4 100644 --- a/src/main/java/com/gameplatform/server/model/entity/account/UserAccount.java +++ b/src/main/java/com/gameplatform/server/model/entity/account/UserAccount.java @@ -1,15 +1,33 @@ package com.gameplatform.server.model.entity.account; +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.time.LocalDateTime; +@TableName("user_account") public class UserAccount { + @TableId(value = "id", type = IdType.AUTO) private Long id; + + @TableField("user_type") private String userType; // ADMIN | AGENT + private String username; // 登录名(admin/agent 共用) + + @TableField("password_hash") private String passwordHash; // BCrypt 或 PLAIN:xxx(初始化用) + private String status; // ENABLED / DISABLED + + @TableField("points_balance") private Long pointsBalance; // 仅 AGENT 使用 + + @TableField("created_at") private LocalDateTime createdAt; + + @TableField("updated_at") private LocalDateTime updatedAt; public Long getId() { return id; } diff --git a/src/main/java/com/gameplatform/server/model/entity/admin/Announcement.java b/src/main/java/com/gameplatform/server/model/entity/admin/Announcement.java index 37f1b3b..af93ea6 100644 --- a/src/main/java/com/gameplatform/server/model/entity/admin/Announcement.java +++ b/src/main/java/com/gameplatform/server/model/entity/admin/Announcement.java @@ -1,14 +1,29 @@ package com.gameplatform.server.model.entity.admin; +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.time.LocalDateTime; +@TableName("announcement") public class Announcement { + @TableId(value = "id", type = IdType.AUTO) private Long id; + private String title; + private String content; + private Boolean enabled; + + @TableField("jump_url") private String jumpUrl; + + @TableField("created_at") private LocalDateTime createdAt; + + @TableField("updated_at") private LocalDateTime updatedAt; public Long getId() { return id; } diff --git a/src/main/java/com/gameplatform/server/model/entity/admin/OperationLog.java b/src/main/java/com/gameplatform/server/model/entity/admin/OperationLog.java index 3416dbf..0158046 100644 --- a/src/main/java/com/gameplatform/server/model/entity/admin/OperationLog.java +++ b/src/main/java/com/gameplatform/server/model/entity/admin/OperationLog.java @@ -1,16 +1,36 @@ package com.gameplatform.server.model.entity.admin; +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.time.LocalDateTime; +@TableName("operation_log") public class OperationLog { + @TableId(value = "id", type = IdType.AUTO) private Long id; + + @TableField("actor_type") private String actorType; // admin | agent | system | user + + @TableField("actor_id") private Long actorId; + + @TableField("code_no") private String codeNo; + private String op; + private String detail; // JSON字符串 + + @TableField("client_ip") private String clientIp; + + @TableField("user_agent") private String userAgent; + + @TableField("created_at") private LocalDateTime createdAt; public Long getId() { return id; } diff --git a/src/main/java/com/gameplatform/server/model/entity/admin/SystemConfig.java b/src/main/java/com/gameplatform/server/model/entity/admin/SystemConfig.java index 0c901b8..422806a 100644 --- a/src/main/java/com/gameplatform/server/model/entity/admin/SystemConfig.java +++ b/src/main/java/com/gameplatform/server/model/entity/admin/SystemConfig.java @@ -1,15 +1,34 @@ package com.gameplatform.server.model.entity.admin; +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.time.LocalDateTime; +@TableName("system_config") public class SystemConfig { + @TableId(value = "id", type = IdType.AUTO) private Long id; + + @TableField("config_key") private String configKey; + + @TableField("config_value") private String configValue; + + @TableField("config_type") private String configType; + private String description; + + @TableField("is_system") private Boolean isSystem; + + @TableField("created_at") private LocalDateTime createdAt; + + @TableField("updated_at") private LocalDateTime updatedAt; public Long getId() { return id; } diff --git a/src/main/java/com/gameplatform/server/model/entity/agent/AgentPointsTx.java b/src/main/java/com/gameplatform/server/model/entity/agent/AgentPointsTx.java index d59d4ce..15e6a2f 100644 --- a/src/main/java/com/gameplatform/server/model/entity/agent/AgentPointsTx.java +++ b/src/main/java/com/gameplatform/server/model/entity/agent/AgentPointsTx.java @@ -1,17 +1,39 @@ package com.gameplatform.server.model.entity.agent; +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.time.LocalDateTime; +@TableName("agent_points_tx") public class AgentPointsTx { + @TableId(value = "id", type = IdType.AUTO) private Long id; + + @TableField("account_id") private Long accountId; + private String type; // ADD | DEDUCT + + @TableField("before_points") private Long beforePoints; + + @TableField("delta_points") private Long deltaPoints; + + @TableField("after_points") private Long afterPoints; + private String reason; // create_links | manual | refund_no_rollback | other + + @TableField("ref_id") private Long refId; + + @TableField("operator_id") private Long operatorId; + + @TableField("created_at") private LocalDateTime createdAt; public Long getId() { return id; } diff --git a/src/main/java/com/gameplatform/server/model/entity/agent/LinkBatch.java b/src/main/java/com/gameplatform/server/model/entity/agent/LinkBatch.java index e957c88..c3034e2 100644 --- a/src/main/java/com/gameplatform/server/model/entity/agent/LinkBatch.java +++ b/src/main/java/com/gameplatform/server/model/entity/agent/LinkBatch.java @@ -1,13 +1,27 @@ package com.gameplatform.server.model.entity.agent; +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.time.LocalDateTime; +@TableName("link_batch") public class LinkBatch { + @TableId(value = "id", type = IdType.AUTO) private Long id; + + @TableField("agent_id") private Long agentId; + private Integer quantity; + private Integer times; + + @TableField("operator_id") private Long operatorId; + + @TableField("created_at") private LocalDateTime createdAt; public Long getId() { return id; } diff --git a/src/main/java/com/gameplatform/server/model/entity/agent/LinkTask.java b/src/main/java/com/gameplatform/server/model/entity/agent/LinkTask.java index 70663f9..dfb4e21 100644 --- a/src/main/java/com/gameplatform/server/model/entity/agent/LinkTask.java +++ b/src/main/java/com/gameplatform/server/model/entity/agent/LinkTask.java @@ -1,21 +1,50 @@ package com.gameplatform.server.model.entity.agent; +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.time.LocalDateTime; +@TableName("link_task") public class LinkTask { + @TableId(value = "id", type = IdType.AUTO) private Long id; + @TableField("batch_id") private Long batchId; + + @TableField("agent_id") private Long agentId; + + @TableField("code_no") private String codeNo; + + @TableField("token_hash") private String tokenHash; + + @TableField("expire_at") private LocalDateTime expireAt; + private String status; // NEW | USING | LOGGED_IN | REFUNDED | EXPIRED + private String region; // Q | V + + @TableField("machine_id") private String machineId; + + @TableField("login_at") private LocalDateTime loginAt; + + @TableField("refund_at") private LocalDateTime refundAt; + + @TableField("revoked_at") private LocalDateTime revokedAt; + + @TableField("created_at") private LocalDateTime createdAt; + + @TableField("updated_at") private LocalDateTime updatedAt; public Long getId() { return id; } diff --git a/src/main/java/com/gameplatform/server/service/UserService.java b/src/main/java/com/gameplatform/server/service/UserService.java index fa0e841..e2dcedc 100644 --- a/src/main/java/com/gameplatform/server/service/UserService.java +++ b/src/main/java/com/gameplatform/server/service/UserService.java @@ -28,7 +28,7 @@ public class UserService { * 根据ID获取用户账户 */ public Mono getById(Long id) { - return Mono.fromCallable(() -> userAccountMapper.findById(id)) + return Mono.fromCallable(() -> userAccountMapper.selectById(id)) .subscribeOn(Schedulers.boundedElastic()) .filter(Objects::nonNull) .map(this::toAccountResponse); diff --git a/src/main/java/com/gameplatform/server/service/account/AccountService.java b/src/main/java/com/gameplatform/server/service/account/AccountService.java index dc28502..95cdcaf 100644 --- a/src/main/java/com/gameplatform/server/service/account/AccountService.java +++ b/src/main/java/com/gameplatform/server/service/account/AccountService.java @@ -68,7 +68,7 @@ public class AccountService { } public Mono get(Long id) { - return Mono.fromCallable(() -> mapper.findById(id)) + return Mono.fromCallable(() -> mapper.selectById(id)) .subscribeOn(Schedulers.boundedElastic()) .map(this::toResp); } @@ -76,7 +76,7 @@ public class AccountService { @Transactional public Mono update(Long id, AccountUpdateRequest req) { return Mono.fromCallable(() -> { - UserAccount db = mapper.findById(id); + UserAccount db = mapper.selectById(id); if (db == null) return null; // 验证用户名唯一性(如果要更新用户名) @@ -120,8 +120,8 @@ public class AccountService { } } - mapper.update(patch); - return mapper.findById(id); + mapper.updateById(patch); + return mapper.selectById(id); }) .subscribeOn(Schedulers.boundedElastic()) .map(this::toResp); diff --git a/src/main/java/com/gameplatform/server/service/link/LinkGenerationService.java b/src/main/java/com/gameplatform/server/service/link/LinkGenerationService.java index 4b1ed39..0c4f625 100644 --- a/src/main/java/com/gameplatform/server/service/link/LinkGenerationService.java +++ b/src/main/java/com/gameplatform/server/service/link/LinkGenerationService.java @@ -59,7 +59,7 @@ public class LinkGenerationService { } // 获取操作者账户信息 - UserAccount operator = userAccountMapper.findById(operatorId); + UserAccount operator = userAccountMapper.selectById(operatorId); if (operator == null) { throw new IllegalArgumentException("操作者账户不存在"); } @@ -127,7 +127,7 @@ public class LinkGenerationService { UserAccount patch = new UserAccount(); patch.setId(operator.getId()); patch.setPointsBalance(after); - userAccountMapper.update(patch); + userAccountMapper.updateById(patch); } GenerateResult result = new GenerateResult(); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index d013c02..178cf68 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -12,11 +12,18 @@ spring: minimum-idle: 2 connection-timeout: 30000 -mybatis: +mybatis-plus: mapper-locations: classpath:mapper/**/*.xml - type-aliases-package: com.gameplatform.server.model + type-aliases-package: com.gameplatform.server.model.entity configuration: map-underscore-to-camel-case: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + global-config: + db-config: + id-type: auto + logic-delete-field: deleted + logic-delete-value: 1 + logic-not-delete-value: 0 server: port: 18080 @@ -31,7 +38,7 @@ logging: level: root: info com.gameplatform.server: debug - org.mybatis: debug + com.baomidou.mybatisplus: debug org.apache.ibatis: debug com.zaxxer.hikari: info diff --git a/src/main/resources/mapper/account/UserAccountMapper.xml b/src/main/resources/mapper/account/UserAccountMapper.xml index c99ea1f..4195785 100644 --- a/src/main/resources/mapper/account/UserAccountMapper.xml +++ b/src/main/resources/mapper/account/UserAccountMapper.xml @@ -27,26 +27,7 @@ LIMIT 1 - - - INSERT INTO user_account (user_type, username, password_hash, status, points_balance) - VALUES (#{userType}, #{username}, #{passwordHash}, #{status}, #{pointsBalance}) - - - - UPDATE user_account - - status = #{status}, - points_balance = #{pointsBalance}, - - WHERE id = #{id} - UPDATE user_account SET status = #{status} WHERE id = #{id}