diff --git a/src/api/controllers/coupon.controller.ts b/src/api/controllers/coupon.controller.ts index 7a2185f..bdb8f26 100644 --- a/src/api/controllers/coupon.controller.ts +++ b/src/api/controllers/coupon.controller.ts @@ -43,7 +43,7 @@ class CouponController extends BaseController { shopName: shopData.showName, coupon: record.item, couponName: coupon.name, - couponUrl: getCouponUrl(shopData.id, record.item), + couponUrl: coupon.imageUrl, status: record.status, expire: record.expire, user: user.nickname, @@ -130,7 +130,7 @@ class CouponController extends BaseController { shopName: shopData.showName, coupon: recordNew.item, couponName: coupon.name, - couponUrl: getCouponUrl(shopData.id, recordNew.item), + couponUrl: coupon.imageUrl, status: recordNew.status, expire: recordNew.expire, } diff --git a/src/api/controllers/exam.controller.ts b/src/api/controllers/exam.controller.ts index 2ca6c48..266c071 100644 --- a/src/api/controllers/exam.controller.ts +++ b/src/api/controllers/exam.controller.ts @@ -235,7 +235,7 @@ class ExamController extends BaseController { couponMap.set(coupon.id, coupon) } name = couponMap.get(reward.coupon).name - couponUrl = getCouponUrl(shop.id, reward.coupon) + couponUrl = couponMap.get(reward.coupon).imageUrl } rewardList.push({ coupon: reward.coupon, diff --git a/src/api/controllers/game_user.controller.ts b/src/api/controllers/game_user.controller.ts index b00e01d..7070885 100644 --- a/src/api/controllers/game_user.controller.ts +++ b/src/api/controllers/game_user.controller.ts @@ -130,7 +130,7 @@ class GameUserController extends BaseController { couponMap.set(coupon.id, coupon) } name = couponMap.get(reward.coupon).name - couponUrl = reward.icon || getCouponUrl(shop.id, reward.coupon) + couponUrl = reward.icon || couponMap.get(reward.coupon).imageUrl } if (!gotSet.has(reward._id + '') && numInvite >= reward.rank) { let obj = await UserReward.saveOneRecord({ diff --git a/src/api/controllers/lottery.controller.ts b/src/api/controllers/lottery.controller.ts index 20f795f..8941370 100644 --- a/src/api/controllers/lottery.controller.ts +++ b/src/api/controllers/lottery.controller.ts @@ -40,7 +40,7 @@ class LotteryController extends BaseController { couponMap.set(coupon.id, coupon) } name = couponMap.get(reward.coupon).name - couponUrl = reward.icon || getCouponUrl(shop.id, reward.coupon) + couponUrl = reward.icon || couponMap.get(reward.coupon).imageUrl } let rewardType = reward.rewardType if (reward.coupon === EMPTY) { diff --git a/src/models/shop/Coupon.ts b/src/models/shop/Coupon.ts index d99a738..cfe1c88 100644 --- a/src/models/shop/Coupon.ts +++ b/src/models/shop/Coupon.ts @@ -2,7 +2,7 @@ import { getModelForClass, index, modelOptions, prop } from '@typegoose/typegoos import { dbconn } from '../../decorators/dbconn' import { BaseModule } from '../Base' import { noJson } from '../../decorators/nojson' - +import config from '../../config/config' @dbconn() @index({ shop: 1 }, { unique: false }) @modelOptions({ schemaOptions: { collection: 'shop_coupon', timestamps: true } }) @@ -105,6 +105,16 @@ class CouponClass extends BaseModule { public static updateCount(id: string, count: number) { return Coupon.updateOne({ _id: id }, { $inc: { count: count } }) } + + public get imageUrl() { + if (this.image) { + return this.image + } else { + let subPath = `/coupon/${this.shop}` + //@ts-ignore + return `${config.file.show_url}${subPath}/${this._id + ''}.png` + } + } } export const Coupon = getModelForClass(CouponClass, { existingConnection: CouponClass.db }) diff --git a/src/models/user/UserCoupon.ts b/src/models/user/UserCoupon.ts index 9fb0bde..c715f16 100644 --- a/src/models/user/UserCoupon.ts +++ b/src/models/user/UserCoupon.ts @@ -177,7 +177,7 @@ class UserCouponClass extends BaseModule { shopName: shopMap.get(record.shop), coupon: record.item, couponName: couponMap.get(record.item).name, - couponUrl: getCouponUrl(sid, record.item), + couponUrl: couponMap.get(record.item).imageUrl, status: record.status, expire: record.expire || 0, }) diff --git a/src/models/user/UserReward.ts b/src/models/user/UserReward.ts index 11aa118..ab520e3 100644 --- a/src/models/user/UserReward.ts +++ b/src/models/user/UserReward.ts @@ -126,7 +126,7 @@ class UserRewardClass extends BaseModule { } await UserCoupon.addOne({ accountId, shop, item: itemId, count, source, activityId, rewardId, expire }) await Coupon.updateCount(itemId, count) - url = getCouponUrl(shop, itemId) + url = cdata.imageUrl } return {