Compare commits

...

2 Commits

Author SHA1 Message Date
dy
6233a6672e Merge remote-tracking branch 'origin/bugfix' into bugfix 2024-01-03 19:28:34 +08:00
dy
afd856af30 fix 探险 2024-01-03 19:28:22 +08:00
3 changed files with 43 additions and 23 deletions

View File

@ -4,6 +4,7 @@ import { PlayerFun } from "../../public/player";
import { ReqSaoDang, ResSaoDang } from "../../shared/protocols/lingzhulaixi/PtlSaoDang"; import { ReqSaoDang, ResSaoDang } from "../../shared/protocols/lingzhulaixi/PtlSaoDang";
import { PublicShared } from "../../shared/public/public"; import { PublicShared } from "../../shared/public/public";
import { HongDianChange } from "../hongdian/fun"; import { HongDianChange } from "../hongdian/fun";
import {ActionLog} from "../../public/actionLog/actionLog";
export default async function (call: ApiCall<ReqSaoDang, ResSaoDang>) { export default async function (call: ApiCall<ReqSaoDang, ResSaoDang>) {
let _con = await LingZhuLaiXifun.getCon(call.req.bid) let _con = await LingZhuLaiXifun.getCon(call.req.bid)
@ -91,6 +92,8 @@ export default async function (call: ApiCall<ReqSaoDang, ResSaoDang>) {
prize = PublicShared.mergePrize(prize) prize = PublicShared.mergePrize(prize)
await PlayerFun.sendPrize(call, prize) await PlayerFun.sendPrize(call, prize)
ActionLog.addDayLog(call.uid, { key: "lingzhulaixi/PkBoss", val: _num });
// 扣除挑战次数 // 扣除挑战次数
_myData.num += _num _myData.num += _num

View File

@ -21,7 +21,11 @@ export default async function (call: ApiCall<ReqFastGuaJi, ResFastGuaJi>) {
let notFree = (data?.useFreeGuaJiNum || 0) >= freeNum let notFree = (data?.useFreeGuaJiNum || 0) >= freeNum
if (notFree) { if (notFree) {
let num = G.gc.tanxian_com.fastGuaJiNeed[data.useFastGuaJiNum - freeNum] || 0; let num = G.gc.tanxian_com.fastGuaJiNeed[data.useFastGuaJiNum - freeNum] || 0;
let need = [{ a: 'attr', t: 'rmbmoney', n: num ? num : G.gc.tanxian_com.fastGuaJiNeed[G.gc.tanxian_com.fastGuaJiNeed.length - 1] }]; let need = [{
a: 'attr',
t: 'rmbmoney',
n: num ? num : G.gc.tanxian_com.fastGuaJiNeed[G.gc.tanxian_com.fastGuaJiNeed.length - 1]
}];
await PlayerFun.checkNeedIsMeet(call, need); await PlayerFun.checkNeedIsMeet(call, need);
await PlayerFun.cutNeed(call, need); await PlayerFun.cutNeed(call, need);
} }
@ -36,11 +40,11 @@ export default async function (call: ApiCall<ReqFastGuaJi, ResFastGuaJi>) {
// await event_dldh_addPrize(_p, call, G.gc.tanxian_com.fastGuaJiTime); // await event_dldh_addPrize(_p, call, G.gc.tanxian_com.fastGuaJiTime);
await PlayerFun.sendPrize(call, _p); await PlayerFun.sendPrize(call, _p);
let setData = { useFastGuaJiNum: data.useFastGuaJiNum + 1, useFreeGuaJiNum: (data?.useFreeGuaJiNum || 0) + (notFree ? 0 : 1)} // let setData = { useFastGuaJiNum: data.useFastGuaJiNum + 1, useFreeGuaJiNum: (data?.useFreeGuaJiNum || 0) + (notFree ? 0 : 1)}
if ((data?.zztqfreeNum || 0) < tqFree && tqFree) setData["zztqfreeNum"] = tqFree let setData = {$inc: {useFastGuaJiNum: 1, useFreeGuaJiNum: (notFree ? 0 : 1)}}
TanXianFun.changeData(call, setData); // if ((data?.zztqfreeNum || 0) < tqFree && tqFree) setData["zztqfreeNum"] = tqFree
if ((data?.zztqfreeNum || 0) < tqFree && tqFree) setData["$set"] = {zztqfreeNum: tqFree}
// (await call.conn.gonghui)?.addExp(20, call.uid); await TanXianFun.changeDataNew(call, setData);
HongDianChange.sendChangeKey(call.uid, ['taskhd', 'huodonghd']); HongDianChange.sendChangeKey(call.uid, ['taskhd', 'huodonghd']);

View File

@ -5,12 +5,25 @@ import {TeQuanFun} from './tequan';
type dataChange = Partial<ResOpen>; type dataChange = Partial<ResOpen>;
export class TanXianFun { export class TanXianFun {
/**修改探险数据 */ /**
*
*
* changeDataNew和此方法一样
*/
static async changeData(call: ApiCall, change: dataChange) { static async changeData(call: ApiCall, change: dataChange) {
G.mongodb.collection('tanxian').updateOne({uid: call.uid}, {$set: {...change}}); let {_id, uid, ...data} = (await G.mongodb.collection('tanxian').findOneAndUpdate({uid: call.uid}, {$set: {...change}}, {returnDocument: 'after'})).value;
let data = await this.getData(call); G.ioredis.setex(`tanxian:${uid}`, 600, JSON.stringify(data));
Object.assign(data, change); }
G.ioredis.setex(`tanxian:${call.uid}`, 600, JSON.stringify(data));
/**
*
* inc去叠加用户限制的次数
* @param call
* @param change
*/
static async changeDataNew(call: ApiCall, change) {
let {_id, uid, ...data} = (await G.mongodb.collection('tanxian').findOneAndUpdate({uid: call.uid}, change, {returnDocument: 'after'})).value;
G.ioredis.setex(`tanxian:${uid}`, 600, JSON.stringify(data));
} }
/**获取探险数据 */ /**获取探险数据 */