Browse Source

修复sop未回复转发问题

boweniac 4 months ago
parent
commit
bc8a48000c
2 changed files with 9 additions and 2 deletions
  1. 5 1
      crontask/send_wx.go
  2. 4 1
      crontask/send_wx_on_timeout.go

+ 5 - 1
crontask/send_wx.go

@@ -173,6 +173,10 @@ func containsPlaceholder(s string) bool {
 }
 }
 
 
 func varReplace(s string, contactInfo *ent.Contact) string {
 func varReplace(s string, contactInfo *ent.Contact) string {
-	s = strings.Replace(s, "${nickname}", contactInfo.Nickname, -1)
+	nickname := ""
+	if contactInfo != nil {
+		nickname = contactInfo.Nickname
+	}
+	s = strings.Replace(s, "${nickname}", nickname, -1)
 	return s
 	return s
 }
 }

+ 4 - 1
crontask/send_wx_on_timeout.go

@@ -5,6 +5,7 @@ import (
 	"regexp"
 	"regexp"
 	"time"
 	"time"
 	"wechat-api/ent"
 	"wechat-api/ent"
+	"wechat-api/ent/contact"
 	"wechat-api/ent/custom_types"
 	"wechat-api/ent/custom_types"
 	"wechat-api/ent/labelrelationship"
 	"wechat-api/ent/labelrelationship"
 	"wechat-api/ent/messagerecords"
 	"wechat-api/ent/messagerecords"
@@ -140,13 +141,15 @@ func (l *CronTask) sendWxOnTimeout() {
 								if message.Meta != nil {
 								if message.Meta != nil {
 									meta.Filename = message.Meta.Filename
 									meta.Filename = message.Meta.Filename
 								}
 								}
+								contactInfo, _ := l.svcCtx.DB.Contact.Query().Where(contact.WxWxidEQ(s.BotWxid), contact.WxidEQ(s.ContactWxid)).First(l.ctx)
+								content := varReplace(message.Content, contactInfo)
 								_, _ = l.svcCtx.DB.MessageRecords.Create().
 								_, _ = l.svcCtx.DB.MessageRecords.Create().
 									SetBotWxid(s.BotWxid).
 									SetBotWxid(s.BotWxid).
 									SetContactID(0).
 									SetContactID(0).
 									SetContactType(0).
 									SetContactType(0).
 									SetContactWxid(forwardWxid).
 									SetContactWxid(forwardWxid).
 									SetContentType(message.Type).
 									SetContentType(message.Type).
-									SetContent(message.Content).
+									SetContent(content).
 									SetMeta(meta).
 									SetMeta(meta).
 									SetSourceType(4).
 									SetSourceType(4).
 									SetSourceID(node.ID).
 									SetSourceID(node.ID).