| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- generator client {
- provider = "prisma-client-js"
- }
- datasource db {
- provider = "mysql"
- url = env("DATABASE_URL")
- }
- enum SimulationTaskStatus {
- PROCESSING
- SUCCESSES
- FAILED
- }
- enum TemplateTaskStatus {
- WAIT
- PROCESSING
- STEP1_SUCCESS
- STEP2_SUCCESS
- FAILED
- }
- enum HairTemplateStatus {
- DRAFT
- PUBLIC
- }
- enum HairTemplateCategory {
- LONG
- MEDIUM
- SHORT
- DYE
- }
- enum HairTemplateSystemFlag {
- YES
- NO
- }
- enum SystemConfigValueType {
- STRING
- NUMBER
- BOOLEAN
- JSON
- }
- enum CustomerExpectContact {
- LINE
- PHONE
- EMAIL
- NONE
- }
- enum CustomerHairLength {
- SHORT
- MEDIUM
- LONG
- UNCONFIRM
- }
- enum CustomerHairTexture {
- UNCONFIRM
- THIN
- NORMAL
- HARD_CRUDE
- CURLY
- }
- enum CustomerFirstSuggestHair {
- AUTO
- LONG
- MEDIUM
- SHORT
- }
- enum CustomerVisitPurpose {
- CUT_DYE
- CUT
- DYE
- CONSULT_SIM
- }
- model HairstylistUser {
- id BigInt @id @default(autoincrement()) @db.UnsignedBigInt
- username String @db.VarChar(50)
- email String @db.VarChar(100)
- password String @db.VarChar(100)
- simulationInviteCode String? @unique @map("simulation_invite_code") @db.VarChar(8)
- createTime DateTime @default(now()) @map("create_time")
- updateTime DateTime @updatedAt @map("update_time")
- isDeleted Int @default(0) @map("is_deleted") @db.UnsignedTinyInt
- @@map("hairstylist_user")
- }
- model Customer {
- id BigInt @id @default(autoincrement()) @db.UnsignedBigInt
- hairstylistId BigInt @map("hairstylist_id") @db.UnsignedBigInt
- name String @db.VarChar(30)
- namePronunciation String @default("") @map("name_pronunciation") @db.VarChar(50)
- phone String @db.VarChar(20)
- email String @default("") @db.VarChar(100)
- birthday DateTime? @db.Date
- avatar String @default("") @db.VarChar(500)
- expectContact CustomerExpectContact @default(NONE) @map("expect_contact")
- hairLength CustomerHairLength @default(UNCONFIRM) @map("hair_length")
- hairTexture CustomerHairTexture @default(UNCONFIRM) @map("hair_texture")
- notice String? @db.Text
- allergy String @default("") @db.VarChar(500)
- innerRemark String? @map("inner_remark") @db.Text
- followContent String? @map("follow_content") @db.Text
- nextFollowDate DateTime? @map("next_follow_date") @db.Date
- recommendVisitDate DateTime? @map("recommend_visit_date") @db.Date
- firstSuggestHair CustomerFirstSuggestHair @default(AUTO) @map("first_suggest_hair")
- planDate DateTime? @map("plan_date") @db.Date
- isFirstRegister Int @default(0) @map("is_first_register") @db.UnsignedTinyInt
- visitPurpose CustomerVisitPurpose? @map("visit_purpose")
- trouble String? @db.Text
- consultContent String? @map("consult_content") @db.Text
- expectLook String? @map("expect_look") @db.Text
- createTime DateTime @default(now()) @map("create_time")
- updateTime DateTime @updatedAt @map("update_time")
- isDeleted Int @default(0) @map("is_deleted") @db.UnsignedTinyInt
- @@unique([phone, isDeleted], map: "uk_phone_del")
- @@index([isDeleted], map: "idx_is_deleted")
- @@index([hairstylistId, isDeleted], map: "idx_hairstylist_is_deleted")
- @@index([nextFollowDate, isDeleted], map: "idx_next_follow")
- @@index([recommendVisitDate, isDeleted], map: "idx_recommend_visit")
- @@index([planDate, isDeleted], map: "idx_plan_date")
- @@map("customer")
- }
- model CustomerTreatmentRecord {
- id BigInt @id @default(autoincrement()) @db.UnsignedBigInt
- customerId BigInt @map("customer_id") @db.UnsignedBigInt
- hairstylistId BigInt @map("hairstylist_id") @db.UnsignedBigInt
- treatmentTime DateTime @map("treatment_time")
- treatmentTitle String @map("treatment_title") @db.VarChar(200)
- treatmentDetail String? @map("treatment_detail") @db.Text
- createTime DateTime @default(now()) @map("create_time")
- updateTime DateTime @updatedAt @map("update_time")
- isDeleted Int @default(0) @map("is_deleted") @db.UnsignedTinyInt
- @@map("customer_treatment_record")
- }
- model AiHairSimulation {
- id BigInt @id @default(autoincrement()) @db.UnsignedBigInt
- customerId BigInt? @map("customer_id") @db.UnsignedBigInt
- hairstylistId BigInt @map("hairstylist_id") @db.UnsignedBigInt
- originImage String @map("origin_image") @db.VarChar(500)
- templateIds String @map("template_ids") @db.Text
- simulateRemark String? @map("simulate_remark") @db.Text
- createTime DateTime @default(now()) @map("create_time")
- updateTime DateTime @updatedAt @map("update_time")
- isDeleted Int @default(0) @map("is_deleted") @db.UnsignedTinyInt
- @@map("ai_hair_simulation")
- }
- model AiHairSimulationTask {
- id BigInt @id @default(autoincrement()) @db.UnsignedBigInt
- simulationId BigInt @map("simulation_id") @db.UnsignedBigInt
- templateId String @map("template_id") @db.VarChar(100)
- customerId BigInt? @map("customer_id") @db.UnsignedBigInt
- taskId String @map("task_id") @db.VarChar(200)
- taskStatus SimulationTaskStatus @map("task_status")
- resultImages String? @map("result_images") @db.Text
- taskStartTime DateTime @map("task_start_time")
- taskFinishTime DateTime? @map("task_finish_time")
- errorMsg String? @map("error_msg") @db.Text
- createTime DateTime @default(now()) @map("create_time")
- updateTime DateTime @updatedAt @map("update_time")
- isDeleted Int @default(0) @map("is_deleted") @db.UnsignedTinyInt
- @@map("ai_hair_simulation_task")
- }
- model HairTemplate {
- id BigInt @id @default(autoincrement()) @db.UnsignedBigInt
- templateName String @map("template_name") @db.VarChar(100)
- coverUrl String @default("") @map("cover_url") @db.VarChar(500)
- status HairTemplateStatus
- category HairTemplateCategory
- tags String @default("") @db.VarChar(500)
- description String? @db.Text
- modelUrl String @default("") @map("model_url") @db.VarChar(500)
- clothesUrl String @default("") @map("clothes_url") @db.VarChar(500)
- backgroundUrl String @default("") @map("background_url") @db.VarChar(500)
- refHairUrl String @default("") @map("ref_hair_url") @db.VarChar(500)
- hairstylistId BigInt? @map("hairstylist_id") @db.UnsignedBigInt
- templateUrl String @default("") @map("template_url") @db.VarChar(500)
- usedCount Int @default(0) @map("used_count") @db.UnsignedInt
- isSystemTemplate HairTemplateSystemFlag @default(NO) @map("is_system_template")
- createTime DateTime @default(now()) @map("create_time")
- updateTime DateTime @updatedAt @map("update_time")
- isDeleted Int @default(0) @map("is_deleted") @db.UnsignedTinyInt
- @@index([category, isDeleted], map: "idx_category")
- @@index([hairstylistId, isDeleted], map: "idx_hairstylist_id")
- @@index([status, isDeleted], map: "idx_status")
- @@map("hair_template")
- }
- model HairTemplateMakeTask {
- id BigInt @id @default(autoincrement()) @db.UnsignedBigInt
- totalTaskId String @map("total_task_id") @db.VarChar(200)
- step1TaskId String @default("") @map("step1_task_id") @db.VarChar(200)
- step2TaskId String @default("") @map("step2_task_id") @db.VarChar(200)
- taskStatus TemplateTaskStatus @map("task_status")
- templateId BigInt? @map("template_id") @db.UnsignedBigInt
- step1Resource String? @map("step1_resource") @db.Text
- step2Resource String? @map("step2_resource") @db.Text
- refHairUrl String @default("") @map("ref_hair_url") @db.VarChar(500)
- modelUrl String @default("") @map("model_url") @db.VarChar(500)
- clothesUrl String @default("") @map("clothes_url") @db.VarChar(500)
- backgroundUrl String @default("") @map("background_url") @db.VarChar(500)
- step1ResultImg String @default("") @map("step1_result_img") @db.VarChar(500)
- step2ResultImg String @default("") @map("step2_result_img") @db.VarChar(500)
- createTime DateTime @default(now()) @map("create_time")
- updateTime DateTime @updatedAt @map("update_time")
- isDeleted Int @default(0) @map("is_deleted") @db.UnsignedTinyInt
- @@map("hair_template_make_task")
- }
- model SystemConfig {
- id BigInt @id @default(autoincrement()) @db.UnsignedBigInt
- configKey String @map("config_key") @db.VarChar(100)
- configName String @map("config_name") @db.VarChar(200)
- configGroup String @map("config_group") @db.VarChar(50)
- configValue String? @map("config_value") @db.Text
- valueType SystemConfigValueType @default(STRING) @map("value_type")
- sort Int @default(0)
- remark String? @default("") @db.VarChar(500)
- createTime DateTime @default(now()) @map("create_time")
- updateTime DateTime @updatedAt @map("update_time")
- isDeleted Int @default(0) @map("is_deleted") @db.UnsignedTinyInt
- @@unique([configKey, isDeleted], map: "uk_config_key")
- @@index([configGroup, isDeleted], map: "idx_config_group")
- @@map("system_config")
- }
- model BetaApplication {
- id BigInt @id @default(autoincrement()) @db.UnsignedBigInt
- name String @db.VarChar(80)
- email String @db.VarChar(150)
- salonName String @map("salon_name") @db.VarChar(150)
- area String @db.VarChar(100)
- role String @db.VarChar(50)
- contact String @db.VarChar(150)
- portfolioUrl String @default("") @map("portfolio_url") @db.VarChar(500)
- monthlyCustomers String @default("") @map("monthly_customers") @db.VarChar(30)
- language String @default("") @db.VarChar(20)
- features String? @db.Text
- painPoint String? @map("pain_point") @db.Text
- createTime DateTime @default(now()) @map("create_time")
- @@index([email], map: "idx_beta_application_email")
- @@index([createTime], map: "idx_beta_application_create_time")
- @@map("beta_application")
- }
|