From 72492f84035d5c04567690e93da8277f1f3d7cb6 Mon Sep 17 00:00:00 2001 From: zhl Date: Mon, 5 Jul 2021 11:06:51 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E4=BA=8E=E7=9A=84=E4=BC=98=E6=83=A0?= =?UTF-8?q?=E5=88=B8=E5=A2=9E=E5=8A=A0=E8=BF=87=E6=9C=9F=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/controllers/coupon.controller.ts | 2 +- src/models/user/UserCoupon.ts | 11 +++++++++++ src/models/user/UserReward.ts | 6 +++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/api/controllers/coupon.controller.ts b/src/api/controllers/coupon.controller.ts index 037853e..92590aa 100644 --- a/src/api/controllers/coupon.controller.ts +++ b/src/api/controllers/coupon.controller.ts @@ -59,7 +59,7 @@ class CouponController extends BaseController { const record = await UserCoupon.findOne({ sid: id, accountId: sender }) const recordNew = record.copy() recordNew.accountId = accountId - recordNew.source = 'share' + recordNew.source = 'receive' recordNew.activityId = record.id await recordNew.save() const shop = await Shop.fetchByID(record.shop) diff --git a/src/models/user/UserCoupon.ts b/src/models/user/UserCoupon.ts index e7a6f9e..6f13c13 100644 --- a/src/models/user/UserCoupon.ts +++ b/src/models/user/UserCoupon.ts @@ -52,6 +52,8 @@ class UserCouponClass extends BaseModule { public count: number /** * 来源 + * receive: 领取别人分享的 + * share: 分享成就 */ @prop() public source: string @@ -78,6 +80,11 @@ class UserCouponClass extends BaseModule { */ @prop() public status: number + /** + * 过期时间 + */ + @prop({ default: 0 }) + public expire: number public static async fetchCount({ accountId, shop, item }: { accountId: string; shop: string; item: string }) { let record = await UserCoupon.findOne({ accountId, shop, item }) @@ -89,6 +96,7 @@ class UserCouponClass extends BaseModule { record.shop = this.shop record.item = this.item record.count = this.count + record.expire = this.expire || 0 record.status = 0 return record } @@ -104,6 +112,7 @@ class UserCouponClass extends BaseModule { source, activityId, rewardId, + expire, }: { accountId: string shop: string @@ -112,6 +121,7 @@ class UserCouponClass extends BaseModule { source: string activityId: string rewardId: string + expire: number }) { for (let i = 0; i < count; i++) { let record = new UserCoupon({}) @@ -123,6 +133,7 @@ class UserCouponClass extends BaseModule { record.source = source record.rewardId = rewardId record.status = 0 + record.expire = expire await record.save() } } diff --git a/src/models/user/UserReward.ts b/src/models/user/UserReward.ts index bb5ea19..b25f438 100644 --- a/src/models/user/UserReward.ts +++ b/src/models/user/UserReward.ts @@ -120,7 +120,11 @@ class UserRewardClass extends BaseModule { await saveRecord(0, count) let cdata = await Coupon.findById(itemId) name = cdata.name - await UserCoupon.addOne({ accountId, shop, item: itemId, count, source, activityId, rewardId }) + let expire = 0 + if (cdata.validDays) { + expire = Date.now() + cdata.validDays * 24 * 60 * 60 * 1000 + } + await UserCoupon.addOne({ accountId, shop, item: itemId, count, source, activityId, rewardId, expire }) await Coupon.updateCount(itemId, count) url = getCouponUrl(shop, itemId) }