修复:诸侯混战宣战,邮件领取,名将谱去除好感,镇念塔层级下降,求贤若渴碎片,pvp,秘境首通

This commit is contained in:
luying
2022-01-06 20:55:01 +08:00
parent b744b7b560
commit a16ffd39ab
11 changed files with 151 additions and 153 deletions

View File

@@ -26,8 +26,10 @@ export default class GroupMail extends MailTemp {
*/
public static async findByRoleId(roleId: string) {
const result: GroupMailType[] = await GroupMailModel.find({
'roleStatus.roleId': roleId,
'roleStatus.status': { $in: [ MAIL_STATUS.CREATE, MAIL_STATUS.READ, MAIL_STATUS.RECEIVED ] },
$and: [
{'roleStatus.roleId': roleId},
{'roleStatus.status': { $in: [ MAIL_STATUS.CREATE, MAIL_STATUS.READ, MAIL_STATUS.RECEIVED ] }}
],
endTime: { $gte: nowSeconds() }
}).populate('mail').lean();
return result;
@@ -53,12 +55,15 @@ export default class GroupMail extends MailTemp {
const result: GroupMailType = await GroupMailModel.findOneAndUpdate(
{
_id, sendTime:{ $lte: nowSeconds() },
'roleStatus.roleId': roleId,
$or: [{
'roleStatus.status': MAIL_STATUS.READ, hasGoods:false
}, {
'roleStatus.status': MAIL_STATUS.RECEIVED
}]
$and: [{
'roleStatus.roleId': roleId,
},{
$or: [{
'roleStatus.status': MAIL_STATUS.READ, hasGoods:false
}, {
'roleStatus.status': MAIL_STATUS.RECEIVED
}]
}],
},
{ $set:{ 'roleStatus.$.status': MAIL_STATUS.DELETE } },
{ new: true }
@@ -89,7 +94,7 @@ export default class GroupMail extends MailTemp {
}
public static async getGroupMailsByRoleId(roleId: string, lean = true) {
const result: GroupMailType[] = await GroupMailModel.find({ 'roleStatus.roleId': roleId, 'roleStatus.status': { $ne: -1}, sendTime:{$lte: nowSeconds()} }).lean(lean);
const result: GroupMailType[] = await GroupMailModel.find({ $and:[{'roleStatus.roleId': roleId}, { 'roleStatus.status': { $ne: -1}}], sendTime:{$lte: nowSeconds()} }).lean(lean);
return result;
}
@@ -108,8 +113,8 @@ export default class GroupMail extends MailTemp {
return result;
}
public static async updateStatusWithCondition(_id: string, roleId: string, status: number, conditions: number[], lean = true) {
const result: GroupMailType = await GroupMailModel.findOneAndUpdate({ _id, 'roleStatus.roleId': roleId, sendTime:{$lte: nowSeconds()}, 'roleStatus.status': {$in: conditions} }, {$set:{ 'roleStatus.$.status': status }}, { new: true }).lean(lean);
public static async updateStatusWithCondition(_id: string, roleId: string, status: number) {
const result: GroupMailType = await GroupMailModel.findOneAndUpdate({ _id, 'roleStatus.roleId': roleId, sendTime:{$lte: nowSeconds()} }, {$set:{ 'roleStatus.$.status': status }}, { new: true }).lean();
return result;
}

View File

@@ -44,9 +44,9 @@ export default class Mail extends MailTemp {
* @param status 邮件状态
* @param conditions 可更新邮件状态
*/
public static async updateStatusWithCondition(_id: string, status: MAIL_STATUS, conditions: MAIL_STATUS[]) {
public static async updateStatusWithCondition(_id: string, status: MAIL_STATUS) {
const result: MailType = await MailModel.findOneAndUpdate(
{ _id, status: { $in: conditions }, sendTime:{$lte: nowSeconds()} },
{ _id, sendTime:{$lte: nowSeconds()} },
{ $set: { status } }, { new: true }
).lean();
return result;

View File

@@ -104,12 +104,10 @@ export default class ServerMail extends MailTemp {
}
public static async updateStatusWithCondition(_id: string, roleId: string, status: number, conditions: number[], servermail?: ServerMailType) {
public static async updateStatusWithCondition(_id: string, roleId: string, status: number, servermail?: ServerMailType) {
if(!servermail) servermail = await ServerMailModel.findById(_id).lean();
let { roleStatus } = servermail;
let hasRole = roleStatus.find(cur => cur.roleId == roleId);
let myStatus = hasRole?hasRole.status: MAIL_STATUS.CREATE;
if(conditions.indexOf(myStatus) == -1) return null;
if(hasRole) {
servermail = await ServerMailModel.findOneAndUpdate({ _id, 'roleStatus.roleId': roleId }, { $set: { 'roleStatus.$.status': status } }, {new: true}).lean();
} else {