update Mi 11. Mär 22:31:01 CET 2020

This commit is contained in:
Robert Richter 2020-03-11 22:31:01 +01:00
parent 402eac3017
commit b14921556b
3 changed files with 50 additions and 22 deletions

View File

@ -705,7 +705,7 @@ module.exports = function(db, uuidv4, turf, app_cfg) {
function db_get_response_gesamter_einsatz(waip_einsaetze_id, callback){
db.all(`SELECT response_json FROM waip_response
WHERE waip_einsaetze_id = ?`, [waip_einsaetze_id], function(err, row) {
WHERE waip_einsaetze_id = ?`, [waip_einsaetze_id], function(err, rows) {
if (err == null && rows) {
callback && callback(rows);
} else {
@ -846,6 +846,33 @@ module.exports = function(db, uuidv4, turf, app_cfg) {
});
};
function db_get_twitter_list(waip_id, callback){
// Pruefen ob fuer eine Wache in diesem Einsatz ein Twitter-Account mit Liste hinterlegt ist
db.get(`select t.waip_wachen_id, t.tw_account_id, t.tw_account_list from waip_twitter_wachen t
where waip_wachen_id = (select distinct w.id wachen_id from waip_wachen w left join waip_einsatzmittel em on em.wachenname = w.name_wache
where em.waip_einsaetze_ID = ?)`, [waip_id], function(err, twitter_liste) {
if (err == null && twitter_liste) {
console.log(twitter_liste);
// Falls Account und Liste hinterlegt ist, die Account-Zugangsdaten, Einsatz-UUID, Einsatzart und Wachenname auslesen
db.get(`select tw.tw_screen_name, tw_consumer_key, tw.tw_consumer_secret, tw.tw_access_token_key, tw.tw_access_token_secret, we.uuid, we.einsatzart, wa.name_wache
from waip_twitter_accounts tw, waip_einsaetze we, waip_wachen wa
where tw.id = ? AND we.id = ? AND wa.id = ?`, [twitter_liste.tw_account_id, waip_id, twitter_liste.waip_wachen_id], function(err, twitter_daten) {
console.log(twitter_daten);
console.log(err);
if (err == null && twitter_daten) {
// liste zu SQL-Select hinzufuegen
twitter_daten.list = twitter_liste.tw_account_list;
callback && callback(twitter_daten);
} else {
callback && callback(null);
};
});
} else {
callback && callback(null);
};
});
};
return {
db_einsatz_speichern: db_einsatz_speichern,
db_einsatz_laden: db_einsatz_laden,
@ -882,7 +909,8 @@ module.exports = function(db, uuidv4, turf, app_cfg) {
db_get_response_for_wache: db_get_response_for_wache,
db_get_einsatzdaten_by_uuid: db_get_einsatzdaten_by_uuid,
db_get_waipid_by_uuid:db_get_waipid_by_uuid,
db_get_single_response_by_rmlduuid, db_get_single_response_by_rmlduuid
db_get_single_response_by_rmlduuid, db_get_single_response_by_rmlduuid,
db_get_twitter_list: db_get_twitter_list
};
};

View File

@ -1,6 +1,6 @@
module.exports = function(twitter, uuidv4, app_cfg) {
function alert_twitter_list(twitter_data, err, callback) {
function alert_twitter_list(twitter_data, callback) {
// tw.tw_screen_name, tw_consumer_key, tw.tw_consumer_secret, tw.tw_access_token_key, tw.tw_access_token_secret, we.uuid, we.einsatzart, wa.name_wache
var client = new twitter({
@ -9,11 +9,15 @@ module.exports = function(twitter, uuidv4, app_cfg) {
access_token_key: twitter_data.tw_access_token_key,
access_token_secret: twitter_data.tw_access_token_secret
});
var params = {screen_name: 'nodejs', slug: twitter_data.list, count: 50};
var params = {list_id: 1237715592234315778};//owner_screen_name: twitter_data.tw_screen_name, slug: twitter_data.list, count: 50};
client.get('lists/members', params, function(error, members, response) {
if (!error) {
console.log(members);
callback && callback(members);
} else {
console.log(error);
callback && callback(null);
};
});
};

View File

@ -1,4 +1,4 @@
module.exports = function(io, sql, async, app_cfg) {
module.exports = function(io, sql, tw, async, app_cfg) {
// Einsatzmeldung in Datenbank speichern
function einsatz_speichern(message) {
@ -27,25 +27,21 @@ module.exports = function(io, sql, async, app_cfg) {
sql.db_log('Fehler-WAIP', 'Fehler: Wache für waip_id ' + waip_id + ' nicht vorhanden!');
};
});
sql.db_get_twitter_list(waip_id, function(data) {
if (data) {
console.log(data);
data.forEach(function(row) {
// fuer jede Wache(row.room) die verbundenen Sockets(Clients) ermitteln und Einsatz verteilen
var room_sockets = io.sockets.adapter.rooms[row.room];
//console.log(row);
//console.log(row.room);
//console.log(room_sockets);
//console.log(io.sockets.adapter);
if (typeof room_sockets !== 'undefined') {
Object.keys(room_sockets.sockets).forEach(function(socketId) {
einsatz_verteilen(waip_id, socketId, row.room);
sql.db_log('WAIP', 'Einsatz ' + waip_id + ' wird an ' + socketId + ' (' + row.room + ') gesendet');
});
sql.db_get_twitter_list(waip_id, function(twitter_data) {
if (twitter_data) {
console.log('Daten Twitter: ' + JSON.stringify(twitter_data));
// tw.tw_screen_name, tw_consumer_key, tw.tw_consumer_secret, tw.tw_access_token_key, tw.tw_access_token_secret, we.uuid, we.einsatzart, wa.name_wache
tw.alert_twitter_list(twitter_data, function(result) {
if (!result) {
sql.db_log('Twitter', 'Einsatz-Rückmeldung erfolgreichen an Twitter-Liste gesendet. ' + result);
} else {
sql.db_log('Twitter', 'Fehler beim senden der Einsatz-Rueckmeldung an Twitter: ' + result);
};
});
} else {
sql.db_log('Fehler-WAIP', 'Fehler: Wache für waip_id ' + waip_id + ' nicht vorhanden!');
sql.db_log('Twitter', 'Keine Twitter-Liste für Einsatz ' + waip_id + ' hinterlegt.');
};
});
});