Просмотр исходного кода

Merge branch 'dev_v1.5.17_wh' of jianyu/datatools into feature/v1.5.17

王浩 10 месяцев назад
Родитель
Сommit
b9590783ae
6 измененных файлов с 88 добавлено и 6 удалено
  1. 75 0
      clueSync/autoTask.go
  2. 1 0
      clueSync/config.go
  3. 1 0
      clueSync/db.json
  4. 2 2
      clueSync/go.mod
  5. 4 4
      clueSync/go.sum
  6. 5 0
      clueSync/main.go

+ 75 - 0
clueSync/autoTask.go

@@ -2,6 +2,7 @@ package main
 
 import (
 	"database/sql"
+	"fmt"
 	"github.com/gogf/gf/v2/util/gconv"
 	"log"
 	"time"
@@ -509,3 +510,77 @@ func PhoneState(uid, seatNumber, createtime string) bool {
 	}
 	return false
 }
+func LockHandle() {
+	time.Now()
+	log.Println("线索锁定定时任务开始")
+	timeData := -1 * (db.CornExp8 + 5)
+	timeDate := time.Now().Add(time.Duration(timeData) * time.Second)
+	timeStr := timeDate.Format("2006-01-02 15:04:05")
+	a := 1
+	fool := false
+	page := 1
+	pageSize := 1000
+	for !fool {
+		sqlStr := fmt.Sprintf(`select  id,cluename,position_id,updatetime,company_nature,company_verification,lock_status from  dwd_f_crm_clue_info  where  updatetime>="%s"  order by  updatetime limit %d OFFSET  %d`, timeStr, pageSize, (page-1)*pageSize)
+		data := TiDb.SelectBySql(sqlStr)
+		if len(*data) == 0 {
+			fool = true
+			break
+		}
+		for _, v := range *data {
+			log.Println(a, gconv.String(v["updatetime"]))
+			a++
+			clue_id := gconv.Int64(v["id"])
+			cluename := gconv.String(v["cluename"])
+			position_id := gconv.String(v["position_id"])
+			company_nature := gconv.Int64(v["company_nature"])
+			company_verification := gconv.Int64(v["company_verification"])
+			lock_status := gconv.Int64(v["lock_status"])
+			//非集团在工商需要查询其他数据是否分配的有人
+			if company_nature == 0 && company_verification == 1 {
+				status4Data := TiDb.SelectBySql(fmt.Sprintf(`select   GROUP_CONCAT(DISTINCT position_id) as  position_id from   dwd_f_crm_clue_info  where    cluename="%s" and     position_id>0  `, cluename))
+				if len(*status4Data) > 0 || status4Data != nil {
+					position_id = gconv.String((*status4Data)[0]["position_id"])
+				}
+			}
+			if company_nature == 1 && lock_status != 3 {
+				//无需锁定处理
+				if lock_status != 3 {
+					go UpdateData(3, map[string]interface{}{
+						"id": clue_id,
+					}, 3, "")
+				}
+			} else if company_nature == 0 && company_verification == 1 && position_id != "" {
+				//已锁定处理
+				if lock_status != 1 {
+					go UpdateData(1, map[string]interface{}{
+						"cluename": cluename,
+					}, 1, position_id)
+				}
+			} else {
+				//未锁定处理
+				if lock_status != 2 {
+					go UpdateData(2, map[string]interface{}{
+						"id": clue_id,
+					}, 2, "")
+				}
+			}
+		}
+		page++
+	}
+	log.Println("线索锁定定时任务结束")
+}
+
+func UpdateData(lockStatus int64, query map[string]interface{}, status int, positionId string) {
+	if status != 1 {
+		TiDb.Update("dwd_f_crm_clue_info", query, map[string]interface{}{
+			"lock_status": lockStatus,
+		})
+	} else {
+		TiDb.Update("dwd_f_crm_clue_info", query, map[string]interface{}{
+			"lock_status":      lockStatus,
+			"lock_position_id": positionId,
+		})
+	}
+
+}

+ 1 - 0
clueSync/config.go

@@ -40,6 +40,7 @@ type (
 		CornExp5      int64  `json:"cornexp5"`
 		CornExp6      int64  `json:"cornexp6"`
 		CornExp7      string `json:"cornexp7"`
+		CornExp8      int64  `json:"cornexp8"`
 		TiDb          struct {
 			Host        string `json:"host"`
 			Port        int    `json:"port"`

+ 1 - 0
clueSync/db.json

@@ -1,6 +1,7 @@
 {
   "cornexp1": 30,
   "cornexp2": 1,
+  "cornexp8": 1,
   "cornexp2End": "18:00",
   "cornexp2Strat": "09:00",
   "cornexp3": "0 30 8 * * ?",

+ 2 - 2
clueSync/go.mod

@@ -3,8 +3,8 @@ module clueSync
 go 1.14
 
 require (
-	app.yhyue.com/moapp/jybase v0.0.0-20240523083821-42a82b37ae20
-	bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20240627084125-22b4217112c7
+	app.yhyue.com/moapp/jybase v0.0.0-20240912091212-401647f2624b
+	bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20240917100248-b3a720df70c0
 	github.com/go-xweb/httpsession v0.0.0-20141220075701-356d3b4d38d6 // indirect
 	github.com/go-xweb/log v0.0.0-20140701090824-270d183ad77e // indirect
 	github.com/go-xweb/uuid v0.0.0-20140604020037-d7dce341f851 // indirect

+ 4 - 4
clueSync/go.sum

@@ -10,14 +10,14 @@ app.yhyue.com/moapp/jybase v0.0.0-20220719064915-2fef79005dfa/go.mod h1:FjBF25AY
 app.yhyue.com/moapp/jybase v0.0.0-20220802080941-07f401baab8b/go.mod h1:HelrO6tcD9TcKb/HOP2BLbzppyDz2kpQSFhPMQTUgbQ=
 app.yhyue.com/moapp/jybase v0.0.0-20221229065928-e4ba75127ac9/go.mod h1:efAeRPDpJ13JuNODuqtfLlKQSQgCbnUcwGPzhFU5krY=
 app.yhyue.com/moapp/jybase v0.0.0-20230523020646-528a068dac39/go.mod h1:zB47XTeJvpcbtBRYgkQuxOICWNexiZfbUO+7aUf6mNs=
-app.yhyue.com/moapp/jybase v0.0.0-20240523083821-42a82b37ae20 h1:F1ZHkzo7yHp5eNrZDqQxaXMIKFQU72bsI1dMq3ztJLA=
-app.yhyue.com/moapp/jybase v0.0.0-20240523083821-42a82b37ae20/go.mod h1:XHNATN6tsJKHdCB0DbUtFdPPHXexTUFyB3RlO+lUUoM=
+app.yhyue.com/moapp/jybase v0.0.0-20240912091212-401647f2624b h1:IjAmZuaG4voMYPuIh+phJYI4fwMM/cLfZ5LEz7wrEos=
+app.yhyue.com/moapp/jybase v0.0.0-20240912091212-401647f2624b/go.mod h1:XHNATN6tsJKHdCB0DbUtFdPPHXexTUFyB3RlO+lUUoM=
 bp.jydev.jianyu360.cn/BP/jynsq v0.0.0-20220222052708-ebc43af90698/go.mod h1:ojo/AUH9Yr1wzarEjOaNMkj1Cet/9r8IgLyba64Z52E=
 bp.jydev.jianyu360.cn/BaseService/gateway v0.0.0-20220419090715-88ddb32961be/go.mod h1:Yj4oabIGItuMoF0BXYLz2XAnF581kxgXBrvlUtIJrkI=
 bp.jydev.jianyu360.cn/BaseService/gateway v1.3.4/go.mod h1:BMLd/5wb3BIEGhnEgF9y1sJN9P5/Dw9kYsoiE9V8I9g=
 bp.jydev.jianyu360.cn/BaseService/powerCheckCenter v0.0.0-20231222013921-721356bede5b/go.mod h1:rCCaOSWBYfQabf/yIvSVheSPtN2THnHeTl2J5/RrcuU=
-bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20240627084125-22b4217112c7 h1:gEkFm3u/LAfn/yr6fEfJ8YZZpHL0DD+Ri56D170PQ8s=
-bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20240627084125-22b4217112c7/go.mod h1:cQD0ZBTecKyqnEAyZha+80miCCGPCXajZA7aVo3J6kY=
+bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20240917100248-b3a720df70c0 h1:v0uEDtUgiQ9s/eKQnq64Tod85cxR9Goi7kMjLq3ae4c=
+bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20240917100248-b3a720df70c0/go.mod h1:Q+r+DRzSIHAsYBA7i39O2UrZB6ZhRtfCjVpN7n1p+Fg=
 bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.0.0-20220418005748-8ba5d936dd53/go.mod h1:E5lcDI3k4FESLxiAetCfWQTq8qfpy9cv0yN1oKoEO34=
 bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.0.0-20220419023723-0b32d4a41751/go.mod h1:6KL5LMEku83uRbre0W/bj5kXG2I6pJGBFtktmtp51yM=
 bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.0.0-20220419063004-233fc7ce006c/go.mod h1:6KL5LMEku83uRbre0W/bj5kXG2I6pJGBFtktmtp51yM=

+ 5 - 0
clueSync/main.go

@@ -146,6 +146,10 @@ func main() {
 	InitArea()
 	InitProduct(db.ProductArr)
 	if *mode == 1 {
+		//一秒钟一次
+		go p.VarTimeTask.RunInSecondTimeLoop("1秒钟定时任务", "", "", db.CornExp8, true, true, nil, func() {
+			LockHandle() //绑定状态处理
+		})
 		//30分钟一次
 		go p.VarTimeTask.RunInTimeLoop("30分钟定时任务", "", "", db.CornExp1, true, true, nil, func() {
 			orders()      //未支付订单
@@ -199,6 +203,7 @@ func main() {
 			rderAcceptance()   //工单生成
 		})
 		//自动进入任务车 1天一次
+
 		g := cron.New()
 		g.AddFunc(db.CornExp7, func() {
 			readClue()   //读取中间表进线索