From 5fabfb2c5ab8ca756f0f58a902bdfb89ce29c3fe Mon Sep 17 00:00:00 2001 From: dy Date: Thu, 14 Dec 2023 18:52:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=A8=E6=9C=AB=E7=A4=BC=E5=8C=85=E7=BA=A2?= =?UTF-8?q?=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api_s2c/event/zhoumolibao/ApiReceive.ts | 5 ++- src/api_s2c/hongdian/ApiGet.ts | 45 +++++++++++--------- src/api_s2c/hongdian/fun.ts | 29 +++++++++---- src/shared/protocols/hongdian/PtlGet.ts | 47 ++++++++++++++++++--- src/shared/protocols/serviceProto.ts | 7 +++ 5 files changed, 97 insertions(+), 36 deletions(-) diff --git a/src/api_s2c/event/zhoumolibao/ApiReceive.ts b/src/api_s2c/event/zhoumolibao/ApiReceive.ts index f9ded9e..895443e 100644 --- a/src/api_s2c/event/zhoumolibao/ApiReceive.ts +++ b/src/api_s2c/event/zhoumolibao/ApiReceive.ts @@ -2,6 +2,7 @@ import {ApiCall} from "tsrpc"; import {ReqReceive, ResReceive} from "../../../shared/protocols/event/zhoumolibao/PtlReceive"; import {HuoDongFun} from "../../../public/huodongfun"; import {PlayerFun} from "../../../public/player"; +import {HongDianChange} from "../../hongdian/fun"; export default async function (call: ApiCall) { // 查询活动是否有当前领奖的免费选项 @@ -18,7 +19,9 @@ export default async function (call: ApiCall) { await G.mongodb.cEvent('zhoumolibao').updateOne({uid: call.uid, type: 'zhoumolibao'}, { $inc: {[`record.${gift.id}`]: 1}, - },{ upsert: true }) + }, {upsert: true}) call.succ({}) + + HongDianChange.sendChangeKey(call.uid, ['zhoumolibao']); } diff --git a/src/api_s2c/hongdian/ApiGet.ts b/src/api_s2c/hongdian/ApiGet.ts index efdbe0e..57898d1 100644 --- a/src/api_s2c/hongdian/ApiGet.ts +++ b/src/api_s2c/hongdian/ApiGet.ts @@ -1,25 +1,25 @@ -import { ApiCall } from "tsrpc"; -import { DiXiaQianZhuangFun } from "../../public/dixiaqianzhuang"; -import { DxltFun } from "../../public/dxlt"; -import { GongHuiFun } from "../../public/gonghui/gonghui"; -import { JJCFun } from "../../public/jjc"; -import { KuangDongfun } from "../../public/kuangdong"; -import { LingZhuLaiXifun } from "../../public/lingzhulaixi"; -import { SignFun } from "../../public/sign"; -import { TaskFun } from "../../public/task"; -import { WangZheRongYaofun } from "../../public/wzry"; -import { XstaskFun } from "../../public/xstask"; -import { ReqGet, ResGet, hongdianKey } from "../../shared/protocols/hongdian/PtlGet"; -import { PublicShared } from '../../shared/public/public'; -import { getShouChongRedPoint } from '../event/shouchong/ApiReceive'; -import { md_redPoint } from '../gongyu/mingdao/ApiOpen'; -import { HongDianFun, HuoDongHongDianFun } from "./fun"; -import { FunWeiXiuChang } from "../../public/weixiuchang"; +import {ApiCall} from "tsrpc"; +import {DiXiaQianZhuangFun} from "../../public/dixiaqianzhuang"; +import {DxltFun} from "../../public/dxlt"; +import {GongHuiFun} from "../../public/gonghui/gonghui"; +import {JJCFun} from "../../public/jjc"; +import {KuangDongfun} from "../../public/kuangdong"; +import {LingZhuLaiXifun} from "../../public/lingzhulaixi"; +import {SignFun} from "../../public/sign"; +import {TaskFun} from "../../public/task"; +import {WangZheRongYaofun} from "../../public/wzry"; +import {XstaskFun} from "../../public/xstask"; +import {ReqGet, ResGet, hongdianKey} from "../../shared/protocols/hongdian/PtlGet"; +import {PublicShared} from '../../shared/public/public'; +import {getShouChongRedPoint} from '../event/shouchong/ApiReceive'; +import {md_redPoint} from '../gongyu/mingdao/ApiOpen'; +import {HongDianFun, HuoDongHongDianFun} from "./fun"; +import {FunWeiXiuChang} from "../../public/weixiuchang"; const defaultKeys: hongdianKey[] = ['jiuba', 'jiaotang', 'shouchong', 'clslhd', 'dixiaqianzhuanghd', 'gonghuihd', 'hbzbhd', 'jjchd', 'taskhd', 'xstaskhd', 'lingzhulaixihd', 'dxlthd', 'wzcjhd', 'slzdhd', 'qjzzdhd', 'kuangdonghd', 'qiandaohd', 'kaifukuanghuanhd', 'jijinhd', 'zhuishalinghd', 'yibaichouhd', 'huobanzhaomuhd', 'qirileichonghd', 'jierihd', 'kbzzhd', 'wzryhd', 'yuedujijin', 'mingdao', 'patahd', - 'heishihd', 'huodonghd', 'renown', 'weixiuchang', 'kaifujingsai']; + 'heishihd', 'huodonghd', 'renown', 'weixiuchang', 'kaifujingsai', 'zhoumolibao']; export default async function (call: ApiCall) { @@ -28,13 +28,13 @@ export default async function (call: ApiCall) { let toDayZeroTime = PublicShared.getToDayZeroTime(); //正常跑完引导的等级 - if(call.conn.gud.lv >= 7){ + if (call.conn.gud.lv >= 7) { for (let key of keys) { switch (key) { case 'jiuba': case 'jiaotang': - let db = await G.mongodb.collection('playerInfo', key).findOne({ uid: call.uid, type: key }); - res[key] = { show: (!db || toDayZeroTime >= db.freeTime) ? true : false }; + let db = await G.mongodb.collection('playerInfo', key).findOne({uid: call.uid, type: key}); + res[key] = {show: (!db || toDayZeroTime >= db.freeTime) ? true : false}; break; case 'shouchong': res[key] = await getShouChongRedPoint(call); @@ -160,6 +160,9 @@ export default async function (call: ApiCall) { case 'kaifujingsai': res[key] = await HongDianFun.kaifujingsai(call); break; + case 'zhoumolibao': + res[key] = await HongDianFun.zhoumolibao(call); + break; } } } diff --git a/src/api_s2c/hongdian/fun.ts b/src/api_s2c/hongdian/fun.ts index cfd992e..867eb16 100644 --- a/src/api_s2c/hongdian/fun.ts +++ b/src/api_s2c/hongdian/fun.ts @@ -20,7 +20,7 @@ import {PlayerFun} from "../../public/player"; import kfjsFun from "../../public/kaifujingsai"; import {RankKfjs} from "../../public/rank/rank_kfjs"; import {ShopFun} from "../../public/shop"; -import { Christmasfun } from '../event/christmas/fun'; +import {Christmasfun} from '../event/christmas/fun'; export class HongDianFun { /**黑榜争霸红点 */ @@ -301,6 +301,18 @@ export class HongDianFun { return {show: true, val: canGet} } + /**周末礼包 */ + static async zhoumolibao(call: ApiCall): Promise { + let _hd = (await HuoDongFun.gethdList(call, 9))[0] + let gift = _hd?.data?.gift?.find(i => i.free) + if (!gift) return {show: false} + + let data = await G.mongodb.cEvent('zhoumolibao').findOne({uid: call.uid, type: 'zhoumolibao'}) + let rec = data?.record?.[gift.id] + if (rec && rec >= gift?.buyNum) return {show: false} + return {show: true} + } + } @@ -708,10 +720,11 @@ export class HuoDongHongDianFun { if (_buyNum < _tmp.buynum) { _res.show = true; return _res; - }} + } + } let _diff = PublicShared.getDiff(stime) // 循环判断是否有可以领取的 - for(let i = 0; i < _diff; i++) { + for (let i = 0; i < _diff; i++) { if (_mydata.qiandao.includes(i)) continue _res.show = true; return _res; @@ -724,15 +737,15 @@ export class HuoDongHongDianFun { return _res; } let zhanling = _hdCon.zhanling - for (let indexzhanling = 0; indexzhanling < zhanling.length; indexzhanling++){ - if (!_mydata.pt.includes(indexzhanling)){ + for (let indexzhanling = 0; indexzhanling < zhanling.length; indexzhanling++) { + if (!_mydata.pt.includes(indexzhanling)) { _res.show = true; return _res; } - if (_mydata.pay && !_mydata.gj.includes(indexzhanling)){ - _res.show = true; + if (_mydata.pay && !_mydata.gj.includes(indexzhanling)) { + _res.show = true; return _res; - } + } } return _res; diff --git a/src/shared/protocols/hongdian/PtlGet.ts b/src/shared/protocols/hongdian/PtlGet.ts index 0265b2c..e09f771 100644 --- a/src/shared/protocols/hongdian/PtlGet.ts +++ b/src/shared/protocols/hongdian/PtlGet.ts @@ -1,5 +1,3 @@ - - /** * 获取红点 */ @@ -13,10 +11,47 @@ export const conf = { timeIntervalLimit: 0 }; -export type hongdianKey = 'jiuba' | 'jiaotang' | 'shouchong' | 'dixiaqianzhuanghd' | 'taskhd' | 'xstaskhd' | 'gonghuihd' | 'jjchd' | 'hbzbhd' | - 'clslhd' | 'lingzhulaixihd' | 'dxlthd' | 'wzcjhd' | 'slzdhd' | 'qjzzdhd' | 'kuangdonghd' | 'qiandaohd' | 'kaifukuanghuanhd' | 'jijinhd' | 'zhuishalinghd' | - 'yibaichouhd' | 'huobanzhaomuhd' | 'qirileichonghd' | 'jierihd' | 'kbzzhd' | 'wzryhd' | 'yuedujijin' | 'patahd' | - 'mingdao' | 'heishihd' |'jitianhaoli'| 'huodonghd' | 'renown' | 'heishiMrjx' | 'weixiuchang' | 'kaifujingsai'; +export type hongdianKey = + 'jiuba' + | 'jiaotang' + | 'shouchong' + | 'dixiaqianzhuanghd' + | 'taskhd' + | 'xstaskhd' + | 'gonghuihd' + | 'jjchd' + | 'hbzbhd' + | + 'clslhd' + | 'lingzhulaixihd' + | 'dxlthd' + | 'wzcjhd' + | 'slzdhd' + | 'qjzzdhd' + | 'kuangdonghd' + | 'qiandaohd' + | 'kaifukuanghuanhd' + | 'jijinhd' + | 'zhuishalinghd' + | + 'yibaichouhd' + | 'huobanzhaomuhd' + | 'qirileichonghd' + | 'jierihd' + | 'kbzzhd' + | 'wzryhd' + | 'yuedujijin' + | 'patahd' + | + 'mingdao' + | 'heishihd' + | 'jitianhaoli' + | 'huodonghd' + | 'renown' + | 'heishiMrjx' + | 'weixiuchang' + | 'kaifujingsai' + | 'zhoumolibao'; export type hongdianVal = { diff --git a/src/shared/protocols/serviceProto.ts b/src/shared/protocols/serviceProto.ts index a0f5597..c984c1b 100644 --- a/src/shared/protocols/serviceProto.ts +++ b/src/shared/protocols/serviceProto.ts @@ -14894,6 +14894,13 @@ export const serviceProto: ServiceProto = { "type": "Literal", "literal": "kaifujingsai" } + }, + { + "id": 36, + "type": { + "type": "Literal", + "literal": "zhoumolibao" + } } ] },