|
@@ -1,17 +1,18 @@
|
|
|
package service
|
|
|
|
|
|
import (
|
|
|
- "app.yhyue.com/moapp/MessageCenter/util"
|
|
|
"context"
|
|
|
"database/sql"
|
|
|
"encoding/json"
|
|
|
"fmt"
|
|
|
- "go.etcd.io/etcd/client/v3/concurrency"
|
|
|
"log"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
|
|
|
|
+ "app.yhyue.com/moapp/MessageCenter/util"
|
|
|
+ "go.etcd.io/etcd/client/v3/concurrency"
|
|
|
+
|
|
|
"app.yhyue.com/moapp/MessageCenter/entity"
|
|
|
"app.yhyue.com/moapp/MessageCenter/rpc/message"
|
|
|
)
|
|
@@ -67,7 +68,7 @@ func SendMsg(this message.SendMsgRequest) (int64, string) {
|
|
|
}
|
|
|
_, err = entity.Mysql11.Exec(sql3)
|
|
|
if err == nil {
|
|
|
- go EtcdCountAdd(this.ReceiveUserId, strconv.Itoa(int(this.MsgType)))
|
|
|
+ EtcdCountAdd(this.ReceiveUserId, strconv.Itoa(int(this.MsgType)))
|
|
|
return 1, "消息发送成功"
|
|
|
}
|
|
|
return 0, "消息发送失败"
|
|
@@ -158,7 +159,7 @@ func EtcdCountAdd(userId, msgType string) {
|
|
|
m1 := concurrency.NewMutex(s1, keyString)
|
|
|
// 会话s1获取锁
|
|
|
if err := m1.Lock(context.TODO()); err != nil {
|
|
|
- log.Fatal("获取锁失败", err)
|
|
|
+ log.Fatal("EtcdCountAdd获取锁失败", err)
|
|
|
}
|
|
|
// 操作数量
|
|
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
|
|
@@ -169,7 +170,7 @@ func EtcdCountAdd(userId, msgType string) {
|
|
|
|
|
|
// 释放锁
|
|
|
if err := m1.Unlock(context.TODO()); err != nil {
|
|
|
- log.Fatal("释放锁失败", err)
|
|
|
+ log.Fatal("EtcdCountAdd释放锁失败", err)
|
|
|
}
|
|
|
return
|
|
|
}
|
|
@@ -192,14 +193,14 @@ func EtcdCountAdd(userId, msgType string) {
|
|
|
fmt.Printf("put to etcd failed, err:%v\n", err)
|
|
|
// 释放锁
|
|
|
if err := m1.Unlock(context.TODO()); err != nil {
|
|
|
- log.Fatal("释放锁失败", err)
|
|
|
+ log.Fatal("EtcdCountAdd释放锁失败2", err)
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 释放锁
|
|
|
if err := m1.Unlock(context.TODO()); err != nil {
|
|
|
- log.Fatal("释放锁失败", err)
|
|
|
+ log.Fatal("EtcdCountAdd释放锁失败3", err)
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -214,7 +215,7 @@ func EtcdCountMinusOne(userId, msgType string) {
|
|
|
m1 := concurrency.NewMutex(s1, keyString)
|
|
|
// 会话s1获取锁
|
|
|
if err := m1.Lock(context.TODO()); err != nil {
|
|
|
- log.Fatal("获取锁失败", err)
|
|
|
+ log.Fatal("EtcdCountMinusOne获取锁失败", err)
|
|
|
}
|
|
|
// 操作数量
|
|
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
|
|
@@ -225,7 +226,7 @@ func EtcdCountMinusOne(userId, msgType string) {
|
|
|
|
|
|
// 释放锁
|
|
|
if err := m1.Unlock(context.TODO()); err != nil {
|
|
|
- log.Fatal("释放锁失败", err)
|
|
|
+ log.Fatal("EtcdCountMinusOne释放锁失败", err)
|
|
|
}
|
|
|
return
|
|
|
}
|
|
@@ -254,14 +255,14 @@ func EtcdCountMinusOne(userId, msgType string) {
|
|
|
fmt.Printf("put to etcd failed, err:%v\n", err)
|
|
|
// 释放锁
|
|
|
if err := m1.Unlock(context.TODO()); err != nil {
|
|
|
- log.Fatal("释放锁失败", err)
|
|
|
+ log.Fatal("EtcdCountMinusOne释放锁失败2", err)
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 释放锁
|
|
|
if err := m1.Unlock(context.TODO()); err != nil {
|
|
|
- log.Fatal("释放锁失败", err)
|
|
|
+ log.Fatal("EtcdCountMinusOne释放锁失败3", err)
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -277,7 +278,7 @@ func EtcdSetCountZero(userId, msgType string) {
|
|
|
m1 := concurrency.NewMutex(s1, keyString)
|
|
|
// 会话s1获取锁
|
|
|
if err := m1.Lock(context.TODO()); err != nil {
|
|
|
- log.Fatal("获取锁失败", err)
|
|
|
+ log.Fatal("EtcdSetCountZero获取锁失败", err)
|
|
|
}
|
|
|
// 操作数量
|
|
|
|
|
@@ -288,14 +289,14 @@ func EtcdSetCountZero(userId, msgType string) {
|
|
|
fmt.Printf("put to etcd failed, err:%v\n", err)
|
|
|
// 释放锁
|
|
|
if err := m1.Unlock(context.TODO()); err != nil {
|
|
|
- log.Fatal("释放锁失败", err)
|
|
|
+ log.Fatal("EtcdSetCountZero释放锁失败", err)
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 释放锁
|
|
|
if err := m1.Unlock(context.TODO()); err != nil {
|
|
|
- log.Fatal("释放锁失败", err)
|
|
|
+ log.Fatal("EtcdSetCountZero释放锁失败", err)
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -306,7 +307,7 @@ func MultSave(this message.MultipleSaveMsgReq) (int64, string) {
|
|
|
if len(userIdArr) > 0 {
|
|
|
var errCount int64
|
|
|
for k, v := range userIdArr {
|
|
|
- log.Println("k--------", k, v)
|
|
|
+ // log.Println("k--------", k, v)
|
|
|
if v == "" {
|
|
|
return errCount, "调用结束"
|
|
|
}
|
|
@@ -314,7 +315,7 @@ func MultSave(this message.MultipleSaveMsgReq) (int64, string) {
|
|
|
//消息数组
|
|
|
bT := time.Now()
|
|
|
c := entity.Mysql.Count("conversation", map[string]interface{}{"receive_id": v, "send_id": this.SendUserId})
|
|
|
- log.Println("count", c)
|
|
|
+ // log.Println("count", c)
|
|
|
//m := entity.Mysql.SelectBySql("select count(id) from conversation where receive_id=? and send_id=?", v, this.SendUserId)
|
|
|
sql3 := `INSERT INTO message(appid,receive_userid,receive_name,send_userid,send_name,title,content,msg_type,link,cite_id,createtime,isRead,isdel) values ("%s",'%s','%s','%s','%s','%s','%s','%d','%s',0,'%s',0,1);`
|
|
|
sql3 = fmt.Sprintf(sql3, this.Appid, v, userName, this.SendUserId, this.SendName, this.Title, this.Content, this.MsgType, this.Link, time.Now().Format("2006-01-02 15:04:05"))
|
|
@@ -340,12 +341,12 @@ func MultSave(this message.MultipleSaveMsgReq) (int64, string) {
|
|
|
errCount++
|
|
|
continue
|
|
|
}
|
|
|
- go EtcdCountAdd(v, strconv.Itoa(int(this.MsgType)))
|
|
|
+ EtcdCountAdd(v, strconv.Itoa(int(this.MsgType)))
|
|
|
|
|
|
} else {
|
|
|
in := entity.Mysql.InsertBySql(sql3)
|
|
|
if in > -1 {
|
|
|
- go EtcdCountAdd(v, strconv.Itoa(int(this.MsgType)))
|
|
|
+ EtcdCountAdd(v, strconv.Itoa(int(this.MsgType)))
|
|
|
} else {
|
|
|
errCount++
|
|
|
}
|