常规推送
This commit is contained in:
@@ -277,6 +277,35 @@ class HomeController extends Controller {
|
||||
}
|
||||
}
|
||||
|
||||
// 保存未知消息
|
||||
async saveUnknown() {
|
||||
const { ctx } = this;
|
||||
try {
|
||||
const body = ctx.request.body;
|
||||
const { card_id, original_msg, msg_data, created_at } = body;
|
||||
const form = {
|
||||
card_id: card_id,
|
||||
original_msg: original_msg,
|
||||
msg_data: msg_data,
|
||||
created_at: created_at
|
||||
};
|
||||
const result = await ctx.service.home.saveUnknown(form);
|
||||
if (result == "error") {
|
||||
this.setResponse(ctx, 500, '服务器错误', "none");
|
||||
return;
|
||||
}
|
||||
if (result) {
|
||||
this.setResponse(ctx, 200, '保存未知消息成功', "none");
|
||||
} else {
|
||||
this.setResponse(ctx, 404, '保存未知消息失败', "none");
|
||||
}
|
||||
} catch (error) {
|
||||
const blockName = fileName + "--" + "saveUnknown";
|
||||
ctx.app.middleware.log('../../controllerLog', blockName + ">>>>" + error);
|
||||
this.setResponse(ctx, 500, '服务器错误', "none");
|
||||
}
|
||||
}
|
||||
|
||||
// 获取历史消息
|
||||
async getHistoryMsg() {
|
||||
const ctx = this.ctx;
|
||||
|
||||
@@ -92,7 +92,7 @@ module.exports = (app) => {
|
||||
const { senderAddress, msgData, encodingCategory } = outboundMsg;
|
||||
// socket接收消息后触发事件监听器,将消息发送给websocket客户端并存储在数据库中
|
||||
shunt.socketEmitter().emit(senderAddress.data, { encode_type: parseInt(encodingCategory.data), msg_data: msgData.data, created_at: new Date() });
|
||||
await app.curl('http://127.0.0.1:' + app.server.address().port + '/shortMsg', {
|
||||
const shortMsg = await app.curl('http://127.0.0.1:' + app.server.address().port + '/shortMsg', {
|
||||
dataType: 'json',
|
||||
contentType: 'application/x-www-form-urlencoded',
|
||||
method: 'POST',
|
||||
@@ -107,6 +107,20 @@ module.exports = (app) => {
|
||||
created_at: new Date()
|
||||
},
|
||||
});
|
||||
if (shortMsg.data.code == 404) {
|
||||
await app.curl('http://127.0.0.1:' + app.server.address().port + '/saveUnknown', {
|
||||
dataType: 'json',
|
||||
contentType: 'application/x-www-form-urlencoded',
|
||||
method: 'POST',
|
||||
timeout: 3000,
|
||||
data: {
|
||||
card_id: senderAddress.data,
|
||||
original_msg: originalMsg,
|
||||
msg_data: msgData.data,
|
||||
created_at: new Date()
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
// 重发消息处理
|
||||
if (resendResult && resendResult.type == 4) {
|
||||
@@ -114,8 +128,8 @@ module.exports = (app) => {
|
||||
const { outboundMsg, receiverAddress } = msgContent;
|
||||
const { senderAddress, msgData, encodingCategory } = outboundMsg;
|
||||
// socket接收消息后触发事件监听器,将消息发送给websocket客户端并存储在数据库中
|
||||
shunt.socketEmitter().emit(senderAddress.data, msgData.data);
|
||||
await app.curl('http://127.0.0.1:' + app.server.address().port + '/shortMsg', {
|
||||
shunt.socketEmitter().emit(senderAddress.data, { encode_type: parseInt(encodingCategory.data), msg_data: msgData.data, created_at: new Date() });
|
||||
const shortMsg = await app.curl('http://127.0.0.1:' + app.server.address().port + '/shortMsg', {
|
||||
dataType: 'json',
|
||||
contentType: 'application/x-www-form-urlencoded',
|
||||
method: 'POST',
|
||||
@@ -129,6 +143,20 @@ module.exports = (app) => {
|
||||
msg_data: msgData.data,
|
||||
},
|
||||
});
|
||||
if (shortMsg.data.code == 404) {
|
||||
await app.curl('http://127.0.0.1:' + app.server.address().port + '/saveUnknown', {
|
||||
dataType: 'json',
|
||||
contentType: 'application/x-www-form-urlencoded',
|
||||
method: 'POST',
|
||||
timeout: 3000,
|
||||
data: {
|
||||
card_id: senderAddress.data,
|
||||
original_msg: originalMsg,
|
||||
msg_data: msgData.data,
|
||||
created_at: new Date()
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
20
app/model3/UnknownBDCard.js
Normal file
20
app/model3/UnknownBDCard.js
Normal file
@@ -0,0 +1,20 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = (app) => {
|
||||
const { INTEGER, CHAR, TEXT, DATE } = app.Sequelize;
|
||||
|
||||
const UnknownBDCard = app.model3.define('unknown-bdcard', {
|
||||
id: { type: INTEGER(8), primaryKey: true, autoIncrement: true },
|
||||
card_id: CHAR(8),
|
||||
original_msg: TEXT,
|
||||
msg_data: TEXT,
|
||||
created_at: DATE,
|
||||
},{
|
||||
freezeTableName: true,
|
||||
timestamp: true,
|
||||
createdAt: true,
|
||||
updatedAt: false,
|
||||
});
|
||||
|
||||
return UnknownBDCard;
|
||||
};
|
||||
@@ -32,6 +32,8 @@ module.exports = app => {
|
||||
router.post('/getRecord', controller.home.getRecord);
|
||||
// 存储消息记录
|
||||
router.post('/shortMsg', controller.home.shortMsg);
|
||||
// 保存未知消息
|
||||
router.post("/saveUnknown", controller.home.saveUnknown);
|
||||
// 获取历史消息
|
||||
router.post('/getHistoryMsg', controller.home.getHistoryMsg);
|
||||
// 删除历史消息
|
||||
|
||||
@@ -275,6 +275,19 @@ class HomeService extends Service {
|
||||
}
|
||||
}
|
||||
|
||||
// 保存未知消息
|
||||
async saveUnknown(form) {
|
||||
const { ctx } = this;
|
||||
try {
|
||||
const result = await ctx.model3.UnknownBDCard.create(form);
|
||||
return result || false;
|
||||
} catch (error) {
|
||||
const blockName = fileName + "--" + "saveUnknown";
|
||||
ctx.app.middleware.log('../../serviceLog', blockName + ">>>>" + error);
|
||||
return 'error';
|
||||
}
|
||||
}
|
||||
|
||||
// 获取历史消息
|
||||
async getHistoryMsg(uid, body) {
|
||||
const { ctx } = this;
|
||||
@@ -358,7 +371,7 @@ class HomeService extends Service {
|
||||
"T": ctx.model4.TShortMsg,
|
||||
};
|
||||
const resetList = await modelName[uidLastCode].destroy({ where });
|
||||
return resetList.length == 0 ? false : resetList;
|
||||
return resetList == 0 ? false : resetList;
|
||||
} catch (error) {
|
||||
const blockName = fileName + "--" + "delHistoryMsg";
|
||||
ctx.app.middleware.utils.log('../../../serviceLog', blockName + ">>>>" + error);
|
||||
|
||||
Reference in New Issue
Block a user