|
@@ -0,0 +1,70 @@
|
|
|
+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:"用户实际名称"`
|
|
|
+}
|
|
|
+
|
|
|
+//新增搜索
|
|
|
+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() (items []*CygxSearchKeyWord, err error) {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ sql := `SELECT key_word, COUNT(*) AS num FROM cygx_search_key_word GROUP BY key_word ORDER BY num DESC LIMIT 8 `
|
|
|
+ _, err = o.Raw(sql).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 WHERE user_id = ? GROUP BY key_word ORDER BY maxId DESC LIMIT 8 `
|
|
|
+ _, err = o.Raw(sql, uid).QueryRows(&items)
|
|
|
+ return
|
|
|
+}
|