获得试炼奖励
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user