61 lines
2.0 KiB
Python
61 lines
2.0 KiB
Python
from pydantic import BaseModel
|
|
from typing import Optional, List, Dict, Any
|
|
from datetime import datetime
|
|
|
|
class CustomerBase(BaseModel):
|
|
customer_id: str
|
|
customer_name: Optional[str] = None
|
|
nick_name: Optional[str] = None
|
|
head_url: Optional[str] = None
|
|
gender: Optional[int] = None
|
|
customer_remark: Optional[str] = None
|
|
customer_desc: Optional[str] = None
|
|
mobiles: Optional[List[str]] = None
|
|
labels: Optional[List[Dict[str, Any]]] = None
|
|
source_type: Optional[int] = None
|
|
apply_mode: Optional[int] = None
|
|
source_tips: Optional[str] = None
|
|
source_room_id: Optional[str] = None
|
|
source_room_name: Optional[str] = None
|
|
source_room_image: Optional[str] = None
|
|
follow_member_vid: str
|
|
follow_member_name: Optional[str] = None
|
|
follow_member_mobile: Optional[str] = None
|
|
follow_member_dept: Optional[str] = None
|
|
follow_member_avatar: Optional[str] = None
|
|
create_time: Optional[int] = None
|
|
update_time: Optional[int] = None
|
|
tag_time: Optional[int] = None
|
|
add_time: Optional[int] = None
|
|
friend_flag: Optional[int] = None
|
|
relation_flag: Optional[int] = None
|
|
cus_channel: Optional[str] = None
|
|
seq: Optional[str] = None
|
|
kh_type: Optional[int] = None
|
|
room_count: Optional[int] = 0
|
|
user_count: Optional[int] = 0
|
|
data_version: Optional[str] = None
|
|
|
|
class CustomerCreate(CustomerBase):
|
|
pass
|
|
|
|
class CustomerUpdate(BaseModel):
|
|
customer_name: Optional[str] = None
|
|
customer_remark: Optional[str] = None
|
|
customer_desc: Optional[str] = None
|
|
mobiles: Optional[List[str]] = None
|
|
labels: Optional[List[Dict[str, Any]]] = None
|
|
follow_member_name: Optional[str] = None
|
|
follow_member_mobile: Optional[str] = None
|
|
follow_member_dept: Optional[str] = None
|
|
source_tips: Optional[str] = None
|
|
cus_channel: Optional[str] = None
|
|
|
|
class Customer(CustomerBase):
|
|
id: int
|
|
data_source: Optional[str] = None
|
|
last_updated_from: Optional[str] = None
|
|
updated_at: Optional[datetime] = None
|
|
|
|
class Config:
|
|
from_attributes = True |