From 328a2022e41a95c68f70c83d04fa3e43ead8bfeb Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期五, 18 九月 2020 19:39:15 +0800
Subject: [PATCH] save event to sql_sync_his

---
 agent.go |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 52 insertions(+), 6 deletions(-)

diff --git a/agent.go b/agent.go
index 214cac1..055d1d6 100644
--- a/agent.go
+++ b/agent.go
@@ -139,6 +139,18 @@
 				go func() {
 					flag, e := ExecuteSqlByGorm(sqlUe.Sql)
 					logger.Info("ev.LTime:",ev.LTime,"userEvent exec ",sqlUe.Sql,",Result:",flag,", err:",e)
+					logId := strconv.Itoa(int(ev.LTime))
+					logT := time.Now().Format("2006-01-02 15:04:05")
+					logSql := strings.Join(sqlUe.Sql, ";")
+					logResult := "0"
+					if flag {
+						logResult = "1"
+					}
+					logErr := ""
+					if e != nil {
+						logErr = e.Error()
+					}
+					ExecuteQueryByGorm([]string{"insert into sql_sync_his(`id`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+logId+"','"+logT+"','"+logSql+"','"+sqlUe.Owner+"',"+logResult+",'"+logErr+"')"})
 				}()
 			}
 		} else if ev.Name == UserEventSyncDbTablePersonCache {
@@ -236,11 +248,21 @@
 					addr := targetNode.Addr.String() + ":" + strconv.Itoa(TcpTransportPort)
 					sendErr := rawSendTcpMsg(addr, bytesReturn)
 
-					if sendErr != nil {
-						logger.Debug("sendToTcp err:",sendErr)
-					} else {
+					logId := strconv.Itoa(int(ev.LTime))
+					logT := time.Now().Format("2006-01-02 15:04:05")
+					logSql := "QueryEventUpdateDBData from "+targetNode.Name
+					logResult := "0"
+					logErr := ""
+					if sendErr ==nil {
+						logResult = "1"
 						logger.Debug("sendToTcp success")
+					} else {
+						logErr = sendErr.Error()
+						logger.Debug("sendToTcp err:",sendErr)
 					}
+
+
+					ExecuteQueryByGorm([]string{"insert into sql_sync_his(`id`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+logId+"','"+logT+"','"+logSql+"','"+targetNode.Name+"',"+logResult+",'"+logErr+"')"})
 				}()
 			} else {
 				logger.Debug("targetNode is nil")
@@ -258,18 +280,42 @@
 			if ev.Members !=nil && len(ev.Members) ==1 {
 				leaveMember := ev.Members[0]
 				leaveSql := "update cluster_node set isDelete=1 where node_id='"+leaveMember.Name+"'"
-				ExecuteSqlByGorm([]string{ leaveSql })
+				flag,e := ExecuteSqlByGorm([]string{ leaveSql })
 
 				logger.Info("EventMemberLeave,current Members:",ev.Members)
+				logId := ""
+				logT := time.Now().Format("2006-01-02 15:04:05")
+				logSql := leaveSql
+				logResult := "0"
+				if flag {
+					logResult = "1"
+				}
+				logErr := ""
+				if e != nil {
+					logErr = e.Error()
+				}
+				ExecuteQueryByGorm([]string{"insert into sql_sync_his(`id`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+logId+"','"+logT+"','"+logSql+"','"+leaveMember.Name+"',"+logResult+",'"+logErr+"')"})
 			}
 			return
 		} else if event.EventType() == serf.EventMemberJoin {
 			if ev.Members !=nil && len(ev.Members) ==1 {
 				leaveMember := ev.Members[0]
-				leaveSql := "update cluster_node set isDelete=0 where node_id='"+leaveMember.Name+"'"
-				ExecuteSqlByGorm([]string{ leaveSql })
+				joinSql := "update cluster_node set isDelete=0 where node_id='"+leaveMember.Name+"'"
+				flag,e := ExecuteSqlByGorm([]string{joinSql})
 
 				logger.Info("EventMemberJoin,current Members:",ev.Members)
+				logId := ""
+				logT := time.Now().Format("2006-01-02 15:04:05")
+				logSql := joinSql
+				logResult := "0"
+				if flag {
+					logResult = "1"
+				}
+				logErr := ""
+				if e != nil {
+					logErr = e.Error()
+				}
+				ExecuteQueryByGorm([]string{"insert into sql_sync_his(`id`,`createTime`,`sql`,`from`,`result`,`err`) values ('"+logId+"','"+logT+"','"+logSql+"','"+leaveMember.Name+"',"+logResult+",'"+logErr+"')"})
 			}
 			return
 		}

--
Gitblit v1.8.0