浏览代码

fix: 跨库问题

hsun 1 年之前
父节点
当前提交
abf6fa9891
共有 1 个文件被更改,包括 29 次插入20 次删除
  1. 29 20
      models/roadshow/company.go

+ 29 - 20
models/roadshow/company.go

@@ -1,9 +1,7 @@
 package roadshow
 
 import (
-	"fmt"
 	"github.com/beego/beego/v2/client/orm"
-	"hongze/hongze_mobile_admin/utils"
 	"time"
 )
 
@@ -118,32 +116,43 @@ func GetCompanyProductReportPermissionList(companyId, productId int) (items []*C
 }
 
 func CompanySearchV2(sellerId int, keyWord string) (list []*CompanySearchView, err error) {
+	list = make([]*CompanySearchView, 0)
+
+	// 中文客户
+	companies := make([]*CompanySearchView, 0)
 	o := orm.NewOrm()
-	rddp := `hongze_rddp`
-	if utils.RunMode == "debug" {
-		rddp = `test_v2_hongze_rddp`
-	}
 	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
+			INNER JOIN company_product AS b ON a.company_id = b.company_id AND b.product_id = 1
 			WHERE
-				b.status IN ('正式', '试用') AND (b.seller_id = ? OR a.share_seller_id=?) AND a.company_name LIKE ?
+				b.status IN ('正式', '试用') AND (b.seller_id = ? OR a.share_seller_id = ?) AND a.company_name LIKE ?
 			GROUP BY
-				b.company_id
-			UNION
-				SELECT
-					company_id,
-					company_name,
-					1
-				FROM
-					%s.english_company
-				WHERE
-					is_deleted = 0 AND enabled > 0 AND company_name LIKE ?`
-	sql = fmt.Sprintf(sql, rddp)
-	_, err = o.Raw(sql, sellerId, sellerId, keyWord, keyWord).QueryRows(&list)
+				b.company_id`
+	_, err = o.Raw(sql, sellerId, sellerId, 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
+			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
 }