活动:军团限时付费活动
This commit is contained in:
@@ -63,7 +63,7 @@ export class LuckyTurntableHandler {
|
||||
await ActivityTurntableModel.updateData(serverId, activityId, roleId, pick(playerData, ['todayCount', 'count', 'records', 'greatRewardCount']));
|
||||
await addItems(roleId, roleName, sid, goodResult, ITEM_CHANGE_REASON.ACT_TURNTABLE_PULL);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { result, records });
|
||||
return resResult(STATUS.SUCCESS, { result, records, todayCount: playerData.todayCount, count: playerData.count });
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -92,6 +92,7 @@ export class GuildRemote {
|
||||
*/
|
||||
private pushMessage(guildCode: string, path: string, message: any) {
|
||||
let channel = this.getChannel(guildCode);
|
||||
console.log('##### channel', guildCode, channel)
|
||||
if (!!channel) {
|
||||
channel.pushMessage(path, resResult(STATUS.SUCCESS, message));
|
||||
}
|
||||
@@ -453,7 +454,7 @@ export class GuildRemote {
|
||||
* @param path 推送地址
|
||||
* @param param 内容
|
||||
*/
|
||||
public async pushActivityoGuild(guildCode: string, path: string, param: any) {
|
||||
public async pushActivityToGuild(guildCode: string, path: string, param: any) {
|
||||
try {
|
||||
this.pushMessage(guildCode, path, param);
|
||||
} catch(e) {
|
||||
|
||||
@@ -27,6 +27,7 @@ import { checkActivityTask, checkTask } from '../../../services/taskService';
|
||||
import { guildInter } from '../../../pubUtils/interface';
|
||||
import * as dicParam from '../../../pubUtils/dicParam';
|
||||
import { reportTAEvent } from '../../../services/sdkService';
|
||||
import { changeGuildActivity, guildDismisActivity } from '../../../services/activity/guildPayService';
|
||||
|
||||
|
||||
export default function (app: Application) {
|
||||
@@ -575,6 +576,7 @@ export class GuildHandler {
|
||||
// 删除channel
|
||||
|
||||
let chatSid = await getGuildChannelSid(code);
|
||||
await guildDismisActivity(code, serverId);
|
||||
this.app.rpc.chat.guildRemote.dismiss.toServer(chatSid, code);
|
||||
|
||||
let r = new Rank(REDIS_KEY.GUILD_ACTIVE_RANK, { serverId });
|
||||
@@ -620,6 +622,7 @@ export class GuildHandler {
|
||||
|
||||
setUserGuildSession(session, null);
|
||||
reportTAEvent(roleId, TA_EVENT.GUILD_QUIT, { name: guild.name, way: GUILD_QUIT_WAY.QUIT }, ip);
|
||||
changeGuildActivity('', serverId, roleId, sid);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { hasGuild: role.hasGuild });
|
||||
}
|
||||
@@ -647,14 +650,16 @@ export class GuildHandler {
|
||||
await removeTrainRank(code, roleId, guild.trainId);
|
||||
let chatSid = await getGuildChannelSid(code);
|
||||
|
||||
const { isOnline, sid } = await getRoleOnlineInfo(roleId);
|
||||
const { isOnline, sid } = await getRoleOnlineInfo(memberRoleId);
|
||||
this.app.rpc.chat.guildRemote.memberQuit.toServer(chatSid, code, roleId, guild, sid);
|
||||
|
||||
// 添加动态
|
||||
const rec = await GuildRecModel.createGuildRec(roleId, code, GUILD_REC_TYPE.QUIT_GUILD, [role.roleName]);
|
||||
this.app.rpc.chat.guildRemote.addRec.toServer(chatSid, rec);
|
||||
if(isOnline)
|
||||
if(isOnline) {
|
||||
await this.app.rpc.connector.connectorRemote.setOtherUserGuildSession.toServer(sid,[{ roleId: memberRoleId, userGuild }]);
|
||||
changeGuildActivity('', serverId, memberRoleId, sid);
|
||||
}
|
||||
|
||||
await sendMailByContent(MAIL_TYPE.GUILD_BE_KICK, memberRoleId, { sendName: roleName, params: [guild.name] });
|
||||
reportTAEvent(memberRoleId, TA_EVENT.GUILD_QUIT, { name: guild.name, way: GUILD_QUIT_WAY.KICK });
|
||||
|
||||
@@ -364,6 +364,7 @@ interface pushActivityParamInter {
|
||||
totalPoint?: number; // 新将好礼(type37)和战令(type42)更新后的积分
|
||||
payMemberCnt?: number; // 军团充值活动,你的军团充值的人数
|
||||
payMember?: string; // 军团充值活动,充值人员名字,添加到payRecord里面
|
||||
payRecord?: string[]; // 军团全部充值人名字
|
||||
}
|
||||
|
||||
export interface pushActivityInter {
|
||||
@@ -382,6 +383,7 @@ export async function pushActivities(arr: pushActivityInter[], roleId: string, s
|
||||
sid = onlineUser.sid;
|
||||
}
|
||||
if(!!sid && arr.length > 0) {
|
||||
console.log(roleId, sid)
|
||||
pinus.app.get('channelService').pushMessageByUids('onActivityUpdate',
|
||||
resResult(STATUS.SUCCESS, {
|
||||
activities: arr
|
||||
@@ -394,7 +396,7 @@ export async function pushActivitiesToGuild(arr: pushActivityInter[], guildCode:
|
||||
let chatSid = await getGuildChannelSid(guildCode);
|
||||
console.log('####', chatSid, arr)
|
||||
if(!!chatSid && arr.length > 0) {
|
||||
pinus.app.rpc.chat.guildRemote.sendMailToGuild.toServer(chatSid, guildCode, 'onActivityUpdate',
|
||||
pinus.app.rpc.chat.guildRemote.pushActivityToGuild.toServer(chatSid, guildCode, 'onActivityUpdate',
|
||||
resResult(STATUS.SUCCESS, {
|
||||
activities: arr
|
||||
}),
|
||||
|
||||
@@ -2,7 +2,7 @@ import { ACTIVITY_TYPE } from "../../consts";
|
||||
import { ActivityGuildPayModel } from "../../db/ActivityGuildPay";
|
||||
import { RoleType } from "../../db/Role";
|
||||
import { GuildPayData } from "../../domain/activityField/guildPay";
|
||||
import { getActivitiesByType, getActivityById, pushActivitiesToGuild, pushActivityInter } from "./activityService";
|
||||
import { getActivitiesByType, getActivityById, pushActivities, pushActivitiesToGuild, pushActivityInter } from "./activityService";
|
||||
import { ServerlistModel } from '../../db/Serverlist';
|
||||
import { ActivityGuildPayRecordModel } from "../../db/ActivityGuildPayRecord";
|
||||
|
||||
@@ -58,4 +58,25 @@ export async function addGuildPay(role: RoleType, price: number) {
|
||||
}
|
||||
await pushActivitiesToGuild(pushResult, guildCode);
|
||||
}
|
||||
}
|
||||
|
||||
export async function changeGuildActivity(guildCode: string, serverId: number, roleId: string, sid: string) {
|
||||
let activities = await getActivitiesByType(serverId, ACTIVITY_TYPE.GUILD_PAY);
|
||||
let pushResult: pushActivityInter[] = [];
|
||||
for(let activityData of activities) {
|
||||
let { activityId, type: activityType } = activityData;
|
||||
let obj = await getGuildPayData(serverId, activityId, roleId, guildCode);
|
||||
pushResult.push({ activityId, activityType, param: { payRecord: obj.payRecord, payMemberCnt: obj.payMemberCnt } });
|
||||
}
|
||||
await pushActivities(pushResult, roleId, sid);
|
||||
}
|
||||
|
||||
export async function guildDismisActivity(guildCode: string, serverId: number) {
|
||||
let activities = await getActivitiesByType(serverId, ACTIVITY_TYPE.GUILD_PAY);
|
||||
let pushResult: pushActivityInter[] = [];
|
||||
for(let activityData of activities) {
|
||||
let { activityId, type: activityType } = activityData;
|
||||
pushResult.push({ activityId, activityType, param: { payRecord: [], payMemberCnt: 0 } });
|
||||
}
|
||||
await pushActivitiesToGuild(pushResult, guildCode);
|
||||
}
|
||||
@@ -19,6 +19,7 @@ import { Rank } from "./rankService";
|
||||
import { checkActivityTask, checkTask } from "./taskService";
|
||||
import { CounterModel } from "../db/Counter";
|
||||
import { getAuction } from "./auctionService";
|
||||
import { changeGuildActivity } from "./activity/guildPayService";
|
||||
|
||||
export async function getMyGuildInfo(roleId: string, sid: string, userGuild: UserGuildType, guild: GuildType, serverId: number, session: FrontendOrBackendSession) {
|
||||
|
||||
@@ -121,6 +122,7 @@ export async function joinGuild(code: string, guildName: string, lv: number, rol
|
||||
session.set('guildCode', code);
|
||||
let auctionInfo = await getAuction(code, session);
|
||||
pinus.app.channelService.pushMessageByUids('onAuctionUpdate', resResult(STATUS.SUCCESS, auctionInfo), [{ uid: roleId, sid }]);
|
||||
changeGuildActivity(code, serverId, roleId, sid);
|
||||
}
|
||||
|
||||
//成长任务-加入军团
|
||||
|
||||
Reference in New Issue
Block a user