package logic import ( quitl "app.yhyue.com/moapp/jybase/common" "context" "github.com/zeromicro/go-zero/core/logx" . "knowledgeBase/rpc/knowledge/init" "knowledgeBase/rpc/knowledge/internal/svc" "knowledgeBase/rpc/knowledge/knowledgeclient" "knowledgeBase/rpc/knowledge/util" ) type KnowledgeListLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger } func NewKnowledgeListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *KnowledgeListLogic { return &KnowledgeListLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } // KnowledgeList 知识列表 func (l *KnowledgeListLogic) KnowledgeList(in *knowledgeclient.ListRequest) (*knowledgeclient.ListResponse, error) { // todo: add your logic here and delete this line result := &knowledgeclient.ListResponse{} var knowledgeList []*knowledgeclient.KnowledgeEntity //列表数据 sql := "SELECT b.content as answer,c.content as question,b.id FROM " + util.KNOWLEDGE + " a LEFT JOIN " + util.ANSWER + " b ON a.id = b.knowledge_id LEFT JOIN " + util.QUESTION + " c ON b.id = c.answer_id WHERE b.`status` =1 and a.tenant_id=? limit ?,?" datalist := Mysql.SelectBySql(sql, in.TenantId, in.PageIndex, in.PageSize) if datalist != nil && *datalist != nil && len(*datalist) > 0 { for _, value := range *datalist { knowledge := knowledgeclient.KnowledgeEntity{} knowledge.Answer = quitl.ObjToString(value["answer"]) knowledge.Question = quitl.ObjToString(value["question"]) knowledge.AnswerId = quitl.Int64All(value["id"]) knowledgeList = append(knowledgeList, &knowledge) } } result.ErrorCode = 0 result.Data = knowledgeList return result, nil }