获得试炼奖励

This commit is contained in:
mamengke01
2021-02-02 14:42:44 +08:00
parent ec870dbd2e
commit 5da98956b9
7 changed files with 64 additions and 27 deletions
+20 -6
View File
@@ -15,7 +15,9 @@ import { setRank, getMyRank, initSingleRank } from "./redisService";
import { GuildRankParam, GuildLeader } from "../domain/rank";
import { lockData, isLocked } from '../services/redLockService';
import { ErrLogModel } from '../db/ErrLog';
import { MailType, MailModel } from '../db/Mail';
import { pushMail } from '../pubUtils/interface';
import { getMailContent } from '../services/mailService';
/**
* @description 检查该玩家是否有权限做操作
* @param func 操作id
@@ -165,17 +167,29 @@ export async function addActive(roleId: string, serverId: number, id: number, ty
* @param roleId 用户id
* @param select 筛选字段
*/
export async function getUserGuildWithRefActive(roleId: string, select: string) {
let userGuild = await UserGuildModel.getMyGuild(roleId, select? select + ' +refTimeDaily': '+refTimeDaily');
export async function getUserGuildWithRefActive(roleId: string, select: string, notPush?: boolean) {
let userGuild = await UserGuildModel.getMyGuild(roleId, select? select + ' wishGoods +refTimeDaily': '+refTimeDaily');
console.log(JSON.stringify(userGuild))
if(!userGuild) return false;
let { receivedActive, refTimeDaily, activeDaily, activeRecord } = userGuild;
let { receivedActive, refTimeDaily, activeDaily, activeRecord, wishGoods } = userGuild;
const now = new Date();
let isRefDaily = shouldRefresh(refTimeDaily, now, 0);
if(isRefDaily) {
receivedActive = []; refTimeDaily = now; activeDaily = 0; activeRecord = [];
let wishGoods = [], receiveBoxs = [], wishDntCnt = 0, donateCnt = 0;
let goods = wishGoods.map(({ goodId, drawCnt})=>{
return {id: goodId, count: drawCnt};
});
let mails = new Array<MailType>();
let pushMessage = new Array<pushMail>();
await getMailContent(roleId, 1, [], goods, mails, pushMessage);
await MailModel.addMails(mails);
if (!notPush) {
pushMessage.forEach(({route, data, uids })=>{
pinus.app.channelService.pushMessageByUids(route, resResult(STATUS.SUCCESS, { mails:data }), uids);
});
}
receivedActive = []; refTimeDaily = now; activeDaily = 0; activeRecord = []; wishGoods = [];
let receiveBoxs = [], wishDntCnt = 0, donateCnt = 0;
userGuild = await UserGuildModel.updateInfo(roleId, { receivedActive, refTimeDaily, activeDaily, activeRecord, wishGoods, receiveBoxs, wishDntCnt, donateCnt }, {}, select);
if(!userGuild) return false;
}