company.go 4.0 KB

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