diff --git a/src/modules/post/post.service.ts b/src/modules/post/post.service.ts index 3327e63ab..9594f3cb8 100644 --- a/src/modules/post/post.service.ts +++ b/src/modules/post/post.service.ts @@ -13,6 +13,7 @@ import { isDefined } from "class-validator"; import { omit } from "lodash"; import { BusinessException } from "~/common/exceptions/business.excpetion"; import { ErrorCodeEnum } from "~/constants/error-code.constant"; +import { ImageService } from "~/processors/helper/helper.image.service"; @Injectable() export class PostService { @@ -21,7 +22,9 @@ export class PostService { private readonly postModel: MongooseModel & AggregatePaginateModel, @Inject(forwardRef(() => CategoryService)) - private readonly categoryService: CategoryService + private readonly categoryService: CategoryService, + + private readonly imageService: ImageService, ) {} get model() { return this.postModel; @@ -53,6 +56,11 @@ export class PostService { created: new Date(), modified: null, }); + process.nextTick(async () => { // 异步更新缓存 + await Promise.all([ + this.imageService.recordImageMeta(this.model as MongooseModel, res._id) + ]) + }) return res; } @@ -96,7 +104,13 @@ export class PostService { } Object.assign(originDocument, omit(data, PostModel.protectedKeys)); await originDocument.save(); - + + process.nextTick(async () => { + await Promise.all([ + this.imageService.recordImageMeta(this.model as MongooseModel, id) + ]) + }) + return originDocument.toObject(); }