🐞 fix(活动): 高级签到购买逻辑
This commit is contained in:
@@ -84,7 +84,7 @@ export class SignInHandler {
|
||||
return resResult(STATUS.ACTIVITY_SIGNIN_VIP_CONDITION);
|
||||
}
|
||||
}
|
||||
|
||||
if(playerData.price > 0 && !playerData.isVip) return resResult(STATUS.ACTIVITY_SIGNIN_VIP_CONDITION);
|
||||
|
||||
let signinItemData: SignInItem = playerData.findDayItem(dayIndex);
|
||||
if (!signinItemData) {
|
||||
|
||||
@@ -98,7 +98,7 @@ export async function getPlayerSignInData(activityId: number, serverId: number,
|
||||
export async function makeSignInVIP(roleId: string, roleName: string, sid: string, serverId: number,
|
||||
activityId: number, productID: string) {
|
||||
let activityData: ActivityModelType = await getActivityById(activityId);
|
||||
if (activityData.type !== ACTIVITY_TYPE.SIGN_IN_VIP) {
|
||||
if (activityData.type !== ACTIVITY_TYPE.SIGN_IN_VIP && activityData.type !== ACTIVITY_TYPE.COMMON_SIGN_IN) {
|
||||
return STATUS.ACTIVITY_TYPE_ERROR;
|
||||
}
|
||||
let createTime = await getRoleCreateTime(roleId);
|
||||
@@ -127,3 +127,13 @@ export async function canBuyVip(lv: number) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
export async function checkSignInCanBuy(roleId: string, serverId: number, activityId: number, productID: string) {
|
||||
|
||||
let playerData = await getPlayerSignInData(activityId, serverId, roleId);
|
||||
if (!playerData || playerData.isVip) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
@@ -4,7 +4,7 @@ import { dicRMB } from '../pubUtils/dictionary/DicRMB';
|
||||
import { makeYuanbaoShopReward } from './activity/yuanbaoService';
|
||||
import { RoleModel } from '../db/Role';
|
||||
import { makeMonthlyTicketReward } from './activity/monthlyTicketService';
|
||||
import { makeSignInVIP } from './activity/signInService';
|
||||
import { checkSignInCanBuy, makeSignInVIP } from './activity/signInService';
|
||||
import { makeDailyRMBGiftsReward } from './activity/dailyRMBGiftsService';
|
||||
import { checkPopUpShopCanBuy, makePopUpShopReward } from './activity/popUpShopService';
|
||||
import { ActivityModel, ActivityModelType } from '../db/Activity';
|
||||
@@ -42,6 +42,11 @@ export async function checkOrderCanBuy(roleId: string, serverId: number, activit
|
||||
let activityId = activityData.activityId;
|
||||
|
||||
switch(activityData.type) {
|
||||
case ACTIVITY_TYPE.SIGN_IN_VIP:
|
||||
case ACTIVITY_TYPE.COMMON_SIGN_IN:
|
||||
{
|
||||
return await checkSignInCanBuy(roleId, serverId, activityId, productID)
|
||||
}
|
||||
case ACTIVITY_TYPE.POP_UP_SHOP:
|
||||
{
|
||||
return await checkPopUpShopCanBuy(roleId, serverId, activityId, productID, paramStr)
|
||||
@@ -89,6 +94,7 @@ export async function makeOrder(orderInfo: UserOrderModelType, sid: string) {
|
||||
|
||||
switch (productType) {
|
||||
case ACTIVITY_TYPE.SIGN_IN_VIP:
|
||||
case ACTIVITY_TYPE.COMMON_SIGN_IN:
|
||||
{
|
||||
rewardResult = await makeSignInVIP(roleId, roleInfo.roleName, sid, orderInfo.serverId, orderInfo.activityId, orderInfo.productID)
|
||||
break;
|
||||
|
||||
@@ -21,6 +21,7 @@ class SignRecord {
|
||||
}
|
||||
|
||||
@index({ roleId: 1, activityId: 1 })
|
||||
@index({ roundIndex: 1 })
|
||||
|
||||
export default class Activity_Monthly_Fund extends BaseModel {
|
||||
@prop({ required: true })
|
||||
|
||||
Reference in New Issue
Block a user