后台:虚拟充值
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import Marquee, { MarqueeType, MarqueeModel } from "../db/Marquee";
|
||||
import { GM_MAIL_STATUS, GM_MAIL_TYPE, MAIL_TIME_TYPE, MARQUEE_SHOW_TYPE, MARQUEE_TIME_TYPE, REF_CIRCLE_MAIL_TIME, SERVER_STATUS } from "../consts";
|
||||
import { ACTIVITY_TYPE, GM_MAIL_STATUS, GM_MAIL_TYPE, MAIL_TIME_TYPE, MARQUEE_SHOW_TYPE, MARQUEE_TIME_TYPE, REF_CIRCLE_MAIL_TIME, SERVER_STATUS } from "../consts";
|
||||
import { scheduleJob, scheduledJobs, Job } from 'node-schedule';
|
||||
import { createMarqueeMsg as sysCreateMarqueeMsg, pushMarqueeMsg as sysPushMarqueeMsg } from './sysChatService';
|
||||
import { GroupMessageType } from "../db/GroupMessage";
|
||||
@@ -12,9 +12,20 @@ import GMMail, { GMMailModel, GMMailType } from '../db/GMMail';
|
||||
import moment = require("moment");
|
||||
import { getSeconds, nowSeconds } from "../pubUtils/timeUtil";
|
||||
import { CreateServerParam } from "../domain/backEndField/params";
|
||||
import { SignInData } from "../domain/activityField/signInField";
|
||||
import { RegionModel, RegionType } from "../db/Region";
|
||||
import { GMMail as StategyMail } from "../db/ServerStategy";
|
||||
import { uniq } from "underscore";
|
||||
import { ActivityModelType } from "../db/Activity";
|
||||
import { dicRMB } from "../pubUtils/dictionary/DicRMB";
|
||||
import { LimitShopData } from "../domain/activityField/limitShopField";
|
||||
import { YuanBaoShopData } from "../domain/activityField/yuanBaoShopField";
|
||||
import { MonthlyTicketData } from "../domain/activityField/monthlyTicketField";
|
||||
import { DailyRMBGiftsData } from "../domain/activityField/dailyRMBGiftsField";
|
||||
import { PopUpShopData } from "../domain/activityField/popUpShopField";
|
||||
import { GrowthFundData } from "../domain/activityField/growthFundField";
|
||||
import { TreasureHuntData } from "../domain/activityField/treasureHuntField";
|
||||
import { RefreshShopData } from "../domain/activityField/refreshShopField";
|
||||
|
||||
// —————————————— 跑马灯 —————————————— //
|
||||
// 初始
|
||||
@@ -188,4 +199,85 @@ export async function createNewServer(region: RegionType ,serverId: number, para
|
||||
if(params.openMail) await sendOpenServerMail('openMail', params.openMail, newServer, uid);
|
||||
if(params.circleMail) await sendOpenServerMail('circleMail', params.circleMail, newServer, uid);
|
||||
await RegionModel.newServer(region.id, newServer);
|
||||
}
|
||||
|
||||
function getDicRMB(productID: string) {
|
||||
let dic = dicRMB.get(productID);
|
||||
if(!dic) return null
|
||||
return {
|
||||
value: dic.productID,
|
||||
label: `${dic.message}(${dic.productID})`,
|
||||
}
|
||||
};
|
||||
|
||||
export function getActivityProducts(activity: ActivityModelType) {
|
||||
switch(activity.type) {
|
||||
case ACTIVITY_TYPE.SIGN_IN_VIP: // 高级签到
|
||||
{
|
||||
let data = new SignInData(activity, 0);
|
||||
return [getDicRMB(data.productID)];
|
||||
}
|
||||
case ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE: // 新手限定RMB购买礼包
|
||||
case ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_DAILY: // 日限购
|
||||
case ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_WEEKLY: // 周限购
|
||||
{
|
||||
let data = new LimitShopData(activity, 0);
|
||||
return data.list.map(item => {
|
||||
return getDicRMB(item.productID);
|
||||
});
|
||||
}
|
||||
case ACTIVITY_TYPE.YUAN_BAO_SHOP: // 元宝
|
||||
{
|
||||
let data = new YuanBaoShopData(activity, 0);
|
||||
return data.list.map(item => {
|
||||
return getDicRMB(item.productID);
|
||||
});
|
||||
}
|
||||
case ACTIVITY_TYPE.MONTHLY_TICKET_1:
|
||||
case ACTIVITY_TYPE.MONTHLY_TICKET_2:
|
||||
{
|
||||
let data = new MonthlyTicketData(activity, 0);
|
||||
return [getDicRMB(data.productID)];
|
||||
}
|
||||
case ACTIVITY_TYPE.DAILY_RMB_GIFTS:
|
||||
{
|
||||
let data = new DailyRMBGiftsData(activity, 0);
|
||||
return [getDicRMB(data.productID)];
|
||||
}
|
||||
case ACTIVITY_TYPE.POP_UP_SHOP://弹出礼包
|
||||
{
|
||||
let data = new PopUpShopData(activity, 0);
|
||||
return [getDicRMB(data.productID)];
|
||||
}
|
||||
case ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP: //主线成长基金(高阶)
|
||||
case ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP://镇念塔成长基金(高阶)
|
||||
case ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE_VIP://精英成长基金(高阶)
|
||||
{
|
||||
let data = new GrowthFundData(activity, 0);
|
||||
return data.list.map(item => {
|
||||
return getDicRMB(item.productID);
|
||||
});
|
||||
}
|
||||
case ACTIVITY_TYPE.TREASURE_HUNT:
|
||||
{
|
||||
let data = new TreasureHuntData(activity, 0);
|
||||
let shop = data.shop;
|
||||
return shop.list.map(item => {
|
||||
return getDicRMB(item.productID);
|
||||
});
|
||||
}
|
||||
case ACTIVITY_TYPE.REFRESH_SHOP:
|
||||
{
|
||||
let data = new RefreshShopData(activity, 0);
|
||||
let products: { label: string, value: string }[] = [];
|
||||
for(let shop of data.list) {
|
||||
for(let item of shop.items) {
|
||||
products.push(getDicRMB(item.productID));
|
||||
}
|
||||
}
|
||||
return products;
|
||||
}
|
||||
|
||||
}
|
||||
return false
|
||||
}
|
||||
@@ -720,6 +720,7 @@ export class Rank {
|
||||
let myId = this.decodeFields(this.key, field);
|
||||
const scores = this.decodeScore(rankFromDb[ii + 1]);
|
||||
const info = await redisClient().hgetAsync(this.infoKey, this.composeFields(this.infoKey, myId));
|
||||
if(!info) continue;
|
||||
const userInfo = JSON.parse(info);
|
||||
|
||||
let param: RoleRankInfo | GuildRankInfo;
|
||||
|
||||
Reference in New Issue
Block a user