123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- package roadshow
- import (
- "github.com/beego/beego/v2/client/orm"
- "hongze/hz_crm_api/utils"
- )
- type CompanySearchView struct {
- CompanyId int `orm:"column(company_id);pk"`
- CompanyName string `description:"客户名称"`
- CreditCode string `description:"社会统一信用码"`
- CompanyCode string `description:"客户编码"`
- EnglishCompany int `description:"是否为英文客户"`
- }
- func CompanySearch(sellerId int, keyWord string) (list []*CompanySearchView, err error) {
- o := orm.NewOrm()
- sql := ` SELECT b.company_id,b.company_name FROM company AS a
- INNER JOIN company_product AS b ON a.company_id=b.company_id
- WHERE b.seller_id=?
- AND b.status IN('正式','试用')
- AND b.company_name LIKE ?
- `
- sql += ` GROUP BY b.company_id `
- _, err = o.Raw(sql, sellerId, keyWord).QueryRows(&list)
- return
- }
- func CompanySearchV2(sellerId, groupId int, keyWord, roleTypeCode string) (list []*CompanySearchView, err error) {
- list = make([]*CompanySearchView, 0)
- // 中文客户
- companies := make([]*CompanySearchView, 0)
- o := orm.NewOrm()
- var sql string
- if roleTypeCode == utils.ROLE_TYPE_CODE_ADMIN || roleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN { // 权益管理员跟管理员的筛选
- sql = `SELECT
- b.company_id,
- a.company_name,
- 0 AS english_company
- FROM
- company AS a
- INNER JOIN company_product AS b ON a.company_id = b.company_id
- WHERE
- 1=1
- AND IF ( b.product_id = 1 , b.status IN ('正式', '试用', '永续') ,1=1 )
- AND IF ( b.product_id = 2 , b.status IN ('正式', '试用', '永续', '冻结', '流失') ,1=1 )
- AND a.company_name LIKE ?
- GROUP BY
- b.company_id `
- _, err = o.Raw(sql, keyWord).QueryRows(&companies)
- if err != nil {
- return
- }
- } else {
- sql = `SELECT
- b.company_id,
- a.company_name,
- 0 AS english_company
- FROM
- company AS a
- INNER JOIN company_product AS b ON a.company_id = b.company_id
- WHERE
- 1=1
- AND IF ( b.product_id = 1 , b.status IN ('正式', '试用', '永续') ,1=1 )
- AND IF ( b.product_id = 2 , b.status IN ('正式', '试用', '永续', '冻结', '流失') ,1=1 )
- AND (b.seller_id = ? OR b.share_seller_id = ? OR b.group_id = ? OR b.share_group_id = ? ) AND a.company_name LIKE ?
- GROUP BY
- b.company_id `
- _, err = o.Raw(sql, sellerId, sellerId, groupId, groupId, keyWord).QueryRows(&companies)
- if err != nil {
- return
- }
- }
- list = append(list, companies...)
- // 英文客户
- enCompanies := make([]*CompanySearchView, 0)
- o2 := orm.NewOrmUsingDB("rddp")
- sql = `SELECT
- company_id,
- company_name,
- 1 AS english_company
- FROM
- english_company
- WHERE
- is_deleted = 0 AND enabled > 0 AND company_name LIKE ?`
- _, err = o2.Raw(sql, keyWord).QueryRows(&enCompanies)
- if err != nil {
- return
- }
- list = append(list, enCompanies...)
- return
- }
- type CompanyDetailView struct {
- CompanyId int `orm:"column(company_id);pk"`
- CompanyName string `description:"客户名称"`
- Status string `description:"客户状态"`
- IndustryId int `description:"行业id"`
- IndustryName string `description:"行业名称"`
- PermissionName string `description:"开通品种"`
- ReportReadTotal int `description:"累计阅读次数"`
- EnglishCompany int `description:"是否为英文客户: 0-否; 1-是"`
- EnglishCountry string `description:"英文客户-国家"`
- EnglishViewTotal int `description:"英文客户-累计点击量"`
- }
|