|
@@ -5,7 +5,6 @@ import (
|
|
"encoding/json"
|
|
"encoding/json"
|
|
"fmt"
|
|
"fmt"
|
|
"log"
|
|
"log"
|
|
- "strconv"
|
|
|
|
"strings"
|
|
"strings"
|
|
"time"
|
|
"time"
|
|
|
|
|
|
@@ -409,18 +408,17 @@ func ordersClue() {
|
|
log.Println("后台订单线索定时任务开始")
|
|
log.Println("后台订单线索定时任务开始")
|
|
lastOrderClueId := cfg.LastOrderClueId
|
|
lastOrderClueId := cfg.LastOrderClueId
|
|
nowTime := time.Now().Format(date.Date_Full_Layout)
|
|
nowTime := time.Now().Format(date.Date_Full_Layout)
|
|
- sql := fmt.Sprintf(`select order_status,is_backstage_order,pay_money,saleDep,salesperson,user_phone,create_person,saleMoney,user_id,product_type,company_name,autoUpdate from dataexport_order where autoUpdate >= "%s" order by autoUpdate asc`, lastOrderClueId)
|
|
|
|
|
|
+ sql := fmt.Sprintf(`select order_code,order_status,is_backstage_order,pay_money,saleDep,salesperson,user_phone,create_person,saleMoney,user_id,product_type,company_name,autoUpdate from dataexport_order where autoUpdate >= "%s" order by autoUpdate asc`, lastOrderClueId)
|
|
data := Mysql.SelectBySql(sql)
|
|
data := Mysql.SelectBySql(sql)
|
|
if data != nil && *data != nil && len(*data) > 0 {
|
|
if data != nil && *data != nil && len(*data) > 0 {
|
|
for _, v := range *data {
|
|
for _, v := range *data {
|
|
order_status := common.IntAll(v["order_status"])
|
|
order_status := common.IntAll(v["order_status"])
|
|
is_backstage_order := common.IntAll(v["is_backstage_order"])
|
|
is_backstage_order := common.IntAll(v["is_backstage_order"])
|
|
pay_money := common.IntAll(v["pay_money"])
|
|
pay_money := common.IntAll(v["pay_money"])
|
|
- saleDep := common.ObjToString(v["saleDep"])
|
|
|
|
- salesperson := common.ObjToString(v["salesperson"])
|
|
|
|
|
|
+ orderCode := gconv.String(v["order_code"])
|
|
|
|
+ saleDep, _, salesperson := FindSaleRecord(orderCode)
|
|
user_phone := common.ObjToString(v["user_phone"])
|
|
user_phone := common.ObjToString(v["user_phone"])
|
|
createperson := common.ObjToString(v["create_person"])
|
|
createperson := common.ObjToString(v["create_person"])
|
|
- saleMoney := common.ObjToString(v["saleMoney"])
|
|
|
|
userId, uId, cluename, seatNumber, positionId, trailstatus, clueId := common.ObjToString(v["user_id"]), "", "", "", int64(0), "", int64(0)
|
|
userId, uId, cluename, seatNumber, positionId, trailstatus, clueId := common.ObjToString(v["user_id"]), "", "", "", int64(0), "", int64(0)
|
|
product_type_str2 := `"大会员","企业商机管理","VIP订阅"`
|
|
product_type_str2 := `"大会员","企业商机管理","VIP订阅"`
|
|
product_type := common.ObjToString(v["product_type"])
|
|
product_type := common.ObjToString(v["product_type"])
|
|
@@ -476,64 +474,12 @@ func ordersClue() {
|
|
clueData := TiDb.FindOne("dwd_f_crm_clue_info", map[string]interface{}{"uid": uId}, "", "")
|
|
clueData := TiDb.FindOne("dwd_f_crm_clue_info", map[string]interface{}{"uid": uId}, "", "")
|
|
if clueData == nil || len(*clueData) == 0 {
|
|
if clueData == nil || len(*clueData) == 0 {
|
|
log.Println("saleDep", saleDep)
|
|
log.Println("saleDep", saleDep)
|
|
- if strings.HasPrefix(saleDep, "01") || strings.HasPrefix(saleDep, "05") {
|
|
|
|
|
|
+ if saleDep == "销售部" {
|
|
//撞单
|
|
//撞单
|
|
log.Println("销售部订单", saleDep)
|
|
log.Println("销售部订单", saleDep)
|
|
if strings.Contains(salesperson, ",") {
|
|
if strings.Contains(salesperson, ",") {
|
|
log.Println("销售部撞单 ", salesperson)
|
|
log.Println("销售部撞单 ", salesperson)
|
|
- if saleMoney != "" {
|
|
|
|
- var saleMoneyStu = struct {
|
|
|
|
- Data []struct {
|
|
|
|
- Name string
|
|
|
|
- Money interface{}
|
|
|
|
- }
|
|
|
|
- }{}
|
|
|
|
- json.Unmarshal([]byte(saleMoney), &saleMoneyStu)
|
|
|
|
- areAllEqual := true
|
|
|
|
- if firstMoney, ok := saleMoneyStu.Data[0].Money.(string); ok {
|
|
|
|
- maxMoney := "0"
|
|
|
|
- log.Println("销售部订单firstMoney", saleMoneyStu, saleMoneyStu.Data[0].Money)
|
|
|
|
- for _, item := range saleMoneyStu.Data {
|
|
|
|
- if item.Name != "合计" && item.Money != firstMoney {
|
|
|
|
- areAllEqual = false
|
|
|
|
- break
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- log.Println("销售部订单areAllEqual", areAllEqual)
|
|
|
|
- if areAllEqual {
|
|
|
|
- salesperson = createperson
|
|
|
|
- } else {
|
|
|
|
- for _, item := range saleMoneyStu.Data {
|
|
|
|
- money1, _ := strconv.ParseFloat(item.Money.(string), 64)
|
|
|
|
- money2, _ := strconv.ParseFloat(maxMoney, 64)
|
|
|
|
- if item.Name != "合计" && money1 > money2 {
|
|
|
|
- maxMoney = item.Money.(string)
|
|
|
|
- salesperson = item.Name
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- maxMoney := 0.0
|
|
|
|
- log.Println("销售部订单firstMoney222", saleMoneyStu, saleMoneyStu.Data[0].Money)
|
|
|
|
- for _, item := range saleMoneyStu.Data {
|
|
|
|
- if item.Name != "合计" && item.Money != firstMoney {
|
|
|
|
- areAllEqual = false
|
|
|
|
- break
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- log.Println("销售部订单areAllEqual222", areAllEqual)
|
|
|
|
- if areAllEqual {
|
|
|
|
- salesperson = createperson
|
|
|
|
- } else {
|
|
|
|
- for _, item := range saleMoneyStu.Data {
|
|
|
|
- if item.Name != "合计" && item.Money.(float64) > maxMoney {
|
|
|
|
- maxMoney = item.Money.(float64)
|
|
|
|
- salesperson = item.Name
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
|
|
+ if salesperson == "" {
|
|
salesperson = createperson
|
|
salesperson = createperson
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -569,7 +515,7 @@ func ordersClue() {
|
|
"company_verification": isCommerce,
|
|
"company_verification": isCommerce,
|
|
"FREEZE_TIME": nowTime,
|
|
"FREEZE_TIME": nowTime,
|
|
})
|
|
})
|
|
- } else if strings.HasPrefix(saleDep, "03") {
|
|
|
|
|
|
+ } else if saleDep == "市场部" {
|
|
log.Println("市场部订单", saleDep)
|
|
log.Println("市场部订单", saleDep)
|
|
clueId = TiDb.Insert("dwd_f_crm_clue_info", map[string]interface{}{
|
|
clueId = TiDb.Insert("dwd_f_crm_clue_info", map[string]interface{}{
|
|
"userid": userId,
|
|
"userid": userId,
|
|
@@ -892,3 +838,18 @@ func IsFreeze(source string, pay_money int, positionId, trailstatus string) bool
|
|
}
|
|
}
|
|
return false
|
|
return false
|
|
}
|
|
}
|
|
|
|
+func FindSaleRecord(orderCode string) (dept string, positionId int64, position string) {
|
|
|
|
+ recordList := Mysql.SelectBySql("select * from order_sale_record where ordercode=? ORDER BY state ,money ", orderCode)
|
|
|
|
+ if recordList != nil && len(*recordList) > 0 {
|
|
|
|
+ saler_dept := gconv.String((*recordList)[0]["saler_dept"])
|
|
|
|
+ if strings.Contains(saler_dept, "销售") {
|
|
|
|
+ saler_dept = "销售部"
|
|
|
|
+ } else if strings.Contains(saler_dept, "市场") {
|
|
|
|
+ saler_dept = "市场部"
|
|
|
|
+ } else {
|
|
|
|
+ saler_dept = ""
|
|
|
|
+ }
|
|
|
|
+ return saler_dept, gconv.Int64((*recordList)[0]["saler_Id"]), gconv.String((*recordList)[0]["saler_name"])
|
|
|
|
+ }
|
|
|
|
+ return "", int64(0), ""
|
|
|
|
+}
|