knowledgeinfologic.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package logic
  2. import (
  3. quitl "app.yhyue.com/moapp/jybase/common"
  4. "context"
  5. "github.com/zeromicro/go-zero/core/logx"
  6. . "knowledgeBase/rpc/knowledge/init"
  7. "knowledgeBase/rpc/knowledge/internal/svc"
  8. "knowledgeBase/rpc/knowledge/knowledgeclient"
  9. "knowledgeBase/rpc/knowledge/util"
  10. )
  11. type KnowledgeInfoLogic struct {
  12. ctx context.Context
  13. svcCtx *svc.ServiceContext
  14. logx.Logger
  15. }
  16. func NewKnowledgeInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *KnowledgeInfoLogic {
  17. return &KnowledgeInfoLogic{
  18. ctx: ctx,
  19. svcCtx: svcCtx,
  20. Logger: logx.WithContext(ctx),
  21. }
  22. }
  23. // KnowledgeInfo 知识详情
  24. func (l *KnowledgeInfoLogic) KnowledgeInfo(in *knowledgeclient.KnowledgeEntity) (*knowledgeclient.InfoResponse, error) {
  25. // todo: add your logic here and delete this line
  26. //答案问题详情
  27. result := &knowledgeclient.InfoResponse{}
  28. sql := "SELECT b.content as answer,c.content as question,b.id,b.knowledge_id FROM " + util.ANSWER +
  29. " b LEFT JOIN " + util.QUESTION + " c ON b.id = c.answer_id WHERE b.`status` =1 "
  30. datalist := Mysql.SelectBySql(sql, in.AnswerId)
  31. if datalist != nil && *datalist != nil && len(*datalist) > 0 {
  32. knowledge := knowledgeclient.KnowledgeEntity{}
  33. knowledge.Answer = quitl.ObjToString((*datalist)[0]["answer"])
  34. knowledge.Question = quitl.ObjToString((*datalist)[0]["question"])
  35. knowledge.AnswerId = quitl.Int64All((*datalist)[0]["id"])
  36. result.Data = &knowledge
  37. result.ErrorCode = 0
  38. } else {
  39. result.ErrorCode = -1
  40. result.ErrorMsg = "查询出错"
  41. }
  42. return result, nil
  43. }