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}