123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package services
- import (
- "fmt"
- "hongze/hongze_cygx/models"
- "hongze/hongze_cygx/utils"
- "time"
- )
- //AddSearchKeyWord 记录用户搜索关键词
- func AddSearchKeyWord(user *models.WxUserItem, keyWord string, source int) (err error) {
- cacheKey := fmt.Sprint("Search_uid:", user.UserId, "_KeyWord:", keyWord, "_Source:", source)
- isExist := utils.Rc.IsExist(cacheKey)
- if isExist {
- return err
- }
- defer func() {
- if err != nil {
- go utils.SendAlarmMsg(" 记录用户搜索关键词失败"+err.Error(), 2)
- go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "记录用户搜索关键词失败 ErrMsg:"+err.Error(), utils.EmailSendToUsers)
- }
- }()
- keyWordItem := new(models.CygxSearchKeyWord)
- keyWordItem.UserId = user.UserId
- keyWordItem.KeyWord = keyWord
- keyWordItem.CreateTime = time.Now()
- keyWordItem.Mobile = user.Mobile
- keyWordItem.Email = user.Email
- keyWordItem.CompanyId = user.CompanyId
- keyWordItem.CompanyName = user.CompanyName
- keyWordItem.RealName = user.RealName
- _, err = models.AddSearchKeyWord(keyWordItem)
- go AddUserSearchLog(user, keyWord, source)
- //一分钟之内的相同搜索词不重复记录
- setNX := utils.Rc.SetNX(cacheKey, keyWord, time.Minute*1)
- if !setNX {
- go utils.SendAlarmMsg("记录用户搜索关键词失败,设置Redis Key 过期时间失败:key"+cacheKey, 3)
- }
- return
- }
- //AddUserSearchLog 记录用户搜索关键词的日志
- func AddUserSearchLog(user *models.WxUserItem, keyWord string, source int) (err error) {
- defer func() {
- if err != nil {
- fmt.Println(err)
- go utils.SendAlarmMsg(" 记录用户搜索关键词的日志"+err.Error(), 2)
- go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "修改活动状态至进行中失败 ErrMsg:"+err.Error(), utils.EmailSendToUsers)
- }
- }()
- item := new(models.CygxSearchKeyWordLog)
- item.UserId = user.UserId
- item.KeyWord = keyWord
- item.CreateTime = time.Now()
- item.Mobile = user.Mobile
- item.Email = user.Email
- item.CompanyId = user.CompanyId
- item.CompanyName = user.CompanyName
- item.RealName = user.RealName
- item.Source = source
- _, err = models.AddSearchKeyWordLog(item)
- return
- }
|