优化线索、商机、项目相关开发

This commit is contained in:
2026-09-11 17:00:23 +08:00
parent 9c07af2b59
commit 840673bda5
55 changed files with 4866 additions and 625 deletions
+11 -2
View File
@@ -88,8 +88,10 @@ func (c *BackendCrmBusinessController) List() {
total, _ := qs.Count()
var list []models.TenantCrmBusiness
if total > 0 {
_, _ = qs.OrderBy("-id").Offset((page - 1) * pageSize).Limit(pageSize).All(&list)
// 未转化的排前面,已转化的(locked=1)沉到列表下方
_, _ = qs.OrderBy("locked", "-id").Offset((page - 1) * pageSize).Limit(pageSize).All(&list)
}
attachClueName(tenantID, list)
pipelineOk(&c.Controller, map[string]interface{}{
"list": list, "total": total, "page": page, "pageSize": pageSize,
})
@@ -115,6 +117,9 @@ func (c *BackendCrmBusinessController) Detail() {
pipelineErr(&c.Controller, 404, 404, "商机未找到")
return
}
tmp := []models.TenantCrmBusiness{biz}
attachClueName(pipelineTenantID(claims), tmp)
biz.ClueName = tmp[0].ClueName
pipelineOk(&c.Controller, biz)
}
@@ -159,7 +164,7 @@ func (c *BackendCrmBusinessController) Create() {
}
ownerID := firstNonEmpty(p.OwnerUserID, pipelineUID(claims))
ownerName := firstNonEmpty(p.OwnerUserName, claims.Username)
ownerName := firstNonEmpty(p.OwnerUserName, resolveUserName(claims))
stage := firstNonEmpty(p.Stage, "1")
level := firstNonEmpty(p.Level, "2")
now := time.Now()
@@ -301,6 +306,10 @@ func (c *BackendCrmBusinessController) Delete() {
pipelineErr(&c.Controller, 404, 404, "商机未找到")
return
}
if biz.Locked == 1 || biz.Status == 2 {
pipelineErr(&c.Controller, 400, 400, "商机已转化并锁定,不能删除")
return
}
if !canDeleteCrmRecord(claims, biz.CreateUserID) {
pipelineErr(&c.Controller, 403, 403, "只有创建人、租户管理员或平台管理员可以删除该商机")
return