|
@@ -2,6 +2,7 @@ package roadshow
|
|
|
|
|
|
import (
|
|
|
"github.com/beego/beego/v2/client/orm"
|
|
|
+ "hongze/hongze_mobile_admin/utils"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -115,13 +116,15 @@ func GetCompanyProductReportPermissionList(companyId, productId int) (items []*C
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func CompanySearchV2(sellerId int, keyWord string) (list []*CompanySearchView, err error) {
|
|
|
+func CompanySearchV2(sellerId, groupId int, keyWord, roleTypeCode string) (list []*CompanySearchView, err error) {
|
|
|
list = make([]*CompanySearchView, 0)
|
|
|
|
|
|
// 中文客户
|
|
|
companies := make([]*CompanySearchView, 0)
|
|
|
o := orm.NewOrm()
|
|
|
- sql := `SELECT
|
|
|
+ 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
|
|
@@ -129,12 +132,35 @@ func CompanySearchV2(sellerId int, keyWord string) (list []*CompanySearchView, e
|
|
|
company AS a
|
|
|
INNER JOIN company_product AS b ON a.company_id = b.company_id
|
|
|
WHERE
|
|
|
- b.status IN ('正式', '试用','永续') AND (b.seller_id = ? OR b.share_seller_id = ?) AND a.company_name LIKE ?
|
|
|
+ 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, sellerId, sellerId, keyWord).QueryRows(&companies)
|
|
|
- if err != nil {
|
|
|
- return
|
|
|
+ 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...)
|
|
|
|