Prechádzať zdrojové kódy

Merge branch 'pool_sub_status'

# Conflicts:
#	services/task.go
ziwen 2 rokov pred
rodič
commit
8c9e502769

+ 20 - 0
models/data_manage/user_record.go

@@ -0,0 +1,20 @@
+package data_manage
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+)
+
+func GetUnSubUserOpenid(openIdstr string) (items []string, err error){
+	sql := `SELECT open_id FROM user_record 
+          WHERE open_id IS NOT NULL AND subscribe=0 AND create_platform=1 `
+	sql += ` AND open_id in (` + openIdstr + `) `
+	_, err = orm.NewOrm().Raw(sql).QueryRows(&items)
+	return
+}
+
+func UpdateSubStatus(unSubIds string) (err error){
+	sql := "UPDATE user_record SET subscribe=1,subscribe_time=NOW() WHERE create_platform=1 "
+	sql += ` AND open_id in (` + unSubIds + `) `
+	_, err = orm.NewOrm().Raw(sql).Exec()
+	return
+}

+ 2 - 2
models/wechat.go

@@ -3,9 +3,9 @@ package models
 import (
 	"encoding/json"
 	"fmt"
-	"hongze/hongze_task/utils"
-	"github.com/rdlucklib/rdluck_tools/http"
 	"github.com/beego/beego/v2/client/orm"
+	"github.com/rdlucklib/rdluck_tools/http"
+	"hongze/hongze_task/utils"
 	"strings"
 	"time"
 )

+ 3 - 1
services/task.go

@@ -109,7 +109,9 @@ func Task() {
 	syncComeinMeeting := task.NewTask("SyncComeinMeeting", "0 1 */1 * * * ", SyncComeinMeeting)
 	task.AddTask("SyncComeinMeeting", syncComeinMeeting)
 
-
+	//同步user_record中的关注状态
+	syncSubStatus := task.NewTask("syncSubStatus", "0 0 2 * * *", SyncSubStatus)
+	task.AddTask("syncSubStatus", syncSubStatus)
 
 
 	//删除日志 report_save_log,ppt_v2_save_log,保留一个月的

+ 38 - 0
services/user_record.go

@@ -0,0 +1,38 @@
+package services
+
+import (
+	"context"
+	"hongze/hongze_task/models"
+	"hongze/hongze_task/models/data_manage"
+	"hongze/hongze_task/services/alarm_msg"
+	"hongze/hongze_task/utils"
+	"strings"
+)
+
+//同步user_record表中的关注状态
+func SyncSubStatus(cont context.Context) (err error) {
+	openIdstr := models.WxUsersGet()
+	var items []string
+	if openIdstr != "''"{
+		items, err = data_manage.GetUnSubUserOpenid(openIdstr)
+		if err != nil {
+			utils.FileLog.Info("SyncSubStatus select Err:%s" + err.Error())
+			go alarm_msg.SendAlarmMsg("SyncSubStatus 查询open_id失败 ErrMsg:"+err.Error(), 3)
+			return err
+		}
+	}
+
+	unSubIds := strings.Join(items, "','")
+	unSubIds = "'" + unSubIds + "'"
+
+	if unSubIds != "''" {
+		err = data_manage.UpdateSubStatus(unSubIds)
+		if err != nil {
+			utils.FileLog.Info("SyncSubStatus update Err:%s" + err.Error())
+			go alarm_msg.SendAlarmMsg("SyncSubStatus 更新关注状态失败 ErrMsg:"+err.Error(), 3)
+			return err
+		}
+	}
+
+	return
+}