Compare commits

...

3 Commits

Author SHA1 Message Date
dy
eafa42880a Merge remote-tracking branch 'origin/dev' into dev 2023-12-31 09:48:45 +08:00
dy
da4a53d071 Merge branch 'feature/leichong' into dev 2023-12-31 09:48:33 +08:00
dy
96675a9ff1 累计充值 2023-12-31 09:48:26 +08:00
2 changed files with 20 additions and 13 deletions

View File

@ -3,6 +3,7 @@ import {HuoDongFun} from "../../../public/huodongfun";
import {PayFun} from '../../../public/pay'; import {PayFun} from '../../../public/pay';
import {ReqOpen, ResOpen} from "../../../shared/protocols/event/leijichongzhi/PtlOpen"; import {ReqOpen, ResOpen} from "../../../shared/protocols/event/leijichongzhi/PtlOpen";
import {PublicShared} from '../../../shared/public/public'; import {PublicShared} from '../../../shared/public/public';
import {checkNextRound} from "./ApiRec";
export default async function (call: ApiCall<ReqOpen, ResOpen>) { export default async function (call: ApiCall<ReqOpen, ResOpen>) {
let _hdinfo = await HuoDongFun.getHdidInfo(call, call.req.hdid) let _hdinfo = await HuoDongFun.getHdidInfo(call, call.req.hdid)
@ -22,8 +23,10 @@ export default async function (call: ApiCall<ReqOpen, ResOpen>) {
{upsert: true} {upsert: true}
); );
} }
db = await checkNextRound(call, db, _hdinfo.data.tasks)
let payNum = (await PayFun.getPayDaysAllPayNum(call.uid, _hdinfo.stime, _hdinfo.rtime)) * 10 let payNum = (await PayFun.getPayDaysAllPayNum(call.uid, _hdinfo.stime, _hdinfo.rtime)) * 10
payNum = payNum - (db.round || 0) * R.compose(R.sum(), R.map(i => i.total))(_hdinfo.data.tasks) payNum = payNum - (db.round || 0) * R.sort((a, b) => b.total - a.total)(_hdinfo.data.tasks)[0].total
call.succ({ call.succ({
sTime: sTime, sTime: sTime,

View File

@ -21,25 +21,29 @@ export default async function (call: ApiCall<ReqRec, ResRec>) {
if (db.recIndex.includes(call.req.index)) return call.error('', {code: -2}); if (db.recIndex.includes(call.req.index)) return call.error('', {code: -2});
let payNum = (await PayFun.getPayDaysAllPayNum(call.uid, _hdinfo.stime, _hdinfo.rtime)) * 10; let payNum = (await PayFun.getPayDaysAllPayNum(call.uid, _hdinfo.stime, _hdinfo.rtime)) * 10;
payNum = payNum - (db.round || 0) * R.compose(R.sum(), R.map(i => i.total))(_hdinfo.data.tasks) payNum = payNum - (db.round || 0) * R.sort((a, b) => b.total - a.total)(_hdinfo.data.tasks)[0].total
if (payNum < conf.total) return call.error('', {code: -3}); if (payNum < conf.total) return call.error('', {code: -3});
await PlayerFun.sendPrize(call, conf.prize); await PlayerFun.sendPrize(call, conf.prize);
if (db.recIndex.length + 1 >= _hdinfo.data.tasks.length) { await G.mongodb.cEvent(_dbType).updateOne(
await G.mongodb.cEvent(_dbType).updateOne( {uid: call.uid, type: _dbType},
{uid: call.uid, type: _dbType}, {$push: {recIndex: call.req.index}}
{$set: {recIndex: []}, $inc: {round: 1}} );
);
} else { await checkNextRound(call, db, _hdinfo.data.tasks)
await G.mongodb.cEvent(_dbType).updateOne(
{uid: call.uid, type: _dbType},
{$push: {recIndex: call.req.index}}
);
}
HongDianChange.sendChangeKey(call.uid, ['huodonghd']) HongDianChange.sendChangeKey(call.uid, ['huodonghd'])
call.succ({ call.succ({
prize: conf.prize prize: conf.prize
}); });
}
export async function checkNextRound(call: ApiCall, event, tasks) {
let _dbType: `leijichongzhi${number}` = `leijichongzhi${call.req.hdid}`
if ((event.recIndex.length || 0) < tasks.length) return event
return (await G.mongodb.cEvent(_dbType).findOneAndUpdate(
{uid: call.uid, type: _dbType},
{$set: {recIndex: []}, $inc: {round: 1}}, {returnDocument: 'after'}
)).value;
} }