34 lines
931 B
Go
34 lines
931 B
Go
package service
|
|
|
|
import (
|
|
"errors"
|
|
"strings"
|
|
|
|
"xk-of-api/internal/model"
|
|
)
|
|
|
|
// LeadService 负责官网线索校验和保存,后续接入 nl_site_lead。
|
|
type LeadService struct{}
|
|
|
|
// Lead 暴露线索服务单例。
|
|
var Lead = LeadService{}
|
|
|
|
// Create 校验并创建咨询线索。
|
|
func (s LeadService) Create(lead model.Lead) (model.Lead, error) {
|
|
if strings.TrimSpace(lead.Name) == "" {
|
|
return model.Lead{}, errors.New("请填写联系人姓名")
|
|
}
|
|
if strings.TrimSpace(lead.Phone) == "" {
|
|
return model.Lead{}, errors.New("请填写联系电话")
|
|
}
|
|
if lead.SourcePage == "" {
|
|
lead.SourcePage = "website"
|
|
}
|
|
return lead, nil
|
|
}
|
|
|
|
// List 返回后台线索列表占位数据。
|
|
func (s LeadService) List() []model.Lead {
|
|
return []model.Lead{{Name: "王医生", Phone: "13800000000", ClinicName: "萧康示例诊所", City: "上海", PlanCode: "growth", SourcePage: "pricing", Remark: "希望了解增长版"}}
|
|
}
|