fix 配件
This commit is contained in:
parent
bf39147538
commit
b56a0c4591
@ -1,14 +1,14 @@
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { ReqGetList, ResGetList } from "../../shared/protocols/peijian/PtlGetList";
|
||||
import {ApiCall} from "tsrpc";
|
||||
import {ReqGetList, ResGetList} from "../../shared/protocols/peijian/PtlGetList";
|
||||
|
||||
export default async function (call: ApiCall<ReqGetList, ResGetList>) {
|
||||
let _maxLv = 0
|
||||
let color = {}
|
||||
let peijianCon = G.gc.peijian
|
||||
|
||||
let dbList = (await G.mongodb.collection('peijian').find({ uid: call.uid }).toArray()).map(p => {
|
||||
let dbList = (await G.mongodb.collection('peijian').find({uid: call.uid}).toArray()).map(p => {
|
||||
let np = G.mongodb.conversionIdObj(p);
|
||||
let { uid, ...ops } = np;
|
||||
let {uid, ...ops} = np;
|
||||
|
||||
if (np.lv > _maxLv) _maxLv = np.lv
|
||||
if (!color[peijianCon[np.peijianId].colour]) color[peijianCon[np.peijianId].colour] = 0
|
||||
@ -16,15 +16,25 @@ export default async function (call: ApiCall<ReqGetList, ResGetList>) {
|
||||
return ops;
|
||||
});
|
||||
|
||||
// 修复配件穿戴在不存在的英雄身上
|
||||
let heroIds = R.values(call.conn.gud.heroPos)
|
||||
let fixIds = dbList.filter(i => i.wearId && !heroIds.includes(i.wearId)).map(i => G.mongodb.conversionId(i._id))
|
||||
if (fixIds.length) {
|
||||
await G.mongodb.collection('peijian').updateMany({uid: call.uid, _id: {$in: fixIds}}, {wearId: ''})
|
||||
}
|
||||
|
||||
// 记录玩家最大等级,颜色相关数据 注册任务用
|
||||
await G.mongodb.collection('playerInfo', 'usertasklog').updateOne({ uid: call.conn.uid, type: 'usertasklog' },
|
||||
{ $set: { maxpeijianlv: _maxLv, peijiancolor: color } }, { upsert: true })
|
||||
await G.mongodb.collection('playerInfo', 'usertasklog').updateOne({uid: call.conn.uid, type: 'usertasklog'},
|
||||
{$set: {maxpeijianlv: _maxLv, peijiancolor: color}}, {upsert: true})
|
||||
|
||||
let list = Object.fromEntries(dbList.map(p => [G.formatRedisKey(p._id), p]));
|
||||
G.redis.set('peijian', call.uid, list);
|
||||
|
||||
let recLshd = await G.mongodb.collection('playerInfo', 'lshd_peijian').findOne({ uid: call.conn.uid, type: 'lshd_peijian' });
|
||||
let { uid, _id, type, ...peijians } = (recLshd || {});
|
||||
let recLshd = await G.mongodb.collection('playerInfo', 'lshd_peijian').findOne({
|
||||
uid: call.conn.uid,
|
||||
type: 'lshd_peijian'
|
||||
});
|
||||
let {uid, _id, type, ...peijians} = (recLshd || {});
|
||||
|
||||
call.conn.lshd.peijian = peijians || {};
|
||||
call.succ({
|
||||
|
Loading…
Reference in New Issue
Block a user