diff --git a/src/api_s2c/event/leichonglibao/ApiOpen.ts b/src/api_s2c/event/leichonglibao/ApiOpen.ts new file mode 100644 index 0000000..b820d52 --- /dev/null +++ b/src/api_s2c/event/leichonglibao/ApiOpen.ts @@ -0,0 +1,21 @@ +import {ApiCall} from "tsrpc"; +import {ReqOpen, ResOpen} from "../../../shared/protocols/event/leichonglibao/PtlOpen"; + +export default async function (call: ApiCall) { + let data = await G.mongodb.cEvent(`leichonglibao${call.req.hdid}`).findOne( + {type: `leichonglibao${call.req.hdid}`, uid: call.uid} + ) + let change = {opentime: G.time} + if (!data) { + Object.assign(change, {sc: false, buy: []}) + } + + // 每天open红点 + G.mongodb.cEvent(`leichonglibao${call.req.hdid}`).updateOne( + {type: `leichonglibao${call.req.hdid}`, uid: call.uid}, {$set: change}, {upsert: true} + ) + + let temp = Object.assign((data || {}), change) as ResOpen & { opentime } + + call.succ({sc: temp.sc, buy: temp.buy}); +} \ No newline at end of file diff --git a/src/api_s2c/event/leichonglibao/ApiReceive.ts b/src/api_s2c/event/leichonglibao/ApiReceive.ts new file mode 100644 index 0000000..2ce441f --- /dev/null +++ b/src/api_s2c/event/leichonglibao/ApiReceive.ts @@ -0,0 +1,120 @@ +import {ApiCall} from "tsrpc"; +import {HuoDongFun} from "../../../public/huodongfun"; +import {ReqReceive, ResReceive} from "../../../shared/protocols/event/leichonglibao/PtlReceive"; +import {PlayerFun} from "../../../public/player"; +import {PublicShared} from "../../../shared/public/public"; + +export type LeiChongLiBaoData = { + intr: string + intr2: string + payRewardNum: number + dlz: { [key: string]: atn }[] + gift: { + id: string, name: string, need: atn[], free: boolean, payId: string, scale: number, buynum: number, prize: atn[] + }[] +} +export default async function (call: ApiCall) { + let hdinfo = await HuoDongFun.gethdList(call, 12); + + if (hdinfo.length <= 0) { + // 无此活动 + return call.error('', {code: -1, message: globalThis.lng.huodong_open_1}) + } + + let hddata = hdinfo.filter(i => i.hdid == call.req.hdid)[0].data as LeiChongLiBaoData; + + let data = await G.mongodb.cEvent(`leichonglibao${call.req.hdid}`).findOne( + {type: `leichonglibao${call.req.hdid}`, uid: call.uid} + ) + + if (data.sc) { + // 自选奖励已领取 + return call.error('', {code: -1, message: globalThis.lng.task_finsh_3}) + } + + if (data.buy.length < hddata.payRewardNum) { + // 累计购买礼包次数不足 + return call.error("", {code: -1, message: globalThis.lng.ljlibaotips_8}) + } + + let _prize: atn[] = []; + for (let i = 0; i < hddata.dlz.length; i++) { + _prize.push(hddata.dlz[i][call.req.select[i] || "1"]) + } + + // 修改领取标识 + await G.mongodb.cEvent(`leichonglibao${call.req.hdid}`).updateOne( + {type: `leichonglibao${call.req.hdid}`, uid: call.uid}, {$set: {sc: true}} + ) + + PlayerFun.sendPrize(call, _prize) + call.succ({prize: _prize}) +} + +export async function LeiChongLiBaoBuyGift(call: ApiCall, payId: string) { + let hdinfo = await HuoDongFun.gethdList(call, 12); + + if (hdinfo.length <= 0) { + console.log(call.uid, "购买累充礼包 但是活动没有开启", payId); + return + } + + let gift: LeiChongLiBaoData["gift"][0]; + + let hdid = hdinfo[0].hdid; + let hddata = hdinfo[0].data as LeiChongLiBaoData; + for (let g of hddata.gift) { + if (g.payId == payId) { + gift = g; + break; + } + } + + if (!gift) return; // 不是购买累充礼包 + + let mydata = await G.mongodb.cEvent(`leichonglibao${hdid}`).findOne( + {type: `leichonglibao${hdid}`, uid: call.uid} + ) + + if (mydata && mydata.buy.includes(gift.payId)) { + console.log(call.uid, "购买累充礼包 重复购买", payId); + return + } + + let update; + if (mydata) { + update = {$push: {buy: payId}} + } else { + update = {$set: {opentime: G.time, sc: false, buy: [payId]}} + } + + PlayerFun.sendPrize(call, gift.prize) + G.mongodb.cEvent(`leichonglibao${hdid}`).updateOne( + {uid: call.uid, type: `leichonglibao${hdid}`}, update + ) +} + +export async function LeiChongLiBaoGetHongDian(call: ApiCall) { + let hdinfo = await HuoDongFun.gethdList(call, 12); + + if (hdinfo.length <= 0) { + return {show: false} + } + + let hdid = hdinfo[0].hdid; + let hddata = hdinfo[0].data as LeiChongLiBaoData; + + let mydata = await G.mongodb.cEvent(`leichonglibao${hdid}`).findOne( + {type: `leichonglibao${hdid}`, uid: call.uid} + ) + + if (!mydata || mydata.opentime < PublicShared.getToDayZeroTime()) { + return {show: true} + } + + if (!mydata.sc && mydata.buy.length >= hddata.payRewardNum) { + return {show: true} + } + + return {show: false} +} \ No newline at end of file diff --git a/src/api_s2c/hero/ApiGetList.ts b/src/api_s2c/hero/ApiGetList.ts index c0882cb..5cc5a8f 100644 --- a/src/api_s2c/hero/ApiGetList.ts +++ b/src/api_s2c/hero/ApiGetList.ts @@ -1,11 +1,12 @@ -import { ApiCall } from "tsrpc"; -import { RedisCollections2 } from '../../module/redis'; -import { ReqGetList, ResGetList } from "../../shared/protocols/hero/PtlGetList"; +import {ApiCall} from "tsrpc"; +import {RedisCollections2} from '../../module/redis'; +import {ReqGetList, ResGetList} from "../../shared/protocols/hero/PtlGetList"; +import {PeijianShared} from "../../shared/public/peijian"; export default async function (call: ApiCall) { let list: ResGetList['list'] = {}; //let kvList: k_v = {}; - let arrList = await G.mongodb.collection('hero').find({ uid: call.uid }).toArray(); + let arrList = await G.mongodb.collection('hero').find({uid: call.uid}).toArray(); let heroCon = G.gc.hero; let color = {}; @@ -19,14 +20,47 @@ export default async function (call: ApiCall) { if (!color[heroCon[v.heroId].colour]) color[heroCon[v.heroId].colour] = 0; color[heroCon[v.heroId].colour] += 1; }); + + // 修复配件数据 + let peijianids = []; + Object.values(list).map(hero => { + hero.peijian && Object.values(hero.peijian).map( + i => peijianids.push(G.mongodb.conversionId(PeijianShared.fmt(i)._id)) + ) + }); + + let peijians = (await G.mongodb.collection("peijian").find( + {uid: call.uid, _id: {$in: peijianids}}, {projection: {_id: 1}} + ).toArray()).map(temp => G.mongodb.conversionId(temp._id)); + + let changes = {}; + Object.values(list).map(hero => { + for (let pos in hero.peijian) { + if (!peijians.includes(PeijianShared.fmt(hero.peijian[pos])._id)) { + hero.peijian[pos] = ""; + changes[hero._id] = hero.peijian; + } + } + }) + + for (let oid in changes) { + // 修复数据 + G.mongodb.collection("hero").updateOne( + G.mongodb.conversionIdObj({_id: oid}), {$set: {peijian: changes[oid]}} + ) + } + // 记录玩家最大等级,颜色相关数据 注册任务用 - await G.mongodb.collection('playerInfo', 'usertasklog').updateOne({ uid: call.conn.uid, type: 'usertasklog' }, - { $set: { maxherolv: maxherolv, herocolor: color } }, { upsert: true }); + await G.mongodb.collection('playerInfo', 'usertasklog').updateOne({uid: call.conn.uid, type: 'usertasklog'}, + {$set: {maxherolv: maxherolv, herocolor: color}}, {upsert: true}); //G.redis.set('hero', call.uid, kvList); - let recLshd = await G.mongodb.collection('playerInfo', 'lshd_hero').findOne({ uid: call.conn.uid, type: 'lshd_hero' }); - let { uid, _id, type, ...heros } = (recLshd || {}); + let recLshd = await G.mongodb.collection('playerInfo', 'lshd_hero').findOne({ + uid: call.conn.uid, + type: 'lshd_hero' + }); + let {uid, _id, type, ...heros} = (recLshd || {}); call.conn.lshd.hero = heros || {}; @@ -34,6 +68,6 @@ export default async function (call: ApiCall) { list: list, pos: call.conn.heroPos, lshd: heros || {}, - gbzj: (await G.mongodb.cPlayerInfo('gbzj').findOne({ uid: call.uid, type: 'gbzj' }))?.rec || {} + gbzj: (await G.mongodb.cPlayerInfo('gbzj').findOne({uid: call.uid, type: 'gbzj'}))?.rec || {} }); } \ No newline at end of file diff --git a/src/api_s2c/hongdian/ApiGet.ts b/src/api_s2c/hongdian/ApiGet.ts index 036fb88..8a94b70 100644 --- a/src/api_s2c/hongdian/ApiGet.ts +++ b/src/api_s2c/hongdian/ApiGet.ts @@ -15,12 +15,13 @@ import {md_redPoint} from '../gongyu/mingdao/ApiOpen'; import {HongDianFun, HuoDongHongDianFun} from "./fun"; import {FunWeiXiuChang} from "../../public/weixiuchang"; import {getShouChongRedPoint} from "../event/shouchong/ApiReceive"; +import {LeiChongLiBaoGetHongDian} from "../event/leichonglibao/ApiReceive"; import { playerCanReceive } from '../event/payForDiamond/ApiCanReceive'; 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', 'zhoumolibao', 'pobinglibao', 'payForDiamond']; + 'heishihd', 'huodonghd', 'renown', 'weixiuchang', 'kaifujingsai', 'zhoumolibao', 'pobinglibao', 'leichonglibao', 'payForDiamond']; export default async function (call: ApiCall) { @@ -164,6 +165,9 @@ export default async function (call: ApiCall) { case 'zhoumolibao': res[key] = await HongDianFun.zhoumolibao(call); break; + case "leichonglibao": + res[key] = await LeiChongLiBaoGetHongDian(call) + break; case 'payForDiamond': const receiveResult = await playerCanReceive(call, false); res[key] = { show: receiveResult && receiveResult.result }; diff --git a/src/api_s2c/hongdian/fun.ts b/src/api_s2c/hongdian/fun.ts index 7fff576..215f1f0 100644 --- a/src/api_s2c/hongdian/fun.ts +++ b/src/api_s2c/hongdian/fun.ts @@ -365,7 +365,6 @@ export class HuoDongHongDianFun { // 检测 htype 8 圣诞活动红点 ishd = await this.christmasHongDian(call, element) } - if (element.htype == 10) { // 检测 htype 10 破冰活动红点 ishd = await this.pobinglibao(call, element) diff --git a/src/api_s2c/jiuba/ApiLottery.ts b/src/api_s2c/jiuba/ApiLottery.ts index 968cd79..89266e0 100644 --- a/src/api_s2c/jiuba/ApiLottery.ts +++ b/src/api_s2c/jiuba/ApiLottery.ts @@ -9,6 +9,7 @@ import {ReqLottery, ResLottery} from "../../shared/protocols/jiuba/PtlLottery"; import {PublicShared} from '../../shared/public/public'; import {HongDianChange} from '../hongdian/fun'; import {RankKfjs} from "../../public/rank/rank_kfjs"; +import {PushGiftFun} from "../../public/pushgift"; export default async function (call: ApiCall) { @@ -142,4 +143,8 @@ export default async function (call: ApiCall) { valArr: [await rankKfjs.getRankScore(call.uid) + call.req.type] }); + // 十连抽推送礼包 + if (call.req.type == 10) { + PushGiftFun.chkRecruitGift(call.uid) + } } \ No newline at end of file diff --git a/src/api_s2c/user/ApiLogin.ts b/src/api_s2c/user/ApiLogin.ts index 33ef532..6b54a15 100644 --- a/src/api_s2c/user/ApiLogin.ts +++ b/src/api_s2c/user/ApiLogin.ts @@ -132,6 +132,9 @@ async function doLogin(call: ApiCall) { //await G.redis.set('user', gud.uid, gud); await initGud(gud.uid, gud); + // 修复公会id + await fixUnionData(gud); + //记录玩家所在的进程,change: 更换到处理完踢线操作在写入。 // setUidProcessId(gud.uid); @@ -278,4 +281,19 @@ async function LoginFun(call: ApiCall) { // // G.mongodb.collection("hero").findOneAndUpdate({_id: i._id}, {$set: {shiwu: shiwuChange}}) // }) -// } \ No newline at end of file +// } + +// 修复玩家退出公会 但是gud中残留公会id +async function fixUnionData(gud: ResLogin["gud"]) { + if (gud.ghId) { + let ghdata = await G.mongodb.collection("gonghui").findOne( + {_id: G.mongodb.conversionId(gud.ghId), 'players.uid': gud.uid} + ) + if (!ghdata) { + gud.ghId = ""; + gud.ghName = ""; + gud.ghLevel = 0; + PlayerFun.changeAttr(gud.uid, {ghId: '', ghLevel: 0}) + } + } +} \ No newline at end of file diff --git a/src/fix_patch/patch_20231215.ts b/src/fix_patch/patch_20231215.ts new file mode 100644 index 0000000..0a77b3d --- /dev/null +++ b/src/fix_patch/patch_20231215.ts @@ -0,0 +1,1932 @@ +import {ctor} from "../global"; +import {initMongoDB} from "../setMongodb"; +import {ReqEmail} from "../monopoly/protocols/PtlEmail"; +import {MsgEmail} from "../shared/protocols/msg_s2c/MsgEmail"; +import {yangchengmubiao} from "../shared/protocols/event/yangchengmubiao/PtlOpen"; + + +/** + * 标题:首充优化 + * 日語:初回チャージ仕様改善 + * 繁體:首儲機制改善 + * 韓国語: 초회 충전 시스템 개선 + * 英語: First Top-Up optimization + * + * 內文:这是您的补偿,请查收! + * 日語:仕様改善に伴う補填を発送させていただきました。ご確認ください。 + * 繁體中文:這是您的補償內容,煩請查收! + * 韓国語:투자 시스템 개선으로 인한 보상을 보내드립니다. + * 英語: Please find attached a few items as a compensation for the wait during our adjustments. + * + * 线上玩家脚本 + * 1、已激活首充档位且没领完3天奖励的玩家,邮件补发剩下的奖励 + * 2、重置所有玩家首充活动到新版本状态*/ + +async function addEmail(email: ReqEmail) { + let {prize, uid, ...e} = email; + let sendEmail: MsgEmail = { + _id: null, + uid: uid, + type: e.type, + title: e.title, + content: e.content, + createTime: G.time, + contentInsertArr: e.contentInsertArr || [] + }; + + if (email.lngTitle) { + sendEmail.lngTitle = email.lngTitle; + sendEmail.lngContent = email.lngContent; + } + + if ((prize === null || prize === void 0 ? void 0 : prize.length) > 0) { + sendEmail.prizeData = { + prize: email.prize, + isGet: false + }; + } + + if (email.g123log && Object.keys(email.g123log).length > 0) { + sendEmail.g123log = email.g123log; + } + await G.mongodb.collection('email').insertOne({ + ttl: new Date(), ...G.mongodb.conversionIdObj(sendEmail) + }) +} + +async function shouChongReSet() { + let shouchong = { + "shouchong1": { + "paynum": 6, + "cartoon": { + "hero": 5001 + }, + "prize": [ + [ + { + "a": "hero", + "t": "5001", + "n": 1 + }, + { + "a": "attr", + "t": "jinbi", + "n": 100000 + } + ], + [ + { + "a": "item", + "t": "12", + "n": 200 + }, + { + "a": "attr", + "t": "jinbi", + "n": 200000 + } + ], + [ + { + "a": "item", + "t": "12", + "n": 200 + }, + { + "a": "attr", + "t": "jinbi", + "n": 300000 + } + ] + ] + }, + "shouchong2": { + "paynum": 30, + "cartoon": { + "img": 5001 + }, + "prize": [ + [ + { + "a": "equip", + "t": "1009", + "n": 1 + }, + { + "a": "equip", + "t": "2009", + "n": 1 + } + ], + [ + { + "a": "equip", + "t": "3009", + "n": 1 + }, + { + "a": "item", + "t": "2", + "n": 1000 + } + ], + [ + { + "a": "equip", + "t": "4009", + "n": 1 + }, + { + "a": "item", + "t": "2", + "n": 1000 + } + ] + ] + }, + "shouchong3": { + "paynum": 98, + "cartoon": { + "hero": 5002 + }, + "prize": [ + [ + { + "a": "hero", + "t": "5002", + "n": 1 + }, + { + "a": "item", + "t": "4", + "n": 10 + } + ], + [ + { + "a": "equip", + "t": "1010", + "n": 1 + }, + { + "a": "item", + "t": "2", + "n": 2000 + } + ], + [ + { + "a": "equip", + "t": "3010", + "n": 1 + }, + { + "a": "item", + "t": "2", + "n": 2000 + } + ] + ] + } + }; + let users = await G.mongodb.collection("user").find({}, { + projection: {uid: 1, payExp: 1} + }).toArray(); + + for (let i = 0; i < users.length; i++) { + let user = users[i]; + let data = await G.mongodb.cEvent("shouchong").findOne({ + uid: user.uid, + type: "shouchong", + }); + + if (!data) { + data = {uid: user.uid, receive: {}, type: "shouchong", _id: G.mongodb.conversionId("")}; + } + + let send_prize = []; + for (let key in shouchong) { + // 充值不足 + if (user.payExp < shouchong[key]["paynum"] * 10) { + continue + } + + // 奖励已经领取完毕 + if (data?.receive && data.receive[key] && data.receive[key].length >= shouchong[key]["prize"].length) { + continue + } + + // 补发未领取奖励 + for (let i = 0; i < shouchong[key]["prize"].length; i++) { + if (data?.receive && data.receive[key] && data.receive[key][i]) { + continue + } + + if (!data.receive[key]) { + data.receive[key] = []; + } + data.receive[key][i] = G.time; + send_prize = send_prize.concat(shouchong[key]["prize"][i]); + } + } + if (send_prize.length <= 0) continue; + + let title = "首充优化"; + let content = "这是您的补偿,请查收!"; + + let lngTitle = { + "en": "First Top-Up optimization", + "ja": "初回チャージ仕様改善", + "ko": "초회 충전 시스템 개선", + "zh-TW": "首儲機制改善" + }; + let lngContent = { + "en": "Please find attached a few items as a compensation for the wait during our adjustments.", + "ja": "仕様改善に伴う補填を発送させていただきました。ご確認ください。", + "ko": "투자 시스템 개선으로 인한 보상을 보내드립니다.", + "zh-TW": "這是您的補償內容,煩請查收!", + }; + + // 发放邮件 + await addEmail({ + uid: user.uid, + type: "system", + title: title, + content: content, + prize: send_prize, + lngTitle: lngTitle, + lngContent: lngContent, + }); + // 设置奖励发放记录 + await G.mongodb.cEvent("shouchong").updateOne({ + uid: user.uid, + type: "shouchong", + }, {"$set": {receive: data.receive, patch: 1}}, {upsert: true}); + + console.log(`玩家${user.uid}首充奖励补发完成...`); + } +} + + +/** + * "zhizunyueka" + 标题:至尊月卡优化 + 日語:豪華月パス仕様改善 + 繁體:至尊月卡改善 + 韓国語:고급 월간 패스 시스템 개선 + 英語: Luxurious Monthly Pass optimization + + 邮件内容:这是您的补偿,请查收! + 日語:仕様改善に伴う補填を発送させていただきました。ご確認ください。 + 繁體中文:這是您的補償內容,煩請查收! + 韓国語:투자 시스템 개선으로 인한 보상을 보내드립니다. + 英語: Please find attached a few items as a compensation for the wait during our adjustments. + + 线上玩家脚本: + 线上已购买至尊月卡的玩家,脚本补发:钻石*10000 + **/ +async function zhizunyueka() { + let w = { + key: "zhizunyueka", + del_time: {$exists: false} + }; + let users = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter( + // 过滤没有结束时间 或者 有结束时间 但是没有过期的 + (pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time) + ); + + let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {}; + users.forEach(user => { + let uid = user.uid; + if (!uid2Prize[uid]) uid2Prize[uid] = []; + uid2Prize[uid].push({a: "attr", t: "rmbmoney", n: 10000}); + }); + + let title = "至尊月卡优化"; + let content = "这是您的补偿,请查收!"; + let lngTitle = { + "en": "Luxurious Monthly Pass optimization", + "ja": "豪華月パス仕様改善", + "ko": "고급 월간 패스 시스템 개선", + "zh-TW": "至尊月卡改善", + }; + let lngContent = { + "en": "Please find attached a few items as a compensation for the wait during our adjustments.", + "ja": "仕様改善に伴う補填を発送させていただきました。ご確認ください。", + "ko": "투자 시스템 개선으로 인한 보상을 보내드립니다.", + "zh-TW": "這是您的補償內容,煩請查收!", + }; + + for (const [uid, sendPrize] of Object.entries(uid2Prize)) { + // 发放邮件 + await addEmail({ + uid: uid, + type: "system", + title: title, + content: content, + prize: sendPrize, + lngTitle: lngTitle, + lngContent: lngContent, + }); + + // 处理重复执行 + await G.mongodb.collection("payLogNew").updateMany( + Object.assign({uid: uid}, w), {$set: {patch: 1}} + ) + + console.log(`玩家${uid}至尊月卡奖励补发完成...`); + } +} + +/** + * "chaozhiyueka" + 标题 超值月卡优化 + ja:お得月パス仕様改善 + zh-TW:超值月卡改善 + ko:월간 패스 시스템 개선 + en: Value Monthly Pass optimization + + 內文: + 这是您的补偿,请查收! + ja:仕様改善に伴う補填を発送させていただきました。ご確認ください。 + zh-TW:這是您的補償內容,煩請查收! + ko:투자 시스템 개선으로 인한 보상을 보내드립니다. + en: Please find attached a few items as a compensation for the wait during our adjustments. + + 线上已购买超值月卡的玩家,脚本补发:招募卡*30 + **/ +async function chaozhiyueka() { + let w = { + key: "chaozhiyueka", + del_time: {$exists: false} + }; + let users = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter( + // 过滤没有结束时间 或者 有结束时间 但是没有过期的 + (pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time) + ); + + let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {}; + users.forEach(user => { + let uid = user.uid; + if (!uid2Prize[uid]) uid2Prize[uid] = []; + uid2Prize[uid].push({a: "item", t: "4", n: 30}); + }); + + let title = "超值月卡优化"; + let content = "这是您的补偿,请查收!"; + let lngTitle = { + "ja": "お得月パス仕様改善", + "zh-TW": "超值月卡改善", + "ko": "월간 패스 시스템 개선", + "en": "Value Monthly Pass optimization", + }; + let lngContent = { + "en": "Please find attached a few items as a compensation for the wait during our adjustments.", + "ja": "仕様改善に伴う補填を発送させていただきました。ご確認ください。", + "ko": "투자 시스템 개선으로 인한 보상을 보내드립니다.", + "zh-TW": "這是您的補償內容,煩請查收!" + }; + + for (const [uid, sendPrize] of Object.entries(uid2Prize)) { + // 发放邮件 + await addEmail({ + uid: uid, + type: "system", + title: title, + content: content, + prize: sendPrize, + lngTitle: lngTitle, + lngContent: lngContent, + }); + + // 处理重复执行 + await G.mongodb.collection("payLogNew").updateMany( + Object.assign({uid: uid}, w), {$set: {patch: 1}} + ) + + console.log(`玩家${uid}超值月卡奖励补发完成...`); + } +} + +/** + * "zhongshenka" + 标题:终身卡优化 + ja:永久パス仕様改善 + zh-TW:永久通行證改善 + ko:영구 패스 시스템 개선 + en: Lifetime Pass optimization + + 內文: 这是您的补偿,请查收! + ja:仕様改善に伴う補填を発送させていただきました。ご確認ください。 + zh-TW:這是您的補償內容,煩請查收! + ko:투자 시스템 개선으로 인한 보상을 보내드립니다. + en: Please find attached a few items as a compensation for the wait during our adjustments. + + 线上已购买永久卡的玩家,脚本补发:汉塞尔1,能量饮料500w + **/ +async function zhongshenka() { + let w = { + key: "zhongshenka", + del_time: {$exists: false} + }; + let users = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter( + // 过滤没有结束时间 或者 有结束时间 但是没有过期的 + (pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time) + ); + + let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {}; + users.forEach(user => { + let uid = user.uid; + if (!uid2Prize[uid]) uid2Prize[uid] = []; + uid2Prize[uid].push({"a": "item", "t": "1", "n": 5000000}) + uid2Prize[uid].push({a: "hero", t: "4012", n: 1}) + }); + + let title = "终身卡优化"; + let content = "这是您的补偿,请查收!"; + let lngTitle = { + "ja": "永久パス仕様改善", + "zh-TW": "永久通行證改善", + "ko": "영구 패스 시스템 개선", + "en": "Lifetime Pass optimization", + }; + let lngContent = { + "en": "Please find attached a few items as a compensation for the wait during our adjustments.", + "ja": "仕様改善に伴う補填を発送させていただきました。ご確認ください。", + "ko": "투자 시스템 개선으로 인한 보상을 보내드립니다.", + "zh-TW": "這是您的補償內容,煩請查收!" + }; + + for (const [uid, sendPrize] of Object.entries(uid2Prize)) { + // 发放邮件 + await addEmail({ + uid: uid, + type: "system", + title: title, + content: content, + prize: sendPrize, + lngTitle: lngTitle, + lngContent: lngContent, + }); + + // 处理重复执行 + await G.mongodb.collection("payLogNew").updateMany( + Object.assign({uid: uid}, w), {$set: {patch: 1}} + ) + + console.log(`玩家${uid}终身卡奖励补发完成...`); + } +} + + +/** + "qingbaotequan" + 标题:资讯特权优化 + ja:情報特権仕様改善 + zh-TW:資訊特權改善 + ko:정보 특권 시스템 개선 + en: Intel Benefit optimization + + 內文:这是您的补偿,请查收! + ja:仕様改善に伴う補填を発送させていただきました。ご確認ください。 + zh-TW:這是您的補償內容,煩請查收! + ko:투자 시스템 개선으로 인한 보상을 보내드립니다. + en: Please find attached a few items as a compensation for the wait during our adjustments. + + 线上玩家脚本 + 1、特权内容:已购买特权的玩家,特权效果更新,不重置时间 + 2、已购买资讯特权的玩家,脚本补发:钻石*680,顶级紫色套装*1 + * */ +async function qingbaotequan() { + let w = { + key: "qingbaotequan", + patch: {$exists: false}, + del_time: {$exists: false} + }; + let users = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter( + // 过滤没有结束时间 或者 有结束时间 但是没有过期的 + (pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time) + ); + + let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {}; + users.forEach(user => { + let uid = user.uid; + + if (!uid2Prize[uid]) uid2Prize[uid] = []; + uid2Prize[uid].push({"a": "attr", "t": "rmbmoney", "n": 680}); + uid2Prize[uid].push({"a": "item", "t": "609", "n": 1}); + }); + + let title = "资讯特权优化"; + let content = "这是您的补偿,请查收!"; + let lngTitle = { + "ja": "情報特権仕様改善", + "zh-TW": "資訊特權改善", + "ko": "정보 특권 시스템 개선", + "en": "Intel Benefit optimization", + }; + let lngContent = { + "en": "Please find attached a few items as a compensation for the wait during our adjustments.", + "ja": "仕様改善に伴う補填を発送させていただきました。ご確認ください。", + "ko": "투자 시스템 개선으로 인한 보상을 보내드립니다.", + "zh-TW": "這是您的補償內容,煩請查收!" + }; + for (const [uid, sendPrize] of Object.entries(uid2Prize)) { + // 发放邮件 + await addEmail({ + uid: uid, + type: "system", + title: title, + content: content, + prize: sendPrize, + lngTitle: lngTitle, + lngContent: lngContent, + }); + await G.mongodb.collection("payLogNew").updateMany( + Object.assign({uid: uid}, w), {$set: {patch: 1}} + ) + + console.log(`玩家${uid}特权奖励补发完成...`); + } +} + +/** + "zuozhantequan" + 标题:作战特权优化 + ja:作戦特権仕様改善 + zh-TW:作戰特權改善 + ko:작전 특권 시스템 개선 + en: Strategy Benefit optimization + + 內文:这是您的补偿,请查收! + ja:仕様改善に伴う補填を発送させていただきました。ご確認ください。 + zh-TW:這是您的補償內容,煩請查收! + ko:투자 시스템 개선으로 인한 보상을 보내드립니다. + en: Please find attached a few items as a compensation for the wait during our adjustments. + + 线上玩家脚本 + 1、特权内容:已购买特权的玩家,特权效果更新,不重置时间 + 2、已购买快速特权的玩家,脚本补发:钻石300,快速探险券30 + * */ +async function zuozhantequan() { + let w = { + key: "zuozhantequan", + patch: {$exists: false}, + del_time: {$exists: false} + }; + let users = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter( + // 过滤没有结束时间 或者 有结束时间 但是没有过期的 + (pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time) + ); + + let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {}; + users.forEach(user => { + let uid = user.uid; + + if (!uid2Prize[uid]) uid2Prize[uid] = []; + uid2Prize[uid].push({"a": "item", "t": "24", "n": 30}); + uid2Prize[uid].push({"a": "attr", "t": "rmbmoney", "n": 300}); + }); + + let title = "作战特权优化"; + let content = "这是您的补偿,请查收!"; + let lngTitle = { + "ja": "作戦特権仕様改善", + "zh-TW": "作戰特權改善", + "ko": "작전 특권 시스템 개선", + "en": "Strategy Benefit optimization", + }; + let lngContent = { + "en": "Please find attached a few items as a compensation for the wait during our adjustments.", + "ja": "仕様改善に伴う補填を発送させていただきました。ご確認ください。", + "ko": "투자 시스템 개선으로 인한 보상을 보내드립니다.", + "zh-TW": "這是您的補償內容,煩請查收!" + }; + for (const [uid, sendPrize] of Object.entries(uid2Prize)) { + // 发放邮件 + await addEmail({ + uid: uid, + type: "system", + title: title, + content: content, + prize: sendPrize, + lngTitle: lngTitle, + lngContent: lngContent, + }); + await G.mongodb.collection("payLogNew").updateMany( + Object.assign({uid: uid}, w), {$set: {patch: 1}} + ) + + console.log(`玩家${uid}特权奖励补发完成...`); + } +} + +/** + "caifutequan" + 标题:资产特权优化 + ja:資産特権仕様改善 + zh-TW:資産特權改善 + ko:자산 특권 시스템 개선 + en: Asset Benefit optimization + + 內文:这是您的补偿,请查收! + ja:仕様改善に伴う補填を発送させていただきました。ご確認ください。 + zh-TW:這是您的補償內容,煩請查收! + ko:투자 시스템 개선으로 인한 보상을 보내드립니다. + en: Please find attached a few items as a compensation for the wait during our adjustments. + + 线上玩家脚本 + 1、特权内容:已购买特权的玩家,特权效果更新,不重置时间 + 2、已购买资产特权的玩家,脚本补发:钻石*300,美金*1000万 + * */ +async function caifutequan() { + let w = { + key: "caifutequan", + patch: {$exists: false}, + del_time: {$exists: false} + }; + let users = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter( + // 过滤没有结束时间 或者 有结束时间 但是没有过期的 + (pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time) + ); + + let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {}; + users.forEach(user => { + let uid = user.uid; + + if (!uid2Prize[uid]) uid2Prize[uid] = []; + uid2Prize[uid].push({"a": "attr", "t": "rmbmoney", "n": 300}) + uid2Prize[uid].push({"a": "attr", "t": "jinbi", "n": 10000000}) + }); + + let title = "资产特权优化"; + let content = "这是您的补偿,请查收!"; + let lngTitle = { + "ja": "資産特権仕様改善", + "zh-TW": "資産特權改善", + "ko": "자산 특권 시스템 개선", + "en": "Asset Benefit optimization", + }; + let lngContent = { + "en": "Please find attached a few items as a compensation for the wait during our adjustments.", + "ja": "仕様改善に伴う補填を発送させていただきました。ご確認ください。", + "ko": "투자 시스템 개선으로 인한 보상을 보내드립니다.", + "zh-TW": "這是您的補償內容,煩請查收!" + }; + for (const [uid, sendPrize] of Object.entries(uid2Prize)) { + // 发放邮件 + await addEmail({ + uid: uid, + type: "system", + title: title, + content: content, + prize: sendPrize, + lngTitle: lngTitle, + lngContent: lngContent, + }); + await G.mongodb.collection("payLogNew").updateMany( + Object.assign({uid: uid}, w), {$set: {patch: 1}} + ) + + console.log(`玩家${uid}资产特权奖励补发完成...`); + } +} + +/** + "jiubatequan" + 标题:抽奖特权优化 + ja:ガチャ特権仕様改善 + zh-TW:抽獎特權改善 + ko:모집 특권 시스템 개선 + en: Gacha Benefit optimization + + 內文:这是您的补偿,请查收! + ja:仕様改善に伴う補填を発送させていただきました。ご確認ください。 + zh-TW:這是您的補償內容,煩請查收! + ko:투자 시스템 개선으로 인한 보상을 보내드립니다. + en: Please find attached a few items as a compensation for the wait during our adjustments. + + 线上玩家脚本 + 1、特权内容:已购买特权的玩家,特权效果更新,不重置时间 + 2、已购买抽奖特权的玩家,脚本补发:钻石*680,招募卡*10 + * */ +async function jiubatequan() { + let w = { + key: "jiubatequan", + patch: {$exists: false}, + del_time: {$exists: false} + }; + let users = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter( + // 过滤没有结束时间 或者 有结束时间 但是没有过期的 + (pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time) + ); + + let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {}; + users.forEach(user => { + let uid = user.uid; + + if (!uid2Prize[uid]) uid2Prize[uid] = []; + uid2Prize[uid].push({"a": "item", "t": "4", "n": 10}); + uid2Prize[uid].push({"a": "attr", "t": "rmbmoney", "n": 680}); + }); + + let title = "抽奖特权优化"; + let content = "这是您的补偿,请查收!"; + let lngTitle = { + "ja": "ガチャ特権仕様改善", + "zh-TW": "抽獎特權改善", + "ko": "모집 특권 시스템 개선", + "en": "Gacha Benefit optimization", + }; + let lngContent = { + "en": "Please find attached a few items as a compensation for the wait during our adjustments.", + "ja": "仕様改善に伴う補填を発送させていただきました。ご確認ください。", + "ko": "투자 시스템 개선으로 인한 보상을 보내드립니다.", + "zh-TW": "這是您的補償內容,煩請查收!" + }; + for (const [uid, sendPrize] of Object.entries(uid2Prize)) { + // 发放邮件 + await addEmail({ + uid: uid, + type: "system", + title: title, + content: content, + prize: sendPrize, + lngTitle: lngTitle, + lngContent: lngContent, + }); + await G.mongodb.collection("payLogNew").updateMany( + Object.assign({uid: uid}, w), {$set: {patch: 1}} + ) + + console.log(`玩家${uid}抽奖特权奖励补发完成...`); + } +} + +/** + 不需要给玩家发送邮件 + + 线上玩家脚本 + 刷新所有玩家各档位VIP礼包到未购买状态 + **/ +async function resetVipLiBao() { + await G.mongodb.cPlayerInfo("chongzhi").updateMany( + {type: 'chongzhi'}, {$set: {giftBy: {}}} + ) +} + + +/** + 人才计划调整 + 1、线上已有该活动的玩家,保留次数进度;达到新加档位可领取的奖励则直接领取 + **/ +async function rcjhReSet() { + const hdid = [100, 101]; + const task = { + '2001': { + 'prize': [{'a': 'item', 't': '4', 'n': 5}, {'a': 'item', 't': '626', 'n': 10}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 50, + 'cond': [], + 'stype': 118 + }, + '2002': { + 'prize': [{'a': 'item', 't': '4', 'n': 5}, {'a': 'item', 't': '626', 'n': 10}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 100, + 'cond': [], + 'stype': 118 + }, + '2003': { + 'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '626', 'n': 20}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 200, + 'cond': [], + 'stype': 118 + }, + '2004': { + 'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '600', 'n': 20}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 250, + 'cond': [], + 'stype': 118 + }, + '2005': { + 'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '600', 'n': 20}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 300, + 'cond': [], + 'stype': 118 + }, + '2006': { + 'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '619', 'n': 1}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 400, + 'cond': [], + 'stype': 118 + }, + '2007': { + 'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '619', 'n': 1}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 500, + 'cond': [], + 'stype': 118 + } + }; + // 中间插入了2004 所以之前的任务id一次往后顺延 + const change = {2004: 2005, 2005: 2006, 2006: 2007}; + // 刷新活动配置 + await G.mongodb.collection("hdinfo").updateOne({hdid: {$in: hdid}}, { + "$set": {'data.tasklist.2': task} + }) + + let datas: yangchengmubiao[] = []; + // 刷新玩家领取记录 + datas = datas.concat(await G.mongodb.cEvent(`yangchengmubiao${hdid[0]}`).find( + {type: `yangchengmubiao${hdid[0]}`} + ).toArray()); + datas = datas.concat(await G.mongodb.cEvent(`yangchengmubiao${hdid[1]}`).find( + {type: `yangchengmubiao${hdid[1]}`} + ).toArray()); + for (let i = 0; i < datas.length; i++) { + let data = datas[i]; + let finished = data.finishid["2"].map((task) => { + return change[task] ? change[task] : task + }); + let maxtaskval = Math.max(...Object.values(data.taskval)); + let taskval = Object.assign(Object.keys(task).map((taskid) => { + return {[taskid]: maxtaskval} + })); + await G.mongodb.collection("event").updateOne( + {uid: data.uid, type: data.type}, {$set: {taskval: taskval, "finishid.2": finished}} + ) + console.log(`修复玩家${data.uid}人才计划数据完成...`); + } +} + + +/** + * 标题:等级基金优化 + * ja:レベル投資仕様改善 + * zh-TW:等級基金改善 + * ko:레벨 투자 시스템 개선 + * en: Level Investment optimization + + * 內文: + * 这是您的补偿,请查收! + * ja:仕様改善に伴う補填を発送させていただきました。ご確認ください。 + * zh-TW:這是您的補償內容,煩請查收! + * ko:투자 시스템 개선으로 인한 보상을 보내드립니다. + * en: Please find attached a few items as a compensation for the wait during our adjustments. + + * 线上玩家脚本 + * 1、已购买等级基金的玩家且未领取完成的玩家,剩余奖励邮件一次性补发; + * 2、未购买的玩家活动刷新到新版本; + * 3、刷新等级基金到未购买状态; + */ +async function dengjiJiJinReSet() { + let w = {key: "dengjijijin", del_time: {$exists: false}} + // 激活了的玩家 + let _payList = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter( + // 过滤没有结束时间 或者 有结束时间 但是没有过期的 + (pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time) + ); + + const prizeList = [ + { + "type": "dengjijijin", + "total": 20, + "pt": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 300 + } + ], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 1700 + } + ] + }, + { + "type": "dengjijijin", + "total": 25, + "pt": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 300 + } + ], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 1700 + } + ] + }, + { + "type": "dengjijijin", + "total": 30, + "pt": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 300 + } + ], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 1700 + } + ] + }, + + { + "type": "dengjijijin", + "total": 35, + "pt": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 300 + } + ], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 1700 + } + ] + }, + { + "type": "dengjijijin", + "total": 40, + "pt": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 300 + } + ], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 1700 + } + ] + }, + { + "type": "dengjijijin", + "total": 45, + "pt": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 300 + } + ], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 1700 + } + ] + }, + + { + "type": "dengjijijin", + "total": 50, + "pt": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 300 + } + ], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 1700 + } + ] + }, + { + "type": "dengjijijin", + "total": 55, + "pt": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 300 + } + ], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 1700 + } + ] + } + ]; + let _users = await G.mongodb.cEvent("dengjijijin").find( + {"uid": {"$in": _payList.map(pay => pay.uid)}, type: 'dengjijijin'} + ).toArray() + + let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {}; + _users.forEach((user) => { + let uid = user.uid; + let idx2Type2Bool = user.rec; + if (!uid2Prize[uid]) uid2Prize[uid] = []; + + // 没领的全发 + prizeList.forEach((con, idx) => { + // 普通奖励没领 + if (!idx2Type2Bool[idx]?.pt) { + uid2Prize[uid].push(...con.pt) + } + // 高级奖励没领 + if (!idx2Type2Bool[idx]?.tq) { + uid2Prize[uid].push(...con.tq) + } + }); + }) + + let title = "等级基金优化"; + let content = "这是您的补偿,请查收!"; + let lngTitle = { + "ja": "レベル投資仕様改善", + "zh-TW": "等級基金改善", + "ko": "레벨 투자 시스템 개선", + "en": "Level Investment optimization", + }; + let lngContent = { + "en": "Please find attached a few items as a compensation for the wait during our adjustments.", + "ja": "仕様改善に伴う補填を発送させていただきました。ご確認ください。", + "ko": "투자 시스템 개선으로 인한 보상을 보내드립니다.", + "zh-TW": "這是您的補償內容,煩請查收!" + }; + for (const [uid, sendPrize] of Object.entries(uid2Prize)) { + // 发放邮件 + await addEmail({ + uid: uid, + type: "system", + title: title, + content: content, + prize: sendPrize, + lngTitle: lngTitle, + lngContent: lngContent, + }); + await G.mongodb.collection("payLogNew").updateMany( + Object.assign({uid: uid}, w), {$set: {patch: 1, del_time: G.time}} + ) + // 基金数据清除 + await G.mongodb.collection("event").updateMany( + {type: "dengjijijin", uid: uid}, {"$set": {uid: `${uid}_patch_del`}} + ); + console.log(`玩家${uid}等级基金奖补发完成...`); + } +} + + +/** + * 标题:关卡基金优化 + * ja:ステージ投資仕様改善 + * zh-TW:關卡基金改善 + * ko:스테이지 투자 시스템 개선 + * en: Stage Investment optimization + * + * 內文:这是您的补偿,请查收! + * ja:仕様改善に伴う補填を発送させていただきました。ご確認ください。 + * zh-TW:這是您的補償內容,煩請查收! + * ko:투자 시스템 개선으로 인한 보상을 보내드립니다. + * en: Please find attached a few items as a compensation for the wait during our adjustments. + + * 线上玩家脚本 + * 1、已购买关卡基金的玩家且未领取完成的玩家,剩余奖励邮件一次性补发; + * 2、未购买的玩家活动刷新到新版本; + * 3、刷新关卡基金到未购买状态; + * */ +async function guanqiaJiJinReSet() { + let w = {key: "guanqiajijin"}; + // 激活了的玩家 + let _payList = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter( + // 过滤没有结束时间 或者 有结束时间 但是没有过期的 + (pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time) + ); + + const prizeList = [ + { + "type": "guanqiajijin", + "total": 30, + "pt": [], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 2000 + } + ], + "des": "guanqiajijin_des_1" + }, + { + "type": "guanqiajijin", + "total": 50, + "pt": [], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 2000 + } + ], + "des": "guanqiajijin_des_2" + }, + { + "type": "guanqiajijin", + "total": 70, + "pt": [], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 2000 + } + ], + "des": "guanqiajijin_des_3" + }, + { + "type": "guanqiajijin", + "total": 90, + "pt": [], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 2000 + } + ], + "des": "guanqiajijin_des_4" + }, + { + "type": "guanqiajijin", + "total": 110, + "pt": [], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 2000 + } + ], + "des": "guanqiajijin_des_5" + }, + { + "type": "guanqiajijin", + "total": 150, + "pt": [], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 2000 + } + ], + "des": "guanqiajijin_des_6" + }, + { + "type": "guanqiajijin", + "total": 180, + "pt": [], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 2000 + } + ], + "des": "guanqiajijin_des_7" + }, + { + "type": "guanqiajijin", + "total": 250, + "pt": [], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 2000 + } + ], + "des": "guanqiajijin_des_8" + } + ]; + + // 没激活不处理 + let _users = await G.mongodb.cEvent("guanqiajijin").find( + { + "uid": {"$in": _payList.map(pay => pay.uid)}, + "type": 'guanqiajijin' + }, + {projection: {_id: 0}} + ).toArray(); + + let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {}; + _users.forEach(user => { + let uid = user.uid; + let idx2Type2Bool = user.rec; + if (!uid2Prize[uid]) uid2Prize[uid] = []; + + // 没领的全发 + prizeList.forEach((con, idx) => { + // 普通奖励没领 + if (!idx2Type2Bool[idx]?.pt) { + uid2Prize[uid].push(...con.pt) + } + // 高级奖励没领 + if (!idx2Type2Bool[idx]?.tq) { + uid2Prize[uid].push(...con.tq) + } + }); + }) + + let title = "关卡基金优化"; + let content = "这是您的补偿,请查收!"; + let lngTitle = { + "ja": "ステージ投資仕様改善", + "zh-TW": "關卡基金改善", + "ko": "스테이지 투자 시스템 개선", + "en": "Stage Investment optimization", + }; + let lngContent = { + "en": "Please find attached a few items as a compensation for the wait during our adjustments.", + "ja": "仕様改善に伴う補填を発送させていただきました。ご確認ください。", + "ko": "투자 시스템 개선으로 인한 보상을 보내드립니다.", + "zh-TW": "這是您的補償內容,煩請查收!" + }; + for (const [uid, sendPrize] of Object.entries(uid2Prize)) { + // 发放邮件 + await addEmail({ + uid: uid, + type: "system", + title: title, + content: content, + prize: sendPrize, + lngTitle: lngTitle, + lngContent: lngContent, + }); + await G.mongodb.collection("payLogNew").updateMany( + Object.assign({uid: uid}, w), {$set: {patch: 1, del_time: G.time}} + ) + // 基金数据清除 + await G.mongodb.collection("event").updateMany( + {type: "guanqiajijin", uid: uid}, {"$set": {uid: `${uid}_patch_del`}} + ); + console.log(`玩家${uid}关卡基金奖补发完成...`); + } +} + + +/** + * 标题:特别通行证优化 + * ja:特別通行証仕様改善 + * zh-TW:特別通行證改善 + * ko:특별 통행증 시스템 개선 + * en: Special Permit optimization + + * 內文:这是您的补偿,请查收! + * ja:仕様改善に伴う補填を発送させていただきました。ご確認ください。 + * zh-TW:這是您的補償內容,煩請查收! + * ko:투자 시스템 개선으로 인한 보상을 보내드립니다. + * en: Please find attached a few items as a compensation for the wait during our adjustments. + + * 线上玩家脚本 + * 1、已购买通行证基金的玩家且未领取完成的玩家,剩余奖励邮件一次性补发; + * 2、未购买的玩家活动刷新到新版本; + * 3、刷新通行证基金到未购买状态; + * */ +async function dayjiJiJinReSet() { + let w = {key: "dayjijin"}; + + // 激活了的玩家 + let _payList = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter( + // 过滤没有结束时间 或者 有结束时间 但是没有过期的 + (pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time) + ); + + const prizeList = [ + { + "type": "dayjijin", + "total": 5, + "pt": [ + { + "a": "item", + "t": "23", + "n": 20000 + } + ], + "tq": [ + { + "a": "item", + "t": "4", + "n": 5 + } + ] + }, + { + "type": "dayjijin", + "total": 15, + "pt": [ + { + "a": "item", + "t": "2", + "n": 200 + } + ], + "tq": [ + { + "a": "item", + "t": "2", + "n": 2000 + } + ] + }, + { + "type": "dayjijin", + "total": 30, + "pt": [ + { + "a": "item", + "t": "23", + "n": 20000 + } + ], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 888 + } + ] + }, + { + "type": "dayjijin", + "total": 45, + "pt": [ + { + "a": "item", + "t": "2", + "n": 200 + } + ], + "tq": [ + { + "a": "item", + "t": "615", + "n": 1 + } + ] + }, + { + "type": "dayjijin", + "total": 60, + "pt": [ + { + "a": "item", + "t": "23", + "n": 20000 + } + ], + "tq": [ + { + "a": "item", + "t": "4", + "n": 5 + } + ] + }, + { + "type": "dayjijin", + "total": 75, + "pt": [ + { + "a": "item", + "t": "2", + "n": 300 + } + ], + "tq": [ + { + "a": "item", + "t": "2", + "n": 2000 + } + ] + }, + { + "type": "dayjijin", + "total": 90, + "pt": [ + { + "a": "item", + "t": "23", + "n": 20000 + } + ], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 888 + } + ] + }, + { + "type": "dayjijin", + "total": 105, + "pt": [ + { + "a": "item", + "t": "2", + "n": 300 + } + ], + "tq": [ + { + "a": "item", + "t": "615", + "n": 1 + } + ] + }, + { + "type": "dayjijin", + "total": 120, + "pt": [ + { + "a": "item", + "t": "23", + "n": 20000 + } + ], + "tq": [ + { + "a": "item", + "t": "4", + "n": 5 + } + ] + }, + { + "type": "dayjijin", + "total": 135, + "pt": [ + { + "a": "item", + "t": "2", + "n": 400 + } + ], + "tq": [ + { + "a": "item", + "t": "2", + "n": 2000 + } + ] + }, + { + "type": "dayjijin", + "total": 150, + "pt": [ + { + "a": "item", + "t": "23", + "n": 20000 + } + ], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 888 + } + ] + }, + { + "type": "dayjijin", + "total": 165, + "pt": [ + { + "a": "item", + "t": "2", + "n": 400 + } + ], + "tq": [ + { + "a": "item", + "t": "615", + "n": 1 + } + ] + }, + { + "type": "dayjijin", + "total": 180, + "pt": [ + { + "a": "item", + "t": "23", + "n": 20000 + } + ], + "tq": [ + { + "a": "item", + "t": "4", + "n": 5 + } + ] + }, + { + "type": "dayjijin", + "total": 200, + "pt": [ + { + "a": "item", + "t": "2", + "n": 500 + } + ], + "tq": [ + { + "a": "attr", + "t": "rmbmoney", + "n": 1888 + } + ] + } + ]; + // 没激活不处理 + let _users = await G.mongodb.cEvent("dayjijin").find( + {uid: {$in: _payList.map(pay => pay.uid)}, type: "dayjijin"} + ).toArray(); + + let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {}; + _users.forEach(user => { + let uid = user.uid; + let idx2Type2Bool = user.rec; + if (!uid2Prize[uid]) uid2Prize[uid] = []; + + // 没领的全发 + prizeList.forEach((con, idx) => { + // 普通奖励没领 + if (!idx2Type2Bool[idx]?.pt) { + uid2Prize[uid].push(...con.pt) + } + // 高级奖励没领 + if (!idx2Type2Bool[idx]?.tq) { + uid2Prize[uid].push(...con.tq) + } + }); + }) + + let title = "特别通行证优化"; + let content = "这是您的补偿,请查收!"; + let lngTitle = { + "ja": "特別通行証仕様改善", + "zh-TW": "特別通行證改善", + "ko": "특별 통행증 시스템 개선", + "en": "Special Permit optimization", + }; + let lngContent = { + "en": "Please find attached a few items as a compensation for the wait during our adjustments.", + "ja": "仕様改善に伴う補填を発送させていただきました。ご確認ください。", + "ko": "투자 시스템 개선으로 인한 보상을 보내드립니다.", + "zh-TW": "這是您的補償內容,煩請查收!" + }; + for (const [uid, sendPrize] of Object.entries(uid2Prize)) { + // 发放邮件 + await addEmail({ + uid: uid, + type: "system", + title: title, + content: content, + prize: sendPrize, + lngTitle: lngTitle, + lngContent: lngContent, + }); + await G.mongodb.collection("payLogNew").updateMany( + Object.assign({uid: uid}, w), {$set: {patch: 1, del_time: G.time}} + ) + // 基金数据清除 + await G.mongodb.collection("event").updateMany( + {type: "dayjijin", uid: uid}, {"$set": {uid: `${uid}_patch_del`}} + ); + + console.log(`玩家${uid}通行证基金奖补发完成...`); + } +} + +/** + * 标题:特价基金优化 + * ja:特価投資仕様改善 + * zh-TW:特價基金改善 + * ko:특가 투자 시스템 개선 + * en: Value Investment optimization + + * 內文:这是您的补偿,请查收! + * ja:仕様改善に伴う補填を発送させていただきました。ご確認ください。 + * zh-TW:這是您的補償內容,煩請查收! + * ko:투자 시스템 개선으로 인한 보상을 보내드립니다. + * en: Please find attached a few items as a compensation for the wait during our adjustments. + + * 线上玩家脚本 + * 1、已购买特价基金128的玩家且未领取完成的玩家,剩余奖励邮件一次性补发; + * 2、未购买的玩家活动刷新到新版本; + * 3、刷新月基金到未购买状态; + * */ +async function yue128JiJinReSet() { + let w = {key: "128jijin"}; + // 激活了的玩家 + let _payList = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter( + // 过滤没有结束时间 或者 有结束时间 但是没有过期的 + (pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time) + ); + + // 没激活不处理 + let _users = await G.mongodb.cEvent(`${128}jijin`).find( + { + "uid": {"$in": _payList.map(pay => pay.uid)}, + "type": `${128}jijin` + } + ).toArray(); + + const prizeList = [ + {a: 'item', t: '4', n: 10}, + {a: 'attr', t: 'rmbmoney', n: 300}, + {a: 'attr', t: 'rmbmoney', n: 300}, + {a: 'item', t: '9', n: 2000}, + {a: 'attr', t: 'rmbmoney', n: 300}, + {a: 'attr', t: 'rmbmoney', n: 300}, + {a: 'item', t: '609', n: 1}, + {a: 'item', t: '4', n: 10}, + {a: 'attr', t: 'rmbmoney', n: 500}, + {a: 'attr', t: 'rmbmoney', n: 300}, + {a: 'item', t: '18', n: 300}, + {a: 'attr', t: 'rmbmoney', n: 300}, + {a: 'attr', t: 'rmbmoney', n: 300}, + {a: 'item', t: '6', n: 20}, + {a: 'attr', t: 'rmbmoney', n: 300}, + {a: 'attr', t: 'rmbmoney', n: 300}, + {a: 'item', t: '9', n: 3000}, + {a: 'attr', t: 'rmbmoney', n: 300}, + {a: 'attr', t: 'rmbmoney', n: 300}, + {a: 'item', t: '4', n: 10}, + {a: 'attr', t: 'rmbmoney', n: 500}, + {a: 'attr', t: 'rmbmoney', n: 300}, + {a: 'item', t: '20', n: 200}, + {a: 'attr', t: 'rmbmoney', n: 300}, + {a: 'attr', t: 'rmbmoney', n: 300}, + {a: 'item', t: '9', n: 3000}, + {a: 'attr', t: 'rmbmoney', n: 300}, + {a: 'attr', t: 'rmbmoney', n: 300}, + {a: 'attr', t: 'rmbmoney', n: 1000}, + {a: 'item', t: '628', n: 1}, + ]; + let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {}; + + _users.forEach(user => { + let uid = user.uid; + let gotarr = user.rec || []; + if (!uid2Prize[uid]) uid2Prize[uid] = []; + + // 没领的全发 + prizeList.forEach((onePrize, idx) => { + // 领过了 + if (gotarr.includes(idx)) { + return + } + uid2Prize[uid].push(onePrize) + }); + }) + + let title = "特价基金优化"; + let content = "这是您的补偿,请查收!"; + let lngTitle = { + "ja": "特価投資仕様改善", + "zh-TW": "特價基金改善", + "ko": "특가 투자 시스템 개선", + "en": "Value Investment optimization", + }; + let lngContent = { + "en": "Please find attached a few items as a compensation for the wait during our adjustments.", + "ja": "仕様改善に伴う補填を発送させていただきました。ご確認ください。", + "ko": "투자 시스템 개선으로 인한 보상을 보내드립니다.", + "zh-TW": "這是您的補償內容,煩請查收!" + }; + for (const [uid, sendPrize] of Object.entries(uid2Prize)) { + // 发放邮件 + await addEmail({ + uid: uid, + type: "system", + title: title, + content: content, + prize: sendPrize, + lngTitle: lngTitle, + lngContent: lngContent, + }); + + await G.mongodb.collection("payLogNew").updateMany( + Object.assign({uid: uid}, w), {$set: {patch: 1, del_time: G.time}} + ) + // 基金数据清除 + await G.mongodb.cEvent(`${128}jijin`).updateMany( + {uid: uid, type: `${128}jijin`}, {"$set": {uid: `${uid}_patch_del`}} + ); + + console.log(`玩家${uid}月度128基金奖补发完成...`); + } +} + +/** + * 标题:特别基金优化 + * ja:特別投資仕様改善 + * zh-TW:特別基金改善 + * ko:특별 투자 시스템 개선 + * en: Special Investment optimization + + * 內文:这是您的补偿,请查收! + * ja:仕様改善に伴う補填を発送させていただきました。ご確認ください。 + * zh-TW:這是您的補償內容,煩請查收! + * ko:투자 시스템 개선으로 인한 보상을 보내드립니다. + * en: Please find attached a few items as a compensation for the wait during our adjustments. + + * 线上玩家脚本 + * 1、已购买特别基金328的玩家且未领取完成的玩家,剩余奖励邮件一次性补发; + * 2、未购买的玩家活动刷新到新版本; + * 3、刷新月基金到未购买状态; + * */ +async function yue328JiJinReSet() { + let w = {key: "328jijin"}; + // 激活了的玩家 + let _payList = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter( + // 过滤没有结束时间 或者 有结束时间 但是没有过期的 + (pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time) + ); + + // 没激活不处理 + let _users = await G.mongodb.cEvent(`${328}jijin`).find( + { + "uid": {"$in": _payList.map(pay => pay.uid)}, "type": `${328}jijin` + } + ).toArray(); + + const prizeList = [ + {a: 'item', t: '4', n: 30}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'item', t: '10', n: 300}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'item', t: '628', n: 1}, + {a: 'item', t: '4', n: 20}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'item', t: '628', n: 1}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'item', t: '628', n: 1}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'item', t: '628', n: 1}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'item', t: '4', n: 20}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'item', t: '10', n: 400}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'item', t: '10', n: 400}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'attr', t: 'rmbmoney', n: 800}, + {a: 'attr', t: 'rmbmoney', n: 1500}, + {a: 'item', t: '617', n: 1}, + ]; + let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {}; + + _users.forEach(user => { + let uid = user.uid; + let gotarr = user.rec || []; + if (!uid2Prize[uid]) uid2Prize[uid] = []; + + // 没领的全发 + prizeList.forEach((onePrize, idx) => { + // 领过了 + if (gotarr.includes(idx)) { + return + } + uid2Prize[uid].push(onePrize) + }); + }) + + let title = "特别基金优化"; + let content = "这是您的补偿,请查收!"; + let lngTitle = { + "ja": "特別投資仕様改善", + "zh-TW": "特別基金改善", + "ko": "특별 투자 시스템 개선", + "en": "Special Investment optimization", + }; + let lngContent = { + "en": "Please find attached a few items as a compensation for the wait during our adjustments.", + "ja": "仕様改善に伴う補填を発送させていただきました。ご確認ください。", + "ko": "투자 시스템 개선으로 인한 보상을 보내드립니다.", + "zh-TW": "這是您的補償內容,煩請查收!" + }; + for (const [uid, sendPrize] of Object.entries(uid2Prize)) { + // 发放邮件 + await addEmail({ + uid: uid, + type: "system", + title: title, + content: content, + prize: sendPrize, + lngTitle: lngTitle, + lngContent: lngContent, + }); + + await G.mongodb.collection("payLogNew").updateMany( + Object.assign({uid: uid}, w), {$set: {patch: 1, del_time: G.time}} + ) + // 基金数据清除 + await G.mongodb.cEvent(`${328}jijin`).updateMany( + {uid: uid, type: `${328}jijin`}, {"$set": {uid: `${uid}_patch_del`}} + ); + + console.log(`玩家${uid}月度128基金奖补发完成...`); + } +} + +async function start() { + await initMongoDB(); + + await shouChongReSet(); + await zhizunyueka(); + await chaozhiyueka(); + await zhongshenka(); + + await qingbaotequan(); + await zuozhantequan(); + await caifutequan(); + await jiubatequan(); + + await resetVipLiBao(); + + await rcjhReSet(); + + await dengjiJiJinReSet(); + await guanqiaJiJinReSet(); + + await dayjiJiJinReSet(); + + await yue128JiJinReSet(); + await yue328JiJinReSet(); +} + +ctor(); +start().then(() => { + setInterval(() => { + console.log(new Date().format("MM-dd hh:mm:ss")); + }, 1000) + console.log("逻辑执行完成...等待退出!!!"); +}); + + diff --git a/src/fix_patch/patch_20231220.ts b/src/fix_patch/patch_20231220.ts new file mode 100644 index 0000000..7f1681b --- /dev/null +++ b/src/fix_patch/patch_20231220.ts @@ -0,0 +1,43 @@ +import {ctor} from "../global"; +import {initMongoDB} from "../setMongodb"; + +async function start() { + await initMongoDB() + + let datas = await G.mongodb.collection("event").find( + {type: {$in: ["yangchengmubiao100", "yangchengmubiao101"]}} + ).toArray(); + + for (let i = 0; i < datas.length; i++) { + let add = 0; + let data = datas[i]; + if (!Array.isArray(data.taskval)) continue; + let taskval: { [taskid: string]: number } = {}; + for (let i = 0; i < data.taskval.length; i++) { + if (data.taskval[i] === null) continue; + + if (typeof data.taskval[i] == "number") { + add = data.taskval[i]; + } else { + taskval = Object.assign(taskval, data.taskval[i]); + } + } + for (let taskid in taskval) { + taskval[taskid] = (taskval[taskid] || 0) + add; + } + await G.mongodb.collection("event").updateOne( + {uid: data.uid, type: data.type}, {$set: {taskval: taskval}} + ) + console.log(`修复玩家${data.uid}人才计划数据完成...`); + } +} + +ctor(); +start().then(() => { + setInterval(() => { + console.log(new Date().format("MM-dd hh:mm:ss")); + }, 1000) + console.log("逻辑执行完成...等待退出!!!"); +}); + + diff --git a/src/path_20231221.ts b/src/fix_patch/patch_20231221.ts similarity index 95% rename from src/path_20231221.ts rename to src/fix_patch/patch_20231221.ts index 11098b7..8028e1f 100644 --- a/src/path_20231221.ts +++ b/src/fix_patch/patch_20231221.ts @@ -1,6 +1,6 @@ -import {ctor} from "./global"; -import {initMongoDB} from "./setMongodb"; -import {yangchengmubiao} from "./shared/protocols/event/yangchengmubiao/PtlOpen"; +import {ctor} from "../global"; +import {initMongoDB} from "../setMongodb"; +import {yangchengmubiao} from "../shared/protocols/event/yangchengmubiao/PtlOpen"; async function start() { await initMongoDB() diff --git a/src/fix_patch/patch_20231221_1.ts b/src/fix_patch/patch_20231221_1.ts new file mode 100644 index 0000000..1f31185 --- /dev/null +++ b/src/fix_patch/patch_20231221_1.ts @@ -0,0 +1,126 @@ +import {ctor} from "../global"; +import {initMongoDB} from "../setMongodb"; +import {yangchengmubiao} from "../shared/protocols/event/yangchengmubiao/PtlOpen"; +import {number} from "mathjs"; +import {PublicShared} from "../shared/public/public"; + +async function start() { + await initMongoDB() + + const task = { + '2001': { + 'prize': [{'a': 'item', 't': '4', 'n': 5}, {'a': 'item', 't': '626', 'n': 10}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 50, + 'cond': [], + 'stype': 118 + }, + '2002': { + 'prize': [{'a': 'item', 't': '4', 'n': 5}, {'a': 'item', 't': '626', 'n': 10}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 100, + 'cond': [], + 'stype': 118 + }, + '2003': { + 'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '626', 'n': 20}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 200, + 'cond': [], + 'stype': 118 + }, + '2004': { + 'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '600', 'n': 20}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 250, + 'cond': [], + 'stype': 118 + }, + '2005': { + 'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '600', 'n': 20}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 300, + 'cond': [], + 'stype': 118 + }, + '2006': { + 'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '619', 'n': 1}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 400, + 'cond': [], + 'stype': 118 + }, + '2007': { + 'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '619', 'n': 1}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 500, + 'cond': [], + 'stype': 118 + } + }; + let hdid = [100, 101]; + let openday = PublicShared.getOpenServerDay(); + let openhdlist = await G.mongodb.collection("hdinfo").find( + {hdid: {$in: hdid}, stime: {$lte: openday}, etime: {$gte: openday}} + ).toArray(); + + // 没有开启的活动 返回 + if (openhdlist.length <= 0) { + return; + } else { + hdid = openhdlist.map(hd => hd.hdid); + } + + let datas: yangchengmubiao[]; + datas = await G.mongodb.cEvent(`yangchengmubiao${hdid[0]}`).find( + {type: `yangchengmubiao${hdid[0]}`} + ).toArray(); + + for (let i = 0; i < datas.length; i++) { + let data = datas[i]; + let finishid = new Set(data.finishid["2"]); + // 查找任务未完成 但设置了领奖标识 + for (let taskid in task) { + let con = task[taskid]; + let taskval = data.taskval || {}; + if (finishid.has(number(taskid)) && (taskval[taskid] || 0) < con.pval) { + finishid.delete(number(taskid)); + } + } + // 没有删除的 + if (finishid.size == data.finishid["2"].length) { + continue + } + await G.mongodb.collection("event").updateOne( + {"uid": data.uid, "type": data.type}, {$set: {"finishid.2": [...finishid]}} + ) + console.log(`修复玩家${data.uid}人才计划${data.type}数据完成...`); + } +} + +ctor(); +start().then(() => { + let s = 0; + setInterval(() => { + s += 1; + console.log(new Date().format("MM-dd hh:mm:ss")); + if (s >= 3) process.exit(1); + }, 1000) + console.log("逻辑执行完成...等待退出!!!"); +}); + + diff --git a/src/fix_patch/patch_20231222.ts b/src/fix_patch/patch_20231222.ts new file mode 100644 index 0000000..1aba776 --- /dev/null +++ b/src/fix_patch/patch_20231222.ts @@ -0,0 +1,98 @@ +import {ctor} from "../global"; +import {_mongodb} from "../setMongodb"; +import {MongoClient} from "mongodb"; + +async function initMongoDB() { + console.log('connect mongodb ......'); + let client = await MongoClient.connect(G.config.mongodbUrl); + G.mongodb = new _mongodb(client.db(G.config.dbName || '')); + console.log('connect mongodb succ'); +} + +async function start() { + await initMongoDB() + + const task = { + '2001': { + 'prize': [{'a': 'item', 't': '4', 'n': 5}, {'a': 'item', 't': '626', 'n': 10}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 50, + 'cond': [], + 'stype': 118 + }, + '2002': { + 'prize': [{'a': 'item', 't': '4', 'n': 5}, {'a': 'item', 't': '626', 'n': 10}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 100, + 'cond': [], + 'stype': 118 + }, + '2003': { + 'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '626', 'n': 20}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 200, + 'cond': [], + 'stype': 118 + }, + '2004': { + 'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '600', 'n': 20}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 250, + 'cond': [], + 'stype': 118 + }, + '2005': { + 'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '600', 'n': 20}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 300, + 'cond': [], + 'stype': 118 + }, + '2006': { + 'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '619', 'n': 1}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 400, + 'cond': [], + 'stype': 118 + }, + '2007': { + 'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '619', 'n': 1}], + 'tujing': '', + 'title': 'intr_yczm_day_des_2', + 'type': 2, + 'pval': 500, + 'cond': [], + 'stype': 118 + } + }; + let hdid = [100, 101]; + await G.mongodb.collection("hdinfo").updateMany( + {hdid: {$in: hdid}}, {$set: {"data.tasklist.2": task}} + ) + console.log(`修复区服${G.config.serverId}人才计划活动数据完成...`); +} + +ctor(); +start().then(() => { + let s = 0; + setInterval(() => { + s += 1; + console.log(new Date().format("MM-dd hh:mm:ss")); + if (s >= 3) process.exit(1); + }, 1000) + console.log("逻辑执行完成...等待退出!!!"); +}); + + diff --git a/src/fix_patch/patch_email_find.ts b/src/fix_patch/patch_email_find.ts new file mode 100644 index 0000000..900687a --- /dev/null +++ b/src/fix_patch/patch_email_find.ts @@ -0,0 +1,22 @@ +import {initMongoDB} from "../setMongodb"; +import {ctor} from "../global"; + +async function start() { + await initMongoDB(); + + let emails = await G.mongodb.collection("email").find({ + title: {$regex: "wzry"} + }).toArray(); + + for (let i = 0; i < emails.length; i++) { + console.log(); + } +} + +ctor(); +start().then(() => { + setInterval(() => { + console.log(new Date().format("MM-dd hh:mm:ss")); + }, 1000) + console.log("逻辑执行完成...等待退出!!!"); +}); diff --git a/src/patch_fix_all_user_hero_shiwu.ts b/src/fix_patch/patch_fix_all_user_hero_shiwu.ts similarity index 96% rename from src/patch_fix_all_user_hero_shiwu.ts rename to src/fix_patch/patch_fix_all_user_hero_shiwu.ts index 31c8032..6bcea4d 100644 --- a/src/patch_fix_all_user_hero_shiwu.ts +++ b/src/fix_patch/patch_fix_all_user_hero_shiwu.ts @@ -1,5 +1,5 @@ -import {ctor} from './global'; -import {initMongoDB} from './setMongodb'; +import {ctor} from '../global'; +import {initMongoDB} from '../setMongodb'; async function start() { //连接mongodb diff --git a/src/patch_player_model_20231221.ts b/src/fix_patch/patch_player_model_20231221.ts similarity index 90% rename from src/patch_player_model_20231221.ts rename to src/fix_patch/patch_player_model_20231221.ts index 53c60ea..063eab9 100644 --- a/src/patch_player_model_20231221.ts +++ b/src/fix_patch/patch_player_model_20231221.ts @@ -1,5 +1,5 @@ -import {ctor} from "./global"; -import {initMongoDB} from "./setMongodb"; +import {ctor} from "../global"; +import {initMongoDB} from "../setMongodb"; async function start() { await initMongoDB() diff --git a/src/fix_patch/patch_queryEmail.ts b/src/fix_patch/patch_queryEmail.ts new file mode 100644 index 0000000..1db1128 --- /dev/null +++ b/src/fix_patch/patch_queryEmail.ts @@ -0,0 +1,47 @@ +import fs from "fs"; +import {MongoClient} from "mongodb"; + + +async function start() { + let mongodbUrl = "mongodb://blacklagoon:lffu2bD%5eGn2%5eE%2bE7@blacklagoon-mongo-secondary.pro.g123-cpp.com:3717,blacklagoon-mongo-primary.pro.g123-cpp.com:3717?replicaSet=mgset-351738825" + //连接mongodb + let client = await MongoClient.connect(mongodbUrl); + + console.log('链接成功'); + + let user2email: { [uid: string]: { [title: string]: { prize: any, get_num: number, unget_num: number } } } = {}; + for (let i = 1; i < 49; i++) { + let dbName = `blacklagoon_s${i}` + console.log(dbName) + + let mongodb = client.db(dbName); + let emails = await mongodb.collection("email").find({ + title: {$regex: "wzry"} + }).toArray(); + + for (let i = 0; i < emails.length; i++) { + let email = emails[i]; + if (!email.prizeData?.prize) continue; + if (!user2email[email.uid]) { + user2email[email.uid] = {}; + } + if (!user2email[email.uid][email.title]) { + user2email[email.uid][email.title] = { + prize: email.prizeData.prize, + get_num: 0, + unget_num: 0, + } + } + if (email.prizeData.isGet) { + user2email[email.uid][email.title].get_num += 1; + } else { + user2email[email.uid][email.title].unget_num += 1; + } + } + } + fs.writeFileSync('email.json', JSON.stringify(user2email, null, 2)) +} + +start().then(() => { + process.exit() +}); diff --git a/src/path_shop_redis2db.ts b/src/fix_patch/patch_shop_redis2db.ts similarity index 84% rename from src/path_shop_redis2db.ts rename to src/fix_patch/patch_shop_redis2db.ts index ab437f2..a3736d5 100644 --- a/src/path_shop_redis2db.ts +++ b/src/fix_patch/patch_shop_redis2db.ts @@ -1,6 +1,6 @@ -import {ctor} from './global'; -import {initMongoDB} from './setMongodb'; -import {initRedis} from './setRedis'; +import {ctor} from '../global'; +import {initMongoDB} from '../setMongodb'; +import {initRedis} from '../setRedis'; async function start() { //连接mongodb diff --git a/src/globalListener.ts b/src/globalListener.ts index f4ada40..6a5bec8 100644 --- a/src/globalListener.ts +++ b/src/globalListener.ts @@ -18,6 +18,7 @@ import { setGud } from './public/gud'; import {checkResetBuyLog} from "./api_s2c/event/zhoumolibao/ApiOpen"; import {Christmasfun} from "./api_s2c/event/christmas/fun"; import {PushGiftFun} from "./public/pushgift"; +import {LeiChongLiBaoBuyGift} from "./api_s2c/event/leichonglibao/ApiReceive"; export type gEventType = { /**玩家断开连接 */ @@ -201,7 +202,8 @@ export function addListener() { { $inc: { payNum: conf.money } }, { upsert: true } ); - PushGiftFun.buy(player.uid, payId) // 推送礼包 + await PushGiftFun.buy(player.uid, payId) // 推送礼包 + await LeiChongLiBaoBuyGift(call, payId) // 累充礼包 }); G.on("FIRST_LOGIN_EVERY_DAY", (gud, lastTime, curTime) => { diff --git a/src/jsonType.ts b/src/jsonType.ts index e822019..aacb4a8 100644 --- a/src/jsonType.ts +++ b/src/jsonType.ts @@ -1773,6 +1773,24 @@ type gc_yuyuemail = { 'prize': { "a": string, "t": string, "n": number, [x: string]: any }[] }; +type gc_push_gift = { + [k: string]: { + /**礼包id*/ + id: number + /**礼包类型*/ + type: number + /**礼包参数*/ + num: any[] + /**购买id*/ + payId: string[] + /**持续时间*/ + time: number + /**冷却时间*/ + displayCD: number + /**显示返利比*/ + scale: number + } +} type gcType = { [key: string]: any @@ -1922,6 +1940,7 @@ type gcType = { kfcb_content: gc_kfcb_content kfcb_prize: gc_kfcb_prize yuyuemail: gc_yuyuemail + tuisonglibao: gc_push_gift } diff --git a/src/lng.ts b/src/lng.ts index 90c1903..f0c9344 100644 --- a/src/lng.ts +++ b/src/lng.ts @@ -351,7 +351,7 @@ class Lng { huoqupaihang: "huoqupaihang"; wucigonghui: "wucigonghui"; nameyicunzai: "nameyicunzai"; - + ljlibaotips_8:"ljlibaotips_8"; "11111" = "globalThis.lng.chat_1" // return call.error('', { code: -3, message: globalThis.lng.chat_2 }); diff --git a/src/module/collection_event.ts b/src/module/collection_event.ts index 97d0ca7..6e47a03 100644 --- a/src/module/collection_event.ts +++ b/src/module/collection_event.ts @@ -22,6 +22,7 @@ import {ResOpen as ResOpenZixuanlibao} from '../shared/protocols/event/zixuanlib import {ResOpen as ResOpenKaifujingsai} from '../shared/protocols/kaifujingsai/PtlOpen'; import {ResOpen as ResOpenZhoumolibao} from '../shared/protocols/event/zhoumolibao/PtlOpen'; import {ResOpen as ResOpenPobinglibao} from '../shared/protocols/event/pobinglibao/PtlOpen'; +import {ResOpen as ResOpenLeiChongLiBao} from '../shared/protocols/event/leichonglibao/PtlOpen'; export type eventType = { shouchong: { @@ -51,7 +52,7 @@ export type eventType = { qirichongzhi: Omit; jierihuodong: Omit & { refreshTime: number; }; kaifujingsai: ResOpenKaifujingsai; - zhoumolibao: ResOpenZhoumolibao & { refreshTime: number; } + zhoumolibao: ResOpenZhoumolibao & { refreshTime: number; }; pobinglibao: ResOpenPobinglibao payForDiamond: { [time: number]: number @@ -65,6 +66,7 @@ export type eventType = { [k: `zixuanlibao${number}`]: ResOpenZixuanlibao; [k: `leijichongzhi${number}`]: Omit; [k: `qiridenglu${number}`]: Pick; + [k: `leichonglibao${number}`]: ResOpenLeiChongLiBao & { opentime: number }; }; export type CollectionEvent = { diff --git a/src/module/collection_pushgift.ts b/src/module/collection_pushgift.ts new file mode 100644 index 0000000..c62fff0 --- /dev/null +++ b/src/module/collection_pushgift.ts @@ -0,0 +1,13 @@ +import {ObjectId} from "mongodb"; +import {ResOpen} from "../shared/protocols/pushgift/PtlOpen"; + +export type Gift = { + id: string + uid: string + buy: number[] + ctime: number + passTime: number + ext_data: { [key: string]: any } +} + +export type CollectionPushGift = Gift & { _id: ObjectId }; \ No newline at end of file diff --git a/src/module/mongodb.ts b/src/module/mongodb.ts index f912ad7..5d8c8ac 100644 --- a/src/module/mongodb.ts +++ b/src/module/mongodb.ts @@ -59,6 +59,7 @@ import {CollectionPlayerBehavior} from "./collection_player_behavior"; import {CollectionRmbuse} from "./collection_rmbuse"; import {CollectionFightLog} from "./collection_fightLog"; import {CollectionShop} from "./collection_shop"; +import {CollectionPushGift} from "./collection_pushgift"; export type MongodbCollections = { user: CollectionUser; @@ -131,4 +132,5 @@ export type MongodbCollections = { rmbuse: CollectionRmbuse fightLog: CollectionFightLog shop: CollectionShop + pushgift:CollectionPushGift }; \ No newline at end of file diff --git a/src/public/player.ts b/src/public/player.ts index df3e641..b8f5bf5 100644 --- a/src/public/player.ts +++ b/src/public/player.ts @@ -14,9 +14,10 @@ import {PublicShared} from '../shared/public/public'; import {HeroFun} from './hero'; import {ShiwuFun} from './shiwu'; import {UserFun} from './user'; -import { getItemByItemId, getItemNum } from './item'; -import { getGud, setGud } from './gud'; +import {getItemByItemId, getItemNum} from './item'; +import {getGud, setGud} from './gud'; import {addGameLog} from "../gameLog"; +import {PushGiftFun} from "./pushgift"; export type call = { @@ -35,7 +36,7 @@ export type call = { }; service: { name: string }; addEventMsg: ApiCall['addEventMsg']; - req: { } + req: {} }; export class PlayerFun { @@ -66,6 +67,8 @@ export class PlayerFun { if (has < atn.n) { if (err) { + // 消耗不足 触发推送礼包 + PushGiftFun.chkItemGift(call.uid, atn) throw new TsrpcError('', {code: -104, atn: atn}); } else { return {isOk: false, atn: atn}; @@ -143,15 +146,15 @@ export class PlayerFun { shiwu.length > 0 && this.addShiwu(call, shiwu), peijian.length > 0 && this.addPeijian(call, peijian) ]); - + return prizeList; }; //attr里的指定字段的值,不能小于0 - static fixAttrLteZero(t:string, val:number){ - if(['jinbi','rmbmoney','payExp','nexp'].includes(t) && val < 0){ + static fixAttrLteZero(t: string, val: number) { + if (['jinbi', 'rmbmoney', 'payExp', 'nexp'].includes(t) && val < 0) { return 0 - }else{ + } else { return val; } } @@ -198,6 +201,16 @@ export class PlayerFun { // 修改属性应在相关奖励领取之前,否则奖励内获取的用户数据是旧数据 // await this.changeAttr(call.conn.uid, change); call.addEventMsg('msg_s2c/PlayerChange', change); + + // 等级改变 触发推送礼包 + if (change["lv"]) { + PushGiftFun.chkLvGift(call.uid, change["lv"]) + } + // 关卡改变 触发推送礼包 + if (change["mapId"]) { + PushGiftFun.chkLevelGift(call.uid, change["mapId"]) + } + } static async changeAttrLog(uid: string, change, atn, before) { @@ -216,9 +229,9 @@ export class PlayerFun { static async changeAttr(uid: string, change: Partial) { //for (let k in change) { - //G.redis.set('user', uid, k as any, change[k]); + //G.redis.set('user', uid, k as any, change[k]); //} - setGud(uid,change); + setGud(uid, change); G.mongodb.collection('user').updateOne({uid: uid}, {$set: change}); @@ -299,7 +312,11 @@ export class PlayerFun { G.mongodb.collection('item').updateOne(upObj.filter, upObj.update, upObj.options); call.addEventMsg('msg_s2c/ItemChange', atn.t, data); - addGameLog(call.uid, "_itemChange", {"additem":1}, {"filter": upObj.filter, "update": upObj.update, "options": upObj.options}) + addGameLog(call.uid, "_itemChange", {"additem": 1}, { + "filter": upObj.filter, + "update": upObj.update, + "options": upObj.options + }) } else { if (item.num + atn.n <= 0) { await Promise.all([ @@ -311,13 +328,13 @@ export class PlayerFun { //await G.redis.del('item', call.uid, atn.t); //await G.mongodb.collection('item').deleteOne({uid: call.uid, itemId: atn.t}); call.addEventMsg('msg_s2c/ItemChange', atn.t, {num: 0}); - addGameLog(call.uid, "_itemChange",{"delitem":1}, {"itemId": atn.t}) + addGameLog(call.uid, "_itemChange", {"delitem": 1}, {"itemId": atn.t}) } else { await Promise.all([ ////去掉item Redis相关 //G.redis.set('item', call.uid, atn.t, 'lastTime', upObj.update.$set.lastTime), //G.redis.numIncrBy('item', call.uid, atn.t, 'num', atn.n), - + G.mongodb.collection('item').updateOne(upObj.filter, upObj.update, upObj.options) ]); // await G.redis.set('item', call.uid, atn.t, 'lastTime', upObj.update.$set.lastTime); @@ -327,7 +344,12 @@ export class PlayerFun { num: item.num + atn.n, lastTime: upObj.update.$set.lastTime }); - addGameLog(call.uid, "_itemChange",{"attritem":1}, {"filter": upObj.filter, "update": upObj.update, "options": upObj.options,newNum:item.num + atn.n}) + addGameLog(call.uid, "_itemChange", {"attritem": 1}, { + "filter": upObj.filter, + "update": upObj.update, + "options": upObj.options, + newNum: item.num + atn.n + }) } } } @@ -353,7 +375,7 @@ export class PlayerFun { }).reduce((a, b) => a.concat(b)); let result = await G.mongodb.collection('equip').insertMany(insertData); - addGameLog(call.uid, "_addEquip",{}, insertData) + addGameLog(call.uid, "_addEquip", {}, insertData) insertData.forEach((v, key) => { let id = result.insertedIds[key].toHexString(); @@ -400,7 +422,7 @@ export class PlayerFun { G.mongodb.collection('equip').deleteOne({uid: call.uid, _id: new ObjectId(_id)}); call.addEventMsg('msg_s2c/EquipChange', _id, {num: 0}); - addGameLog(call.uid, "_cutEquip",{}, {_id:_id}) + addGameLog(call.uid, "_cutEquip", {}, {_id: _id}) } } @@ -428,7 +450,7 @@ export class PlayerFun { }); let result = await G.mongodb.collection('hero').insertMany(insertData); - addGameLog(call.uid, "_addHero",{}, insertData) + addGameLog(call.uid, "_addHero", {}, insertData) for (let key = 0; key < insertData.length; key++) { let v = insertData[key] @@ -483,7 +505,7 @@ export class PlayerFun { G.redis.del('hero', call.uid, _id); G.mongodb.collection('hero').deleteOne({uid: call.uid, _id: new ObjectId(_id)}); call.addEventMsg('msg_s2c/HeroChange', _id, {num: 0}); - addGameLog(call.uid, "_cutHero",{}, {_id:_id}) + addGameLog(call.uid, "_cutHero", {}, {_id: _id}) } } @@ -514,7 +536,7 @@ export class PlayerFun { }).reduce((a, b) => a.concat(b)); let result = await G.mongodb.collection('shiwu').insertMany(insertData); - addGameLog(call.uid, "_addShiWu",{}, insertData) + addGameLog(call.uid, "_addShiWu", {}, insertData) insertData.forEach((v, key) => { let id = result.insertedIds[key].toHexString(); @@ -546,7 +568,7 @@ export class PlayerFun { // G.redis.del('shiwu', call.uid, _id); G.mongodb.collection('shiwu').deleteOne({uid: call.uid, _id: new ObjectId(_id)}); call.addEventMsg('msg_s2c/ShiwuChange', _id, {num: 0}); - addGameLog(call.uid, "_cutShiwu",{}, {_id:_id}) + addGameLog(call.uid, "_cutShiwu", {}, {_id: _id}) } } @@ -568,7 +590,7 @@ export class PlayerFun { }).reduce((a, b) => a.concat(b)); let result = await G.mongodb.collection('peijian').insertMany(insertData); - addGameLog(call.uid, "_addPeiJian",{}, insertData) + addGameLog(call.uid, "_addPeiJian", {}, insertData) insertData.forEach((v, key) => { let {_id, uid, ...ops} = v; @@ -609,7 +631,7 @@ export class PlayerFun { G.redis.del('peijian', call.uid, _id); G.mongodb.collection('peijian').deleteOne({uid: call.uid, _id: new ObjectId(_id)}); call.addEventMsg('msg_s2c/PeijianChange', _id, {num: 0}); - addGameLog(call.uid, "_cutPeijian",{}, {_id:_id}) + addGameLog(call.uid, "_cutPeijian", {}, {_id: _id}) } } diff --git a/src/queryEmail.ts b/src/queryEmail.ts deleted file mode 100644 index 2a6c5c8..0000000 --- a/src/queryEmail.ts +++ /dev/null @@ -1,35 +0,0 @@ -import {MongoClient} from "mongodb"; -import * as ramda from 'ramda' -import fs from "fs"; - -let R = ramda - -async function start() { - //连接mongodb - let client = await MongoClient.connect('mongodbUrl'); - - console.log('链接成功') - - let a: any = {} - - for (let i = 1; i < 20; i++) { - let dbName = `blacklagoon_s${i}` - console.log(dbName) - let mongodb = client.db(dbName); - a[dbName] = {}; - (await mongodb.collection('email').find({type: 'gm', uid: 'system'}).toArray()).map(i => { - a[dbName][i.title] = R.compose(R.map(i => ({[i[0]]: i.length})), R.values, R.filter(i => i.length > 1), R.groupBy(i => i))(i.prizelist) - console.log(a[dbName][i.title]) - }) - console.log(dbName, '查询完成') - } - - fs.writeFileSync('tab.json', JSON.stringify(a, null, 2)) -} - -//定义全局变量 -// ctor(); -//启动服务 -start().then(() => { - process.exit() -}); diff --git a/src/setWs.ts b/src/setWs.ts index 3a97c54..f5af54c 100644 --- a/src/setWs.ts +++ b/src/setWs.ts @@ -98,6 +98,15 @@ function setWs(server: WsServer) { //执行 API 接口实现之前 server.flows.preApiCallFlow.push(async call => { + // 临时停服维护方案 + // let lng = { + // "zh-TW": "停服維護中,請等待!", + // "ko": "서버 점검 중, 잠시만 기다려 주세요.", + // "ja": "サーバーメンテナンス中、しばらくお待ちください。", + // "en": "Server under maintenance. Please wait.", + // } + // call.error("", {code: -1, message: lng[call.req.lng] || lng["ja"]}) + // return null; //是否短时间内重复请求某个api // let timeIntervalLimit = call.service.conf?.timeIntervalLimit == undefined ? 500 : call.service.conf?.timeIntervalLimit; diff --git a/src/shared/protocols/event/leichonglibao/PtlOpen.ts b/src/shared/protocols/event/leichonglibao/PtlOpen.ts new file mode 100644 index 0000000..dda43a2 --- /dev/null +++ b/src/shared/protocols/event/leichonglibao/PtlOpen.ts @@ -0,0 +1,8 @@ +export type ReqOpen = { + hdid: number +} + +export type ResOpen = { + sc: boolean // 自选奖励领取标识 + buy: string[] // 特价礼包购买记录 +} \ No newline at end of file diff --git a/src/shared/protocols/event/leichonglibao/PtlReceive.ts b/src/shared/protocols/event/leichonglibao/PtlReceive.ts new file mode 100644 index 0000000..f4519e0 --- /dev/null +++ b/src/shared/protocols/event/leichonglibao/PtlReceive.ts @@ -0,0 +1,10 @@ +import {prizeType} from "../../type"; + +export interface ReqReceive { + hdid: number + select: string[] +} + +export interface ResReceive { + prize: prizeType[] +} diff --git a/src/shared/protocols/hongdian/PtlGet.ts b/src/shared/protocols/hongdian/PtlGet.ts index 45cffc2..67ceb0d 100644 --- a/src/shared/protocols/hongdian/PtlGet.ts +++ b/src/shared/protocols/hongdian/PtlGet.ts @@ -53,8 +53,8 @@ export type hongdianKey = | 'kaifujingsai' | 'zhoumolibao' | 'pobinglibao' - | 'payForDiamond'; - + | 'payForDiamond' + | 'leichonglibao'; export type hongdianVal = { show?: boolean; // 看功能需要 diff --git a/src/shared/protocols/pushgift/PtlOpen.ts b/src/shared/protocols/pushgift/PtlOpen.ts new file mode 100644 index 0000000..829c306 --- /dev/null +++ b/src/shared/protocols/pushgift/PtlOpen.ts @@ -0,0 +1,5 @@ +import {Gift} from "../../../module/collection_pushgift"; + +export type ReqOpen = {} + +export type ResOpen = { gifts: Gift[] } diff --git a/src/shared/protocols/serviceProto.ts b/src/shared/protocols/serviceProto.ts index 44e02a4..fa0d54f 100644 --- a/src/shared/protocols/serviceProto.ts +++ b/src/shared/protocols/serviceProto.ts @@ -64,56 +64,62 @@ import { ReqOpen as ReqOpen_13, ResOpen as ResOpen_13 } from './event/kaifukuang import { ReqShopBuy, ResShopBuy } from './event/kaifukuanghuan/PtlShopBuy'; import { ReqTaskBox, ResTaskBox } from './event/kaifukuanghuan/PtlTaskBox'; import { ReqTaskPrize, ResTaskPrize } from './event/kaifukuanghuan/PtlTaskPrize'; -import { ReqOpen as ReqOpen_14, ResOpen as ResOpen_14 } from './event/leijichongzhi/PtlOpen'; +import { ReqOpen as ReqOpen_14, ResOpen as ResOpen_14 } from './event/leichonglibao/PtlOpen'; +import { ReqReceive as ReqReceive_2, ResReceive as ResReceive_2 } from './event/leichonglibao/PtlReceive'; +import { ReqOpen as ReqOpen_15, ResOpen as ResOpen_15 } from './event/leijichongzhi/PtlOpen'; import { ReqRec as ReqRec_5, ResRec as ResRec_5 } from './event/leijichongzhi/PtlRec'; import { ReqLottery, ResLottery } from './event/niudanji/PtlLottery'; -import { ReqOpen as ReqOpen_15, ResOpen as ResOpen_15 } from './event/niudanji/PtlOpen'; -import { ReqOpen as ReqOpen_16, ResOpen as ResOpen_16 } from './event/qirichongzhi/PtlOpen'; +import { ReqOpen as ReqOpen_16, ResOpen as ResOpen_16 } from './event/niudanji/PtlOpen'; +import { ReqCanReceive, ResCanReceive } from './event/payForDiamond/PtlCanReceive'; +import { ReqReceive as ReqReceive_3, ResReceive as ResReceive_3 } from './event/payForDiamond/PtlReceive'; +import { ReqOpen as ReqOpen_17, ResOpen as ResOpen_17 } from './event/pobinglibao/PtlOpen'; +import { ReqReceive as ReqReceive_4, ResReceive as ResReceive_4 } from './event/pobinglibao/PtlReceive'; +import { ReqOpen as ReqOpen_18, ResOpen as ResOpen_18 } from './event/qirichongzhi/PtlOpen'; import { ReqRec as ReqRec_6, ResRec as ResRec_6 } from './event/qirichongzhi/PtlRec'; -import { ReqOpen as ReqOpen_17, ResOpen as ResOpen_17 } from './event/qiridenglu/PtlOpen'; +import { ReqOpen as ReqOpen_19, ResOpen as ResOpen_19 } from './event/qiridenglu/PtlOpen'; import { ReqRecPrize as ReqRecPrize_1, ResRecPrize as ResRecPrize_1 } from './event/qiridenglu/PtlRecPrize'; -import { ReqOpen as ReqOpen_18, ResOpen as ResOpen_18 } from './event/shiwuleichong/PtlOpen'; -import { ReqOpen as ReqOpen_19, ResOpen as ResOpen_19 } from './event/shouchong/PtlOpen'; -import { ReqReceive as ReqReceive_2, ResReceive as ResReceive_2 } from './event/shouchong/PtlReceive'; +import { ReqOpen as ReqOpen_20, ResOpen as ResOpen_20 } from './event/shiwuleichong/PtlOpen'; +import { ReqOpen as ReqOpen_21, ResOpen as ResOpen_21 } from './event/shouchong/PtlOpen'; +import { ReqReceive as ReqReceive_5, ResReceive as ResReceive_5 } from './event/shouchong/PtlReceive'; import { ReqBuy as ReqBuy_1, ResBuy as ResBuy_1 } from './event/xianshizhaomu/PtlBuy'; import { ReqDuihuan, ResDuihuan } from './event/xianshizhaomu/PtlDuihuan'; import { ReqLottery as ReqLottery_1, ResLottery as ResLottery_1 } from './event/xianshizhaomu/PtlLottery'; -import { ReqOpen as ReqOpen_20, ResOpen as ResOpen_20 } from './event/xianshizhaomu/PtlOpen'; +import { ReqOpen as ReqOpen_22, ResOpen as ResOpen_22 } from './event/xianshizhaomu/PtlOpen'; import { ReqRec as ReqRec_7, ResRec as ResRec_7 } from './event/xianshizhaomu/PtlRec'; -import { ReqOpen as ReqOpen_21, ResOpen as ResOpen_21 } from './event/xiaofeijingsai/PtlOpen'; -import { ReqOpen as ReqOpen_22, ResOpen as ResOpen_22 } from './event/xinshoulibao/PtlOpen'; +import { ReqOpen as ReqOpen_23, ResOpen as ResOpen_23 } from './event/xiaofeijingsai/PtlOpen'; +import { ReqOpen as ReqOpen_24, ResOpen as ResOpen_24 } from './event/xinshoulibao/PtlOpen'; import { ReqBuy as ReqBuy_2, ResBuy as ResBuy_2 } from './event/yangchengmubiao/PtlBuy'; -import { ReqOpen as ReqOpen_23, ResOpen as ResOpen_23 } from './event/yangchengmubiao/PtlOpen'; +import { ReqOpen as ReqOpen_25, ResOpen as ResOpen_25 } from './event/yangchengmubiao/PtlOpen'; import { ReqRec as ReqRec_8, ResRec as ResRec_8 } from './event/yangchengmubiao/PtlRec'; -import { ReqOpen as ReqOpen_24, ResOpen as ResOpen_24 } from './event/yibaichou/PtlOpen'; +import { ReqOpen as ReqOpen_26, ResOpen as ResOpen_26 } from './event/yibaichou/PtlOpen'; import { ReqRec as ReqRec_9, ResRec as ResRec_9 } from './event/yibaichou/PtlRec'; import { ReqRecAll, ResRecAll } from './event/yibaichou/PtlRecAll'; -import { ReqOpen as ReqOpen_25, ResOpen as ResOpen_25 } from './event/yuedujijin/PtlOpen'; +import { ReqOpen as ReqOpen_27, ResOpen as ResOpen_27 } from './event/yuedujijin/PtlOpen'; import { ReqRec as ReqRec_10, ResRec as ResRec_10 } from './event/yuedujijin/PtlRec'; import { ReqBuyLv, ResBuyLv } from './event/zhanling/PtlBuyLv'; -import { ReqOpen as ReqOpen_26, ResOpen as ResOpen_26 } from './event/zhanling/PtlOpen'; +import { ReqOpen as ReqOpen_28, ResOpen as ResOpen_28 } from './event/zhanling/PtlOpen'; import { ReqRecPrize as ReqRecPrize_2, ResRecPrize as ResRecPrize_2 } from './event/zhanling/PtlRecPrize'; import { ReqRecTask, ResRecTask } from './event/zhanling/PtlRecTask'; -import { ReqOpen as ReqOpen_27, ResOpen as ResOpen_27 } from './event/zhoulibao/PtlOpen'; -import { ReqOpen as ReqOpen_28, ResOpen as ResOpen_28 } from './event/zhoumolibao/PtlOpen'; -import { ReqReceive as ReqReceive_3, ResReceive as ResReceive_3 } from './event/zhoumolibao/PtlReceive'; +import { ReqOpen as ReqOpen_29, ResOpen as ResOpen_29 } from './event/zhoulibao/PtlOpen'; +import { ReqOpen as ReqOpen_30, ResOpen as ResOpen_30 } from './event/zhoumolibao/PtlOpen'; +import { ReqReceive as ReqReceive_6, ResReceive as ResReceive_6 } from './event/zhoumolibao/PtlReceive'; import { ReqBuy as ReqBuy_3, ResBuy as ResBuy_3 } from './event/zixuanlibao/PtlBuy'; -import { ReqOpen as ReqOpen_29, ResOpen as ResOpen_29 } from './event/zixuanlibao/PtlOpen'; +import { ReqOpen as ReqOpen_31, ResOpen as ResOpen_31 } from './event/zixuanlibao/PtlOpen'; import { ReqhdGetList, ReshdGetList } from './eventlist/PtlhdGetList'; import { ReqApply, ResApply } from './friend/PtlApply'; import { ReqDel, ResDel } from './friend/PtlDel'; import { ReqGift, ResGift } from './friend/PtlGift'; import { ReqList, ResList } from './friend/PtlList'; -import { ReqOpen as ReqOpen_30, ResOpen as ResOpen_30 } from './friend/PtlOpen'; +import { ReqOpen as ReqOpen_32, ResOpen as ResOpen_32 } from './friend/PtlOpen'; import { ReqRespond, ResRespond } from './friend/PtlRespond'; import { ReqRmBlackList, ResRmBlackList } from './friend/PtlRmBlackList'; import { ReqSearch, ResSearch } from './friend/PtlSearch'; import { ReqChallenge, ResChallenge } from './ganbutexun/PtlChallenge'; -import { ReqOpen as ReqOpen_31, ResOpen as ResOpen_31 } from './ganbutexun/PtlOpen'; +import { ReqOpen as ReqOpen_33, ResOpen as ResOpen_33 } from './ganbutexun/PtlOpen'; import { ReqFast, ResFast } from './ganhai/PtlFast'; import { ReqFight as ReqFight_1, ResFight as ResFight_1 } from './ganhai/PtlFight'; import { ReqLog, ResLog } from './ganhai/PtlLog'; -import { ReqOpen as ReqOpen_32, ResOpen as ResOpen_32 } from './ganhai/PtlOpen'; +import { ReqOpen as ReqOpen_34, ResOpen as ResOpen_34 } from './ganhai/PtlOpen'; import { ReqRefresh, ResRefresh } from './ganhai/PtlRefresh'; import { ReqRefreshShip, ResRefreshShip } from './ganhai/PtlRefreshShip'; import { ReqSelect as ReqSelect_1, ResSelect as ResSelect_1 } from './ganhai/PtlSelect'; @@ -135,19 +141,19 @@ import { ReqJx, ResJx } from './gonghui/PtlJx'; import { ReqJxOpen, ResJxOpen } from './gonghui/PtlJxOpen'; import { ReqList as ReqList_1, ResList as ResList_1 } from './gonghui/PtlList'; import { ReqManage, ResManage } from './gonghui/PtlManage'; -import { ReqOpen as ReqOpen_33, ResOpen as ResOpen_33 } from './gonghui/PtlOpen'; +import { ReqOpen as ReqOpen_35, ResOpen as ResOpen_35 } from './gonghui/PtlOpen'; import { ReqTanHe, ResTanHe } from './gonghui/PtlTanHe'; import { ReqTaskOpen, ResTaskOpen } from './gonghui/PtlTaskOpen'; import { ReqTaskReceive, ResTaskReceive } from './gonghui/PtlTaskReceive'; import { ReqUpWz, ResUpWz } from './gonghui/PtlUpWz'; import { ReqLottery as ReqLottery_2, ResLottery as ResLottery_2 } from './gonghuibaozang/PtlLottery'; -import { ReqOpen as ReqOpen_34, ResOpen as ResOpen_34 } from './gonghuibaozang/PtlOpen'; +import { ReqOpen as ReqOpen_36, ResOpen as ResOpen_36 } from './gonghuibaozang/PtlOpen'; import { ReqBuy as ReqBuy_4, ResBuy as ResBuy_4 } from './gonglukuangbiao/PtlBuy'; import { ReqFight as ReqFight_2, ResFight as ResFight_2 } from './gonglukuangbiao/PtlFight'; -import { ReqOpen as ReqOpen_35, ResOpen as ResOpen_35 } from './gonglukuangbiao/PtlOpen'; +import { ReqOpen as ReqOpen_37, ResOpen as ResOpen_37 } from './gonglukuangbiao/PtlOpen'; import { ReqRefresh as ReqRefresh_1, ResRefresh as ResRefresh_1 } from './gonglukuangbiao/PtlRefresh'; import { ReqActive, ResActive } from './gongyu/mingdao/PtlActive'; -import { ReqOpen as ReqOpen_36, ResOpen as ResOpen_36 } from './gongyu/mingdao/PtlOpen'; +import { ReqOpen as ReqOpen_38, ResOpen as ResOpen_38 } from './gongyu/mingdao/PtlOpen'; import { ReqRecPrize as ReqRecPrize_3, ResRecPrize as ResRecPrize_3 } from './gongyu/mingdao/PtlRecPrize'; import { ReqRepair, ResRepair } from './gongyu/mingdao/PtlRepair'; import { ReqReset as ReqReset_1, ResReset as ResReset_1 } from './gongyu/xunlianjihua/PtlReset'; @@ -156,14 +162,14 @@ import { ReqSetSkill, ResSetSkill } from './gongyu/zuozhanjihua/PtlSetSkill'; import { ReqBuyNum as ReqBuyNum_1, ResBuyNum as ResBuyNum_1 } from './hbzb/jfs/PtlBuyNum'; import { ReqFight as ReqFight_3, ResFight as ResFight_3 } from './hbzb/jfs/PtlFight'; import { ReqGetLog as ReqGetLog_1, ResGetLog as ResGetLog_1 } from './hbzb/jfs/PtlGetLog'; -import { ReqOpen as ReqOpen_37, ResOpen as ResOpen_37 } from './hbzb/jfs/PtlOpen'; +import { ReqOpen as ReqOpen_39, ResOpen as ResOpen_39 } from './hbzb/jfs/PtlOpen'; import { ReqRec as ReqRec_11, ResRec as ResRec_11 } from './hbzb/jfs/PtlRec'; import { ReqRefresh as ReqRefresh_2, ResRefresh as ResRefresh_2 } from './hbzb/jfs/PtlRefresh'; import { ReqGetStatus, ResGetStatus } from './hbzb/PtlGetStatus'; import { ReqBuyNum as ReqBuyNum_2, ResBuyNum as ResBuyNum_2 } from './hbzb/zbs/PtlBuyNum'; import { ReqFight as ReqFight_4, ResFight as ResFight_4 } from './hbzb/zbs/PtlFight'; import { ReqGetLog as ReqGetLog_2, ResGetLog as ResGetLog_2 } from './hbzb/zbs/PtlGetLog'; -import { ReqOpen as ReqOpen_38, ResOpen as ResOpen_38 } from './hbzb/zbs/PtlOpen'; +import { ReqOpen as ReqOpen_40, ResOpen as ResOpen_40 } from './hbzb/zbs/PtlOpen'; import { ReqRefresh as ReqRefresh_3, ResRefresh as ResRefresh_3 } from './hbzb/zbs/PtlRefresh'; import { ReqAwake, ResAwake } from './hero/PtlAwake'; import { ReqChangePos, ResChangePos } from './hero/PtlChangePos'; @@ -179,40 +185,40 @@ import { ReqGet as ReqGet_2, ResGet as ResGet_2 } from './hongdian/PtlGet'; import { ReqGetList as ReqGetList_4, ResGetList as ResGetList_4 } from './item/PtlGetList'; import { ReqUse, ResUse } from './item/PtlUse'; import { ReqLottery as ReqLottery_3, ResLottery as ResLottery_3 } from './jiaotang/PtlLottery'; -import { ReqOpen as ReqOpen_39, ResOpen as ResOpen_39 } from './jiaotang/PtlOpen'; +import { ReqOpen as ReqOpen_41, ResOpen as ResOpen_41 } from './jiaotang/PtlOpen'; import { ReqLottery as ReqLottery_4, ResLottery as ResLottery_4 } from './jiuba/PtlLottery'; -import { ReqOpen as ReqOpen_40, ResOpen as ResOpen_40 } from './jiuba/PtlOpen'; +import { ReqOpen as ReqOpen_42, ResOpen as ResOpen_42 } from './jiuba/PtlOpen'; import { ReqBuyFightNum, ResBuyFightNum } from './jjc/PtlBuyFightNum'; import { ReqFight as ReqFight_5, ResFight as ResFight_5 } from './jjc/PtlFight'; import { ReqFightLog, ResFightLog } from './jjc/PtlFightLog'; -import { ReqOpen as ReqOpen_41, ResOpen as ResOpen_41 } from './jjc/PtlOpen'; -import { ReqReceive as ReqReceive_4, ResReceive as ResReceive_4 } from './jjc/PtlReceive'; +import { ReqOpen as ReqOpen_43, ResOpen as ResOpen_43 } from './jjc/PtlOpen'; +import { ReqReceive as ReqReceive_7, ResReceive as ResReceive_7 } from './jjc/PtlReceive'; import { ReqRefresh as ReqRefresh_4, ResRefresh as ResRefresh_4 } from './jjc/PtlRefresh'; -import { ReqOpen as ReqOpen_42, ResOpen as ResOpen_42 } from './kaifujingsai/PtlOpen'; -import { ReqReceive as ReqReceive_5, ResReceive as ResReceive_5 } from './kaifujingsai/PtlReceive'; +import { ReqOpen as ReqOpen_44, ResOpen as ResOpen_44 } from './kaifujingsai/PtlOpen'; +import { ReqReceive as ReqReceive_8, ResReceive as ResReceive_8 } from './kaifujingsai/PtlReceive'; import { ReqApply as ReqApply_2, ResApply as ResApply_2 } from './kbzz/PtlApply'; import { ReqAutoApply, ResAutoApply } from './kbzz/PtlAutoApply'; import { ReqBuyNum as ReqBuyNum_3, ResBuyNum as ResBuyNum_3 } from './kbzz/PtlBuyNum'; import { ReqFight as ReqFight_6, ResFight as ResFight_6 } from './kbzz/PtlFight'; import { ReqFightLog as ReqFightLog_1, ResFightLog as ResFightLog_1 } from './kbzz/PtlFightLog'; import { ReqGroupState, ResGroupState } from './kbzz/PtlGroupState'; -import { ReqOpen as ReqOpen_43, ResOpen as ResOpen_43 } from './kbzz/PtlOpen'; +import { ReqOpen as ReqOpen_45, ResOpen as ResOpen_45 } from './kbzz/PtlOpen'; import { ReqRecPrize as ReqRecPrize_4, ResRecPrize as ResRecPrize_4 } from './kbzz/PtlRecPrize'; import { ReqRefresh as ReqRefresh_5, ResRefresh as ResRefresh_5 } from './kbzz/PtlRefresh'; import { ReqAddPkNum, ResAddPkNum } from './kuangdong/PtlAddPkNum'; import { ReqGetPrize, ResGetPrize } from './kuangdong/PtlGetPrize'; import { ReqKdInfo, ResKdInfo } from './kuangdong/PtlKdInfo'; import { ReqLog as ReqLog_1, ResLog as ResLog_1 } from './kuangdong/PtlLog'; -import { ReqOpen as ReqOpen_44, ResOpen as ResOpen_44 } from './kuangdong/PtlOpen'; +import { ReqOpen as ReqOpen_46, ResOpen as ResOpen_46 } from './kuangdong/PtlOpen'; import { ReqYanShi, ResYanShi } from './kuangdong/PtlYanShi'; import { ReqZhanLing, ResZhanLing } from './kuangdong/PtlZhanLing'; -import { ReqOpen as ReqOpen_45, ResOpen as ResOpen_45 } from './lingzhulaixi/PtlOpen'; +import { ReqOpen as ReqOpen_47, ResOpen as ResOpen_47 } from './lingzhulaixi/PtlOpen'; import { ReqPkBoss, ResPkBoss } from './lingzhulaixi/PtlPkBoss'; import { ReqPkRank, ResPkRank } from './lingzhulaixi/PtlPkRank'; import { ReqSaoDang, ResSaoDang } from './lingzhulaixi/PtlSaoDang'; import { ReqBuy as ReqBuy_5, ResBuy as ResBuy_5 } from './meirishilian/PtlBuy'; import { ReqFight as ReqFight_7, ResFight as ResFight_7 } from './meirishilian/PtlFight'; -import { ReqOpen as ReqOpen_46, ResOpen as ResOpen_46 } from './meirishilian/PtlOpen'; +import { ReqOpen as ReqOpen_48, ResOpen as ResOpen_48 } from './meirishilian/PtlOpen'; import { MsgBindUid } from './msg_c2s/MsgBindUid'; import { MsgPay } from './msg_c2s/MsgPay'; import { MsgSync } from './msg_c2s/MsgSync'; @@ -237,13 +243,14 @@ import { MsgPayResult } from './msg_s2c/MsgPayResult'; import { MsgPeijianChange } from './msg_s2c/MsgPeijianChange'; import { MsgPlayerChange } from './msg_s2c/MsgPlayerChange'; import { MsgPrivate } from './msg_s2c/MsgPrivate'; +import { MsgPushGiftChange } from './msg_s2c/MsgPushGiftChange'; import { MsgSendGift } from './msg_s2c/MsgSendGift'; import { MsgShiwuChange } from './msg_s2c/MsgShiwuChange'; import { MsgTaskChange } from './msg_s2c/MsgTaskChange'; import { MsgXianshilibao } from './msg_s2c/MsgXianshilibao'; import { ReqFight as ReqFight_8, ResFight as ResFight_8 } from './pata/PtlFight'; import { ReqGetPrize as ReqGetPrize_1, ResGetPrize as ResGetPrize_1 } from './pata/PtlGetPrize'; -import { ReqOpen as ReqOpen_47, ResOpen as ResOpen_47 } from './pata/PtlOpen'; +import { ReqOpen as ReqOpen_49, ResOpen as ResOpen_49 } from './pata/PtlOpen'; import { ReqSaoDang as ReqSaoDang_1, ResSaoDang as ResSaoDang_1 } from './pata/PtlSaoDang'; import { ReqGetList as ReqGetList_5, ResGetList as ResGetList_5 } from './pay/PtlGetList'; import { ReqGetList as ReqGetList_6, ResGetList as ResGetList_6 } from './peijian/PtlGetList'; @@ -259,14 +266,15 @@ import { ReqUnLock, ResUnLock } from './peijian/PtlUnLock'; import { ReqWear as ReqWear_1, ResWear as ResWear_1 } from './peijian/PtlWear'; import { ReqDeal, ResDeal } from './peijiancangku/PtlDeal'; import { ReqJump, ResJump } from './peijiancangku/PtlJump'; -import { ReqOpen as ReqOpen_48, ResOpen as ResOpen_48 } from './peijiancangku/PtlOpen'; +import { ReqOpen as ReqOpen_50, ResOpen as ResOpen_50 } from './peijiancangku/PtlOpen'; import { ReqBingo, ResBingo } from './PtlBingo'; import { ReqFightTest, ResFightTest } from './PtlFightTest'; import { ReqSyncBtn, ResSyncBtn } from './PtlSyncBtn'; import { ReqTest, ResTest } from './PtlTest'; +import { ReqOpen as ReqOpen_51, ResOpen as ResOpen_51 } from './pushgift/PtlOpen'; import { ReqFight as ReqFight_9, ResFight as ResFight_9 } from './qjzzd/PtlFight'; -import { ReqOpen as ReqOpen_49, ResOpen as ResOpen_49 } from './qjzzd/PtlOpen'; -import { ReqOpen as ReqOpen_50, ResOpen as ResOpen_50 } from './rank/PtlOpen'; +import { ReqOpen as ReqOpen_52, ResOpen as ResOpen_52 } from './qjzzd/PtlOpen'; +import { ReqOpen as ReqOpen_53, ResOpen as ResOpen_53 } from './rank/PtlOpen'; import { ReqConcise, ResConcise } from './shiwu/PtlConcise'; import { ReqExtract, ResExtract } from './shiwu/PtlExtract'; import { ReqGetList as ReqGetList_7, ResGetList as ResGetList_7 } from './shiwu/PtlGetList'; @@ -274,20 +282,20 @@ import { ReqLvUp as ReqLvUp_3, ResLvUp as ResLvUp_3 } from './shiwu/PtlLvUp'; import { ReqRecast, ResRecast } from './shiwu/PtlRecast'; import { ReqTakeOff as ReqTakeOff_2, ResTakeOff as ResTakeOff_2 } from './shiwu/PtlTakeOff'; import { ReqWear as ReqWear_2, ResWear as ResWear_2 } from './shiwu/PtlWear'; -import { ReqOpen as ReqOpen_51, ResOpen as ResOpen_51 } from './shootGame/PtlOpen'; +import { ReqOpen as ReqOpen_54, ResOpen as ResOpen_54 } from './shootGame/PtlOpen'; import { ReqRec as ReqRec_13, ResRec as ResRec_13 } from './shootGame/PtlRec'; import { ReqBuy as ReqBuy_6, ResBuy as ResBuy_6 } from './shop/PtlBuy'; -import { ReqOpen as ReqOpen_52, ResOpen as ResOpen_52 } from './shop/PtlOpen'; +import { ReqOpen as ReqOpen_55, ResOpen as ResOpen_55 } from './shop/PtlOpen'; import { ReqRefresh as ReqRefresh_6, ResRefresh as ResRefresh_6 } from './shop/PtlRefresh'; import { ReqGetBoxPrize, ResGetBoxPrize } from './sign/PtlGetBoxPrize'; import { ReqGetPrize as ReqGetPrize_2, ResGetPrize as ResGetPrize_2 } from './sign/PtlGetPrize'; -import { ReqOpen as ReqOpen_53, ResOpen as ResOpen_53 } from './sign/PtlOpen'; +import { ReqOpen as ReqOpen_56, ResOpen as ResOpen_56 } from './sign/PtlOpen'; import { ReqAim, ResAim } from './slzd/PtlAim'; import { ReqBuyNum as ReqBuyNum_4, ResBuyNum as ResBuyNum_4 } from './slzd/PtlBuyNum'; import { ReqFight as ReqFight_10, ResFight as ResFight_10 } from './slzd/PtlFight'; import { ReqFightLog as ReqFightLog_2, ResFightLog as ResFightLog_2 } from './slzd/PtlFightLog'; import { ReqMyRank, ResMyRank } from './slzd/PtlMyRank'; -import { ReqOpen as ReqOpen_54, ResOpen as ResOpen_54 } from './slzd/PtlOpen'; +import { ReqOpen as ReqOpen_57, ResOpen as ResOpen_57 } from './slzd/PtlOpen'; import { ReqOpenFort, ResOpenFort } from './slzd/PtlOpenFort'; import { ReqRec as ReqRec_14, ResRec as ResRec_14 } from './slzd/PtlRec'; import { ReqRefresh as ReqRefresh_7, ResRefresh as ResRefresh_7 } from './slzd/PtlRefresh'; @@ -296,11 +304,11 @@ import { ReqEvent, ResEvent } from './tanxian/PtlEvent'; import { ReqFastGuaJi, ResFastGuaJi } from './tanxian/PtlFastGuaJi'; import { ReqFight as ReqFight_11, ResFight as ResFight_11 } from './tanxian/PtlFight'; import { ReqGuaJi, ResGuaJi } from './tanxian/PtlGuaJi'; -import { ReqOpen as ReqOpen_55, ResOpen as ResOpen_55 } from './tanxian/PtlOpen'; -import { ReqReceive as ReqReceive_6, ResReceive as ResReceive_6 } from './tanxian/PtlReceive'; +import { ReqOpen as ReqOpen_58, ResOpen as ResOpen_58 } from './tanxian/PtlOpen'; +import { ReqReceive as ReqReceive_9, ResReceive as ResReceive_9 } from './tanxian/PtlReceive'; import { ReqAllFinsh, ResAllFinsh } from './task/PtlAllFinsh'; import { ReqFinsh, ResFinsh } from './task/PtlFinsh'; -import { ReqOpen as ReqOpen_56, ResOpen as ResOpen_56 } from './task/PtlOpen'; +import { ReqOpen as ReqOpen_59, ResOpen as ResOpen_59 } from './task/PtlOpen'; import { ReqCDKEY, ResCDKEY } from './user/PtlCDKEY'; import { ReqChangeInfo, ResChangeInfo } from './user/PtlChangeInfo'; import { ReqChangeName, ResChangeName } from './user/PtlChangeName'; @@ -316,7 +324,7 @@ import { ReqRenownOpen, ResRenownOpen } from './user/PtlRenownOpen'; import { ReqTujian, ResTujian } from './user/PtlTujian'; import { ReqDecompose, ResDecompose } from './weixiuchang/PtlDecompose'; import { ReqExchange, ResExchange } from './weixiuchang/PtlExchange'; -import { ReqOpen as ReqOpen_57, ResOpen as ResOpen_57 } from './weixiuchang/PtlOpen'; +import { ReqOpen as ReqOpen_60, ResOpen as ResOpen_60 } from './weixiuchang/PtlOpen'; import { ReqUpLv, ResUpLv } from './weixiuchang/PtlUpLv'; import { ReqUpStar, ResUpStar } from './weixiuchang/PtlUpStar'; import { ReqAutoBaoMing, ResAutoBaoMing } from './wzry/PtlAutoBaoMing'; @@ -327,7 +335,7 @@ import { ReqDldFight, ResDldFight } from './wzry/PtlDldFight'; import { ReqDldRefre, ResDldRefre } from './wzry/PtlDldRefre'; import { ReqJingCai, ResJingCai } from './wzry/PtlJingCai'; import { ReqJingCaiOpen, ResJingCaiOpen } from './wzry/PtlJingCaiOpen'; -import { ReqOpen as ReqOpen_58, ResOpen as ResOpen_58 } from './wzry/PtlOpen'; +import { ReqOpen as ReqOpen_61, ResOpen as ResOpen_61 } from './wzry/PtlOpen'; import { ReqUpdateFight, ResUpdateFight } from './wzry/PtlUpdateFight'; import { ReqWzzd, ResWzzd } from './wzry/PtlWzzd'; import { ReqZuanShiOpen, ResZuanShiOpen } from './wzry/PtlZuanShiOpen'; @@ -335,8 +343,8 @@ import { ReqAllGet, ResAllGet } from './xstask/PtlAllGet'; import { ReqGet as ReqGet_3, ResGet as ResGet_3 } from './xstask/PtlGet'; import { ReqLvUp as ReqLvUp_4, ResLvUp as ResLvUp_4 } from './xstask/PtlLvUp'; import { ReqOnekeyReceive, ResOnekeyReceive } from './xstask/PtlOnekeyReceive'; -import { ReqOpen as ReqOpen_59, ResOpen as ResOpen_59 } from './xstask/PtlOpen'; -import { ReqReceive as ReqReceive_7, ResReceive as ResReceive_7 } from './xstask/PtlReceive'; +import { ReqOpen as ReqOpen_62, ResOpen as ResOpen_62 } from './xstask/PtlOpen'; +import { ReqReceive as ReqReceive_10, ResReceive as ResReceive_10 } from './xstask/PtlReceive'; import { ReqRefresh as ReqRefresh_8, ResRefresh as ResRefresh_8 } from './xstask/PtlRefresh'; import { ReqHandle, ResHandle } from './yongbingzhuzhan/PtlHandle'; import { ReqChangePos as ReqChangePos_1, ResChangePos as ResChangePos_1 } from './zhanqianbushu/PtlChangePos'; @@ -605,10 +613,18 @@ export interface ServiceType { req: ReqTaskPrize, res: ResTaskPrize }, - "event/leijichongzhi/Open": { + "event/leichonglibao/Open": { req: ReqOpen_14, res: ResOpen_14 }, + "event/leichonglibao/Receive": { + req: ReqReceive_2, + res: ResReceive_2 + }, + "event/leijichongzhi/Open": { + req: ReqOpen_15, + res: ResOpen_15 + }, "event/leijichongzhi/Rec": { req: ReqRec_5, res: ResRec_5 @@ -618,36 +634,52 @@ export interface ServiceType { res: ResLottery }, "event/niudanji/Open": { - req: ReqOpen_15, - res: ResOpen_15 - }, - "event/qirichongzhi/Open": { req: ReqOpen_16, res: ResOpen_16 }, + "event/payForDiamond/CanReceive": { + req: ReqCanReceive, + res: ResCanReceive + }, + "event/payForDiamond/Receive": { + req: ReqReceive_3, + res: ResReceive_3 + }, + "event/pobinglibao/Open": { + req: ReqOpen_17, + res: ResOpen_17 + }, + "event/pobinglibao/Receive": { + req: ReqReceive_4, + res: ResReceive_4 + }, + "event/qirichongzhi/Open": { + req: ReqOpen_18, + res: ResOpen_18 + }, "event/qirichongzhi/Rec": { req: ReqRec_6, res: ResRec_6 }, "event/qiridenglu/Open": { - req: ReqOpen_17, - res: ResOpen_17 + req: ReqOpen_19, + res: ResOpen_19 }, "event/qiridenglu/RecPrize": { req: ReqRecPrize_1, res: ResRecPrize_1 }, "event/shiwuleichong/Open": { - req: ReqOpen_18, - res: ResOpen_18 + req: ReqOpen_20, + res: ResOpen_20 }, "event/shouchong/Open": { - req: ReqOpen_19, - res: ResOpen_19 + req: ReqOpen_21, + res: ResOpen_21 }, "event/shouchong/Receive": { - req: ReqReceive_2, - res: ResReceive_2 + req: ReqReceive_5, + res: ResReceive_5 }, "event/xianshizhaomu/Buy": { req: ReqBuy_1, @@ -662,36 +694,36 @@ export interface ServiceType { res: ResLottery_1 }, "event/xianshizhaomu/Open": { - req: ReqOpen_20, - res: ResOpen_20 + req: ReqOpen_22, + res: ResOpen_22 }, "event/xianshizhaomu/Rec": { req: ReqRec_7, res: ResRec_7 }, "event/xiaofeijingsai/Open": { - req: ReqOpen_21, - res: ResOpen_21 + req: ReqOpen_23, + res: ResOpen_23 }, "event/xinshoulibao/Open": { - req: ReqOpen_22, - res: ResOpen_22 + req: ReqOpen_24, + res: ResOpen_24 }, "event/yangchengmubiao/Buy": { req: ReqBuy_2, res: ResBuy_2 }, "event/yangchengmubiao/Open": { - req: ReqOpen_23, - res: ResOpen_23 + req: ReqOpen_25, + res: ResOpen_25 }, "event/yangchengmubiao/Rec": { req: ReqRec_8, res: ResRec_8 }, "event/yibaichou/Open": { - req: ReqOpen_24, - res: ResOpen_24 + req: ReqOpen_26, + res: ResOpen_26 }, "event/yibaichou/Rec": { req: ReqRec_9, @@ -702,8 +734,8 @@ export interface ServiceType { res: ResRecAll }, "event/yuedujijin/Open": { - req: ReqOpen_25, - res: ResOpen_25 + req: ReqOpen_27, + res: ResOpen_27 }, "event/yuedujijin/Rec": { req: ReqRec_10, @@ -714,8 +746,8 @@ export interface ServiceType { res: ResBuyLv }, "event/zhanling/Open": { - req: ReqOpen_26, - res: ResOpen_26 + req: ReqOpen_28, + res: ResOpen_28 }, "event/zhanling/RecPrize": { req: ReqRecPrize_2, @@ -726,24 +758,24 @@ export interface ServiceType { res: ResRecTask }, "event/zhoulibao/Open": { - req: ReqOpen_27, - res: ResOpen_27 + req: ReqOpen_29, + res: ResOpen_29 }, "event/zhoumolibao/Open": { - req: ReqOpen_28, - res: ResOpen_28 + req: ReqOpen_30, + res: ResOpen_30 }, "event/zhoumolibao/Receive": { - req: ReqReceive_3, - res: ResReceive_3 + req: ReqReceive_6, + res: ResReceive_6 }, "event/zixuanlibao/Buy": { req: ReqBuy_3, res: ResBuy_3 }, "event/zixuanlibao/Open": { - req: ReqOpen_29, - res: ResOpen_29 + req: ReqOpen_31, + res: ResOpen_31 }, "eventlist/hdGetList": { req: ReqhdGetList, @@ -766,8 +798,8 @@ export interface ServiceType { res: ResList }, "friend/Open": { - req: ReqOpen_30, - res: ResOpen_30 + req: ReqOpen_32, + res: ResOpen_32 }, "friend/Respond": { req: ReqRespond, @@ -786,8 +818,8 @@ export interface ServiceType { res: ResChallenge }, "ganbutexun/Open": { - req: ReqOpen_31, - res: ResOpen_31 + req: ReqOpen_33, + res: ResOpen_33 }, "ganhai/Fast": { req: ReqFast, @@ -802,8 +834,8 @@ export interface ServiceType { res: ResLog }, "ganhai/Open": { - req: ReqOpen_32, - res: ResOpen_32 + req: ReqOpen_34, + res: ResOpen_34 }, "ganhai/Refresh": { req: ReqRefresh, @@ -890,8 +922,8 @@ export interface ServiceType { res: ResManage }, "gonghui/Open": { - req: ReqOpen_33, - res: ResOpen_33 + req: ReqOpen_35, + res: ResOpen_35 }, "gonghui/TanHe": { req: ReqTanHe, @@ -914,8 +946,8 @@ export interface ServiceType { res: ResLottery_2 }, "gonghuibaozang/Open": { - req: ReqOpen_34, - res: ResOpen_34 + req: ReqOpen_36, + res: ResOpen_36 }, "gonglukuangbiao/Buy": { req: ReqBuy_4, @@ -926,8 +958,8 @@ export interface ServiceType { res: ResFight_2 }, "gonglukuangbiao/Open": { - req: ReqOpen_35, - res: ResOpen_35 + req: ReqOpen_37, + res: ResOpen_37 }, "gonglukuangbiao/Refresh": { req: ReqRefresh_1, @@ -938,8 +970,8 @@ export interface ServiceType { res: ResActive }, "gongyu/mingdao/Open": { - req: ReqOpen_36, - res: ResOpen_36 + req: ReqOpen_38, + res: ResOpen_38 }, "gongyu/mingdao/RecPrize": { req: ReqRecPrize_3, @@ -974,8 +1006,8 @@ export interface ServiceType { res: ResGetLog_1 }, "hbzb/jfs/Open": { - req: ReqOpen_37, - res: ResOpen_37 + req: ReqOpen_39, + res: ResOpen_39 }, "hbzb/jfs/Rec": { req: ReqRec_11, @@ -1002,8 +1034,8 @@ export interface ServiceType { res: ResGetLog_2 }, "hbzb/zbs/Open": { - req: ReqOpen_38, - res: ResOpen_38 + req: ReqOpen_40, + res: ResOpen_40 }, "hbzb/zbs/Refresh": { req: ReqRefresh_3, @@ -1066,16 +1098,16 @@ export interface ServiceType { res: ResLottery_3 }, "jiaotang/Open": { - req: ReqOpen_39, - res: ResOpen_39 + req: ReqOpen_41, + res: ResOpen_41 }, "jiuba/Lottery": { req: ReqLottery_4, res: ResLottery_4 }, "jiuba/Open": { - req: ReqOpen_40, - res: ResOpen_40 + req: ReqOpen_42, + res: ResOpen_42 }, "jjc/BuyFightNum": { req: ReqBuyFightNum, @@ -1090,24 +1122,24 @@ export interface ServiceType { res: ResFightLog }, "jjc/Open": { - req: ReqOpen_41, - res: ResOpen_41 + req: ReqOpen_43, + res: ResOpen_43 }, "jjc/Receive": { - req: ReqReceive_4, - res: ResReceive_4 + req: ReqReceive_7, + res: ResReceive_7 }, "jjc/Refresh": { req: ReqRefresh_4, res: ResRefresh_4 }, "kaifujingsai/Open": { - req: ReqOpen_42, - res: ResOpen_42 + req: ReqOpen_44, + res: ResOpen_44 }, "kaifujingsai/Receive": { - req: ReqReceive_5, - res: ResReceive_5 + req: ReqReceive_8, + res: ResReceive_8 }, "kbzz/Apply": { req: ReqApply_2, @@ -1134,8 +1166,8 @@ export interface ServiceType { res: ResGroupState }, "kbzz/Open": { - req: ReqOpen_43, - res: ResOpen_43 + req: ReqOpen_45, + res: ResOpen_45 }, "kbzz/RecPrize": { req: ReqRecPrize_4, @@ -1162,8 +1194,8 @@ export interface ServiceType { res: ResLog_1 }, "kuangdong/Open": { - req: ReqOpen_44, - res: ResOpen_44 + req: ReqOpen_46, + res: ResOpen_46 }, "kuangdong/YanShi": { req: ReqYanShi, @@ -1174,8 +1206,8 @@ export interface ServiceType { res: ResZhanLing }, "lingzhulaixi/Open": { - req: ReqOpen_45, - res: ResOpen_45 + req: ReqOpen_47, + res: ResOpen_47 }, "lingzhulaixi/PkBoss": { req: ReqPkBoss, @@ -1198,8 +1230,8 @@ export interface ServiceType { res: ResFight_7 }, "meirishilian/Open": { - req: ReqOpen_46, - res: ResOpen_46 + req: ReqOpen_48, + res: ResOpen_48 }, "pata/Fight": { req: ReqFight_8, @@ -1210,8 +1242,8 @@ export interface ServiceType { res: ResGetPrize_1 }, "pata/Open": { - req: ReqOpen_47, - res: ResOpen_47 + req: ReqOpen_49, + res: ResOpen_49 }, "pata/SaoDang": { req: ReqSaoDang_1, @@ -1274,8 +1306,8 @@ export interface ServiceType { res: ResJump }, "peijiancangku/Open": { - req: ReqOpen_48, - res: ResOpen_48 + req: ReqOpen_50, + res: ResOpen_50 }, "Bingo": { req: ReqBingo, @@ -1293,17 +1325,21 @@ export interface ServiceType { req: ReqTest, res: ResTest }, + "pushgift/Open": { + req: ReqOpen_51, + res: ResOpen_51 + }, "qjzzd/Fight": { req: ReqFight_9, res: ResFight_9 }, "qjzzd/Open": { - req: ReqOpen_49, - res: ResOpen_49 + req: ReqOpen_52, + res: ResOpen_52 }, "rank/Open": { - req: ReqOpen_50, - res: ResOpen_50 + req: ReqOpen_53, + res: ResOpen_53 }, "shiwu/Concise": { req: ReqConcise, @@ -1334,8 +1370,8 @@ export interface ServiceType { res: ResWear_2 }, "shootGame/Open": { - req: ReqOpen_51, - res: ResOpen_51 + req: ReqOpen_54, + res: ResOpen_54 }, "shootGame/Rec": { req: ReqRec_13, @@ -1346,8 +1382,8 @@ export interface ServiceType { res: ResBuy_6 }, "shop/Open": { - req: ReqOpen_52, - res: ResOpen_52 + req: ReqOpen_55, + res: ResOpen_55 }, "shop/Refresh": { req: ReqRefresh_6, @@ -1362,8 +1398,8 @@ export interface ServiceType { res: ResGetPrize_2 }, "sign/Open": { - req: ReqOpen_53, - res: ResOpen_53 + req: ReqOpen_56, + res: ResOpen_56 }, "slzd/Aim": { req: ReqAim, @@ -1386,8 +1422,8 @@ export interface ServiceType { res: ResMyRank }, "slzd/Open": { - req: ReqOpen_54, - res: ResOpen_54 + req: ReqOpen_57, + res: ResOpen_57 }, "slzd/OpenFort": { req: ReqOpenFort, @@ -1422,12 +1458,12 @@ export interface ServiceType { res: ResGuaJi }, "tanxian/Open": { - req: ReqOpen_55, - res: ResOpen_55 + req: ReqOpen_58, + res: ResOpen_58 }, "tanxian/Receive": { - req: ReqReceive_6, - res: ResReceive_6 + req: ReqReceive_9, + res: ResReceive_9 }, "task/AllFinsh": { req: ReqAllFinsh, @@ -1438,8 +1474,8 @@ export interface ServiceType { res: ResFinsh }, "task/Open": { - req: ReqOpen_56, - res: ResOpen_56 + req: ReqOpen_59, + res: ResOpen_59 }, "user/CDKEY": { req: ReqCDKEY, @@ -1502,8 +1538,8 @@ export interface ServiceType { res: ResExchange }, "weixiuchang/Open": { - req: ReqOpen_57, - res: ResOpen_57 + req: ReqOpen_60, + res: ResOpen_60 }, "weixiuchang/UpLv": { req: ReqUpLv, @@ -1546,8 +1582,8 @@ export interface ServiceType { res: ResJingCaiOpen }, "wzry/Open": { - req: ReqOpen_58, - res: ResOpen_58 + req: ReqOpen_61, + res: ResOpen_61 }, "wzry/UpdateFight": { req: ReqUpdateFight, @@ -1578,12 +1614,12 @@ export interface ServiceType { res: ResOnekeyReceive }, "xstask/Open": { - req: ReqOpen_59, - res: ResOpen_59 + req: ReqOpen_62, + res: ResOpen_62 }, "xstask/Receive": { - req: ReqReceive_7, - res: ResReceive_7 + req: ReqReceive_10, + res: ResReceive_10 }, "xstask/Refresh": { req: ReqRefresh_8, @@ -1631,6 +1667,7 @@ export interface ServiceType { "msg_s2c/PeijianChange": MsgPeijianChange, "msg_s2c/PlayerChange": MsgPlayerChange, "msg_s2c/Private": MsgPrivate, + "msg_s2c/PushGiftChange": MsgPushGiftChange, "msg_s2c/SendGift": MsgSendGift, "msg_s2c/ShiwuChange": MsgShiwuChange, "msg_s2c/TaskChange": MsgTaskChange, @@ -1967,126 +2004,156 @@ export const serviceProto: ServiceProto = { }, { "id": 65, - "name": "event/leijichongzhi/Open", + "name": "event/leichonglibao/Open", "type": "api" }, { "id": 66, - "name": "event/leijichongzhi/Rec", + "name": "event/leichonglibao/Receive", "type": "api" }, { "id": 67, - "name": "event/niudanji/Lottery", + "name": "event/leijichongzhi/Open", "type": "api" }, { "id": 68, - "name": "event/niudanji/Open", + "name": "event/leijichongzhi/Rec", "type": "api" }, { "id": 69, - "name": "event/qirichongzhi/Open", + "name": "event/niudanji/Lottery", "type": "api" }, { "id": 70, - "name": "event/qirichongzhi/Rec", + "name": "event/niudanji/Open", "type": "api" }, { "id": 71, - "name": "event/qiridenglu/Open", + "name": "event/payForDiamond/CanReceive", "type": "api" }, { "id": 72, - "name": "event/qiridenglu/RecPrize", + "name": "event/payForDiamond/Receive", "type": "api" }, { "id": 73, - "name": "event/shiwuleichong/Open", + "name": "event/pobinglibao/Open", "type": "api" }, { "id": 74, - "name": "event/shouchong/Open", + "name": "event/pobinglibao/Receive", "type": "api" }, { "id": 75, - "name": "event/shouchong/Receive", + "name": "event/qirichongzhi/Open", "type": "api" }, { "id": 76, - "name": "event/xianshizhaomu/Buy", + "name": "event/qirichongzhi/Rec", "type": "api" }, { "id": 77, - "name": "event/xianshizhaomu/Duihuan", + "name": "event/qiridenglu/Open", "type": "api" }, { "id": 78, - "name": "event/xianshizhaomu/Lottery", + "name": "event/qiridenglu/RecPrize", "type": "api" }, { "id": 79, - "name": "event/xianshizhaomu/Open", + "name": "event/shiwuleichong/Open", "type": "api" }, { "id": 80, - "name": "event/xianshizhaomu/Rec", + "name": "event/shouchong/Open", "type": "api" }, { "id": 81, - "name": "event/xiaofeijingsai/Open", + "name": "event/shouchong/Receive", "type": "api" }, { "id": 82, - "name": "event/xinshoulibao/Open", + "name": "event/xianshizhaomu/Buy", "type": "api" }, { "id": 83, - "name": "event/yangchengmubiao/Buy", + "name": "event/xianshizhaomu/Duihuan", "type": "api" }, { "id": 84, - "name": "event/yangchengmubiao/Open", + "name": "event/xianshizhaomu/Lottery", "type": "api" }, { "id": 85, - "name": "event/yangchengmubiao/Rec", + "name": "event/xianshizhaomu/Open", "type": "api" }, { "id": 86, - "name": "event/yibaichou/Open", + "name": "event/xianshizhaomu/Rec", "type": "api" }, { "id": 87, - "name": "event/yibaichou/Rec", + "name": "event/xiaofeijingsai/Open", "type": "api" }, { "id": 88, - "name": "event/yibaichou/RecAll", + "name": "event/xinshoulibao/Open", "type": "api" }, { "id": 89, + "name": "event/yangchengmubiao/Buy", + "type": "api" + }, + { + "id": 90, + "name": "event/yangchengmubiao/Open", + "type": "api" + }, + { + "id": 91, + "name": "event/yangchengmubiao/Rec", + "type": "api" + }, + { + "id": 92, + "name": "event/yibaichou/Open", + "type": "api" + }, + { + "id": 93, + "name": "event/yibaichou/Rec", + "type": "api" + }, + { + "id": 94, + "name": "event/yibaichou/RecAll", + "type": "api" + }, + { + "id": 95, "name": "event/yuedujijin/Open", "type": "api", "conf": { @@ -2094,157 +2161,157 @@ export const serviceProto: ServiceProto = { } }, { - "id": 90, + "id": 96, "name": "event/yuedujijin/Rec", "type": "api" }, { - "id": 91, + "id": 97, "name": "event/zhanling/BuyLv", "type": "api" }, { - "id": 92, + "id": 98, "name": "event/zhanling/Open", "type": "api" }, { - "id": 93, + "id": 99, "name": "event/zhanling/RecPrize", "type": "api" }, { - "id": 94, + "id": 100, "name": "event/zhanling/RecTask", "type": "api" }, { - "id": 95, + "id": 101, "name": "event/zhoulibao/Open", "type": "api" }, { - "id": 96, + "id": 102, "name": "event/zhoumolibao/Open", "type": "api" }, { - "id": 97, + "id": 103, "name": "event/zhoumolibao/Receive", "type": "api" }, { - "id": 98, + "id": 104, "name": "event/zixuanlibao/Buy", "type": "api" }, { - "id": 99, + "id": 105, "name": "event/zixuanlibao/Open", "type": "api" }, { - "id": 100, + "id": 106, "name": "eventlist/hdGetList", "type": "api" }, { - "id": 101, + "id": 107, "name": "friend/Apply", "type": "api" }, { - "id": 102, + "id": 108, "name": "friend/Del", "type": "api" }, { - "id": 103, + "id": 109, "name": "friend/Gift", "type": "api" }, { - "id": 104, + "id": 110, "name": "friend/List", "type": "api" }, { - "id": 105, + "id": 111, "name": "friend/Open", "type": "api" }, { - "id": 106, + "id": 112, "name": "friend/Respond", "type": "api" }, { - "id": 107, + "id": 113, "name": "friend/RmBlackList", "type": "api" }, { - "id": 108, + "id": 114, "name": "friend/Search", "type": "api" }, { - "id": 109, + "id": 115, "name": "ganbutexun/Challenge", "type": "api" }, { - "id": 110, + "id": 116, "name": "ganbutexun/Open", "type": "api" }, { - "id": 111, + "id": 117, "name": "ganhai/Fast", "type": "api" }, { - "id": 112, + "id": 118, "name": "ganhai/Fight", "type": "api" }, { - "id": 113, + "id": 119, "name": "ganhai/Log", "type": "api" }, { - "id": 114, + "id": 120, "name": "ganhai/Open", "type": "api" }, { - "id": 115, + "id": 121, "name": "ganhai/Refresh", "type": "api" }, { - "id": 116, + "id": 122, "name": "ganhai/RefreshShip", "type": "api" }, { - "id": 117, + "id": 123, "name": "ganhai/Select", "type": "api" }, { - "id": 118, + "id": 124, "name": "gmapi/Gift", "type": "api" }, { - "id": 119, + "id": 125, "name": "gmapi/Post", "type": "api" }, { - "id": 120, + "id": 126, "name": "gonghui/Apply", "type": "api", "conf": { @@ -2254,7 +2321,7 @@ export const serviceProto: ServiceProto = { } }, { - "id": 121, + "id": 127, "name": "gonghui/ApplyAll", "type": "api", "conf": { @@ -2264,7 +2331,7 @@ export const serviceProto: ServiceProto = { } }, { - "id": 122, + "id": 128, "name": "gonghui/ApplyList", "type": "api", "conf": { @@ -2274,7 +2341,7 @@ export const serviceProto: ServiceProto = { } }, { - "id": 123, + "id": 129, "name": "gonghui/Change", "type": "api", "conf": { @@ -2284,12 +2351,12 @@ export const serviceProto: ServiceProto = { } }, { - "id": 124, + "id": 130, "name": "gonghui/Create", "type": "api" }, { - "id": 125, + "id": 131, "name": "gonghui/Dissolve", "type": "api", "conf": { @@ -2299,7 +2366,7 @@ export const serviceProto: ServiceProto = { } }, { - "id": 126, + "id": 132, "name": "gonghui/Exit", "type": "api", "conf": { @@ -2309,12 +2376,12 @@ export const serviceProto: ServiceProto = { } }, { - "id": 127, + "id": 133, "name": "gonghui/FbBuyNum", "type": "api" }, { - "id": 128, + "id": 134, "name": "gonghui/FbFight", "type": "api", "conf": { @@ -2324,7 +2391,7 @@ export const serviceProto: ServiceProto = { } }, { - "id": 129, + "id": 135, "name": "gonghui/FbOpen", "type": "api", "conf": { @@ -2334,17 +2401,17 @@ export const serviceProto: ServiceProto = { } }, { - "id": 130, + "id": 136, "name": "gonghui/GetList", "type": "api" }, { - "id": 131, + "id": 137, "name": "gonghui/Join", "type": "api" }, { - "id": 132, + "id": 138, "name": "gonghui/Jx", "type": "api", "conf": { @@ -2354,7 +2421,7 @@ export const serviceProto: ServiceProto = { } }, { - "id": 133, + "id": 139, "name": "gonghui/JxOpen", "type": "api", "conf": { @@ -2364,7 +2431,7 @@ export const serviceProto: ServiceProto = { } }, { - "id": 134, + "id": 140, "name": "gonghui/List", "type": "api", "conf": { @@ -2374,7 +2441,7 @@ export const serviceProto: ServiceProto = { } }, { - "id": 135, + "id": 141, "name": "gonghui/Manage", "type": "api", "conf": { @@ -2384,7 +2451,7 @@ export const serviceProto: ServiceProto = { } }, { - "id": 136, + "id": 142, "name": "gonghui/Open", "type": "api", "conf": { @@ -2394,7 +2461,7 @@ export const serviceProto: ServiceProto = { } }, { - "id": 137, + "id": 143, "name": "gonghui/TanHe", "type": "api", "conf": { @@ -2404,7 +2471,7 @@ export const serviceProto: ServiceProto = { } }, { - "id": 138, + "id": 144, "name": "gonghui/TaskOpen", "type": "api", "conf": { @@ -2414,7 +2481,7 @@ export const serviceProto: ServiceProto = { } }, { - "id": 139, + "id": 145, "name": "gonghui/TaskReceive", "type": "api", "conf": { @@ -2424,7 +2491,7 @@ export const serviceProto: ServiceProto = { } }, { - "id": 140, + "id": 146, "name": "gonghui/UpWz", "type": "api", "conf": { @@ -2434,137 +2501,137 @@ export const serviceProto: ServiceProto = { } }, { - "id": 141, + "id": 147, "name": "gonghuibaozang/Lottery", "type": "api" }, { - "id": 142, + "id": 148, "name": "gonghuibaozang/Open", "type": "api" }, { - "id": 143, + "id": 149, "name": "gonglukuangbiao/Buy", "type": "api" }, { - "id": 144, + "id": 150, "name": "gonglukuangbiao/Fight", "type": "api" }, { - "id": 145, + "id": 151, "name": "gonglukuangbiao/Open", "type": "api" }, { - "id": 146, + "id": 152, "name": "gonglukuangbiao/Refresh", "type": "api" }, { - "id": 147, + "id": 153, "name": "gongyu/mingdao/Active", "type": "api" }, { - "id": 148, + "id": 154, "name": "gongyu/mingdao/Open", "type": "api" }, { - "id": 149, + "id": 155, "name": "gongyu/mingdao/RecPrize", "type": "api" }, { - "id": 150, + "id": 156, "name": "gongyu/mingdao/Repair", "type": "api" }, { - "id": 151, + "id": 157, "name": "gongyu/xunlianjihua/Reset", "type": "api" }, { - "id": 152, + "id": 158, "name": "gongyu/xunlianjihua/UpSkill", "type": "api" }, { - "id": 153, + "id": 159, "name": "gongyu/zuozhanjihua/SetSkill", "type": "api" }, { - "id": 154, + "id": 160, "name": "hbzb/jfs/BuyNum", "type": "api" }, { - "id": 155, + "id": 161, "name": "hbzb/jfs/Fight", "type": "api" }, { - "id": 156, + "id": 162, "name": "hbzb/jfs/GetLog", "type": "api" }, { - "id": 157, + "id": 163, "name": "hbzb/jfs/Open", "type": "api" }, { - "id": 158, + "id": 164, "name": "hbzb/jfs/Rec", "type": "api" }, { - "id": 159, + "id": 165, "name": "hbzb/jfs/Refresh", "type": "api" }, { - "id": 160, + "id": 166, "name": "hbzb/GetStatus", "type": "api" }, { - "id": 161, + "id": 167, "name": "hbzb/zbs/BuyNum", "type": "api" }, { - "id": 162, + "id": 168, "name": "hbzb/zbs/Fight", "type": "api" }, { - "id": 163, + "id": 169, "name": "hbzb/zbs/GetLog", "type": "api" }, { - "id": 164, + "id": 170, "name": "hbzb/zbs/Open", "type": "api" }, { - "id": 165, + "id": 171, "name": "hbzb/zbs/Refresh", "type": "api" }, { - "id": 166, + "id": 172, "name": "hero/Awake", "type": "api" }, { - "id": 167, + "id": 173, "name": "hero/ChangePos", "type": "api", "conf": { @@ -2572,17 +2639,17 @@ export const serviceProto: ServiceProto = { } }, { - "id": 168, + "id": 174, "name": "hero/GetList", "type": "api" }, { - "id": 169, + "id": 175, "name": "hero/JinJie", "type": "api" }, { - "id": 170, + "id": 176, "name": "hero/LvUp", "type": "api", "conf": { @@ -2590,32 +2657,32 @@ export const serviceProto: ServiceProto = { } }, { - "id": 171, + "id": 177, "name": "hero/Potency", "type": "api" }, { - "id": 172, + "id": 178, "name": "hero/Rec", "type": "api" }, { - "id": 173, + "id": 179, "name": "hero/Reset", "type": "api" }, { - "id": 174, + "id": 180, "name": "hero/Talent", "type": "api" }, { - "id": 175, + "id": 181, "name": "hero/WeaponUp", "type": "api" }, { - "id": 176, + "id": 182, "name": "hongdian/Get", "type": "api", "conf": { @@ -2623,117 +2690,117 @@ export const serviceProto: ServiceProto = { } }, { - "id": 177, + "id": 183, "name": "item/GetList", "type": "api" }, { - "id": 178, + "id": 184, "name": "item/Use", "type": "api" }, { - "id": 179, + "id": 185, "name": "jiaotang/Lottery", "type": "api" }, { - "id": 180, + "id": 186, "name": "jiaotang/Open", "type": "api" }, { - "id": 181, + "id": 187, "name": "jiuba/Lottery", "type": "api" }, { - "id": 182, + "id": 188, "name": "jiuba/Open", "type": "api" }, { - "id": 183, + "id": 189, "name": "jjc/BuyFightNum", "type": "api" }, { - "id": 184, + "id": 190, "name": "jjc/Fight", "type": "api" }, { - "id": 185, + "id": 191, "name": "jjc/FightLog", "type": "api" }, { - "id": 186, + "id": 192, "name": "jjc/Open", "type": "api" }, { - "id": 187, + "id": 193, "name": "jjc/Receive", "type": "api" }, { - "id": 188, + "id": 194, "name": "jjc/Refresh", "type": "api" }, { - "id": 189, + "id": 195, "name": "kaifujingsai/Open", "type": "api" }, { - "id": 190, + "id": 196, "name": "kaifujingsai/Receive", "type": "api" }, { - "id": 191, + "id": 197, "name": "kbzz/Apply", "type": "api" }, { - "id": 192, + "id": 198, "name": "kbzz/AutoApply", "type": "api" }, { - "id": 193, + "id": 199, "name": "kbzz/BuyNum", "type": "api" }, { - "id": 194, + "id": 200, "name": "kbzz/Fight", "type": "api" }, { - "id": 195, + "id": 201, "name": "kbzz/FightLog", "type": "api" }, { - "id": 196, + "id": 202, "name": "kbzz/GroupState", "type": "api" }, { - "id": 197, + "id": 203, "name": "kbzz/Open", "type": "api" }, { - "id": 198, + "id": 204, "name": "kbzz/RecPrize", "type": "api" }, { - "id": 199, + "id": 205, "name": "kbzz/Refresh", "type": "api", "conf": { @@ -2741,282 +2808,287 @@ export const serviceProto: ServiceProto = { } }, { - "id": 200, + "id": 206, "name": "kuangdong/AddPkNum", "type": "api" }, { - "id": 201, + "id": 207, "name": "kuangdong/GetPrize", "type": "api" }, { - "id": 202, + "id": 208, "name": "kuangdong/KdInfo", "type": "api" }, { - "id": 203, + "id": 209, "name": "kuangdong/Log", "type": "api" }, { - "id": 204, + "id": 210, "name": "kuangdong/Open", "type": "api" }, { - "id": 205, + "id": 211, "name": "kuangdong/YanShi", "type": "api" }, { - "id": 206, + "id": 212, "name": "kuangdong/ZhanLing", "type": "api" }, { - "id": 207, + "id": 213, "name": "lingzhulaixi/Open", "type": "api" }, { - "id": 208, + "id": 214, "name": "lingzhulaixi/PkBoss", "type": "api" }, { - "id": 209, + "id": 215, "name": "lingzhulaixi/PkRank", "type": "api" }, { - "id": 210, + "id": 216, "name": "lingzhulaixi/SaoDang", "type": "api" }, { - "id": 211, + "id": 217, "name": "meirishilian/Buy", "type": "api" }, { - "id": 212, + "id": 218, "name": "meirishilian/Fight", "type": "api" }, { - "id": 213, + "id": 219, "name": "meirishilian/Open", "type": "api" }, { - "id": 214, + "id": 220, "name": "msg_c2s/BindUid", "type": "msg" }, { - "id": 215, + "id": 221, "name": "msg_c2s/Pay", "type": "msg" }, { - "id": 216, + "id": 222, "name": "msg_c2s/Sync", "type": "msg" }, { - "id": 217, + "id": 223, "name": "msg_s2c/Chat", "type": "msg" }, { - "id": 218, + "id": 224, "name": "msg_s2c/ChatHelp", "type": "msg" }, { - "id": 219, + "id": 225, "name": "msg_s2c/Collection", "type": "msg" }, { - "id": 220, + "id": 226, "name": "msg_s2c/Email", "type": "msg" }, { - "id": 221, + "id": 227, "name": "msg_s2c/EmailDel", "type": "msg" }, { - "id": 222, + "id": 228, "name": "msg_s2c/EquipChange", "type": "msg" }, { - "id": 223, + "id": 229, "name": "msg_s2c/Friend", "type": "msg" }, { - "id": 224, + "id": 230, "name": "msg_s2c/GhChange", "type": "msg" }, { - "id": 225, + "id": 231, "name": "msg_s2c/GongHuiBaoZang", "type": "msg" }, { - "id": 226, + "id": 232, "name": "msg_s2c/HeroChange", "type": "msg" }, { - "id": 227, + "id": 233, "name": "msg_s2c/HongDianChange", "type": "msg" }, { - "id": 228, + "id": 234, "name": "msg_s2c/ItemChange", "type": "msg" }, { - "id": 229, + "id": 235, "name": "msg_s2c/LoginQueue", "type": "msg" }, { - "id": 230, + "id": 236, "name": "msg_s2c/LshdChange", "type": "msg" }, { - "id": 231, + "id": 237, "name": "msg_s2c/NewDay", "type": "msg" }, { - "id": 232, + "id": 238, "name": "msg_s2c/OtherLogin", "type": "msg" }, { - "id": 233, + "id": 239, "name": "msg_s2c/PayChange", "type": "msg" }, { - "id": 234, + "id": 240, "name": "msg_s2c/PayResult", "type": "msg" }, { - "id": 235, + "id": 241, "name": "msg_s2c/PeijianChange", "type": "msg" }, { - "id": 236, + "id": 242, "name": "msg_s2c/PlayerChange", "type": "msg" }, { - "id": 237, + "id": 243, "name": "msg_s2c/Private", "type": "msg" }, { - "id": 238, + "id": 244, + "name": "msg_s2c/PushGiftChange", + "type": "msg" + }, + { + "id": 245, "name": "msg_s2c/SendGift", "type": "msg" }, { - "id": 239, + "id": 246, "name": "msg_s2c/ShiwuChange", "type": "msg" }, { - "id": 240, + "id": 247, "name": "msg_s2c/TaskChange", "type": "msg" }, { - "id": 241, + "id": 248, "name": "msg_s2c/Xianshilibao", "type": "msg" }, { - "id": 242, + "id": 249, "name": "pata/Fight", "type": "api" }, { - "id": 243, + "id": 250, "name": "pata/GetPrize", "type": "api" }, { - "id": 244, + "id": 251, "name": "pata/Open", "type": "api" }, { - "id": 245, + "id": 252, "name": "pata/SaoDang", "type": "api" }, { - "id": 246, + "id": 253, "name": "pay/GetList", "type": "api" }, { - "id": 247, + "id": 254, "name": "peijian/GetList", "type": "api" }, { - "id": 248, + "id": 255, "name": "peijian/JingLian", "type": "api" }, { - "id": 249, + "id": 256, "name": "peijian/JinJie", "type": "api" }, { - "id": 250, + "id": 257, "name": "peijian/LvUp", "type": "api" }, { - "id": 251, + "id": 258, "name": "peijian/OneKeyLvUp", "type": "api" }, { - "id": 252, + "id": 259, "name": "peijian/OneKeyWear", "type": "api" }, { - "id": 253, + "id": 260, "name": "peijian/Reset", "type": "api" }, { - "id": 254, + "id": 261, "name": "peijian/Rm", "type": "api" }, { - "id": 255, + "id": 262, "name": "peijian/TakeOff", "type": "api", "conf": { @@ -3024,32 +3096,32 @@ export const serviceProto: ServiceProto = { } }, { - "id": 256, + "id": 263, "name": "peijian/UnLock", "type": "api" }, { - "id": 257, + "id": 264, "name": "peijian/Wear", "type": "api" }, { - "id": 258, + "id": 265, "name": "peijiancangku/Deal", "type": "api" }, { - "id": 259, + "id": 266, "name": "peijiancangku/Jump", "type": "api" }, { - "id": 260, + "id": 267, "name": "peijiancangku/Open", "type": "api" }, { - "id": 261, + "id": 268, "name": "Bingo", "type": "api", "conf": { @@ -3057,137 +3129,142 @@ export const serviceProto: ServiceProto = { } }, { - "id": 262, + "id": 269, "name": "FightTest", "type": "api" }, { - "id": 263, + "id": 270, "name": "SyncBtn", "type": "api" }, { - "id": 264, + "id": 271, "name": "Test", "type": "api" }, - { - "id": 265, - "name": "qjzzd/Fight", - "type": "api" - }, - { - "id": 266, - "name": "qjzzd/Open", - "type": "api" - }, - { - "id": 267, - "name": "rank/Open", - "type": "api" - }, - { - "id": 268, - "name": "shiwu/Concise", - "type": "api" - }, - { - "id": 269, - "name": "shiwu/Extract", - "type": "api" - }, - { - "id": 270, - "name": "shiwu/GetList", - "type": "api" - }, - { - "id": 271, - "name": "shiwu/LvUp", - "type": "api" - }, { "id": 272, - "name": "shiwu/Recast", + "name": "pushgift/Open", "type": "api" }, { "id": 273, - "name": "shiwu/TakeOff", + "name": "qjzzd/Fight", "type": "api" }, { "id": 274, - "name": "shiwu/Wear", + "name": "qjzzd/Open", "type": "api" }, { "id": 275, - "name": "shootGame/Open", + "name": "rank/Open", "type": "api" }, { "id": 276, - "name": "shootGame/Rec", + "name": "shiwu/Concise", "type": "api" }, { "id": 277, - "name": "shop/Buy", + "name": "shiwu/Extract", "type": "api" }, { "id": 278, - "name": "shop/Open", + "name": "shiwu/GetList", "type": "api" }, { "id": 279, - "name": "shop/Refresh", + "name": "shiwu/LvUp", "type": "api" }, { "id": 280, - "name": "sign/GetBoxPrize", + "name": "shiwu/Recast", "type": "api" }, { "id": 281, - "name": "sign/GetPrize", + "name": "shiwu/TakeOff", "type": "api" }, { "id": 282, - "name": "sign/Open", + "name": "shiwu/Wear", "type": "api" }, { "id": 283, - "name": "slzd/Aim", + "name": "shootGame/Open", "type": "api" }, { "id": 284, - "name": "slzd/BuyNum", + "name": "shootGame/Rec", "type": "api" }, { "id": 285, - "name": "slzd/Fight", + "name": "shop/Buy", "type": "api" }, { "id": 286, - "name": "slzd/FightLog", + "name": "shop/Open", "type": "api" }, { "id": 287, - "name": "slzd/MyRank", + "name": "shop/Refresh", "type": "api" }, { "id": 288, + "name": "sign/GetBoxPrize", + "type": "api" + }, + { + "id": 289, + "name": "sign/GetPrize", + "type": "api" + }, + { + "id": 290, + "name": "sign/Open", + "type": "api" + }, + { + "id": 291, + "name": "slzd/Aim", + "type": "api" + }, + { + "id": 292, + "name": "slzd/BuyNum", + "type": "api" + }, + { + "id": 293, + "name": "slzd/Fight", + "type": "api" + }, + { + "id": 294, + "name": "slzd/FightLog", + "type": "api" + }, + { + "id": 295, + "name": "slzd/MyRank", + "type": "api" + }, + { + "id": 296, "name": "slzd/Open", "type": "api", "conf": { @@ -3197,77 +3274,77 @@ export const serviceProto: ServiceProto = { } }, { - "id": 289, + "id": 297, "name": "slzd/OpenFort", "type": "api" }, { - "id": 290, + "id": 298, "name": "slzd/Rec", "type": "api" }, { - "id": 291, + "id": 299, "name": "slzd/Refresh", "type": "api" }, { - "id": 292, + "id": 300, "name": "slzd/Slot", "type": "api" }, { - "id": 293, + "id": 301, "name": "tanxian/Event", "type": "api" }, { - "id": 294, + "id": 302, "name": "tanxian/FastGuaJi", "type": "api" }, { - "id": 295, + "id": 303, "name": "tanxian/Fight", "type": "api" }, { - "id": 296, + "id": 304, "name": "tanxian/GuaJi", "type": "api" }, { - "id": 297, + "id": 305, "name": "tanxian/Open", "type": "api" }, { - "id": 298, + "id": 306, "name": "tanxian/Receive", "type": "api" }, { - "id": 299, + "id": 307, "name": "task/AllFinsh", "type": "api" }, { - "id": 300, + "id": 308, "name": "task/Finsh", "type": "api" }, { - "id": 301, + "id": 309, "name": "task/Open", "type": "api" }, { - "id": 302, + "id": 310, "name": "user/CDKEY", "type": "api" }, { - "id": 303, + "id": 311, "name": "user/ChangeInfo", "type": "api", "conf": { @@ -3275,197 +3352,197 @@ export const serviceProto: ServiceProto = { } }, { - "id": 304, + "id": 312, "name": "user/ChangeName", "type": "api" }, { - "id": 305, + "id": 313, "name": "user/Fight", "type": "api" }, { - "id": 306, + "id": 314, "name": "user/GetInfo", "type": "api" }, { - "id": 307, + "id": 315, "name": "user/InfoOpen", "type": "api" }, { - "id": 308, + "id": 316, "name": "user/Login", "type": "api" }, { - "id": 309, + "id": 317, "name": "user/Ping", "type": "api" }, { - "id": 310, + "id": 318, "name": "user/Renown", "type": "api" }, { - "id": 311, + "id": 319, "name": "user/RenownBuy", "type": "api" }, { - "id": 312, + "id": 320, "name": "user/RenownGetPrize", "type": "api" }, { - "id": 313, + "id": 321, "name": "user/RenownOpen", "type": "api" }, { - "id": 314, + "id": 322, "name": "user/Tujian", "type": "api" }, { - "id": 315, + "id": 323, "name": "weixiuchang/Decompose", "type": "api" }, { - "id": 316, + "id": 324, "name": "weixiuchang/Exchange", "type": "api" }, { - "id": 317, + "id": 325, "name": "weixiuchang/Open", "type": "api" }, { - "id": 318, + "id": 326, "name": "weixiuchang/UpLv", "type": "api" }, { - "id": 319, + "id": 327, "name": "weixiuchang/UpStar", "type": "api" }, { - "id": 320, + "id": 328, "name": "wzry/AutoBaoMing", "type": "api" }, { - "id": 321, + "id": 329, "name": "wzry/BaoMing", "type": "api" }, { - "id": 322, + "id": 330, "name": "wzry/catFightLog", "type": "api" }, { - "id": 323, + "id": 331, "name": "wzry/CatGroup", "type": "api" }, { - "id": 324, + "id": 332, "name": "wzry/DldFight", "type": "api" }, { - "id": 325, + "id": 333, "name": "wzry/DldRefre", "type": "api" }, { - "id": 326, + "id": 334, "name": "wzry/JingCai", "type": "api" }, { - "id": 327, + "id": 335, "name": "wzry/JingCaiOpen", "type": "api" }, { - "id": 328, + "id": 336, "name": "wzry/Open", "type": "api" }, { - "id": 329, + "id": 337, "name": "wzry/UpdateFight", "type": "api" }, { - "id": 330, + "id": 338, "name": "wzry/Wzzd", "type": "api" }, { - "id": 331, + "id": 339, "name": "wzry/ZuanShiOpen", "type": "api" }, { - "id": 332, + "id": 340, "name": "xstask/AllGet", "type": "api" }, { - "id": 333, + "id": 341, "name": "xstask/Get", "type": "api" }, { - "id": 334, + "id": 342, "name": "xstask/LvUp", "type": "api" }, { - "id": 335, + "id": 343, "name": "xstask/OnekeyReceive", "type": "api" }, { - "id": 336, + "id": 344, "name": "xstask/Open", "type": "api" }, { - "id": 337, + "id": 345, "name": "xstask/Receive", "type": "api" }, { - "id": 338, + "id": 346, "name": "xstask/Refresh", "type": "api" }, { - "id": 339, + "id": 347, "name": "yongbingzhuzhan/Handle", "type": "api" }, { - "id": 340, + "id": 348, "name": "zhanqianbushu/ChangePos", "type": "api" }, { - "id": 341, + "id": 349, "name": "zhanqianbushu/Select", "type": "api" }, { - "id": 342, + "id": 350, "name": "zhanqianbushu/Up", "type": "api" } @@ -9988,6 +10065,78 @@ export const serviceProto: ServiceProto = { } ] }, + "event/leichonglibao/PtlOpen/ReqOpen": { + "type": "Interface", + "properties": [ + { + "id": 0, + "name": "hdid", + "type": { + "type": "Number" + } + } + ] + }, + "event/leichonglibao/PtlOpen/ResOpen": { + "type": "Interface", + "properties": [ + { + "id": 0, + "name": "sc", + "type": { + "type": "Boolean" + } + }, + { + "id": 1, + "name": "buy", + "type": { + "type": "Array", + "elementType": { + "type": "String" + } + } + } + ] + }, + "event/leichonglibao/PtlReceive/ReqReceive": { + "type": "Interface", + "properties": [ + { + "id": 0, + "name": "hdid", + "type": { + "type": "Number" + } + }, + { + "id": 1, + "name": "select", + "type": { + "type": "Array", + "elementType": { + "type": "String" + } + } + } + ] + }, + "event/leichonglibao/PtlReceive/ResReceive": { + "type": "Interface", + "properties": [ + { + "id": 0, + "name": "prize", + "type": { + "type": "Array", + "elementType": { + "type": "Reference", + "target": "type/prizeType" + } + } + } + ] + }, "event/leijichongzhi/PtlOpen/ReqOpen": { "type": "Interface", "properties": [ @@ -10141,6 +10290,132 @@ export const serviceProto: ServiceProto = { } ] }, + "event/payForDiamond/PtlCanReceive/ReqCanReceive": { + "type": "Interface", + "properties": [ + { + "id": 0, + "name": "activityId", + "type": { + "type": "Number" + } + } + ] + }, + "event/payForDiamond/PtlCanReceive/ResCanReceive": { + "type": "Interface", + "properties": [ + { + "id": 0, + "name": "payNum", + "type": { + "type": "Number" + } + }, + { + "id": 1, + "name": "remaining", + "type": { + "type": "Number" + }, + "optional": true + }, + { + "id": 2, + "name": "result", + "type": { + "type": "Boolean" + } + } + ] + }, + "event/payForDiamond/PtlReceive/ReqReceive": { + "type": "Interface", + "properties": [ + { + "id": 0, + "name": "activityId", + "type": { + "type": "Number" + } + } + ] + }, + "event/payForDiamond/PtlReceive/ResReceive": { + "type": "Interface", + "properties": [ + { + "id": 0, + "name": "amount", + "type": { + "type": "Number" + } + }, + { + "id": 1, + "name": "timesRemaining", + "type": { + "type": "Number" + } + } + ] + }, + "event/pobinglibao/PtlOpen/ReqOpen": { + "type": "Interface" + }, + "event/pobinglibao/PtlOpen/ResOpen": { + "type": "Interface", + "properties": [ + { + "id": 0, + "name": "record", + "type": { + "type": "Interface", + "indexSignature": { + "keyType": "String", + "type": { + "type": "Any" + } + } + } + }, + { + "id": 1, + "name": "buyLog", + "type": { + "type": "Interface", + "indexSignature": { + "keyType": "String", + "type": { + "type": "Any" + } + } + } + } + ] + }, + "event/pobinglibao/PtlReceive/ReqReceive": { + "type": "Interface", + "properties": [ + { + "id": 0, + "name": "id", + "type": { + "type": "String" + } + }, + { + "id": 1, + "name": "recId", + "type": { + "type": "String" + } + } + ] + }, + "event/pobinglibao/PtlReceive/ResReceive": { + "type": "Interface" + }, "event/qirichongzhi/PtlOpen/ReqOpen": { "type": "Interface" }, @@ -10601,8 +10876,30 @@ export const serviceProto: ServiceProto = { "type": { "type": "Array", "elementType": { - "type": "Reference", - "target": "event/xiaofeijingsai/PtlOpen/data" + "type": "Interface", + "properties": [ + { + "id": 0, + "name": "_id", + "type": { + "type": "String" + } + }, + { + "id": 1, + "name": "total", + "type": { + "type": "Number" + } + }, + { + "id": 2, + "name": "player", + "type": { + "type": "Any" + } + } + ] } } }, @@ -10610,41 +10907,30 @@ export const serviceProto: ServiceProto = { "id": 1, "name": "myData", "type": { - "type": "Reference", - "target": "event/xiaofeijingsai/PtlOpen/data" - } - } - ] - }, - "event/xiaofeijingsai/PtlOpen/data": { - "type": "Interface", - "properties": [ - { - "id": 0, - "name": "_id", - "type": { - "type": "String" - } - }, - { - "id": 1, - "name": "total", - "type": { - "type": "Number" - } - }, - { - "id": 2, - "name": "rank", - "type": { - "type": "Number" - } - }, - { - "id": 3, - "name": "player", - "type": { - "type": "Any" + "type": "Interface", + "properties": [ + { + "id": 0, + "name": "_id", + "type": { + "type": "String" + } + }, + { + "id": 1, + "name": "total", + "type": { + "type": "Number" + } + }, + { + "id": 2, + "name": "player", + "type": { + "type": "Any" + } + } + ] } } ] @@ -14981,6 +15267,20 @@ export const serviceProto: ServiceProto = { "type": "Literal", "literal": "zhoumolibao" } + }, + { + "id": 37, + "type": { + "type": "Literal", + "literal": "pobinglibao" + } + }, + { + "id": 38, + "type": { + "type": "Literal", + "literal": "leichonglibao" + } } ] }, @@ -18014,6 +18314,10 @@ export const serviceProto: ServiceProto = { } } }, + "msg_s2c/MsgPushGiftChange/MsgPushGiftChange": { + "type": "Literal", + "literal": 1 + }, "msg_s2c/MsgSendGift/MsgSendGift": { "type": "Interface", "indexSignature": { @@ -19095,6 +19399,81 @@ export const serviceProto: ServiceProto = { "PtlTest/ResTest": { "type": "Any" }, + "pushgift/PtlOpen/ReqOpen": { + "type": "Interface" + }, + "pushgift/PtlOpen/ResOpen": { + "type": "Interface", + "properties": [ + { + "id": 0, + "name": "gifts", + "type": { + "type": "Array", + "elementType": { + "type": "Reference", + "target": "../../module/collection_pushgift/Gift" + } + } + } + ] + }, + "../../module/collection_pushgift/Gift": { + "type": "Interface", + "properties": [ + { + "id": 0, + "name": "id", + "type": { + "type": "String" + } + }, + { + "id": 1, + "name": "uid", + "type": { + "type": "String" + } + }, + { + "id": 2, + "name": "buy", + "type": { + "type": "Array", + "elementType": { + "type": "Number" + } + } + }, + { + "id": 3, + "name": "ctime", + "type": { + "type": "Number" + } + }, + { + "id": 4, + "name": "passTime", + "type": { + "type": "Number" + } + }, + { + "id": 5, + "name": "ext_data", + "type": { + "type": "Interface", + "indexSignature": { + "keyType": "String", + "type": { + "type": "Any" + } + } + } + } + ] + }, "qjzzd/PtlFight/ReqFight": { "type": "Interface" },