实现邀请奖励接口
This commit is contained in:
parent
9104a63cbf
commit
bb2d99742c
27
doc/api.md
27
doc/api.md
@ -581,12 +581,27 @@
|
||||
3. Response: JSON
|
||||
|
||||
```js
|
||||
[{
|
||||
"name": '显示名',
|
||||
"reward_type": '奖励物品的id',
|
||||
"reward_count": 100, //奖励物品数量
|
||||
"icon": "item/item_0" // 奖励物品的图片地址, 可能是本地,远程, 如果该字段为空的话, 需要取本地的默认值
|
||||
}]
|
||||
{
|
||||
num: 10, // 已邀请人数
|
||||
newget: [ // 本次请求新获得的物品
|
||||
coupon: '优惠券的id',
|
||||
name: '优惠券名',
|
||||
count: 1, //数量
|
||||
couponUrl: '优惠券详情图的url',
|
||||
rewardType: 0, // 0: 优惠券, 1: 抽奖券
|
||||
]
|
||||
rewards: [ // 奖励列表
|
||||
{
|
||||
coupon: '优惠券的id',
|
||||
name: '优惠券名',
|
||||
count: 1, //数量
|
||||
couponUrl: '优惠券详情图的url',
|
||||
rewardType: 0, // 0: 优惠券, 1: 抽奖券
|
||||
score: 100, // 获得条件
|
||||
geted: 0, // 是否已获得, 0: 未获得, 1: 已获得
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### 16. 挑战奖励详情
|
||||
|
@ -9,6 +9,9 @@ import { LOTTERY_TICKET } from '../../constants/BaseConst'
|
||||
import { getShopInviteeNum } from '../../services/JCFW'
|
||||
import { Shop } from '../../models/shop/Shop'
|
||||
import { UserCoupon } from '../../models/user/UserCoupon'
|
||||
import { ShareCfgClass, ShopCfg } from '../../models/shop/ShopCfg'
|
||||
import { Coupon } from '../../models/shop/Coupon'
|
||||
import { getCouponUrl } from '../../services/File'
|
||||
|
||||
class GameUserController extends BaseController {
|
||||
// TODO:: 增加返回未使用的券
|
||||
@ -86,5 +89,55 @@ class GameUserController extends BaseController {
|
||||
throw new ZError(11, '无法找到对应店铺')
|
||||
}
|
||||
let numInvite = await getShopInviteeNum(accountId, sessionid, shop.numid)
|
||||
const cfg = await ShopCfg.findOne({ shop: shop.id })
|
||||
if (!cfg) {
|
||||
throw new ZError(12, '当前店铺未配置相关信息')
|
||||
}
|
||||
if (!cfg.share_cfgs || cfg.share_cfgs.length === 0) {
|
||||
throw new ZError(12, '当前店铺未配置相关信息')
|
||||
}
|
||||
let rewardList = []
|
||||
let newItems: any[] = []
|
||||
let couponMap: Map<string, any> = new Map()
|
||||
const gotSet: Set<string> = await UserReward.userGotSet(accountId, shop.id, 'share')
|
||||
for (let reward of cfg.share_cfgs) {
|
||||
let name = '抽奖券'
|
||||
let couponUrl = reward.icon
|
||||
if (reward.rewardType === 0) {
|
||||
if (!couponMap.has(reward.coupon)) {
|
||||
let coupon = await Coupon.findById(reward.coupon)
|
||||
couponMap.set(coupon.id, coupon)
|
||||
}
|
||||
name = couponMap.get(reward.coupon).name
|
||||
couponUrl = reward.icon || getCouponUrl(shop.id, reward.coupon)
|
||||
}
|
||||
if (!gotSet.has(reward._id + '') && numInvite >= reward.rank) {
|
||||
let obj = await UserReward.saveOneRecord({
|
||||
accountId,
|
||||
itemId: reward.coupon,
|
||||
count: reward.count,
|
||||
shop: shop.id,
|
||||
rewardId: reward._id + '',
|
||||
activityId: 'share',
|
||||
source: 'share',
|
||||
})
|
||||
gotSet.add(reward._id + '')
|
||||
newItems.push(obj)
|
||||
}
|
||||
rewardList.push({
|
||||
coupon: reward.coupon,
|
||||
name,
|
||||
count: reward.count,
|
||||
couponUrl,
|
||||
score: reward.rank,
|
||||
rewardType: reward.rewardType,
|
||||
geted: gotSet.has(reward._id + '') ? 1 : 0,
|
||||
})
|
||||
}
|
||||
return {
|
||||
num: numInvite,
|
||||
newget: newItems,
|
||||
rewards: rewardList,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -10,16 +10,20 @@ export class ShareCfgClass extends Base {
|
||||
* @type {number}
|
||||
*/
|
||||
@prop()
|
||||
public need_count: number
|
||||
public rank: number
|
||||
|
||||
@prop()
|
||||
public name: string
|
||||
public coupon: string
|
||||
|
||||
@prop()
|
||||
public reward_type: string
|
||||
@prop({ default: 0 })
|
||||
public count: number
|
||||
|
||||
@prop()
|
||||
public reward_count: number
|
||||
/**
|
||||
* 奖励类型
|
||||
* @type {number} 0: 优惠券, 1: 抽奖券
|
||||
*/
|
||||
@prop({ default: 0 })
|
||||
public rewardType: number
|
||||
|
||||
@prop()
|
||||
public icon: string
|
||||
@ -30,10 +34,17 @@ export class LotteryCfgClass extends Base {
|
||||
public name: string
|
||||
|
||||
@prop()
|
||||
public reward_type: string
|
||||
public coupon: string
|
||||
|
||||
@prop()
|
||||
public reward_count: number
|
||||
@prop({ default: 0 })
|
||||
public count: number
|
||||
|
||||
/**
|
||||
* 奖励类型
|
||||
* @type {number} 0: 优惠券, 1: 抽奖券
|
||||
*/
|
||||
@prop({ default: 0 })
|
||||
public rewardType: number
|
||||
|
||||
@prop()
|
||||
public icon: string
|
||||
|
Loading…
x
Reference in New Issue
Block a user