修GameAccount->PlayerInfo

This commit is contained in:
liyunjia 2024-04-16 21:25:03 +08:00
parent a98dbe65bc
commit 269c739ce9
10 changed files with 19 additions and 19 deletions

View File

@ -1 +1 @@
pub mod game_account; pub mod player_info;

View File

@ -1,17 +1,17 @@
use axum::Json; use axum::Json;
use axum_extra::extract::WithRejection; use axum_extra::extract::WithRejection;
use domain::dto::game_account::GameAccountCreate; use domain::dto::player_info::PlayerInfoRegister;
use library::resp::{rejection::IRejection, response::{ResErr, ResOK, ResResult}}; use library::resp::{rejection::IRejection, response::{ResErr, ResOK, ResResult}};
use validator::Validate; use validator::Validate;
pub async fn create( pub async fn create(
WithRejection(Json(req), _): IRejection<Json<GameAccountCreate>> WithRejection(Json(req), _): IRejection<Json<PlayerInfoRegister>>
) -> ResResult<ResOK<()>> { ) -> ResResult<ResOK<()>> {
if let Err(err) = req.validate() { if let Err(err) = req.validate() {
return Err(ResErr::ErrParams(Some(err.to_string()))); return Err(ResErr::ErrParams(Some(err.to_string())));
} }
service::game_account::create(req).await?; service::player_info::register(req).await?;
Ok(ResOK(None)) Ok(ResOK(None))
} }

View File

@ -8,7 +8,7 @@ use tower_http::trace::TraceLayer;
pub(crate) fn init() -> Router { pub(crate) fn init() -> Router {
let open = Router::new().route("/", get(|| async { "hello" })); let open = Router::new().route("/", get(|| async { "hello" }));
let auth = Router::new().route("/game_accounts", post(controller::game_account::create)); let auth = Router::new().route("/game_accounts", post(controller::player_info::create));
Router::new() Router::new()
.nest("/", open) .nest("/", open)

View File

@ -1 +1 @@
pub mod game_account; pub mod player_info;

View File

@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
use validator::Validate; use validator::Validate;
#[derive(Debug, Validate, Deserialize, Serialize)] #[derive(Debug, Validate, Deserialize, Serialize)]
pub struct GameAccountCreate { pub struct PlayerInfoRegister {
#[validate(required(message = "用户名称不能为空"), length(min = 1, message = "用户名称不能为空"))] #[validate(required(message = "用户名称不能为空"), length(min = 1, message = "用户名称不能为空"))]
pub username: Option<String>, pub username: Option<String>,
#[validate(required, length(min = 1, message = "电子邮箱不能为空"))] #[validate(required, length(min = 1, message = "电子邮箱不能为空"))]

View File

@ -2,4 +2,4 @@
pub mod prelude; pub mod prelude;
pub mod account; pub mod account;
pub mod game_account; pub mod player_info;

View File

@ -3,7 +3,7 @@
use sea_orm::entity::prelude::*; use sea_orm::entity::prelude::*;
#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)] #[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)]
#[sea_orm(table_name = "game_account")] #[sea_orm(table_name = "player_info")]
pub struct Model { pub struct Model {
#[sea_orm(primary_key)] #[sea_orm(primary_key)]
pub id: u64, pub id: u64,

View File

@ -1,4 +1,4 @@
//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.14 //! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.14
pub use super::account::Entity as Account; pub use super::account::Entity as Account;
pub use super::game_account::Entity as GameAccount; pub use super::player_info::Entity as PlayerInfo;

View File

@ -1 +1 @@
pub mod game_account; pub mod player_info;

View File

@ -1,14 +1,14 @@
use domain::entities::game_account; use domain::entities::player_info;
use domain::entities::prelude::GameAccount; use domain::entities::prelude::PlayerInfo;
use domain::dto::game_account::GameAccountCreate; use domain::dto::player_info::PlayerInfoRegister;
use library::db; use library::db;
use library::resp::response::ResErr::{ErrPerm, ErrSystem}; use library::resp::response::ResErr::{ErrPerm, ErrSystem};
use library::resp::response::{ResOK, ResResult}; use library::resp::response::{ResOK, ResResult};
use sea_orm::{ColumnTrait, EntityTrait, PaginatorTrait, QueryFilter, Set}; use sea_orm::{ColumnTrait, EntityTrait, PaginatorTrait, QueryFilter, Set};
pub async fn create(req: GameAccountCreate) -> ResResult<ResOK<()>> { pub async fn register(req: PlayerInfoRegister) -> ResResult<ResOK<()>> {
match GameAccount::find() match PlayerInfo::find()
.filter(game_account::Column::PlatformId.eq(req.platform_id.clone().unwrap())) .filter(player_info::Column::PlatformId.eq(req.platform_id.clone().unwrap()))
.count(db!()) .count(db!())
.await .await
{ {
@ -25,7 +25,7 @@ pub async fn create(req: GameAccountCreate) -> ResResult<ResOK<()>> {
let now = chrono::Local::now().naive_local(); let now = chrono::Local::now().naive_local();
let model = game_account::ActiveModel { let model = player_info::ActiveModel {
username: Set(req.username.unwrap()), username: Set(req.username.unwrap()),
email: Set(Option::from(req.email)), email: Set(Option::from(req.email)),
platform_id: Set(req.platform_id.unwrap()), platform_id: Set(req.platform_id.unwrap()),
@ -35,7 +35,7 @@ pub async fn create(req: GameAccountCreate) -> ResResult<ResOK<()>> {
..Default::default() ..Default::default()
}; };
if let Err(err) = GameAccount::insert(model).exec(db!()).await { if let Err(err) = PlayerInfo::insert(model).exec(db!()).await {
tracing::error!(error = ?err, "err insert game account"); tracing::error!(error = ?err, "err insert game account");
return Err(ErrSystem(None)); return Err(ErrSystem(None));
} }