/* * @author wuweiru * @date 2020/10/16 14:01 * @modified-user songxiwen * @modified-date 2020/11/23 16:32 * @modified-description 新增微服务命名枚举 */ import { TowifyClient } from './towify.client'; import { FileListFilterRequestFromMicroServiceType, FileUploadingByFileContentBodyMicroserviceRequestType, GettingFileCountMicroserviceRequestType, QiniuFileStatType, QiniuUploadTokenDataType, UpdatingFileByKeyMicroserviceRequestType, UploadingTokenRequestFromMicroServiceType } from './type/file.microservice.handler.type'; import { File } from '../../module'; export enum FileMicroserviceFunction { UploadByImageUrl = 'FileService:uploadByImageUrl', DeleteQiniuFileByKey = 'FileService:deleteQiniuFileByKey', GetQiniuFileStatByKey = 'FileService:getQiniuFileStatByKey', GetUploadToken = 'FileService:getUploadToken', UpdateFileByKey = 'FileService:updateFileByKey', GetFileById = 'FileService:getFileById', GetFileByKey = 'FileService:getFileByKey', GetFileList = 'FileService:getFileList', GetFilePageList = 'FileService:getFilePageList', GetFileCount = 'FileService:getFileCount', UploadFileByFileContentBody = 'FileService:uploadFileByFileContentBody' } export class FileMicroServiceHandler { /** * 上传文件到七牛 */ public static async uploadByImageUrl(requestBody: { imageUrl: string; userId: string; }): Promise { const result = await TowifyClient.getInstance().sendMessage< { fileKey: string }, { imageUrl: string; userId: string; } >(FileMicroserviceFunction.UploadByImageUrl, requestBody); return result.fileKey; } public static async deleteQiniuFileByKey(key: string): Promise { await TowifyClient.getInstance().sendMessage( FileMicroserviceFunction.DeleteQiniuFileByKey, key ); } public static async getQiniuFileStatByKey( key: string ): Promise { const result = await TowifyClient.getInstance().sendMessage< QiniuFileStatType, string >(FileMicroserviceFunction.GetQiniuFileStatByKey, key); return result; } public static async getUploadToken( requestBody: UploadingTokenRequestFromMicroServiceType ): Promise { const result = await TowifyClient.getInstance().sendMessage< QiniuUploadTokenDataType, UploadingTokenRequestFromMicroServiceType >(FileMicroserviceFunction.GetUploadToken, requestBody); return result; } public static async updateFileByKey( requestBody: UpdatingFileByKeyMicroserviceRequestType ): Promise { await TowifyClient.getInstance().sendMessage< void, UpdatingFileByKeyMicroserviceRequestType >(FileMicroserviceFunction.UpdateFileByKey, requestBody); } public static async getFileById(id: string): Promise { const result = await TowifyClient.getInstance().sendMessage( FileMicroserviceFunction.GetFileById, id ); return result; } public static async getFileByKey(key: string): Promise { const result = await TowifyClient.getInstance().sendMessage( FileMicroserviceFunction.GetFileByKey, key ); return result; } public static async getFileList(ids: string[]): Promise { const result = await TowifyClient.getInstance().sendMessage< File[], string[] >(FileMicroserviceFunction.GetFileByKey, ids); return result; } public static async getFilePageList( requestBody: FileListFilterRequestFromMicroServiceType ): Promise { const result = await TowifyClient.getInstance().sendMessage< File[], FileListFilterRequestFromMicroServiceType >(FileMicroserviceFunction.GetFilePageList, requestBody); return result; } public static async getFileCount( requestBody: GettingFileCountMicroserviceRequestType ): Promise { const result = await TowifyClient.getInstance().sendMessage< number, GettingFileCountMicroserviceRequestType >(FileMicroserviceFunction.GetFileCount, requestBody); return result; } public static async uploadFileByFileContentBody( requestBody: FileUploadingByFileContentBodyMicroserviceRequestType ): Promise { const result = await TowifyClient.getInstance().sendMessage< any, FileUploadingByFileContentBodyMicroserviceRequestType >(FileMicroserviceFunction.UploadFileByFileContentBody, requestBody); return result; } }