批量更新功能

This commit is contained in:
2026-09-14 16:15:44 +08:00
parent 6f106e43af
commit a26c98b92b
79 changed files with 4529 additions and 724 deletions
+9 -3
View File
@@ -490,7 +490,9 @@ type entityContactPayload struct {
ContactName string `json:"contact_name"`
Position string `json:"position"`
Mobile string `json:"mobile"`
Wechat string `json:"wechat"`
// 手机号可登记多个(有的人有多个号码):优先使用,缺省时回退单个 mobile
Mobiles []string `json:"mobiles"`
Wechat string `json:"wechat"`
QQ string `json:"qq"`
Email string `json:"email"`
IsPrimary int8 `json:"is_primary"`
@@ -515,13 +517,16 @@ func (c *BackendCrmEntityContactController) Add() {
return
}
tenantID := pipelineTenantID(claims)
// 手机号支持多个:优先取 mobiles 数组,缺省回退单个 mobile;mobile 保留为第一个号码
mobilesJSON := normalizeMobiles(p.Mobiles, p.Mobile)
row := models.TenantCrmEntityContact{
TenantID: tenantID,
RelatedType: p.RelatedType,
RelatedID: p.RelatedID,
ContactName: strings.TrimSpace(p.ContactName),
Position: strings.TrimSpace(p.Position),
Mobile: strings.TrimSpace(p.Mobile),
Mobile: firstMobile(mobilesJSON),
Mobiles: mobilesJSON,
Wechat: strings.TrimSpace(p.Wechat),
QQ: strings.TrimSpace(p.QQ),
Email: strings.TrimSpace(p.Email),
@@ -568,7 +573,8 @@ func (c *BackendCrmEntityContactController) Edit() {
}
row.ContactName = strings.TrimSpace(p.ContactName)
row.Position = strings.TrimSpace(p.Position)
row.Mobile = strings.TrimSpace(p.Mobile)
row.Mobiles = normalizeMobiles(p.Mobiles, p.Mobile)
row.Mobile = firstMobile(row.Mobiles)
row.Wechat = strings.TrimSpace(p.Wechat)
row.QQ = strings.TrimSpace(p.QQ)
row.Email = strings.TrimSpace(p.Email)