🐞 fix(好友): 好友点数改名后上限会失去

This commit is contained in:
luying
2023-05-11 21:16:20 +08:00
parent 50aeb2e003
commit efe1f37eb1

View File

@@ -34,21 +34,21 @@ export default class FriendPoint extends BaseModel {
public static async updatePointToday(roleId: string, roleName: string, cntInc: number, maxPerDay: number, type: number, lean = true) {
const curTime = getZeroPointD();
// 当 oldCnt + cntInc > maxPerDay 时需计算实际可以获得的点数cntInc - (newCnt - maxPerDay)
const rec: FriendPointType = await FriendPointModel.findOneAndUpdate({roleId, roleName, createdAt: {$gte: curTime}, cnt: {$lt: maxPerDay}, type}, {$inc: {cnt: cntInc, sendCnt: 0}}, {upsert: true, new: true}).lean(lean);
const rec: FriendPointType = await FriendPointModel.findOneAndUpdate({roleId, createdAt: {$gte: curTime}, cnt: {$lt: maxPerDay}, type}, { $setOnInsert: { roleName }, $inc: {cnt: cntInc, sendCnt: 0}}, {upsert: true, new: true}).lean(lean);
return rec;
}
public static async updateSendCntToday(roleId: string, roleName: string, cntInc: number, maxPerDay: number, type: number, lean = true) {
const curTime = getZeroPointD();
// 当 oldCnt + cntInc > maxPerDay 时需计算实际可以获得的点数cntInc - (newCnt - maxPerDay)
const rec: FriendPointType = await FriendPointModel.findOneAndUpdate({roleId, roleName, createdAt: {$gte: curTime}, sendCnt: {$lt: maxPerDay}, type}, {$inc: {sendCnt: cntInc, cnt: 0}}, {upsert: true, new: true}).lean(lean);
const rec: FriendPointType = await FriendPointModel.findOneAndUpdate({roleId, createdAt: {$gte: curTime}, sendCnt: {$lt: maxPerDay}, type}, {$setOnInsert: { roleName }, $inc: {sendCnt: cntInc, cnt: 0}}, {upsert: true, new: true}).lean(lean);
return rec;
}
public static async updateComBattleCntToday(roleId: string, roleName: string, cntInc: number, maxPerDay: number, type: number, lean = true) {
const curTime = getZeroPointD();
// 当 oldCnt + cntInc > maxPerDay 时需计算实际可以获得的点数cntInc - (newCnt - maxPerDay)
const rec: FriendPointType = await FriendPointModel.findOneAndUpdate({roleId, roleName, createdAt: {$gte: curTime}, comBattleCnt: {$lt: maxPerDay}, type}, {$inc: {comBattleCnt: cntInc}}, {upsert: true, new: true}).lean(lean);
const rec: FriendPointType = await FriendPointModel.findOneAndUpdate({roleId, createdAt: {$gte: curTime}, comBattleCnt: {$lt: maxPerDay}, type}, {$setOnInsert: { roleName }, $inc: {comBattleCnt: cntInc}}, {upsert: true, new: true}).lean(lean);
return rec;
}