浏览代码

留资公共方法处理

WH01243 1 月之前
父节点
当前提交
cdde4bd242
共有 1 个文件被更改,包括 32 次插入57 次删除
  1. 32 57
      clueSync/everything.go

+ 32 - 57
clueSync/everything.go

@@ -7,6 +7,8 @@ import (
 	"github.com/gogf/gf/util/gconv"
 	"log"
 	"net/url"
+	"os"
+	"path/filepath"
 	"strings"
 	"time"
 
@@ -671,6 +673,7 @@ func FindBatchData(moudle string) map[string]interface{} {
 	//数据提取
 	keyContent := fmt.Sprintf("data_%s_%s", now, moudle)
 	data := redis.Get("newother", keyContent)
+	return make(map[string]interface{})
 	if data == nil {
 		return make(map[string]interface{})
 	} else {
@@ -679,43 +682,6 @@ func FindBatchData(moudle string) map[string]interface{} {
 
 }
 
-// 咨询组线索
-func AdvisoryCommittee() {
-	/*if !isRunning() {
-		log.Println("不是工作日,任务暂停")
-		return
-	}
-	log.Println("咨询部线索定时任务开始")
-
-	sourceMap := buildSourceMap("咨询组")
-	nowTime := time.Now().Format(date.Date_Full_Layout)
-	startTime := getCommitteeTime(cfg.AdvisoryCommitteeTime)
-	dataArr, endtime := processLeads("zx", startTime, sourceMap, nowTime)
-
-	cfg.AdvisoryCommitteeTime = endtime
-	exportToExcel(dataArr, "咨询服务销售线索", "zx")
-	log.Println("咨询部线索定时任务结束")
-	common.WriteSysConfig(&cfg)*/
-}
-
-// 运营部线索
-/*func SelectionDepartment() {
-	if !isRunning() {
-		log.Println("不是工作日,任务暂停")
-		return
-	}
-	log.Println("运营部线索定时任务开始")
-
-	sourceMap := buildSourceMap("运营部")
-	nowTime := time.Now().Format(date.Date_Full_Layout)
-	startTime := getCommitteeTime(cfg.SelectionDepartmentTime)
-	dataArr, endtime := processLeads("yy", startTime, sourceMap, nowTime)
-	cfg.SelectionDepartmentTime = endtime
-	exportToExcel(dataArr, "运营部销售线索", "yy")
-	log.Println("运营部线索定时任务结束")
-	common.WriteSysConfig(&cfg)
-}
-*/
 // 特殊留资
 func SpecialSaleLeads() {
 	/*if !isRunning() {
@@ -730,6 +696,10 @@ func SpecialSaleLeads() {
 		log.Println(fmt.Sprintf("%s留资线索定时任务开始", gconv.String(v["groupName"])))
 		//留来源获取
 		sourceMap := buildSourceMap(gconv.String(v["groupName"]))
+		if len(sourceMap) == 0 {
+			log.Println(fmt.Sprintf("%s留资线索定时任务结束", gconv.String(v["groupName"])))
+			continue
+		}
 		dataArr, endtime := processLeads(v, sourceMap)
 		//最后一次数据修改
 		TiDb.Update("saleLeads_config", map[string]interface{}{
@@ -743,24 +713,6 @@ func SpecialSaleLeads() {
 	log.Println("特殊留资线索定时任务结束")
 }
 
-// 市场部线索
-func MarketCustomer() {
-	/*if !isRunning() {
-		log.Println("不是工作日,任务暂停")
-		return
-	}
-	log.Println("市场部线索定时任务开始")
-
-	sourceMap := buildSourceMap("市场组")
-	nowTime := time.Now().Format(date.Date_Full_Layout)
-	startTime := getCommitteeTime(cfg.MarketSaleTime)
-	dataArr, endtime := processLeads("sc", startTime, sourceMap, nowTime)
-	cfg.MarketSaleTime = endtime
-	exportToExcel(dataArr, "商务合作销售线索", "sc")
-	common.WriteSysConfig(&cfg)
-	log.Println("市场部线索定时任务结束")*/
-}
-
 // 判断是否在工作日
 func isRunning() bool {
 	return getRunOk()
@@ -940,6 +892,12 @@ func exportToExcel(dataArr []map[string]interface{}, title, batch, mails string)
 			row.AddCell().SetString(gconv.Time(gconv.Int64(v["createtime"])).Format(date.Date_Full_Layout))
 		}
 		dir := fmt.Sprintf("./xlsx/%s/%s.xlsx", batch, fileName)
+		// 确保目录存在(自动创建)
+		dirPath := filepath.Dir(dir) // 提取目录部分(如 "./xlsx/batch")
+		if err := os.MkdirAll(dirPath, 0755); err != nil {
+			log.Println("创建目录失败:", err)
+			return
+		}
 		if err := xf.Save(dir); err != nil {
 			log.Println("xls error", err, dir)
 			return
@@ -983,7 +941,7 @@ func EmailSelect(batch, mailStr string) (string, string) {
 					mailMap[personName] = arr[1]
 				}
 			}
-			for personName, mailStr := range mailMap {
+			for personName, mail := range mailMap {
 				isOk := false
 				for _, m := range *bigData {
 					tablePersonName := gconv.String(m["name"])
@@ -999,7 +957,7 @@ func EmailSelect(batch, mailStr string) (string, string) {
 					TiDb.Insert("dwd_f_crm_clue_big_autodraw_record", map[string]interface{}{
 						"name":  personName,
 						"count": common.Int64All((*rData)["count"]),
-						"email": mailStr,
+						"email": mail,
 						"type":  batch,
 					})
 					return minemail, name
@@ -1018,6 +976,23 @@ func EmailSelect(batch, mailStr string) (string, string) {
 				name = vName
 			}
 		}
+	} else {
+		for k, s := range strings.Split(mailStr, "|") {
+			if len(strings.Split(s, "-")) > 1 {
+				arr := strings.Split(s, "-")
+				if k == 0 {
+					minemail, name = arr[1], arr[0]
+				}
+				personName := arr[0]
+				TiDb.Insert("dwd_f_crm_clue_big_autodraw_record", map[string]interface{}{
+					"name":  personName,
+					"count": 0,
+					"email": arr[1],
+					"type":  batch,
+				})
+			}
+		}
+
 	}
 	TiDb.UpdateOrDeleteBySql(`update dwd_f_crm_clue_big_autodraw_record set count = count + 1 where name = ? and   type=?`, name, batch)
 	return minemail, name