feat:黄旗酒馆

This commit is contained in:
xichaoyin 2024-01-12 02:20:16 +08:00
parent 5a8d95307b
commit 9d3dd2dbc9
10 changed files with 32 additions and 18 deletions

View File

@ -14,7 +14,7 @@ export default async function (call: ApiCall<ReqDuiHuan, ResDuiHuan>) {
let need = []; let need = [];
let prize = []; let prize = [];
let mydata = await HQJGFun.getMydata(call, call.req.hdid); let mydata = await HQJGFun.getMydata(call, hd);
for (let id in call.req.dh) { for (let id in call.req.dh) {
let con = hd.data.duihuan.filter(x => x.id == Number(id))[0]; let con = hd.data.duihuan.filter(x => x.id == Number(id))[0];

View File

@ -14,7 +14,7 @@ export default async function (call: ApiCall<ReqFight, ResFight>) {
} }
// 个人活动信息 // 个人活动信息
let mydata = await HQJGFun.getMydata(call, call.req.hdid); let mydata = await HQJGFun.getMydata(call, hd);
// 开始战斗 // 开始战斗
let result: fightResult = await FightFun.fightNpc(call, hd.data.boss.npcId, 'hqjg'); let result: fightResult = await FightFun.fightNpc(call, hd.data.boss.npcId, 'hqjg');

View File

@ -15,7 +15,7 @@ export default async function (call: ApiCall<ReqGiftRec, ResGiftRec>) {
return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 }) return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 })
} }
let mydata = await HQJGFun.getMydata(call, call.req.hdid); let mydata = await HQJGFun.getMydata(call, hd);
if ((mydata.giftbuy[call.req.giftid] || { num: 0 }).num + 1 > gift.buynum) { if ((mydata.giftbuy[call.req.giftid] || { num: 0 }).num + 1 > gift.buynum) {
return call.error("", { code: -2, message: globalThis.lng.hqjgtips_28 }) return call.error("", { code: -2, message: globalThis.lng.hqjgtips_28 })
} }

View File

@ -20,7 +20,7 @@ export default async function (call: ApiCall<ReqGiftSelect, ResGiftSelect>) {
} }
} }
let mydata = await HQJGFun.getMydata(call, call.req.hdid); let mydata = await HQJGFun.getMydata(call, hd);
if (!mydata.giftbuy[call.req.giftid]) { if (!mydata.giftbuy[call.req.giftid]) {
mydata.giftbuy[call.req.giftid] = { mydata.giftbuy[call.req.giftid] = {
num: 0, select: call.req.seletc num: 0, select: call.req.seletc

View File

@ -9,7 +9,7 @@ export default async (call: ApiCall<ReqOpen, ResOpen>) => {
return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 }) return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 })
} }
let mydata = await HQJGFun.getMydata(call, call.req.hdid); let mydata = await HQJGFun.getMydata(call, hd);
call.succ({ data: mydata }) call.succ({ data: mydata })
} }

View File

@ -14,7 +14,7 @@ export default async function (call: ApiCall<ReqRecDpsPrize, ResRecDpsPrize>) {
let data = hd.data as Data let data = hd.data as Data
// 个人活动信息 // 个人活动信息
let mydata = await HQJGFun.getMydata(call, call.req.hdid); let mydata = await HQJGFun.getMydata(call, hd);
// 领取伤害奖励 // 领取伤害奖励
let prize = []; let prize = [];

View File

@ -18,7 +18,7 @@ export default async function (call: ApiCall<ReqTaskRec, ResTaskRec>) {
let prize = []; let prize = [];
let taskday = `day${call.req.day}` let taskday = `day${call.req.day}`
let mydata = await HQJGFun.getMydata(call, call.req.hdid); let mydata = await HQJGFun.getMydata(call, hd);
for (let id of call.req.taskid) { for (let id of call.req.taskid) {
let con = hd.data.task[taskday][id]; let con = hd.data.task[taskday][id];

View File

@ -17,7 +17,7 @@ export default async function (call: ApiCall<ReqZhaoMu, ResZhaoMu>) {
await PlayerFun.checkNeedIsMeet(call, need); await PlayerFun.checkNeedIsMeet(call, need);
let prize = []; let prize = [];
let mydata = await HQJGFun.getMydata(call, call.req.hdid); let mydata = await HQJGFun.getMydata(call, hd);
for (let n = 1; n <= call.req.num; n++) { for (let n = 1; n <= call.req.num; n++) {
let num = mydata.zhaomu.num + n; let num = mydata.zhaomu.num + n;

View File

@ -11,7 +11,7 @@ export default async function (call: ApiCall<ReqZhaoMuPrizeRec, ResZhaoMuPrizeRe
} }
let prize = []; let prize = [];
let mydata = await HQJGFun.getMydata(call, call.req.hdid); let mydata = await HQJGFun.getMydata(call, hd);
for (let rec of call.req.recid) { for (let rec of call.req.recid) {
let con = hd.data.choukajiangli[rec.idx]; let con = hd.data.choukajiangli[rec.idx];

View File

@ -174,22 +174,36 @@ export default class HQJGFun {
/** 获取我的数据 */ /** 获取我的数据 */
static async getMydata(call: ApiCall, hdid?: number) { static async getMydata(call: ApiCall, hd?: ReqAddHuoDong) {
if (!hdid) { if (!hd) {
hdid = (await HQJGFun.HdInfo(call)).hdid; hd = await HQJGFun.HdInfo(call);
} }
let data = await G.mongodb.cEvent(this.dataType(hdid)).findOne({ let data = await G.mongodb.cEvent(this.dataType(hd.hdid)).findOne({
uid: call.uid, type: this.dataType(hdid) uid: call.uid, type: this.dataType(hd.hdid)
}, { projection: { _id: 0 } }); }, { projection: { _id: 0 } });
if (!data) { if (!data) {
data = (await G.mongodb.cEvent(this.dataType(hdid)).findOneAndUpdate({ data = (await G.mongodb.cEvent(this.dataType(hd.hdid)).findOneAndUpdate({
uid: call.uid, type: this.dataType(hdid) uid: call.uid, type: this.dataType(hd.hdid)
}, { }, {
$set: this.defaultData $set: this.defaultData
}, { upsert: true, returnDocument: 'after', projection: { _id: 0 } })).value; }, { upsert: true, returnDocument: 'after', projection: { _id: 0 } })).value;
} }
let today = this.today(hd);
if (!data.task.val[`day${today}`]) {
data.task.val[`day${today}`] = {};
let tasks = hd.data.task[`day${today}`];
for (let taskid in tasks) {
let taskcon = tasks[taskid];
data.task.val[`day${today}`][taskid] = await TaskFun.getTaskNval(call, taskcon);
}
await G.mongodb.collection('event').updateOne(
{ uid: call.uid, type: this.dataType(hd.hdid) },
{ $set: { [`task.val.day${today}`]: data.task.val[`day${today}`] } }
);
}
return data return data
} }
@ -370,7 +384,7 @@ export default class HQJGFun {
if (!tasks) return if (!tasks) return
let mydata = await this.getMydata(call, hd.hdid); let mydata = await this.getMydata(call, hd);
let isset = 0; let isset = 0;
if (!mydata.task.val[`day${today}`]) { if (!mydata.task.val[`day${today}`]) {
@ -459,7 +473,7 @@ export default class HQJGFun {
let hdid = hd.hdid; let hdid = hd.hdid;
let hddata = hd.data as Data; let hddata = hd.data as Data;
mydata = mydata || await this.getMydata(call, hdid); mydata = mydata || await this.getMydata(call, hd);
// 当黄旗招募存在可领取的可选奖励时 // 当黄旗招募存在可领取的可选奖励时
for (let i = 0; i < hddata.choukajiangli.length; i++) { for (let i = 0; i < hddata.choukajiangli.length; i++) {
let ele = hddata.choukajiangli[i]; let ele = hddata.choukajiangli[i];