company_service_record.go 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  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. Mark: r.Mark,
  61. })
  62. }
  63. br.Data = respList
  64. br.Ret = 200
  65. br.Success = true
  66. br.Msg = "获取成功"
  67. }
  68. // ServiceRecordAdd
  69. // @Title 新增服务记录
  70. // @Description 新增服务记录
  71. // @Param request body company.CompanyServiceRecordAddReq true "type json string"
  72. // @Success Ret=200 操作成功
  73. // @router /service_record/add [post]
  74. func (this *CompanyServiceRecordController) ServiceRecordAdd() {
  75. br := new(models.BaseResponse).Init()
  76. defer func() {
  77. if br.ErrMsg == "" {
  78. br.IsSendEmail = false
  79. }
  80. this.Data["json"] = br
  81. this.ServeJSON()
  82. }()
  83. sysUser := this.SysUser
  84. if sysUser == nil {
  85. br.Msg = "请登录"
  86. br.ErrMsg = "请登录, SysUser Is Empty"
  87. br.Ret = 408
  88. return
  89. }
  90. var req company.CompanyServiceRecordAddReq
  91. if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
  92. br.Msg = "参数解析异常!"
  93. br.ErrMsg = "参数解析失败,Err:" + e.Error()
  94. return
  95. }
  96. if req.CompanyId <= 0 {
  97. br.Msg = "参数有误"
  98. return
  99. }
  100. req.Content = strings.TrimSpace(req.Content)
  101. if req.Content == "" {
  102. br.Msg = "请输入服务描述"
  103. return
  104. }
  105. if len([]rune(req.Content)) > 100 {
  106. br.Msg = "服务描述不可超过100个字符"
  107. return
  108. }
  109. item := new(company.CompanyServiceRecord)
  110. item.CompanyId = req.CompanyId
  111. item.Content = req.Content
  112. item.SysAdminId = sysUser.AdminId
  113. item.SysAdminName = sysUser.RealName
  114. item.CreateTime = time.Now().Local()
  115. item.ModifyTime = time.Now().Local()
  116. if e := item.Create(); e != nil {
  117. br.Msg = "操作失败"
  118. br.ErrMsg = "新增服务记录失败, Err: " + e.Error()
  119. return
  120. }
  121. br.Ret = 200
  122. br.Success = true
  123. br.Msg = "操作成功"
  124. }
  125. // ServiceRecordDel
  126. // @Title 删除服务记录
  127. // @Description 删除服务记录
  128. // @Param request body company.CompanyServiceRecordDelReq true "type json string"
  129. // @Success Ret=200 操作成功
  130. // @router /service_record/del [post]
  131. func (this *CompanyServiceRecordController) ServiceRecordDel() {
  132. br := new(models.BaseResponse).Init()
  133. defer func() {
  134. if br.ErrMsg == "" {
  135. br.IsSendEmail = false
  136. }
  137. this.Data["json"] = br
  138. this.ServeJSON()
  139. }()
  140. sysUser := this.SysUser
  141. if sysUser == nil {
  142. br.Msg = "请登录"
  143. br.ErrMsg = "请登录, SysUser Is Empty"
  144. br.Ret = 408
  145. return
  146. }
  147. var req company.CompanyServiceRecordDelReq
  148. if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
  149. br.Msg = "参数解析异常!"
  150. br.ErrMsg = "参数解析失败,Err:" + e.Error()
  151. return
  152. }
  153. if req.CompanyServiceRecordId <= 0 {
  154. br.Msg = "参数有误"
  155. return
  156. }
  157. item := new(company.CompanyServiceRecord)
  158. if e := item.GetItemById(req.CompanyServiceRecordId); e != nil {
  159. if e.Error() == utils.ErrNoRow() {
  160. br.Msg = "服务记录已被删除, 请刷新页面"
  161. return
  162. }
  163. br.Msg = "操作失败"
  164. br.ErrMsg = "获取服务记录失败, Err: " + e.Error()
  165. return
  166. }
  167. if e := item.Del(); e != nil {
  168. br.Msg = "操作失败"
  169. br.ErrMsg = "删除服务记录失败, Err: " + e.Error()
  170. return
  171. }
  172. br.Ret = 200
  173. br.Success = true
  174. br.Msg = "操作成功"
  175. }