123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- package overseas_custom
- import (
- "fmt"
- "github.com/beego/beego/v2/client/orm"
- "hongze/hz_crm_api/utils"
- )
- type Custom struct {
- CompanyId int `description:"客户id"`
- CompanyName string `description:"客户名称"`
- Nation string `description:"国家"`
- SellerId int `description:"销售id"`
- SellerName string `description:"销售名称"`
- CompanyStatus string `description:"状态"`
- ViewTotal int `description:"累计点击量"`
- RoadShowTotal int `description:"路演数量"`
- LastViewTime string `description:"最近阅读时间"`
- CreateTime string `description:"创建时间"`
- }
- type CustomTotal struct {
- CompanyStatus string `description:"状态"`
- Total int `description:"总数"`
- }
- func (obj *Custom) GetCustomTotal(condition string, pars []interface{}) (list []*CustomTotal, err error) {
- o := orm.NewOrm()
- sql := ``
- var databaseName string
- if utils.RunMode == "debug" {
- databaseName = "test_v2_hongze_rddp"
- } else {
- databaseName = "hongze_rddp"
- }
- sql = `SELECT company_status,COUNT(1) AS total FROM (
- SELECT a.company_id,a.company_name,a.nation,b.seller_id,b.seller_name,
- CASE b.status
- WHEN '正式' THEN '正式'
- WHEN '永续' THEN '正式'
- WHEN '试用' THEN '试用'
- ELSE '关闭' END AS company_status,
- b.view_total,b.road_show_total,a.created_time AS create_time,b.last_view_time
- FROM company AS a
- INNER JOIN company_product AS b ON a.company_id=b.company_id
- INNER JOIN overseas_custom_seller AS c ON b.seller_id=c.seller_id
- WHERE b.is_overseas = 0
- UNION ALL
- SELECT t.company_id+10000000,t.company_name,t.nation,t.seller_id,t.seller_name,
- CASE t.enabled
- WHEN 0 THEN '关闭'
- ELSE '试用' END AS company_status,
- t.view_total,0 AS road_show_total,t.create_time,'' AS last_view_time
- FROM %s.english_company AS t
- INNER JOIN overseas_custom_seller AS n ON t.seller_id=n.seller_id
- )AS m
- WHERE 1=1
- `
- if condition != "" {
- sql += condition
- }
- sql += ` GROUP BY m.company_status `
- sql = fmt.Sprintf(sql, databaseName)
- _, err = o.Raw(sql, pars).QueryRows(&list)
- return
- }
- // GetCompanyIdsByKeyword 关键词获取客户IDs
- func (obj *Custom) GetCompanyIdsByKeyword(keyword string) (companyIds []int, err error) {
- o := orm.NewOrm()
- sql := ` SELECT DISTINCT b.company_id FROM wx_user AS a
- INNER JOIN company AS b ON a.company_id=b.company_id
- WHERE 1=1 AND (a.email LIKE ? OR a.mobile LIKE ? OR b.company_name LIKE ? OR b.credit_code LIKE ? ) `
- _, err = o.Raw(sql, keyword, keyword, keyword, keyword).QueryRows(&companyIds)
- return
- }
|