修复:诸侯混战宣战,邮件领取,名将谱去除好感,镇念塔层级下降,求贤若渴碎片,pvp,秘境首通
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user