package public import ( "app.yhyue.com/moapp/jy_docs/rpc/stdlib/stdlib" "context" "fmt" "log" "qmx_admin/src/config" ) /* 检索文库 param userId 用户id keyWord 关键词 tag 分类 pageNum 页码 pageSize 每页数量 tSort 时间排序 dSort 下载排序 vSort 浏览量排序 */ func GetDocQuery(userId, keyWord, tag string, pageNum, pageSize int64, sort string, productType, docFileType int64) ([]*stdlib.Doc, int64, error) { param := &stdlib.DocQueryRequest{ AppId: config.SysConfigs.AppId, KeyWord: keyWord, PageSize: pageSize, PageNum: pageNum, ProductType: productType, DocFileType: docFileType, } if tag != "" { param.DocTag = []string{tag} } sortArr := []string{} switch sort { //倒序字段前加-,uploadDate:上架时间 viewTimes:浏览量 downTimes:下载量 case "dSort": //下载量倒叙 sortArr = append(sortArr, "-downTimes") case "vSort": //浏览量倒叙 sortArr = append(sortArr, "-viewTimes") default: // "tSort"上传时间倒叙 sortArr = append(sortArr, "-uploadDate") } param.Sort = sortArr resp, err := JyStdDocStdlib.DocQuery(context.Background(), param) if err != nil { log.Printf("%s SetUserCollect call error %v\n", userId, err) return nil, -1, err } if resp.Code != 1 { log.Printf("%s SetUserCollect fail Message %v\n", userId, resp.Msg) return nil, -1, fmt.Errorf("查询失败") } return resp.Docs, resp.Total, nil }