syntax = "proto3"; package stdlib; option go_package = "./stdlib"; message DocQueryRequest { int64 pageNum = 1; //页码 int64 pageSize = 2; //每页数量 string keyWord = 3; //检索词 文档名检索 模糊 repeated string docClass = 4; // 分类 []string repeated string docTag = 5; // 标签 []string repeated string sort = 6; //默认正序,倒序字段前加-,uploadDate:上架时间 viewTimes:浏览量 downTimes:下载量 string userId = 7; //用户id string appId = 8; //appId int64 productType = 9 ; // 产品类型 1:会员免费;2:精品(付费);3:免费 int64 source = 10 ; //文档来源 1:剑鱼;2:豆丁; int64 docFileType = 11 ; // 文件格式类型 1 doc 2 pdf 3 xls 4 ppt 5 txt 6 其他 } message DocQueryResponse { int64 code = 1; //响应代码 string msg = 2; //响应消息 repeated Doc docs = 3;//文档列表集合,没有分页参数 int64 total = 4; //总数 } message Doc { string docId = 1;//文档id string docName = 2;//文档名称 int64 price = 3;//价格 int64 docFileSize = 4;//文档大小 int64 docPageSize = 5;//文档页码数 int64 downTimes = 6;//下载次数 int64 viewTimes = 7;//浏览次数 string uploadDate = 8;//上传时间 string docSummary = 9; //摘要 string docFileType = 10;//文档类型 int64 isDownload = 11;//是否转存 0:未转存 1:转存 string previewImgId = 12;//缩略图OssId int64 source = 13;// 来源 '文档来源:剑鱼- 1 豆丁- 2', int64 productType = 14;// '商品类型:会员免费-1 精品(付费)-2 免费 - 3', } message DocChangeReq { string id = 1; //文档id int32 reason = 2; //处理原因 1机审通过上架 2人审通过上加 10投诉下架 11过期下架 string appId = 3; //appId } message DocChangeResp { bool state = 1; //是否成功 } message DocStatisticsReq { string docId = 1; //文档id int32 DocStatisticsType = 2; //文档统计类型 1增加下载次数 2增加浏览次数 3评分 string appId = 3; //appId } message DocGetCheckReq { string docId = 1; //文档id string userId = 2; //用户id string appId = 3; //appId } message DocGetCheckResp { int64 code = 1; //响应代码 string msg = 2; //响应消息 bool isBuy = 3; //是否购买 bool isCollect = 4; //是否收藏 DocInfo DocDeail = 5; } message DocInfo { string docId = 1;//文档id string docName = 2;//文档名称 int64 price = 3;//价格 int64 docFileSize = 4;//文档大小 int64 docPageSize = 5;//文档页码数 string tags = 6;//文档标签 int64 downTimes = 7;//下载次数 int64 viewTimes = 8;//浏览次数 string uploadDate = 9;//上传时间 string docSummary = 10; //摘要 int64 docFileType = 11;//文档类型 string previewImgId = 12; //缩略图oss string ossPdfId = 13; //pdf oss string ossDocId = 14; //doc oss } message DocGetContentResp { int32 code = 1; //响应代码 string msg = 2; //响应消息 bytes docContent = 3; //文件内容 } message DocActivityReq { int64 pageNum = 1; //页码 int64 pageSize = 2; //每页数量 string appId = 3; //appId string userId = 4; //当前用户id int64 activityId = 5; //活动id } message DocActivity { string docId = 1; //文档id int64 activityId = 2; //活动id string docTitle = 3; //文档标题 string docSummary = 4; //文档摘要 string docImg = 5; //文档配图 int64 price = 6; //活动价 int64 costPrice = 7; //成本价 int64 downTimes = 8; //下载次数 string sourceUserId = 9; //贡献人 int64 docFileSize = 10; //文件大小 int64 docPageSize = 11; //页码数 int64 docFileType = 12; //文件类型,1 doc 2 pdf 3 xls 4 ppt 5 txt 6 其他 string uploadDate = 13; //上传时间 bool isBuy = 14; //是否购买 } message DocActivityResp { int32 code = 1; //响应代码 string msg = 2; //响应消息 repeated DocActivity docs = 3;//活动文档列表 int32 total = 4; //总数 } message DocIndexTagReq { } message DocIndexTagRes { int32 code = 1; //响应代码 string msg = 2; //响应消息 repeated string tags = 3;// 文档分类名称 } service Stdlib { rpc DocQuery(DocQueryRequest) returns(DocQueryResponse); //文档检索 rpc DocOn(DocChangeReq) returns(DocChangeResp); //文档上架 rpc DocOff(DocChangeReq) returns(DocChangeResp); //文档下架 rpc DocStatistics(DocStatisticsReq) returns(DocChangeResp); //文档浏览次数下载次数处理 rpc DocGetCheck(DocGetCheckReq) returns(DocGetCheckResp); //获取文档-检查文档是否可获取,返回页面数据 rpc DocGetContent(DocGetCheckReq) returns(DocGetContentResp); //获取文档-页面打开pdf调用查询oss rpc DocActivity(DocActivityReq) returns(DocActivityResp); //活动文档列表 rpc DocIndexTag(DocIndexTagReq) returns(DocIndexTagRes); // 获取文库分类 }