Files
2026-06-25 17:41:06 +08:00

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