1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package models
- import (
- "github.com/beego/beego/v2/client/orm"
- "time"
- )
- // CompanyViewStatistics 客户报告报告阅读数量统计表
- type CompanyViewStatistics struct {
- Id int `orm:"column(id)" description:"自增Id"`
- CompanyId int `description:"客户id"`
- ViewNum int `description:"阅读总数"`
- Date time.Time `description:"阅读日期"`
- CreateTime time.Time `description:"添加时间"`
- }
- // CompanyViewTotalSlice 获取客户的浏览次数
- type CompanyViewTotalSellerSlice struct {
- CompanyIds string `description:"客户id字符串"`
- Num int `description:"用户浏览次数"`
- AdminId int `description:"所属销售id"`
- }
- // GetCompanyViewTotalList 获取客户的浏览数
- func GetCompanyViewTotalList(condition string, pars []interface{}, viewNum int, sumNumType string) (items []*CompanyViewTotalSellerSlice, err error) {
- o := orm.NewOrm()
- sql := `select count(DISTINCT(company_id)) num,GROUP_CONCAT(DISTINCT company_id SEPARATOR ',') AS company_ids,admin_id from (SELECT sum(a.view_num) sum_num,a.company_id,b.seller_id admin_id FROM company_view_statistics a
- join company_product b on a.company_id=b.company_id
- WHERE 1=1 `
- if condition != "" {
- sql += condition
- }
- childSql := ` sum_num >= `
- if sumNumType == "<" {
- childSql = ` sum_num ` + sumNumType + ` `
- }
- sql += ` GROUP BY company_id) b where 1 = 1 and ` + childSql + `? GROUP BY admin_id`
- _, err = o.Raw(sql, pars, viewNum).QueryRows(&items)
- return
- }
- // GetAllCompanyViewTotalList 获取所有客户的浏览数
- func GetAllCompanyViewTotalList(condition string, pars []interface{}, viewNum int, sumNumType string) (items []*CompanyViewTotalSellerSlice, err error) {
- o := orm.NewOrm()
- sql := `select count(DISTINCT(company_id)) num,GROUP_CONCAT(DISTINCT company_id SEPARATOR ',') AS company_ids,admin_id from (SELECT sum(a.view_num) sum_num,a.company_id,b.seller_id admin_id FROM company_view_statistics a
- join company_product b on a.company_id=b.company_id
- WHERE 1=1 `
- if condition != "" {
- sql += condition
- }
- childSql := ` sum_num >= `
- if sumNumType == "<" {
- childSql = ` sum_num ` + sumNumType + ` `
- }
- sql += ` GROUP BY company_id) b where 1 = 1 and ` + childSql + `? GROUP BY admin_id`
- _, err = o.Raw(sql, pars, viewNum).QueryRows(&items)
- return
- }
|