团购:基础接口

This commit is contained in:
luying
2022-09-30 17:31:03 +08:00
parent 9ba3081e54
commit 2d3a1c7c30
16 changed files with 542 additions and 5 deletions

View File

@@ -0,0 +1,41 @@
import { GROUP_SHOP_PRICE_STATUS } from "../../consts";
import { ActivityGroupShopRecModel } from "../../db/ActivityGroupShopRec";
import { ActivityGroupShopUserRecModel } from "../../db/ActivityGroupShopUserRec";
import { GroupShopData } from "../../domain/activityField/groupShopField";
import { getRoleCreateTime, getServerCreateTime } from "../redisService";
import { getActivityById } from "./activityService";
/**
* 玩家活动数据
*
* @param {number} serverId 区Id
* @param {number} activityId 活动Id
* @param {string} roleId 角色Id
*
*/
export async function getGroupShopData(activityId: number, roleId: string) {
let activityData = await getActivityById(activityId);
let createTime = await getRoleCreateTime(roleId);
let playerData = new GroupShopData(activityData, createTime, 0);
let serverRecords = await ActivityGroupShopRecModel.findByActivity(activityId);
playerData.setRecords(serverRecords);
let playerRecords = await ActivityGroupShopUserRecModel.findByActivityAndRoleId(activityId, roleId);
playerData.setPlayerRecord(playerRecords);
return playerData;
}
export async function getGroupShopDataShow(activityId: number, roleId: string) {
let playerData = await getGroupShopData(activityId, roleId);
if(playerData && playerData.canShow && playerData.canShow()) {
return playerData.getShowResult();
}
return null
}
export function getGroupShopPriceStatus(clientPrice: number, price: number) {
if(clientPrice == price) return GROUP_SHOP_PRICE_STATUS.NORMAL;
if(clientPrice < price) return GROUP_SHOP_PRICE_STATUS.NOT_ENOUGH;
return GROUP_SHOP_PRICE_STATUS.OVER;
}