后台:添加武将,装备,道具
This commit is contained in:
@@ -139,6 +139,21 @@ export default class Equip extends BaseModel {
|
||||
let equip: EquipType = await EquipModel.findOne({ _id });
|
||||
return equip;
|
||||
}
|
||||
|
||||
|
||||
public static async findByField(field: string, value?: number|string, lean = true) {
|
||||
let searchObj = {};
|
||||
if(field != 'all') {
|
||||
if(field == 'roleName') {
|
||||
searchObj['roleName'] = { $regex: new RegExp(value.toString(), 'i') }
|
||||
} else {
|
||||
searchObj[field] = value;
|
||||
}
|
||||
}
|
||||
//.select('uid tel username')
|
||||
const user: EquipType[] = await EquipModel.find(searchObj).lean(lean);
|
||||
return user;
|
||||
}
|
||||
}
|
||||
|
||||
export const EquipModel = getModelForClass(Equip);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType, Ref } from '@typegoose/typegoose';
|
||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
||||
import { nowSeconds } from '../pubUtils/timeUtil';
|
||||
class Reward {
|
||||
@prop({ required: true })
|
||||
|
||||
@@ -232,6 +232,11 @@ export default class Hero extends BaseModel {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async deleteHero(roleId: string, hid: number) {
|
||||
let result = await HeroModel.deleteMany({roleId, hid});
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async updateHeroInfo(roleId: string, hid:number, heroUpdate:heroUpdate, select?: string, lean = true) {
|
||||
delete heroUpdate._id;
|
||||
let result: HeroType = await HeroModel.findOneAndUpdate({roleId, hid}, {$set:heroUpdate}, {new: true}).select(select).lean(lean);
|
||||
@@ -245,6 +250,20 @@ export default class Hero extends BaseModel {
|
||||
{new: true}).lean(lean);
|
||||
return hero;
|
||||
}
|
||||
|
||||
public static async findByField(field: string, value?: number|string, lean = true) {
|
||||
let searchObj = {};
|
||||
if(field != 'all') {
|
||||
if(field == 'roleName') {
|
||||
searchObj['roleName'] = { $regex: new RegExp(value.toString(), 'i') }
|
||||
} else {
|
||||
searchObj[field] = value;
|
||||
}
|
||||
}
|
||||
//.select('uid tel username')
|
||||
const user: HeroType[] = await HeroModel.find(searchObj).lean(lean);
|
||||
return user;
|
||||
}
|
||||
}
|
||||
|
||||
export const HeroModel = getModelForClass(Hero);
|
||||
|
||||
+24
-1
@@ -82,11 +82,34 @@ export default class Item extends BaseModel {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static async deleteAccount(roleId: string) {
|
||||
let result = await ItemModel.deleteMany({ roleId });
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async deletebyRoleAndIds(roleId: string, ids: Array<number>) {
|
||||
const result = await ItemModel.deleteMany({ roleId, id: { $in: ids } });
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async updateCountByRoleAndIds(roleId: string, ids: Array<number>, count: number) {
|
||||
const result: ItemType = await ItemModel.findOneAndUpdate({ roleId, id: { $in: ids } }, {$set: {count}}, {new: true, upsert: true}).lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async findByField(field: string, value?: number|string, lean = true) {
|
||||
let searchObj = {};
|
||||
if(field != 'all') {
|
||||
if(field == 'roleName') {
|
||||
searchObj['roleName'] = { $regex: new RegExp(value.toString(), 'i') }
|
||||
} else {
|
||||
searchObj[field] = value;
|
||||
}
|
||||
}
|
||||
//.select('uid tel username')
|
||||
const user: ItemType[] = await ItemModel.find(searchObj).lean(lean);
|
||||
return user;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -234,6 +234,11 @@ export default class PvpDefense extends BaseModel {
|
||||
.sort(sortBy).limit(limit).skip((page - 1) * limit).lean(lean);
|
||||
return ranks;
|
||||
}
|
||||
|
||||
public static async deleteHero(roleId: string, hid: number) {
|
||||
let result:PvpDefenseType = await PvpDefenseModel.findOneAndUpdate({roleId}, {$pull:{heroes: {actorId:hid}}}, {new: true}).lean();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export const PvpDefenseModel = getModelForClass(PvpDefense);
|
||||
|
||||
@@ -213,6 +213,11 @@ export default class Role extends BaseModel {
|
||||
@prop({ required: true, default: 0 })
|
||||
quitGuildTime: number; // 上次退出公会的时间
|
||||
|
||||
public static async findAllByUid(uid: number, lean = true) {
|
||||
const role: RoleType[] = await RoleModel.find({ 'userInfo.uid': uid }).select('roleId roleName serverId').lean(lean);
|
||||
return role;
|
||||
}
|
||||
|
||||
public static async findByUid(uid: number, serverId: number, lean = true) {
|
||||
const role: RoleType = await RoleModel.findOneAndUpdate({ 'userInfo.uid': uid, serverId }, { loginTime: nowSeconds() }, { new: true }).lean(lean);
|
||||
return role;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
||||
import { generateNum } from '../pubUtils/util';
|
||||
const moment = require('moment');
|
||||
|
||||
/**
|
||||
@@ -64,6 +65,17 @@ export default class Sms extends BaseModel {
|
||||
console.log(moment(this.updateTime).format('YYYY-MM-DD'), moment(Date.now()).format('YYYY-MM-DD'));
|
||||
return moment(this.updateTime).format('YYYY-MM-DD') === moment(Date.now()).format('YYYY-MM-DD');
|
||||
}
|
||||
|
||||
public static async fixSms(tel: string, lean = true) {
|
||||
const sms: SmsType = await smsModel.findOneAndUpdate({ tel }, { $setOnInsert: {
|
||||
tel,
|
||||
code: generateNum(6),
|
||||
used: false,
|
||||
updateTime: new Date(),
|
||||
countToday: 1
|
||||
}, $set: { isFixed: true } }, {new: true, upsert: true}).lean(lean);
|
||||
return sms;
|
||||
}
|
||||
}
|
||||
|
||||
export const smsModel = getModelForClass(Sms);
|
||||
|
||||
+5
-1
@@ -97,6 +97,10 @@ export default class User extends BaseModel {
|
||||
return user;
|
||||
}
|
||||
|
||||
public static async addAuth(uid: number, auth: number, lean = true) {
|
||||
const user: UserType = await UserModel.findOneAndUpdate({ uid }, { auth }).select('uid tel').lean(lean);
|
||||
return user;
|
||||
}
|
||||
|
||||
public static async findUserByField(field: string, value?: Array<number|string>, lean = true) {
|
||||
let searchObj = {};
|
||||
@@ -105,7 +109,7 @@ export default class User extends BaseModel {
|
||||
$in: value
|
||||
};
|
||||
}
|
||||
const user: UserType[] = await UserModel.find(searchObj).select('uid tel username').lean(lean);
|
||||
const user: UserType[] = await UserModel.find(searchObj).select('uid tel username serverType auth').lean(lean);
|
||||
return user;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user