company_service_record.go 4.7 KB

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