company.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. package roadshow
  2. import (
  3. "hongze/hz_crm_api/models"
  4. "hongze/hz_crm_api/models/company"
  5. "hongze/hz_crm_api/models/roadshow"
  6. "hongze/hz_crm_api/services"
  7. "hongze/hz_crm_api/utils"
  8. "strings"
  9. )
  10. // @Title 我的日历列表
  11. // @Description 我的日历列表接口
  12. // @Param KeyWord query string true "搜索关键词"
  13. // @Success 200 {object} roadshow.CalendarListResp
  14. // @router /company/search [get]
  15. func (this *CalendarController) CompanySearch() {
  16. br := new(models.BaseResponse).Init()
  17. defer func() {
  18. this.Data["json"] = br
  19. this.ServeJSON()
  20. }()
  21. sysUser := this.SysUser
  22. if sysUser == nil {
  23. br.Msg = "请登录"
  24. br.ErrMsg = "请登录,SysUser Is Empty"
  25. br.Ret = 408
  26. return
  27. }
  28. KeyWord := this.GetString("KeyWord")
  29. if KeyWord == "" {
  30. br.Msg = "请输入搜索词!"
  31. return
  32. }
  33. KeyWord = "%" + KeyWord + "%"
  34. list, err := roadshow.CompanySearchV2(sysUser.AdminId, KeyWord)
  35. if err != nil && err.Error() != utils.ErrNoRow() {
  36. br.Msg = "搜索客户失败!"
  37. br.ErrMsg = "搜索客户失败!Err:" + err.Error()
  38. return
  39. }
  40. if list == nil {
  41. list = make([]*roadshow.CompanySearchView, 0)
  42. }
  43. br.Ret = 200
  44. br.Success = true
  45. br.Msg = "获取成功"
  46. br.Data = list
  47. }
  48. // CompanyDetail
  49. // @Title 我的日历列表
  50. // @Description 我的日历列表接口
  51. // @Param CompanyId query int true "公司id"
  52. // @Param EnglishCompany query int true "是否为英文客户"
  53. // @Success 200 {object} roadshow.CompanyDetailView
  54. // @router /company/detail [get]
  55. func (this *CalendarController) CompanyDetail() {
  56. br := new(models.BaseResponse).Init()
  57. defer func() {
  58. if br.ErrMsg == "" {
  59. br.IsSendEmail = false
  60. }
  61. this.Data["json"] = br
  62. this.ServeJSON()
  63. }()
  64. sysUser := this.SysUser
  65. if sysUser == nil {
  66. br.Msg = "请登录"
  67. br.ErrMsg = "请登录,SysUser Is Empty"
  68. br.Ret = 408
  69. return
  70. }
  71. companyId, _ := this.GetInt("CompanyId")
  72. if companyId <= 0 {
  73. br.Msg = "参数错误!"
  74. return
  75. }
  76. englishCompany, _ := this.GetInt("EnglishCompany")
  77. productId := services.GetProductId(sysUser.RoleTypeCode)
  78. if productId == 0 {
  79. productId = 1
  80. }
  81. detailView := new(roadshow.CompanyDetailView)
  82. if englishCompany == 0 {
  83. companyProductItem, err := company.GetCompanyProductByCompanyIdAndProductId(companyId, productId)
  84. if err != nil {
  85. if err.Error() == utils.ErrNoRow() {
  86. br.Msg = "该客户已被删除"
  87. return
  88. }
  89. br.Msg = "搜索客户失败!"
  90. br.ErrMsg = "搜索客户失败!Err:" + err.Error()
  91. return
  92. }
  93. permissionList, err := company.GetCompanyProductReportPermissionList(companyId, productId)
  94. if err != nil {
  95. br.Msg = "搜索客户权限失败!"
  96. br.ErrMsg = "搜索客户权限失败!Err:" + err.Error()
  97. return
  98. }
  99. var permissionArr []string
  100. for _, v := range permissionList {
  101. permissionArr = append(permissionArr, v.PermissionName)
  102. }
  103. detailView.CompanyId = companyProductItem.CompanyId
  104. detailView.CompanyName = companyProductItem.CompanyName
  105. detailView.Status = companyProductItem.Status
  106. detailView.IndustryId = companyProductItem.IndustryId
  107. detailView.IndustryName = companyProductItem.IndustryName
  108. detailView.PermissionName = strings.Join(permissionArr, "/")
  109. detailView.ReportReadTotal = companyProductItem.ViewTotal //ficc报告-累计阅读次数
  110. br.Ret = 200
  111. br.Success = true
  112. br.Msg = "获取成功"
  113. br.Data = detailView
  114. return
  115. }
  116. // 英文客户
  117. enItem, e := models.GetEnglishCompanyById(companyId)
  118. if e != nil {
  119. br.Msg = "搜索英文客户失败!"
  120. br.ErrMsg = "获取英文客户详情失败!Err:" + e.Error()
  121. return
  122. }
  123. detailView.CompanyId = enItem.CompanyId
  124. detailView.CompanyName = enItem.CompanyName
  125. detailView.Status = "正常"
  126. detailView.EnglishCompany = 1
  127. detailView.EnglishCountry = enItem.Country
  128. detailView.EnglishViewTotal = enItem.ViewTotal
  129. br.Ret = 200
  130. br.Success = true
  131. br.Msg = "获取成功"
  132. br.Data = detailView
  133. }