company.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package roadshow
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. )
  5. type CompanySearchView struct {
  6. CompanyId int `orm:"column(company_id);pk"`
  7. CompanyName string `description:"客户名称"`
  8. CreditCode string `description:"社会统一信用码"`
  9. CompanyCode string `description:"客户编码"`
  10. EnglishCompany int `description:"是否为英文客户"`
  11. }
  12. func CompanySearch(sellerId int, keyWord string) (list []*CompanySearchView, err error) {
  13. o := orm.NewOrm()
  14. sql := ` SELECT b.company_id,b.company_name FROM company AS a
  15. INNER JOIN company_product AS b ON a.company_id=b.company_id
  16. WHERE b.seller_id=?
  17. AND b.status IN('正式','试用')
  18. AND b.company_name LIKE ?
  19. `
  20. sql += ` GROUP BY b.company_id `
  21. _, err = o.Raw(sql, sellerId, keyWord).QueryRows(&list)
  22. return
  23. }
  24. func CompanySearchV2(sellerId, groupId int, keyWord string) (list []*CompanySearchView, err error) {
  25. list = make([]*CompanySearchView, 0)
  26. // 中文客户
  27. companies := make([]*CompanySearchView, 0)
  28. o := orm.NewOrm()
  29. sql := `SELECT
  30. b.company_id,
  31. a.company_name,
  32. 0 AS english_company
  33. FROM
  34. company AS a
  35. INNER JOIN company_product AS b ON a.company_id = b.company_id
  36. WHERE
  37. b.status IN ('正式', '试用', '永续') AND (b.seller_id = ? OR b.share_seller_id = ? OR b.group_id = ? OR b.share_group_id = ? ) AND a.company_name LIKE ?
  38. GROUP BY
  39. b.company_id `
  40. _, err = o.Raw(sql, sellerId, sellerId, groupId, groupId, keyWord).QueryRows(&companies)
  41. if err != nil {
  42. return
  43. }
  44. list = append(list, companies...)
  45. // 英文客户
  46. enCompanies := make([]*CompanySearchView, 0)
  47. o2 := orm.NewOrmUsingDB("rddp")
  48. sql = `SELECT
  49. company_id,
  50. company_name,
  51. 1 AS english_company
  52. FROM
  53. english_company
  54. WHERE
  55. is_deleted = 0 AND enabled > 0 AND company_name LIKE ?`
  56. _, err = o2.Raw(sql, keyWord).QueryRows(&enCompanies)
  57. if err != nil {
  58. return
  59. }
  60. list = append(list, enCompanies...)
  61. return
  62. }
  63. type CompanyDetailView struct {
  64. CompanyId int `orm:"column(company_id);pk"`
  65. CompanyName string `description:"客户名称"`
  66. Status string `description:"客户状态"`
  67. IndustryId int `description:"行业id"`
  68. IndustryName string `description:"行业名称"`
  69. PermissionName string `description:"开通品种"`
  70. ReportReadTotal int `description:"累计阅读次数"`
  71. EnglishCompany int `description:"是否为英文客户: 0-否; 1-是"`
  72. EnglishCountry string `description:"英文客户-国家"`
  73. EnglishViewTotal int `description:"英文客户-累计点击量"`
  74. }