Merge branch 'bugfix' into dev

This commit is contained in:
dy 2023-12-26 16:33:55 +08:00
commit 4e83e2ac72
4 changed files with 9 additions and 9 deletions

View File

@ -41,7 +41,6 @@ export default async function (call: ApiCall<ReqOpen, ResOpen>) {
} else { } else {
call.succ(data); call.succ(data);
} }
G.ioredis.set(`dxlt:${call.uid}`, JSON.stringify(data));
G.redis.set('dxlt', call.uid, data);
G.mongodb.collection('dxlt').updateOne({ uid: call.uid }, { $set: { ...data } }); G.mongodb.collection('dxlt').updateOne({ uid: call.uid }, { $set: { ...data } });
} }

View File

@ -7,15 +7,15 @@ export class DxltFun {
/**修改数据 */ /**修改数据 */
static async changeData(call: ApiCall, change: Partial<ResOpen>) { static async changeData(call: ApiCall, change: Partial<ResOpen>) {
Object.entries(change).forEach(v => { let data = await this.getData(call);
G.redis.set('dxlt', call.uid, v[0] as any, v[1]); Object.assign(data, change);
}); G.ioredis.set(`dxlt:${call.uid}`, JSON.stringify(data));
G.mongodb.collection('dxlt').updateOne({ uid: call.uid }, { $set: { ...change } });
G.mongodb.collection('dxlt').updateOne({ uid: call.uid }, { $set: { ...change } });
return change; return change;
} }
static async getData(call: ApiCall) { static async getData(call: ApiCall) {
return await G.redis.get('dxlt', call.uid); return JSON.parse(await G.ioredis.get(`dxlt:${call.uid}`)) ;
} }
/**回退层数 */ /**回退层数 */
static backLayer(data: ResOpen) { static backLayer(data: ResOpen) {

View File

@ -19,8 +19,9 @@ export async function clearGud(uid) {
G.ioredis.del(`gudVersion:${uid}_ver`); G.ioredis.del(`gudVersion:${uid}_ver`);
} }
//清空探险缓存 //清空Redis缓存
G.ioredis.del(`tanxian:${uid}`); G.ioredis.del(`tanxian:${uid}`);
G.ioredis.del(`dxlt:${uid}`);
}; };
/** /**

View File

@ -136,7 +136,7 @@ function setWs(server: WsServer<ServiceType>) {
//处理API锁极限情况下只锁10s防止死锁 //处理API锁极限情况下只锁10s防止死锁
//在下方postApiReturnFlow里会解锁 //在下方postApiReturnFlow里会解锁
if (call.conn.apiLock[call.service.name] && new Date().getTime() - call.conn.requstApiTime[call.service.name] < 10000) { if (call.conn.apiLock[call.service.name] && new Date().getTime() - call.conn.apiLock[call.service.name] < 10000) {
call.error('', {code: -100, message: '', time: 0}); call.error('', {code: -100, message: '', time: 0});
return null; return null;
} }