ai_scheduler/internal/data/mongo_model/advicer_client.go

98 lines
4.2 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package mongo_model
import (
"time"
)
type AdvicerClientMongo struct {
ProjectId int32 `json:"projectId" bson:"projectId"`
AdvicerId int32 `json:"advicerId" bson:"advicerId"`
PersonalInfo PersonalInfo `json:"personalInfo" bson:"personalInfo"`
PurchasePurpose PurchasePurpose `json:"purchasePurpose" bson:"purchasePurpose"`
CoreDemands CoreDemands `json:"coreDemands" bson:"coreDemands"`
Concerns []string `json:"concerns" bson:"concerns"`
DecisionProfile []string `json:"decisionProfile" bson:"decisionProfile"`
LastUpdateTime time.Time `json:"lastUpdateTime" bson:"lastUpdateTime"`
}
func NewAdvicerClientMongo() *AdvicerClientMongo {
return &AdvicerClientMongo{}
}
func (a *AdvicerClientMongo) MongoTableName() string {
return "advicer_client"
}
type AdvicerClientMongoEntity struct {
PersonalInfo PersonalInfo `json:"personalInfo"`
PurchasePurpose PurchasePurpose `json:"purchasePurpose"`
CoreDemands CoreDemands `json:"coreDemands"`
Concerns []string `json:"concerns"`
DecisionProfile []string `json:"decisionProfile"`
}
func (a *AdvicerClientMongo) Entity() *AdvicerClientMongoEntity {
return &AdvicerClientMongoEntity{
PersonalInfo: a.PersonalInfo,
PurchasePurpose: a.PurchasePurpose,
CoreDemands: a.CoreDemands,
Concerns: a.Concerns,
DecisionProfile: a.DecisionProfile,
}
}
// Customer 客户信息
type Customer []ClientInfo
type ClientInfo struct {
// 个人信息
PersonalInfo PersonalInfo `json:"personalInfo"`
// 购房目的
PurchasePurpose PurchasePurpose `json:"purchasePurpose"`
// 核心需求
CoreDemands CoreDemands `json:"coreDemands"`
// 关注点与顾虑
Concerns []string `json:"concerns"`
// 决策建议
DecisionProfile []string `json:"decisionProfile"`
}
type PersonalInfo struct {
Name string `json:"name"` // 姓氏
Gender string `json:"gender"` // 性别
Location string `json:"location"` // 来源地/当前居住地
IsFirstHome bool `json:"isFirstHome"` // 是否首套房
FamilyOrganize string `json:"familyOrganize"` // 家庭人数
}
type PurchasePurpose struct {
PrimaryPurpose string `json:"primaryPurpose"` // 主要目的
SecondaryPurpose string `json:"secondaryPurpose"` // 次要目的
DecisionMakers string `json:"decisionMakers"` // 决策人
}
type CoreDemands struct {
TotalBudget string `json:"totalBudget"` // 预算范围
PreferredLayout string `json:"preferredLayout"` // 偏好户型
CoreAppeal string `json:"coreAppeal"` // 核心述求
}
func (e *Customer) Example() string {
return `[{"personalInfo":{"name":"唐","gender":"男","location":"成都北门","isFirstHome":true,"familyOrganize":"夫妻"},"purchasePurpose":{"primaryPurpose":"首次置业,解决自住","secondaryPurpose":"资产保值,未来可出租","decisionMakers":"夫妻双方"},"coreDemands":{"totalBudget":"350-400"","preferredLayout":"118㎡四房三卫双套房","coreAppeal":"在有限预算内满足家庭居住功能,确保房产保值"},"concerns":["总价超预算风险","板块保值能力"],"decisionProfile":["预算导向,严格控制总价","重点关注户型功能性和实用性"]},{"personalInfo":{"name":"冯女士","gender":"女","location":"","isFirstHome":false,"familyOrganize":"夫妻+1孩+父母同住"},"purchasePurpose":{"primaryPurpose":"改善居住条件","secondaryPurpose":"子女教育质量提升","decisionMakers":"夫妻双方需家庭共同商议]},"coreDemands":{"totalBudget":"400-500","preferredLayout":"118㎡四房三卫非全景户型","coreAppeal":"安静舒适、学区有保障的改善型住房"},"concerns":["临路噪音影响老人休息","学区质量和稳定性","社区小,绿化空间有限","得房率是否足够","二八板块学区对比"],"decisionProfile":["对噪音敏感,需要安静环境","重视教育资源配置","关注社区品质和舒适度","需要详细对比不同板块学区优势"]}]`
}
func (e *Customer) Copy() AdviceData {
return new(Customer)
}
func (e *Customer) Role() AdviceRole {
return RoleClient
}
func (e *Customer) Desc() string {
return "客户信息"
}