|
@@ -15,14 +15,17 @@ type ClueInfo struct {
|
|
|
ClueName string `json:"cluename"`
|
|
|
PositionId int64 `json:"position_id"`
|
|
|
SeatNumber string `json:"seatNumber"`
|
|
|
- CompanyNature int `json:"company_natural"` // 公司性质 集团/非集团
|
|
|
- LockStatus int `json:"lock_status"` // 锁定状态
|
|
|
- LockPerson string `json:"lock_person"` // 锁定人
|
|
|
- LockTime string `json:"lock_time"` // 锁定时间
|
|
|
+ CompanyNature int `json:"company_natural"` // 公司性质 集团/非集团
|
|
|
+ CompanyNatureStr string `json:"company_natural_str"` // 公司性质 集团/非集团
|
|
|
+ LockStatus int `json:"lock_status"` // 锁定状态
|
|
|
+ LockStatusStr string `json:"lock_status_str"`
|
|
|
+ LockPerson string `json:"lock_person"` // 锁定人
|
|
|
+ LockTime string `json:"lock_time"` // 锁定时间
|
|
|
LockPositionId int64 `json:"lock_position_id"`
|
|
|
Name string `json:"name"` // 联系人
|
|
|
- SalesPeople int `json:"sales_people"` // 销售人员
|
|
|
+ SalesPeople string `json:"sales_people"` // 销售人员
|
|
|
IsAssign int `json:"is_assign"` // 线索池
|
|
|
+ IsAssignStr string `json:"is_assign_str"` // 线索池
|
|
|
CustomerDemand string `json:"customer_demand"` // 客户需求
|
|
|
IntendedProducts string `json:"intended_products"` // 意向产品
|
|
|
CustomerBudget int64 `json:"customer_budget"` // 客户预算
|
|
@@ -42,19 +45,22 @@ type ClueInfo struct {
|
|
|
}
|
|
|
|
|
|
func CheckingList(in *pb.ClueInfoReq) *pb.BiReply {
|
|
|
- sql0 := `SELECT a1.*, a3.name as customer, a4.name as trailstatus_name FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name
|
|
|
+ sql0 := `SELECT a1.*, a3.name as customer, a4.name as trailstatus_name, a5.name as sales_people FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name
|
|
|
LEFT JOIN dwd_f_csm_customer_info a3 ON a1.id = a3.clue_id
|
|
|
- LEFT JOIN dwd_d_crm_trailstatus_code a4 ON a1.trailstatus = a4.code WHERE a1.cluename LIKE '%%%s%%' limit ? offset ?`
|
|
|
+ LEFT JOIN dwd_d_crm_trailstatus_code a4 ON a1.trailstatus = a4.code
|
|
|
+ LEFT JOIN dwd_d_crm_department_level_succbi a5 ON a1.position_id = a5.position_id WHERE a1.cluename LIKE '%%%s%%' limit ? offset ?`
|
|
|
cq0 := `SELECT COUNT(1) FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name WHERE a1.cluename LIKE '%%%s%%'`
|
|
|
|
|
|
- sql1 := `SELECT a1.*, a3.name as customer, a4.name as trailstatus_name FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name
|
|
|
+ sql1 := `SELECT a1.*, a3.name as customer, a4.name as trailstatus_name, a5.name as sales_people FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name
|
|
|
LEFT JOIN dwd_f_csm_customer_info a3 ON a1.id = a3.clue_id
|
|
|
- LEFT JOIN dwd_d_crm_trailstatus_code a4 ON a1.trailstatus = a4.code WHERE a1.name = '%s' limit ? offset ?`
|
|
|
+ LEFT JOIN dwd_d_crm_trailstatus_code a4 ON a1.trailstatus = a4.code
|
|
|
+ LEFT JOIN dwd_d_crm_department_level_succbi a5 ON a1.position_id = a5.position_id WHERE a1.name = '%s' limit ? offset ?`
|
|
|
cq1 := `SELECT COUNT(1) FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name WHERE a1.name = '%s'`
|
|
|
|
|
|
- sql2 := `SELECT a1.*, a3.name as customer, a4.name as trailstatus_name FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name
|
|
|
+ sql2 := `SELECT a1.*, a3.name as customer, a4.name as trailstatus_name, a5.name as sales_people FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name
|
|
|
LEFT JOIN dwd_f_csm_customer_info a3 ON a1.id = a3.clue_id
|
|
|
- LEFT JOIN dwd_d_crm_trailstatus_code a4 ON a1.trailstatus = a4.code WHERE a1.phone = '%s' limit ? offset ?`
|
|
|
+ LEFT JOIN dwd_d_crm_trailstatus_code a4 ON a1.trailstatus = a4.code
|
|
|
+ LEFT JOIN dwd_d_crm_department_level_succbi a5 ON a1.position_id = a5.position_id WHERE a1.phone = '%s' limit ? offset ?`
|
|
|
cq2 := `SELECT COUNT(1) FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name WHERE a1.phone = '%s'`
|
|
|
|
|
|
sql, cq := "", ""
|
|
@@ -103,6 +109,7 @@ func getClueInfo(tmp map[string]interface{}) *ClueInfo {
|
|
|
ClueName: common.ObjToString(tmp["cluename"]),
|
|
|
SeatNumber: common.ObjToString(tmp["seatNumber"]),
|
|
|
CompanyNature: common.IntAll(tmp["COMPANY_NATURE"]),
|
|
|
+ CompanyNatureStr: common.ObjToString(common.If(common.IntAll(tmp["COMPANY_NATURE"]) == 0, "非集团公司", "集团公司")),
|
|
|
LockStatus: common.IntAll(tmp["lock_status"]),
|
|
|
LockTime: common.ObjToString(tmp["lock_time"]),
|
|
|
LockPositionId: common.Int64All(tmp["lock_position_id"]),
|
|
@@ -113,11 +120,38 @@ func getClueInfo(tmp map[string]interface{}) *ClueInfo {
|
|
|
CustomerBudget: common.Int64All(tmp["customer_budget"]),
|
|
|
Content: common.ObjToString(tmp["content"]),
|
|
|
TrailTime: common.ObjToString(tmp["trail_time"]),
|
|
|
- SucManager: common.ObjToString(tmp["customer"]),
|
|
|
+ SalesPeople: common.ObjToString(tmp["sales_people"]),
|
|
|
+ SucManager: common.ObjToString(common.If(common.ObjToString(tmp["customer"]) != "", common.ObjToString(tmp["customer"]), "/")),
|
|
|
ClueStatus: common.ObjToString(tmp["trailstatus_name"]),
|
|
|
IsTransfer: common.IntAll(tmp["IS_TRANSFER"]),
|
|
|
CompanyVerification: common.IntAll(tmp["COMPANY_VERIFICATION"]),
|
|
|
}
|
|
|
+ switch clueInfo.IsAssign {
|
|
|
+ case 0:
|
|
|
+ clueInfo.IsAssignStr = "公海"
|
|
|
+ case 1:
|
|
|
+ clueInfo.IsAssignStr = "私海"
|
|
|
+ case -1:
|
|
|
+ clueInfo.IsAssignStr = "退出公海"
|
|
|
+ case -2:
|
|
|
+ clueInfo.IsAssignStr = "域外"
|
|
|
+ case -3:
|
|
|
+ clueInfo.IsAssignStr = "冻结池"
|
|
|
+ case -4:
|
|
|
+ clueInfo.IsAssignStr = "内部员工"
|
|
|
+ case -5:
|
|
|
+ clueInfo.IsAssignStr = "存在大会员子账号权益,临时处理"
|
|
|
+ case -6:
|
|
|
+ clueInfo.IsAssignStr = "特殊原因,不允许销售进行跟进"
|
|
|
+ }
|
|
|
+ switch clueInfo.LockStatus {
|
|
|
+ case 1:
|
|
|
+ clueInfo.LockStatusStr = "已锁定"
|
|
|
+ case 2:
|
|
|
+ clueInfo.LockStatusStr = "未锁定"
|
|
|
+ case 3:
|
|
|
+ clueInfo.LockStatusStr = "无需锁定"
|
|
|
+ }
|
|
|
clueInfo.LockPerson, _ = getSeatNumber(common.Int64All(tmp["lock_position_id"]))
|
|
|
if common.IntAll(tmp["COMPANY_VERIFICATION"]) == 1 {
|
|
|
ent, b := entity.MgoQyxy.FindOneByField("qyxy_std", map[string]interface{}{"company_name": clueInfo.ClueName},
|