knowledgelistlogic.go 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package logic
  2. import (
  3. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/service"
  4. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/svc"
  5. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
  6. "context"
  7. "github.com/zeromicro/go-zero/core/logx"
  8. )
  9. type KnowledgeListLogic struct {
  10. ctx context.Context
  11. svcCtx *svc.ServiceContext
  12. logx.Logger
  13. }
  14. func NewKnowledgeListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *KnowledgeListLogic {
  15. return &KnowledgeListLogic{
  16. ctx: ctx,
  17. svcCtx: svcCtx,
  18. Logger: logx.WithContext(ctx),
  19. }
  20. }
  21. // KnowledgeList 知识列表
  22. func (l *KnowledgeListLogic) KnowledgeList(in *knowledgeclient.ListRequest) (*knowledgeclient.ListResponse, error) {
  23. // todo: add your logic here and delete this line
  24. result := &knowledgeclient.ListResponse{}
  25. /*var knowledgeList knowledgeclient.ListData
  26. var data []*knowledgeclient.KnowledgeEntity
  27. countSql := "SELECT COUNT(b.id) FROM " + util.KNOWLEDGE +
  28. " a LEFT JOIN " + util.ANSWER + " b ON a.id = b.knowledge_id LEFT JOIN " + util.QUESTION +
  29. " c ON b.id = c.answer_id WHERE b.`status` =1 and a.ent_id=?"
  30. count := Mysql.CountBySql(countSql, in.EntId)
  31. log.Println("总数:", count)
  32. if count > 0 {
  33. //列表数据
  34. sql := "SELECT b.content as answer,c.content as question,b.id,b.knowledge_id FROM " + util.KNOWLEDGE +
  35. " a LEFT JOIN " + util.ANSWER + " b ON a.id = b.knowledge_id LEFT JOIN " + util.QUESTION +
  36. " c ON b.id = c.answer_id WHERE b.`status` =1 and a.ent_id=? order by b.update_time desc limit ?,?"
  37. log.Println(sql, in.EntId, (in.PageIndex-1)*in.PageSize, in.PageSize)
  38. datalist := Mysql.SelectBySql(sql, in.EntId, (in.PageIndex-1)*in.PageSize, in.PageSize)
  39. if datalist != nil && *datalist != nil && len(*datalist) > 0 {
  40. for _, value := range *datalist {
  41. knowledge := knowledgeclient.KnowledgeEntity{}
  42. knowledge.Answer = cm.ObjToString(value["answer"])
  43. knowledge.Question = cm.ObjToString(value["question"])
  44. knowledge.AnswerId = cm.Int64All(value["id"])
  45. knowledge.KnowledgeId = cm.Int64All(value["knowledge_id"])
  46. data = append(data, &knowledge)
  47. }
  48. }
  49. //log.Println("数据:", data)
  50. knowledgeList.Total = count
  51. knowledgeList.Data = data
  52. }*/
  53. k := service.KnowledgeService{}
  54. knowledgeList := k.KnowledgeList(in)
  55. result.ErrorCode = 0
  56. result.Data = knowledgeList
  57. return result, nil
  58. }