package cygx import ( "github.com/beego/beego/v2/client/orm" "github.com/rdlucklib/rdluck_tools/paging" ) type KeyWordList struct { Sort int `description:"序号"` KeyWordNum int `description:"数量"` KeyWord string `description:"关键词"` } type CanDownload struct { IsCanDownload bool `description:"是否可以下载"` } func GetSearchKeyWordCount(condition string, pars []interface{}) (count int, err error) { sqlCount := ` SELECT COUNT(1) FROM( SELECT COUNT( 1 ) FROM cygx_search_key_word WHERE 1=1` if condition != "" { sqlCount += condition } sqlCount += ` GROUP BY key_word) as aa` o := orm.NewOrmUsingDB("hz_cygx") err = o.Raw(sqlCount, pars).QueryRow(&count) return } // 获取搜索关键词列表 func GetSearchKeyWordList(condition string, pars []interface{}, startSize, pageSize int) (items []*KeyWordList, err error) { sql := `SELECT COUNT( key_word ) AS key_word_num, key_word FROM cygx_search_key_word WHERE 1= 1` if condition != "" { sql += condition } sql += ` GROUP BY key_word ORDER BY COUNT( key_word ) DESC LIMIT ?,? ` o := orm.NewOrmUsingDB("hz_cygx") _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items) return } type SearchKeyWordListResp struct { List []*KeyWordList Paging *paging.PagingItem `description:"分页数据"` } type KeyWordListDownload struct { CompanyId int `description:"客户ID"` KeyWord string `description:"关键词"` CreateTime string `description:"搜索时间"` Mobile string `description:"手机号"` Email string `description:"邮箱"` RealName string `description:"客户姓名"` CompanyName string `description:"公司名称"` ProductName string `description:"产品名称"` SellerName string `description:"销售人员名称"` } // 获取7天搜索关键词列表 func GetSearchKeyWordListDownload(starTime, endTime string) (items []*KeyWordListDownload, err error) { sql := `SELECT kw.* FROM cygx_search_key_word as kw WHERE kw.create_time > ? AND kw.create_time < ? AND wx.company_id > 1 ORDER BY kw.create_time DESC` o := orm.NewOrmUsingDB("hz_cygx") _, err = o.Raw(sql, starTime, endTime).QueryRows(&items) return } // 销售获取7天搜索关键词列表 func GetSearchKeyWordListDownloadSeller(starTime, endTime, sqlStr string) (items []*KeyWordListDownload, err error) { sql := `SELECT kw.* FROM cygx_search_key_word as kw WHERE kw.create_time > ? AND kw.create_time < ? AND wx.company_id > 1` + sqlStr + ` ORDER BY kw.create_time DESC` o := orm.NewOrmUsingDB("hz_cygx") _, err = o.Raw(sql, starTime, endTime).QueryRows(&items) return } type CompanyProduct struct { CompanyId int `description:"客户ID"` } //获取开通产品种类大于一的客户 //func GetCompanyProductMoreOneList() (items []*CompanyProduct, err error) { // sql := `SELECT // company_id // FROM // company_product cp // WHERE cp.status IN ('试用','永续','正式') // GROUP BY // cp.company_id // HAVING // count( 1 )> 0` // o := orm.NewOrm() // _, err = o.Raw(sql).QueryRows(&items) // return //} func GetCompanyProductMoreOneList(starTime, endTime string) (items []*CompanyProduct, err error) { sql := `SELECT wx.company_id FROM cygx_search_key_word as kw WHERE kw.create_time > ? AND kw.create_time < ? AND wx.company_id > 1 GROUP BY wx.company_id ORDER BY kw.create_time DESC` o := orm.NewOrmUsingDB("hz_cygx") _, err = o.Raw(sql, starTime, endTime).QueryRows(&items) return } type CompanyProductNameAndSeller struct { CompanyId int `description:"客户ID"` ProductName string `description:"产品名称"` SellerName string `description:"销售人员名称"` } // 获取开通产品种类大于一的客户 func GetCompanyProductNameAndSellerAllList(pars []interface{}, companyIdStrr string) (items []*CompanyProductNameAndSeller, err error) { sql := `SELECT ad.real_name as seller_name, cp.product_name, cp.company_id FROM company_product as cp INNER JOIN admin AS ad ON cp.seller_id = ad.admin_id WHERE company_id IN (` + companyIdStrr + `)` o := orm.NewOrm() _, err = o.Raw(sql, pars).QueryRows(&items) return } type GetKeywordCountUrl struct { Url string `description:"下载链接"` }