commonPhrasesService.go 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package service
  2. import (
  3. cm "app.yhyue.com/moapp/jybase/common"
  4. . "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/entity"
  5. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
  6. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/util"
  7. "time"
  8. )
  9. type CommonPhrasesService struct{}
  10. // CommonPhrasesAdd 客服话术添加
  11. func (c *CommonPhrasesService) CommonPhrasesAdd(param *knowledgeclient.CommonPhrasesAddReq) (ok bool, msg string) {
  12. ok = true
  13. msg = "操作成功"
  14. if param.Id > 0 {
  15. //编辑
  16. updateData := map[string]interface{}{
  17. "classify": param.Classify,
  18. "content": param.Content,
  19. "createPerson": param.EntUserId,
  20. "createTime": time.Now().Local().Format(util.DateFullLayout),
  21. }
  22. ok = Mysql.Update(util.COMMONPHRASES, map[string]interface{}{"id": param.Id}, updateData)
  23. if !ok {
  24. msg = "操作失败"
  25. }
  26. } else {
  27. insertData := map[string]interface{}{
  28. "entId": param.EntId,
  29. "appId": param.AppId,
  30. "classify": param.Classify,
  31. "content": param.Content,
  32. "createPerson": param.EntUserId,
  33. "status": 0,
  34. "createTime": time.Now().Local().Format(util.DateFullLayout),
  35. }
  36. in := Mysql.Insert(util.COMMONPHRASES, insertData)
  37. if in < 0 {
  38. ok = false
  39. msg = "操作失败"
  40. }
  41. }
  42. return ok, msg
  43. }
  44. // CommonPhrasesInfo 客服话术详情
  45. func (c *CommonPhrasesService) CommonPhrasesInfo(id int64) (data *knowledgeclient.CommonPhrases, ok bool) {
  46. info := Mysql.FindOne(util.COMMONPHRASES, map[string]interface{}{"id": id}, "", "")
  47. if info != nil && len(*info) > 0 {
  48. data = &knowledgeclient.CommonPhrases{}
  49. data.Id = cm.Int64All((*info)["id"])
  50. data.Classify = cm.ObjToString((*info)["classify"])
  51. data.Content = cm.ObjToString((*info)["content"])
  52. return data, true
  53. }
  54. return nil, false
  55. }
  56. // CommonPhrasesDel 客服话术删除
  57. func (c *CommonPhrasesService) CommonPhrasesDel(id int64) bool {
  58. ok := Mysql.Update(util.COMMONPHRASES, map[string]interface{}{"id": id}, map[string]interface{}{"status": 1})
  59. return ok
  60. }
  61. // CommonPhrasesList 客服话术列表
  62. func (c *CommonPhrasesService) CommonPhrasesList(param *knowledgeclient.CommonPhrasesListReq) *knowledgeclient.CommonPhrasesList {
  63. var commonPhrasesList knowledgeclient.CommonPhrasesList
  64. var data []*knowledgeclient.CommonPhrases
  65. count := Mysql.Count(util.COMMONPHRASES, map[string]interface{}{"status": 0, "appId": param.AppId, "entId": param.EntId})
  66. if count > 0 {
  67. dataList := Mysql.Find(util.COMMONPHRASES, map[string]interface{}{"status": 0, "appId": param.AppId, "entId": param.EntId}, "", "id desc", cm.IntAll((param.PageIndex-1)*param.PageSize), cm.IntAll(param.PageSize))
  68. if dataList != nil && len(*dataList) > 0 {
  69. for _, val := range *dataList {
  70. data = append(data, &knowledgeclient.CommonPhrases{
  71. Id: cm.Int64All(val["id"]),
  72. Content: cm.ObjToString(val["content"]),
  73. Classify: cm.ObjToString(val["classify"]),
  74. })
  75. }
  76. }
  77. commonPhrasesList.Data = data
  78. commonPhrasesList.Total = count
  79. }
  80. return &commonPhrasesList
  81. }