From bdec74a9b19c749f52eb2186f6026930d55c0bf0 Mon Sep 17 00:00:00 2001 From: litianxiang Date: Mon, 18 May 2026 14:55:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B9=B0=E5=AE=B6=E7=94=A8=E6=88=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E8=A1=A8=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/account/entity/BuyerAccount.java | 21 ++++++++++++------- src/main/resources/db/schema.sql | 19 ++++++++++------- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/aida/buyer/module/account/entity/BuyerAccount.java b/src/main/java/com/aida/buyer/module/account/entity/BuyerAccount.java index c2ccbb7..00f41d7 100644 --- a/src/main/java/com/aida/buyer/module/account/entity/BuyerAccount.java +++ b/src/main/java/com/aida/buyer/module/account/entity/BuyerAccount.java @@ -1,13 +1,15 @@ package com.aida.buyer.module.account.entity; import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import lombok.Data; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.List; @Data -@TableName("buyer_account") +@TableName(value = "buyer_account", autoResultMap = true) public class BuyerAccount implements Serializable { private static final long serialVersionUID = 1L; @@ -15,19 +17,24 @@ public class BuyerAccount implements Serializable { @TableId(type = IdType.ASSIGN_ID) private Long id; + private String firstName; + + private String lastName; + + private String username; + private String email; private String password; - private String username; - - private String avatar; - private String language; - private String country; + private String region; - private String occupation; + private String avatarUrl; + + @TableField(typeHandler = JacksonTypeHandler.class) + private List roles; @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; diff --git a/src/main/resources/db/schema.sql b/src/main/resources/db/schema.sql index bf134ff..7b4c712 100644 --- a/src/main/resources/db/schema.sql +++ b/src/main/resources/db/schema.sql @@ -8,16 +8,19 @@ USE `buyer`; -- 创建 buyer_account 表 CREATE TABLE IF NOT EXISTS `buyer_account` ( `id` BIGINT NOT NULL COMMENT '主键ID' PRIMARY KEY, - `email` VARCHAR(255) NOT NULL COMMENT '邮箱(唯一)' UNIQUE, - `password` VARCHAR(255) NOT NULL COMMENT '密码', - `username` VARCHAR(100) COMMENT '用户名', - `avatar` VARCHAR(500) COMMENT '头像URL', - `language` VARCHAR(20) DEFAULT 'ENGLISH' COMMENT '语言:ENGLISH / CHINESE_SIMPLIFIED / CHINESE_TRADITIONAL', - `country` VARCHAR(50) COMMENT '国家', - `occupation` VARCHAR(100) COMMENT '职业', + `first_name` VARCHAR(64) DEFAULT NULL COMMENT '名', + `last_name` VARCHAR(64) DEFAULT NULL COMMENT '姓', + `username` VARCHAR(64) NOT NULL COMMENT '公开用户名', + `email` VARCHAR(128) NOT NULL COMMENT '登录邮箱', + `password` VARCHAR(255) NOT NULL COMMENT '加密后的密码', + `language` VARCHAR(32) NOT NULL DEFAULT 'English' COMMENT '界面显示语言', + `region` VARCHAR(64) DEFAULT NULL COMMENT '地区/所在地', + `avatar_url` VARCHAR(255) DEFAULT NULL COMMENT '头像图片URL', + `roles` JSON DEFAULT NULL COMMENT '用户角色(可多选,如["Student", "Graphic Designer"])', `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted` TINYINT DEFAULT 0 COMMENT '逻辑删除:0-未删除,1-已删除', - INDEX `idx_email` (`email`), + UNIQUE KEY `uk_email` (`email`), + UNIQUE KEY `uk_username` (`username`), INDEX `idx_deleted` (`deleted`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='买家账号表';