я работаю над AWS лямбда и создаю метод с использованием Node.js сначала посмотрите на мой ответ
{
"Technical_Issue": 0,
"Checkbook_Issuance": 1,
"Credit_Card_Info": 3,
"Debit_Card_Info": 4,
"Balance_Inquiry": 0,
"Statement": 1,
"Self_Service": 0,
"Mobile_App_Issue": 0,
"Change_Pin": 0,
"Information": 0
}
в ответ мне нужны только те значения, которые больше, чем 0 Например, в этом сценарии мне нужны только эти
{
"Checkbook_Issuance": 1,
"Credit_Card_Info": 3,
"Debit_Card_Info": 4,
"Statement": 1,
}
Я получаю эти данные из MySQL базы данных вместо UserName. если я изменяю имя пользователя, и все эти значения равны 0 против этого имени пользователя, а остальные имеют значения больше 0, он должен показать мне то, что имеет значения больше 0. Я не знаю, как это сделать, и надеюсь, что объяснил свой вопрос хорошо. Пожалуйста, помогите достичь этого. Я также прикрепляю свой код
const mysql = require('mysql');
var pool = mysql.createPool({
host: process.env.RDS_HOSTNAME,
user: process.env.RDS_USERNAME,
password: process.env.RDS_PASSWORD,
port: process.env.RDS_PORT,
database: process.env.RDS_DATABASE
});
exports.handler = (event, context, callback) => {
console.log('Events:',event);
let UserName = event['username'];
let date = event['date'];
let team = [];
var TechnicalCounter=0;
var CheckbookCounter=0;
var CreditcardCounter=0;
var DebitcardCounter=0;
var BalanceCounter=0;
var StatementCounter=0;
var SelfserviceCounter=0;
var AppissueCounter=0;
var PinCounter=0;
var InformationCounter=0;
var ResultResp = [];
// allows for using callbacks as finish/error-handlers
context.callbackWaitsForEmptyEventLoop = false;
pool.getConnection(function(err, connection) {
if (err) throw err;
let sql = `SELECT WrapUpData, InitiationTimestamp from ctrData2.CallDetail
LEFT OUTER JOIN ctrData2.UserTable ON UserTable.UserID = CallDetail.UserID
WHERE UserName = ? OR date(InitiationTimestamp) = ?
ORDER BY CallDetail.InitiationTimestamp DESC LIMIT 10`;
let field = [UserName,date];
connection.query(sql,field, function (err, result, fields) {
if (err) throw err;
// console.log(result);
connection.release();
if(result.length>0){
result.forEach(function(item){
console.log(item);
if(item.WrapUpData == "Technical Issue"){
TechnicalCounter++;
}else if(item.WrapUpData == "Checkbook Issuance"){
CheckbookCounter++;
}else if(item.WrapUpData == "Credit Card Info"){
CreditcardCounter++;
}else if(item.WrapUpData == "Debit Card Info"){
DebitcardCounter++;
}else if(item.WrapUpData == "Balance Inquiry"){
BalanceCounter++;
}else if(item.WrapUpData == "Statement"){
StatementCounter++;
}else if(item.WrapUpData == "Self Service"){
SelfserviceCounter++;
}else if(item.WrapUpData == "Mobile App Issue"){
AppissueCounter++;
}else if(item.WrapUpData == "Change Pin"){
PinCounter++;
}else if(item.WrapUpData == "Information"){
InformationCounter++;
}
});
let Obj={};
Obj={
Technical_Issue: TechnicalCounter,
Checkbook_Issuance: CheckbookCounter,
Credit_Card_Info : CreditcardCounter,
Debit_Card_Info: DebitcardCounter,
Balance_Inquiry: BalanceCounter,
Statement: StatementCounter,
Self_Service: SelfserviceCounter,
Mobile_App_Issue: AppissueCounter,
Change_Pin: PinCounter,
Information: InformationCounter,
};
ResultResp.push(Obj);
callback(null,{
status: 200,
ResultResp
})
}else{
callback(null,{
status: 404,
Body: "Not found"
});
}
callback(null,team);
// FomratObjects(result,(formattedResponse)=>{
// // console.log(formattedResponse);
// callback(formattedResponse);
// });
});
});
};
function FomratObjects(data,callback){
// console.log(data);
callback(data);
}