活动:支付添加推送

This commit is contained in:
qiaoxin
2021-05-27 14:08:54 +08:00
parent c261fdc045
commit 9b80dae800
13 changed files with 206 additions and 116 deletions
@@ -74,11 +74,15 @@ export async function makeDailyRMBGiftsReward(roleId: string, roleName: string,
let playerData = new DailyRMBGiftsData(activityData);
let bigGiftProductID = playerData.productID;
if (bigGiftProductID == productID) {//一次性购买7天礼包
return { goods: [], addHeros: [] }
let buyTime = moment(new Date()).startOf('d').toDate()
let endTime = moment(buyTime).add(7, 'd').endOf('d').toDate()
return Object.assign({}, { item: { endTime, receiveCount: 0 } })
} else {
let item = playerData.findProduct(productID);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr)
return result
item.isBuy = true;
item.isReceive = true;
return Object.assign(result, { item })
}
}
@@ -28,7 +28,7 @@ export async function newPlayerLimitPackageActivity(serverId: number, roleId: st
}
/**
* 玩家新手玩家限购礼包活动数据
* 每日、每周限购礼包活动数据
*
* @param {number} serverId 区Id
* @param {number} activityId 活动Id
@@ -26,8 +26,10 @@ export async function monthlyTicketActivity(serverId: number, roleId: string, ty
return null;
}
let activityData = activityArray[0];
let playerData = await getPlayerMonthlyTicketData(activityData.activityId, serverId, roleId);
return playerData
let playerRecord: ActivityMonthlyTicketModelType = await ActivityMonthlyTicketModel.findMonthlyTicket(serverId, roleId, activityData.activityId);
let playerData = new MonthlyTicketData(activityData);
playerData.setPlayerRecords(playerRecord);
return playerData;
}
/**
@@ -96,5 +98,5 @@ export async function makeMonthlyTicketReward(roleId: string, roleName: string,
let firstReward = playerData.firstReward;
let rewardParamArr: Array<RewardParam> = stringToRewardParam(firstReward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr)
return result
return Object.assign(result, { item: { isOpen: true, todayIndex: 1 }, activityId: activityData.activityId })
}
+10 -13
View File
@@ -23,15 +23,10 @@ import { ServerlistModel } from '../db/Serverlist';
*/
export async function makeOrder(localOrderID: string, sid: string, orderInfo: UserOrderModelType) {
// let orderInfo = await UserOrderModel.findOrder(localOrderID);
if (!orderInfo) {
return '查无此订单';
}
//商品价格信息
let productInfo = dicRMB.get(orderInfo.productID)
if (!productInfo) {
return '无效商品';
}
let productType = productInfo.type;//类型
let price = orderInfo.price;//下单时的价格
@@ -40,6 +35,8 @@ export async function makeOrder(localOrderID: string, sid: string, orderInfo: Us
const roleInfo = await RoleModel.findByRoleId(roleId);
let rewardResult: any = {};
//首冲礼包
{
let { activityGroupId } = await ServerlistModel.findByServerId(orderInfo.serverId);
@@ -53,7 +50,7 @@ export async function makeOrder(localOrderID: string, sid: string, orderInfo: Us
switch (productType) {
case ACTIVITY_TYPE.SIGN_IN_VIP:
{
let resule = await makeSignInVIP(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID)
rewardResult = await makeSignInVIP(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID)
break;
}
case ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE:
@@ -67,28 +64,28 @@ export async function makeOrder(localOrderID: string, sid: string, orderInfo: Us
}
case ACTIVITY_TYPE.YUAN_BAO_SHOP:
{
let resule = await makeYuanbaoShopReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID)
rewardResult = await makeYuanbaoShopReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID)
break;
}
case ACTIVITY_TYPE.MONTHLY_TICKET_1:
case ACTIVITY_TYPE.MONTHLY_TICKET_2:
{
let resule = await makeMonthlyTicketReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID)
rewardResult = await makeMonthlyTicketReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID)
break;
}
case ACTIVITY_TYPE.RECHARGE_MONEY:
{
let resule = await makeDailyRMBGiftsReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID)
rewardResult = await makeDailyRMBGiftsReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID)
break;
}
case ACTIVITY_TYPE.POP_UP_SHOP:
{
let resule = await makePopUpShopReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID)
rewardResult = await makePopUpShopReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID)
break;
}
default:
return '未知商品类型';
break;
}
return { goods: [], addHeros: [] }
return rewardResult
}
+1 -1
View File
@@ -84,5 +84,5 @@ export async function makePopUpShopReward(roleId: string, roleName: string, sid:
let rewardParamArr: Array<RewardParam> = stringToRewardParam(playerData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr)
return result
return Object.assign(result, { item: { isBuy: true }, activityId: activityData.activityId })
}
@@ -93,6 +93,8 @@ export async function makeSignInVIP(roleId: string, roleName: string, sid: strin
let playerData = new SignInData(activityData);
await ActivitySignInModel.buyVIP(activityId, roleId, playerData.roundIndex);
return Object.assign({}, { item: { isVip: true }, activityId: activityData.activityId })
}
//高级签到开启条件
+6 -3
View File
@@ -22,8 +22,10 @@ export async function yuanbaoActivity(serverId: number, roleId: string) {
return null;
}
let activityData = activityArray[0];
let playerData = await getPlayerYuanbaoShopData(activityData.activityId, serverId, roleId);
return playerData
let playerRecord: UserOrderModelType[] = await UserOrderModel.findOrderByActivityID(activityData.activityId, roleId);
let playerData = new YuanBaoShopData(activityData);
playerData.setPlayerRecords(playerRecord);
return playerData;
}
/**
@@ -70,5 +72,6 @@ export async function makeYuanbaoShopReward(roleId: string, roleName: string, si
}
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr)
return result
item.buyCount += 1;
return Object.assign(result, { item, activityId: activityData.activityId })
}