diff --git a/src/public/tanxian.ts b/src/public/tanxian.ts index 3605819..a20b3c8 100644 --- a/src/public/tanxian.ts +++ b/src/public/tanxian.ts @@ -1,32 +1,31 @@ -import { ApiCall } from 'tsrpc'; -import { ResOpen } from '../shared/protocols/tanxian/PtlOpen'; -import { TeQuanFun } from './tequan'; +import {ApiCall} from 'tsrpc'; +import {ResOpen} from '../shared/protocols/tanxian/PtlOpen'; +import {TeQuanFun} from './tequan'; type dataChange = Partial; export class TanXianFun { /**修改探险数据 */ static async changeData(call: ApiCall, change: dataChange) { - - G.mongodb.collection('tanxian').updateOne({ uid: call.uid }, { $set: { ...change } }); + G.mongodb.collection('tanxian').updateOne({uid: call.uid}, {$set: {...change}}); let data = await this.getData(call); Object.assign(data, change); - G.ioredis.set(`tanxian:${call.uid}`, JSON.stringify(data)); + G.ioredis.setex(`tanxian:${call.uid}`, 600, JSON.stringify(data)); } + /**获取探险数据 */ static async getData(call: ApiCall, cache = true) { - if(cache){ - let data = await G.ioredis.get(`tanxian:${call.uid}`); - if (data) return JSON.parse(data); - } - let { _id, uid, ...data } = await G.mongodb.collection('tanxian').findOne({ uid: call.uid }); + let cacheData = await G.ioredis.get(`tanxian:${call.uid}`); + if (cacheData && cache) return JSON.parse(cacheData); + let {_id, uid, ...data} = await G.mongodb.collection('tanxian').findOne({uid: call.uid}); if (!data.eventTime) { data.eventTime = G.time; - G.mongodb.collection('tanxian').updateOne({ uid: call.uid }, { $set: { eventTime: G.time } }); + G.mongodb.collection('tanxian').updateOne({uid: call.uid}, {$set: {eventTime: G.time}}); } - await G.ioredis.set(`tanxian:${call.uid}`, JSON.stringify(data)); + G.ioredis.setex(`tanxian:${call.uid}`, 600, JSON.stringify(data)); return data; } + /**获取快速探险次数 */ static async getFastGuaJiNum(call: ApiCall) { let num = G.gc.tanxian_com.fastGuaJiNum + await TeQuanFun.getTxFreeNum(call); @@ -38,9 +37,10 @@ export class TanXianFun { } return num; } + /**获取最后领取奖励的id与sort后的数组*/ static getLastMapId(receivePrizeConfId: string[]) { - if(!receivePrizeConfId) receivePrizeConfId = [] + if (!receivePrizeConfId) receivePrizeConfId = [] receivePrizeConfId = receivePrizeConfId.sort((a, b) => ~~a - ~~b); let receiveLastId = receivePrizeConfId.length > 0 ? receivePrizeConfId[receivePrizeConfId.length - 1] : '0';// 获取当前的领取进度 return {receiveLastId, receivePrizeConfId}