Przeglądaj źródła

定时任务修改

WH01243 9 miesięcy temu
rodzic
commit
90566d7cf5
1 zmienionych plików z 21 dodań i 60 usunięć
  1. 21 60
      clueSync/kc.go

+ 21 - 60
clueSync/kc.go

@@ -5,7 +5,6 @@ import (
 	"encoding/json"
 	"fmt"
 	"log"
-	"strconv"
 	"strings"
 	"time"
 
@@ -409,18 +408,17 @@ func ordersClue() {
 	log.Println("后台订单线索定时任务开始")
 	lastOrderClueId := cfg.LastOrderClueId
 	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)
 	if data != nil && *data != nil && len(*data) > 0 {
 		for _, v := range *data {
 			order_status := common.IntAll(v["order_status"])
 			is_backstage_order := common.IntAll(v["is_backstage_order"])
 			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"])
 			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)
 			product_type_str2 := `"大会员","企业商机管理","VIP订阅"`
 			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}, "", "")
 				if clueData == nil || len(*clueData) == 0 {
 					log.Println("saleDep", saleDep)
-					if strings.HasPrefix(saleDep, "01") || strings.HasPrefix(saleDep, "05") {
+					if saleDep == "销售部" {
 						//撞单
 						log.Println("销售部订单", saleDep)
 						if strings.Contains(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
 							}
 						}
@@ -569,7 +515,7 @@ func ordersClue() {
 							"company_verification": isCommerce,
 							"FREEZE_TIME":          nowTime,
 						})
-					} else if strings.HasPrefix(saleDep, "03") {
+					} else if saleDep == "市场部" {
 						log.Println("市场部订单", saleDep)
 						clueId = TiDb.Insert("dwd_f_crm_clue_info", map[string]interface{}{
 							"userid":               userId,
@@ -892,3 +838,18 @@ func IsFreeze(source string, pay_money int, positionId, trailstatus string) bool
 	}
 	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), ""
+}