1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package models
- import (
- "github.com/beego/beego/v2/client/orm"
- "time"
- )
- type CygxSearchKeyWord struct {
- Id int `orm:"column(id);" description:"id"`
- KeyWord string
- UserId int
- CreateTime time.Time
- Mobile string `description:"手机号"`
- Email string `description:"邮箱"`
- CompanyId int `description:"公司id"`
- CompanyName string `description:"公司名称"`
- RealName string `description:"用户实际名称"`
- RegisterPlatform int // 来源 1小程序,2:网页、5:研选小程序
- }
- // 新增搜索
- func AddSearchKeyWord(item *CygxSearchKeyWord) (lastId int64, err error) {
- o := orm.NewOrm()
- lastId, err = o.Insert(item)
- return
- }
- // 获取用户搜索这个关键词的最新时间
- func GetNewSearchKeyWordByThisUser(uid int, keyWord string) (item *CygxSearchKeyWord, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM cygx_search_key_word WHERE user_id = ? AND key_word = ? ORDER BY id DESC LIMIT 1 `
- err = o.Raw(sql, uid, keyWord).QueryRow(&item)
- return
- }
- // 获取用户搜索词汇频率较高的词
- func GetSearchKeyWordTop(condition string, pars []interface{}) (items []*CygxSearchKeyWord, err error) {
- o := orm.NewOrm()
- sql := `SELECT key_word, MAX(create_time) as create_time, COUNT(*) AS num FROM cygx_search_key_word WHERE 1=1 ` + condition + ` GROUP BY key_word ORDER BY num DESC,create_time DESC LIMIT 12 `
- _, err = o.Raw(sql, pars).QueryRows(&items)
- return
- }
- func GetCygxSearchKeyWordList(condition string) (items []*CygxSearchKeyWord, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM cygx_search_key_word WHERE 1 = 1 ` + condition + ` GROUP BY user_id `
- _, err = o.Raw(sql).QueryRows(&items)
- return
- }
- // 修改用户搜索的相关信息
- func UpdateCygxSearchKeyWord(wxUser *WxUserItem) (err error) {
- o := orm.NewOrm()
- var sql string
- if wxUser.Mobile != "" {
- sql = `UPDATE cygx_search_key_word SET email=?,company_id=?,company_name=?,user_id=?,real_name=? WHERE mobile=? `
- _, err = o.Raw(sql, wxUser.Email, wxUser.CompanyId, wxUser.CompanyName, wxUser.UserId, wxUser.RealName, wxUser.Mobile).Exec()
- } else if wxUser.Email != "" {
- sql = `UPDATE cygx_search_key_word SET mobile=?,company_id=?,company_name=?,user_id=?,real_name=? WHERE email=? `
- _, err = o.Raw(sql, wxUser.Mobile, wxUser.CompanyId, wxUser.CompanyName, wxUser.UserId, wxUser.RealName, wxUser.Email).Exec()
- }
- return
- }
- // GetSearchKeyWordByUser 获取用户搜索历史记录
- func GetSearchKeyWordByUser(uid int) (items []*KeyWord, err error) {
- o := orm.NewOrm()
- sql := `SELECT key_word, MAX( id ) AS maxId FROM cygx_search_key_word_log WHERE user_id = ? GROUP BY key_word ORDER BY maxId DESC LIMIT 8 `
- _, err = o.Raw(sql, uid).QueryRows(&items)
- return
- }
|