hotfix #93

Merged
李寻欢 merged 2 commits from hotfix into main 2024-07-29 09:16:53 +08:00
2 changed files with 14 additions and 2 deletions
Showing only changes of commit 7b7f9dcdb4 - Show all commits

View File

@ -3,6 +3,7 @@ package cleargroupuser
import ( import (
"fmt" "fmt"
"go-wechat/client" "go-wechat/client"
"go-wechat/common/current"
"go-wechat/model/entity" "go-wechat/model/entity"
"go-wechat/service" "go-wechat/service"
"go-wechat/utils" "go-wechat/utils"
@ -15,7 +16,7 @@ import (
func ClearGroupUser() { func ClearGroupUser() {
groups, err := service.GetAllEnableClearGroup() groups, err := service.GetAllEnableClearGroup()
if err != nil { if err != nil {
log.Printf("获取启用了聊天排行榜的群组失败, 错误信息: %v", err) log.Printf("获取启用了末位淘汰的群组失败, 错误信息: %v", err)
return return
} }
@ -56,7 +57,9 @@ func ClearGroupUser() {
// @param days 需要清理的未活跃的天数 // @param days 需要清理的未活跃的天数
// @return members // @return members
func getNeedDeleteMembers(groupId string, days int) (members []entity.GroupUser) { func getNeedDeleteMembers(groupId string, days int) (members []entity.GroupUser) {
err := client.MySQL.Model(&entity.GroupUser{}).Where("group_id = ?", groupId). err := client.MySQL.Model(&entity.GroupUser{}).
Where("group_id = ?", groupId).
Where("wxid != ?", current.GetRobotInfo().WxId).
Where("is_member IS TRUE"). Where("is_member IS TRUE").
Where("DATEDIFF( NOW(), last_active ) >= ?", days). Where("DATEDIFF( NOW(), last_active ) >= ?", days).
Order("last_active DESC"). Order("last_active DESC").

View File

@ -10,6 +10,7 @@ import (
"go-wechat/utils" "go-wechat/utils"
"log" "log"
"strings" "strings"
"time"
) )
// AiSummary // AiSummary
@ -22,6 +23,9 @@ func AiSummary() {
} }
for _, group := range groups { for _, group := range groups {
// 记录开始时间
var start = time.Now()
// 获取对话记录 // 获取对话记录
var records []vo.TextMessageItem var records []vo.TextMessageItem
if records, err = service.GetTextMessagesById(group.Wxid); err != nil { if records, err = service.GetTextMessagesById(group.Wxid); err != nil {
@ -86,5 +90,10 @@ func AiSummary() {
replyMsg := fmt.Sprintf("#昨日消息总结\n又是一天过去了让我们一起来看看昨儿群友们都聊了什么有趣的话题吧~\n\n%s", resp.Choices[0].Message.Content) replyMsg := fmt.Sprintf("#昨日消息总结\n又是一天过去了让我们一起来看看昨儿群友们都聊了什么有趣的话题吧~\n\n%s", resp.Choices[0].Message.Content)
//log.Printf("群[%s]对话记录总结成功,总结内容: %s", group.Wxid, replyMsg) //log.Printf("群[%s]对话记录总结成功,总结内容: %s", group.Wxid, replyMsg)
utils.SendMessage(group.Wxid, "", replyMsg, 0) utils.SendMessage(group.Wxid, "", replyMsg, 0)
// 判断耗时是否达到15秒不足就等待
if used := time.Now().Sub(start); used < 15*time.Second {
time.Sleep(15*time.Second - used)
}
} }
} }