Jelajahi Sumber

✨ feat(database): 添加店铺相关表结构,包括区域、材料、订单和桌子模型,并更新菜单相关模型以支持反序列化

陈雪 2 hari lalu
induk
melakukan
5f79ff54fc

+ 3 - 6
src-tauri/src/models/menu_cate.rs

@@ -1,9 +1,9 @@
 //! `SeaORM` Entity, @generated by sea-orm-codegen 1.1.0
 
 use sea_orm::entity::prelude::*;
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize)]
+#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)]
 #[sea_orm(table_name = "menu_cate")]
 pub struct Model {
     #[sea_orm(primary_key)]
@@ -13,16 +13,13 @@ pub struct Model {
     #[sea_orm(column_type = "Text", nullable)]
     pub logo: Option<String>,
     #[sea_orm(column_type = "Text", nullable)]
-    pub local_logo: Option<String>,
-    #[sea_orm(column_type = "Text", nullable)]
     pub description: Option<String>,
     #[sea_orm(column_type = "custom(\"DATETIME\")", nullable)]
     pub create_time: Option<String>,
     #[sea_orm(column_type = "custom(\"DATETIME\")", nullable)]
     pub update_time: Option<String>,
     pub sort: Option<i32>,
-    #[sea_orm(column_type = "Text", nullable)]
-    pub status: Option<String>,
+    pub status: Option<i32>,
 }
 
 #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]

+ 4 - 23
src-tauri/src/models/menu_commodity.rs

@@ -1,40 +1,24 @@
 //! `SeaORM` Entity, @generated by sea-orm-codegen 1.1.0
 
 use sea_orm::entity::prelude::*;
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize)]
+#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)]
 #[sea_orm(table_name = "menu_commodity")]
 pub struct Model {
     #[sea_orm(primary_key)]
     pub id: i32,
     #[sea_orm(column_type = "Text", nullable)]
-    pub r#type: Option<String>,
-    #[sea_orm(column_type = "Text", nullable)]
     pub name: Option<String>,
     pub cate_id: Option<i32>,
     #[sea_orm(column_type = "Text", nullable)]
     pub goods_no: Option<String>,
-    #[sea_orm(column_type = "Text", nullable)]
-    pub is_single_spec: Option<String>,
+    pub is_single_spec: Option<i32>,
     #[sea_orm(column_type = "Text", nullable)]
     pub logo: Option<String>,
-    #[sea_orm(column_type = "Text", nullable)]
-    pub images: Option<String>,
     pub price: Option<Decimal>,
     pub line_price: Option<Decimal>,
     pub stock: Option<i32>,
-    pub weight: Option<Decimal>,
-    #[sea_orm(column_type = "Text", nullable)]
-    pub coupon_ids: Option<String>,
-    pub service_time: Option<i32>,
-    pub init_sale: Option<i32>,
-    #[sea_orm(column_type = "Text", nullable)]
-    pub sale_point: Option<String>,
-    #[sea_orm(column_type = "Text", nullable)]
-    pub can_use_point: Option<String>,
-    #[sea_orm(column_type = "Text", nullable)]
-    pub is_member_discount: Option<String>,
     pub sort: Option<i32>,
     #[sea_orm(column_type = "Text", nullable)]
     pub description: Option<String>,
@@ -42,10 +26,7 @@ pub struct Model {
     pub create_time: Option<String>,
     #[sea_orm(column_type = "custom(\"DATETIME\")", nullable)]
     pub update_time: Option<String>,
-    #[sea_orm(column_type = "Text", nullable)]
-    pub operator: Option<String>,
-    #[sea_orm(column_type = "Text", nullable)]
-    pub status: Option<String>,
+    pub status: Option<i32>,
 }
 
 #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]

+ 3 - 4
src-tauri/src/models/menu_sku.rs

@@ -1,8 +1,9 @@
 //! `SeaORM` Entity, @generated by sea-orm-codegen 1.1.0
 
 use sea_orm::entity::prelude::*;
+use serde::{Deserialize, Serialize};
 
-#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)]
+#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Deserialize, Serialize)]
 #[sea_orm(table_name = "menu_sku")]
 pub struct Model {
     #[sea_orm(primary_key)]
@@ -15,9 +16,7 @@ pub struct Model {
     pub stock: i32,
     pub price: Decimal,
     pub line_price: Decimal,
-    pub weight: Option<Decimal>,
-    #[sea_orm(column_type = "Text")]
-    pub status: String,
+    pub status: Option<i32>,
 }
 
 #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]

+ 3 - 3
src-tauri/src/models/menu_sku_spec.rs

@@ -1,9 +1,9 @@
 //! `SeaORM` Entity, @generated by sea-orm-codegen 1.1.0
 
 use sea_orm::entity::prelude::*;
-use serde::Serialize;
+use serde::{Deserialize, Serialize};
 
-#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)]
+#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)]
 #[sea_orm(table_name = "menu_sku_spec")]
 pub struct Model {
     #[sea_orm(primary_key, auto_increment = false)]
@@ -12,7 +12,7 @@ pub struct Model {
     pub spec_id: i32,
 }
 
-#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation, Serialize)]
+#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
 pub enum Relation {
     #[sea_orm(
         belongs_to = "super::menu_sku::Entity",

+ 1 - 2
src-tauri/src/models/menu_spec.rs

@@ -13,8 +13,7 @@ pub struct Model {
     pub name: String,
     #[sea_orm(column_type = "Text")]
     pub value: String,
-    #[sea_orm(column_type = "Text", nullable)]
-    pub status: Option<String>,
+    pub status: Option<i32>,
 }
 
 #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]

+ 4 - 0
src-tauri/src/models/mod.rs

@@ -7,3 +7,7 @@ pub mod menu_commodity;
 pub mod menu_sku;
 pub mod menu_sku_spec;
 pub mod menu_spec;
+pub mod store_area;
+pub mod store_material;
+pub mod store_order;
+pub mod store_table;

+ 7 - 3
src-tauri/src/models/prelude.rs

@@ -2,6 +2,10 @@
 
 pub use super::menu_cate::Entity as MenuCate;
 pub use super::menu_commodity::Entity as MenuCommodity;
-// pub use super::menu_sku::Entity as MenuSku;
-// pub use super::menu_sku_spec::Entity as MenuSkuSpec;
-// pub use super::menu_spec::Entity as MenuSpec;
+pub use super::menu_sku::Entity as MenuSku;
+pub use super::menu_sku_spec::Entity as MenuSkuSpec;
+pub use super::menu_spec::Entity as MenuSpec;
+pub use super::store_area::Entity as StoreArea;
+pub use super::store_material::Entity as StoreMaterial;
+pub use super::store_order::Entity as StoreOrder;
+pub use super::store_table::Entity as StoreTable;

+ 34 - 0
src-tauri/src/models/store_area.rs

@@ -0,0 +1,34 @@
+//! `SeaORM` Entity, @generated by sea-orm-codegen 1.1.0
+
+use sea_orm::entity::prelude::*;
+use serde::{Deserialize, Serialize};
+
+#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)]
+#[sea_orm(table_name = "store_area")]
+pub struct Model {
+    #[sea_orm(primary_key)]
+    pub id: i32,
+    #[sea_orm(column_type = "Text")]
+    pub name: String,
+    #[sea_orm(column_type = "Text", nullable)]
+    pub description: Option<String>,
+    #[sea_orm(column_type = "custom(\"DATETIME\")", nullable)]
+    pub create_time: Option<String>,
+    #[sea_orm(column_type = "custom(\"DATETIME\")", nullable)]
+    pub update_time: Option<String>,
+    pub status: Option<i32>,
+}
+
+#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
+pub enum Relation {
+    #[sea_orm(has_many = "super::store_table::Entity")]
+    StoreTable,
+}
+
+impl Related<super::store_table::Entity> for Entity {
+    fn to() -> RelationDef {
+        Relation::StoreTable.def()
+    }
+}
+
+impl ActiveModelBehavior for ActiveModel {}

+ 36 - 0
src-tauri/src/models/store_material.rs

@@ -0,0 +1,36 @@
+//! `SeaORM` Entity, @generated by sea-orm-codegen 1.1.0
+
+use sea_orm::entity::prelude::*;
+use serde::{Deserialize, Serialize};
+
+#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)]
+#[sea_orm(table_name = "store_material")]
+pub struct Model {
+    #[sea_orm(primary_key)]
+    pub id: i32,
+    #[sea_orm(column_type = "Text")]
+    pub material_no: String,
+    #[sea_orm(column_type = "Text")]
+    pub material_type: String,
+    #[sea_orm(column_type = "Text")]
+    pub name: String,
+    #[sea_orm(column_type = "Text")]
+    pub specification: String,
+    pub inventory: i32,
+    pub shelf_life: i32,
+    #[sea_orm(column_type = "Text")]
+    pub unit: String,
+    #[sea_orm(column_type = "Text")]
+    pub img: String,
+    pub purchase_period: Option<i32>,
+    #[sea_orm(column_type = "custom(\"DATETIME\")", nullable)]
+    pub create_time: Option<String>,
+    #[sea_orm(column_type = "custom(\"DATETIME\")", nullable)]
+    pub update_time: Option<String>,
+    pub status: Option<i32>,
+}
+
+#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
+pub enum Relation {}
+
+impl ActiveModelBehavior for ActiveModel {}

+ 40 - 0
src-tauri/src/models/store_order.rs

@@ -0,0 +1,40 @@
+//! `SeaORM` Entity, @generated by sea-orm-codegen 1.1.0
+
+use sea_orm::entity::prelude::*;
+use serde::{Deserialize, Serialize};
+
+#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)]
+#[sea_orm(table_name = "store_order")]
+pub struct Model {
+    #[sea_orm(primary_key)]
+    pub id: i32,
+    #[sea_orm(column_type = "Text")]
+    pub order_sn: String,
+    pub table_id: i32,
+    pub pay_type: i32,
+    pub amount: Option<Decimal>,
+    pub pay_amount: Option<Decimal>,
+    pub discount: Option<Decimal>,
+    #[sea_orm(column_type = "Text", nullable)]
+    pub param: Option<String>,
+    pub service_fee: Option<Decimal>,
+    #[sea_orm(column_type = "Text", nullable)]
+    pub remark: Option<String>,
+    #[sea_orm(column_type = "custom(\"DATETIME\")", nullable)]
+    pub create_time: Option<String>,
+    #[sea_orm(column_type = "custom(\"DATETIME\")", nullable)]
+    pub update_time: Option<String>,
+    #[sea_orm(column_type = "Text", nullable)]
+    pub status: Option<String>,
+    #[sea_orm(column_type = "custom(\"DATETIME\")", nullable)]
+    pub pay_time: Option<String>,
+    pub pay_status: Option<i32>,
+    pub settle_status: Option<i32>,
+    #[sea_orm(column_type = "Text", nullable)]
+    pub goods: Option<String>,
+}
+
+#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
+pub enum Relation {}
+
+impl ActiveModelBehavior for ActiveModel {}

+ 40 - 0
src-tauri/src/models/store_table.rs

@@ -0,0 +1,40 @@
+//! `SeaORM` Entity, @generated by sea-orm-codegen 1.1.0
+
+use sea_orm::entity::prelude::*;
+use serde::{Deserialize, Serialize};
+
+#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)]
+#[sea_orm(table_name = "store_table")]
+pub struct Model {
+    #[sea_orm(primary_key)]
+    pub id: i32,
+    pub area_id: i32,
+    #[sea_orm(column_type = "Text")]
+    pub table_no: String,
+    pub capacity: Option<i32>,
+    #[sea_orm(column_type = "custom(\"DATETIME\")", nullable)]
+    pub create_time: Option<String>,
+    #[sea_orm(column_type = "custom(\"DATETIME\")", nullable)]
+    pub update_time: Option<String>,
+    pub status: Option<i32>,
+}
+
+#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
+pub enum Relation {
+    #[sea_orm(
+        belongs_to = "super::store_area::Entity",
+        from = "Column::AreaId",
+        to = "super::store_area::Column::Id",
+        on_update = "NoAction",
+        on_delete = "NoAction"
+    )]
+    StoreArea,
+}
+
+impl Related<super::store_area::Entity> for Entity {
+    fn to() -> RelationDef {
+        Relation::StoreArea.def()
+    }
+}
+
+impl ActiveModelBehavior for ActiveModel {}