ответ в лямбда-функции - PullRequest
0 голосов
/ 18 июня 2020

я работаю над 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);
}

1 Ответ

0 голосов
/ 19 июня 2020

Вы можете использовать:

let Obj={};
if(TechnicalCounter>0)
 Obj.Technical_Issue = TechnicalCounter;
if(CheckbookCounter>0)
 Obj.Checkbook_Issuance = CheckbookCounter;

аналогично для всех остальных ключей.

...