company_service_record.go 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. package controllers
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "hongze/hz_crm_api/models"
  6. "hongze/hz_crm_api/models/company"
  7. "hongze/hz_crm_api/utils"
  8. "strings"
  9. "time"
  10. )
  11. // CompanyServiceRecordController 客户-沟通记录
  12. type CompanyServiceRecordController struct {
  13. BaseAuthController
  14. }
  15. // ServiceRecordList
  16. // @Title 沟通记录列表
  17. // @Description 沟通记录列表
  18. // @Param CompanyId query int true "客户ID"
  19. // @Param CompanyType query int true "客户类型,0:中文客户,1:英文客户"
  20. // @Success Ret=200 获取成功
  21. // @router /service_record/list [get]
  22. func (this *CompanyServiceRecordController) ServiceRecordList() {
  23. br := new(models.BaseResponse).Init()
  24. defer func() {
  25. if br.ErrMsg == "" {
  26. br.IsSendEmail = false
  27. }
  28. this.Data["json"] = br
  29. this.ServeJSON()
  30. }()
  31. sysUser := this.SysUser
  32. if sysUser == nil {
  33. br.Msg = "请登录"
  34. br.ErrMsg = "请登录, SysUser Is Empty"
  35. br.Ret = 408
  36. return
  37. }
  38. companyId, _ := this.GetInt("CompanyId", 0)
  39. if companyId <= 0 {
  40. br.Msg = "参数有误"
  41. return
  42. }
  43. companyType, _ := this.GetInt("CompanyType", 2)
  44. recordOB := new(company.CompanyServiceRecord)
  45. recordCond := fmt.Sprintf(` AND %s = ? AND company_type = ? `, company.CompanyServiceRecordColumns.CompanyId)
  46. recordPars := make([]interface{}, 0)
  47. recordPars = append(recordPars, companyId, companyType)
  48. records, e := recordOB.GetItemsByCondition(recordCond, recordPars, []string{}, "")
  49. if e != nil {
  50. br.Msg = "获取失败"
  51. br.ErrMsg = "获取客户沟通记录失败, Err: " + e.Error()
  52. return
  53. }
  54. respList := make([]*company.CompanyServiceRecordItem, 0)
  55. for _, r := range records {
  56. respList = append(respList, &company.CompanyServiceRecordItem{
  57. CompanyServiceRecordId: r.CompanyServiceRecordId,
  58. Content: r.Content,
  59. SysAdminId: r.SysAdminId,
  60. SysAdminName: r.SysAdminName,
  61. CreateTime: r.CreateTime.Format(utils.FormatDateTime),
  62. Mark: r.Mark,
  63. })
  64. }
  65. br.Data = respList
  66. br.Ret = 200
  67. br.Success = true
  68. br.Msg = "获取成功"
  69. }
  70. // ServiceRecordAdd
  71. // @Title 新增沟通记录
  72. // @Description 新增沟通记录
  73. // @Param request body company.CompanyServiceRecordAddReq true "type json string"
  74. // @Success Ret=200 操作成功
  75. // @router /service_record/add [post]
  76. func (this *CompanyServiceRecordController) ServiceRecordAdd() {
  77. br := new(models.BaseResponse).Init()
  78. defer func() {
  79. if br.ErrMsg == "" {
  80. br.IsSendEmail = false
  81. }
  82. this.Data["json"] = br
  83. this.ServeJSON()
  84. }()
  85. sysUser := this.SysUser
  86. if sysUser == nil {
  87. br.Msg = "请登录"
  88. br.ErrMsg = "请登录, SysUser Is Empty"
  89. br.Ret = 408
  90. return
  91. }
  92. var req company.CompanyServiceRecordAddReq
  93. if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
  94. br.Msg = "参数解析异常!"
  95. br.ErrMsg = "参数解析失败,Err:" + e.Error()
  96. return
  97. }
  98. if req.CompanyId <= 0 {
  99. br.Msg = "参数有误"
  100. return
  101. }
  102. req.Content = strings.TrimSpace(req.Content)
  103. if req.Content == "" {
  104. br.Msg = "请输入沟通描述"
  105. return
  106. }
  107. //if len([]rune(req.Content)) > 100 {
  108. // br.Msg = "沟通描述不可超过100个字符"
  109. // return
  110. //}
  111. // 默认中文客户
  112. if req.CompanyType == 0 {
  113. req.CompanyType = 2
  114. }
  115. item := new(company.CompanyServiceRecord)
  116. item.CompanyType = req.CompanyType
  117. item.CompanyId = req.CompanyId
  118. item.Content = req.Content
  119. item.SysAdminId = sysUser.AdminId
  120. item.SysAdminName = sysUser.RealName
  121. item.CreateTime = time.Now().Local()
  122. item.ModifyTime = time.Now().Local()
  123. if e := item.Create(); e != nil {
  124. br.Msg = "操作失败"
  125. br.ErrMsg = "新增沟通记录失败, Err: " + e.Error()
  126. return
  127. }
  128. br.Ret = 200
  129. br.Success = true
  130. br.Msg = "操作成功"
  131. }
  132. // ServiceRecordDel
  133. // @Title 删除沟通记录
  134. // @Description 删除沟通记录
  135. // @Param request body company.CompanyServiceRecordDelReq true "type json string"
  136. // @Success Ret=200 操作成功
  137. // @router /service_record/del [post]
  138. func (this *CompanyServiceRecordController) ServiceRecordDel() {
  139. br := new(models.BaseResponse).Init()
  140. defer func() {
  141. if br.ErrMsg == "" {
  142. br.IsSendEmail = false
  143. }
  144. this.Data["json"] = br
  145. this.ServeJSON()
  146. }()
  147. sysUser := this.SysUser
  148. if sysUser == nil {
  149. br.Msg = "请登录"
  150. br.ErrMsg = "请登录, SysUser Is Empty"
  151. br.Ret = 408
  152. return
  153. }
  154. var req company.CompanyServiceRecordDelReq
  155. if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
  156. br.Msg = "参数解析异常!"
  157. br.ErrMsg = "参数解析失败,Err:" + e.Error()
  158. return
  159. }
  160. if req.CompanyServiceRecordId <= 0 {
  161. br.Msg = "参数有误"
  162. return
  163. }
  164. item := new(company.CompanyServiceRecord)
  165. if e := item.GetItemById(req.CompanyServiceRecordId); e != nil {
  166. if e.Error() == utils.ErrNoRow() {
  167. br.Msg = "沟通记录已被删除, 请刷新页面"
  168. return
  169. }
  170. br.Msg = "操作失败"
  171. br.ErrMsg = "获取沟通记录失败, Err: " + e.Error()
  172. return
  173. }
  174. if e := item.Del(); e != nil {
  175. br.Msg = "操作失败"
  176. br.ErrMsg = "删除沟通记录失败, Err: " + e.Error()
  177. return
  178. }
  179. br.Ret = 200
  180. br.Success = true
  181. br.Msg = "操作成功"
  182. }