This commit is contained in:
luying
2022-04-02 17:43:12 +08:00
parent f50c32079c
commit 89744aeb13
11 changed files with 193 additions and 7 deletions
@@ -7,7 +7,7 @@ import { SkinUpdate } from '../../../db/Skin';
import { RankFirstModel, RankFirstType } from '../../../db/RankFirst';
import { Figure } from '../../../domain/dbGeneral';
import { PVPConfigModel, PVPConfigType } from '../../../db/SystemConfig';
import { treatRoleName, taflush } from '../../../services/sdkService';
import { treatRoleName, taflush, sendSurveyMail } from '../../../services/sdkService';
import { getServerMainten, setServerMainten, stopServerMainten } from '../../../services/gmService';
import { errlogger } from '../../../util/logger';
@@ -132,4 +132,13 @@ export class RoleRemote {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
public async sendSurveyMail(code: string) {
try {
await sendSurveyMail(code);
} catch(e) {
errlogger.error(`remote ${__filename} \n ${e.stack}`);
}
}
}
+6 -2
View File
@@ -545,7 +545,8 @@ export async function redisSubScribe() {
let refundChannel = getRedisSubChannel(REDIS_KEY.REFUND_CHANNEL, env);
let treatRoleChannel = getRedisSubChannel(REDIS_KEY.TREAT_ROLE_CHANNEL, env);
let treatGuildChannel = getRedisSubChannel(REDIS_KEY.TREAT_GUILD_CHANNEL, env);
await redisClientPub().subscribeAsync(payChannel, treatRoleChannel, treatGuildChannel, refundChannel);
let surveyChannel = getRedisSubChannel(REDIS_KEY.SURVEY_CHANNEL, env);
await redisClientPub().subscribeAsync(payChannel, treatRoleChannel, treatGuildChannel, refundChannel, surveyChannel);
redisClientPub().on('message', (channel, message) => {
console.log('**********redisSubScribe*******')
console.log('channel: ', channel, payChannel);
@@ -566,7 +567,10 @@ export async function redisSubScribe() {
let servers = pinus.app.getServersByType('order');
let server = getRandSingleEelm(servers);
pinus.app.rpc.order.orderRemote.refundOrderFromRedisPub.toServer(server.id, message);
} else if (channel == surveyChannel) {
let servers = pinus.app.getServersByType('role');
let server = getRandSingleEelm(servers);
pinus.app.rpc.role.roleRemote.sendSurveyMail.toServer(server.id, message);
}
});
}
+16 -1
View File
@@ -11,11 +11,13 @@ import { GuildModel } from "../db/Guild";
import { getRoleOnlineInfo, updateUserInfo } from "./redisService";
import { Application, pinus } from "pinus";
import { getGuildChannelSid } from "./chatService";
import { getRandSingleEelm, readWordTxt, resResult, writeWordTxt } from "../pubUtils/util";
import { getRandSingleEelm, parseGoodStr, readWordTxt, resResult, writeWordTxt } from "../pubUtils/util";
const ThinkingAnalytics = require("thinkingdata-node");
import Trie from '../pubUtils/trie';
import _ = require("underscore");
import { getGoldObject } from "./role/rewardService";
import { SurveyRecModel } from "../db/SurveyRec";
import { SurveyModel } from "../db/Survery";
// 检查私聊是否合法
@@ -283,4 +285,17 @@ export async function checkFilterWords(word: string) {
let server = getRandSingleEelm(servers);
return await pinus.app.rpc.chat.chatRemote.checkFilterWords.toServer(server.id, word);
}
}
export async function sendSurveyMail(code: string) {
let rec = await SurveyRecModel.findByCode(code);
if(!rec || rec.hasSentMail) return false;
let survey = await SurveyModel.findBySurveyId(rec.surveyId);
if(!survey) return false;
let reward = parseGoodStr(survey.reward);
await sendMailByContent(MAIL_TYPE.SEND_MAIL, rec.roleId, { goods: reward, params: [survey.mailContent] });
rec = await SurveyRecModel.send(rec.code);
}