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