knowledgedellogic.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package logic
  2. import (
  3. elastic "app.yhyue.com/moapp/jybase/esv1"
  4. "context"
  5. "github.com/zeromicro/go-zero/core/logx"
  6. . "knowledgeBase/rpc/knowledge/init"
  7. "knowledgeBase/rpc/knowledge/knowledgeclient"
  8. "knowledgeBase/rpc/knowledge/util"
  9. "strconv"
  10. "time"
  11. "knowledgeBase/rpc/knowledge/internal/svc"
  12. )
  13. type KnowledgeDelLogic struct {
  14. ctx context.Context
  15. svcCtx *svc.ServiceContext
  16. logx.Logger
  17. }
  18. func NewKnowledgeDelLogic(ctx context.Context, svcCtx *svc.ServiceContext) *KnowledgeDelLogic {
  19. return &KnowledgeDelLogic{
  20. ctx: ctx,
  21. svcCtx: svcCtx,
  22. Logger: logx.WithContext(ctx),
  23. }
  24. }
  25. // KnowledgeDel 知识删除
  26. func (l *KnowledgeDelLogic) KnowledgeDel(in *knowledgeclient.KnowledgeDelReq) (*knowledgeclient.AddResponse, error) {
  27. // todo: add your logic here and delete this line
  28. result := &knowledgeclient.AddResponse{}
  29. //修改答案
  30. answerUpdate := map[string]interface{}{
  31. "update_time": time.Now().Local().Format(util.Date_Full_Layout),
  32. "status": 0,
  33. }
  34. fool := Mysql.Update(util.ANSWER, map[string]interface{}{"id": in.AnswerId}, answerUpdate)
  35. if fool {
  36. //删除es数据
  37. query := `{"query":{"bool":{"must":[{"term":{"smart_v.answerId":"` + strconv.Itoa(int(in.AnswerId)) + `"}}],"must_not":[],"should":[]}},"from":0,"size":10,"sort":[],"facets":{}}`
  38. ok := elastic.Del(C.Es.Index, C.Es.Type, query)
  39. if ok {
  40. result.ErrorCode = 0
  41. result.ErrorMsg = "删除问题成功"
  42. } else {
  43. result.ErrorCode = -1
  44. result.ErrorMsg = "删除es问题失败"
  45. }
  46. } else {
  47. result.ErrorCode = -1
  48. result.ErrorMsg = "删除mysql问题失败"
  49. }
  50. return result, nil
  51. }