瀏覽代碼

只查询特定群的消息

xiexiaoyuan 2 年之前
父節點
當前提交
5763644f0c
共有 2 個文件被更改,包括 34 次插入0 次删除
  1. 19 0
      models/tables/yb/config.go
  2. 15 0
      services/day_new.go

+ 19 - 0
models/tables/yb/config.go

@@ -0,0 +1,19 @@
+package yb
+
+import "github.com/beego/beego/v2/client/orm"
+
+type Config struct {
+	ConfigValue     string   `description:"配置值"`
+	ConfigCode      string   `description:"配置编码"`
+}
+
+func (c *Config) TableName() string {
+	return "yb_config"
+}
+// GetConfigByCode 查询配置详情
+func GetConfigByCode(configCode string) (item *Config, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM yb_config  WHERE config_code= ?`
+	err = o.Raw(sql, configCode).QueryRow(&item)
+	return
+}

+ 15 - 0
services/day_new.go

@@ -6,6 +6,7 @@ import (
 	"fmt"
 	"github.com/silenceper/wechat/v2/work/msgaudit"
 	"hongze/hongze_open_api/models/tables/day_new"
+	"hongze/hongze_open_api/models/tables/yb"
 	"hongze/hongze_open_api/services/alarm_msg"
 	"hongze/hongze_open_api/services/wework"
 	"hongze/hongze_open_api/utils"
@@ -65,10 +66,24 @@ func DayNewWeworkMsgRefresh() (err error)  {
 	extendUserMap := make(map[string]struct{}, 0) //企业外联系人
 	insertList := make([]*day_new.WeworkMsg, 0)
 
+	//配置只查询特定群消息
+	var limitRoomId string
+	chatConfig, tErr := yb.GetConfigByCode("wework_chat_room_id")
+	if tErr == nil {
+		if chatConfig.ConfigValue != "" {
+			limitRoomId = chatConfig.ConfigValue
+		}
+	}
+
 	for _, v := range list {
 		if _, ok := existMsgMap[v.MsgID]; ok {
 			continue
 		}
+		if limitRoomId != "" {
+			if v.RoomID != limitRoomId {
+				continue
+			}
+		}
 		toList, _ := json.Marshal(v.ToList)
 		v.ToList = append(v.ToList, v.From) //把发言者的userid也加入到用户map里
 		for _, u := range v.ToList {