История платежей от двух объектов json в REST API (React.js) - PullRequest
0 голосов
/ 08 декабря 2018

Я работаю над своим проектом частного банка, используя React.js (внешний интерфейс) и Node.js (Express.js) для внутреннего интерфейса.Я просто делаю историю платежей и мне нужна помощь.

Я создал два маршрута.Один из них возвращает сделанные мной переводы, а второй возвращает полученные.

Я хотел бы объединить эти два объекта JSON в один и отсортировать их по дате в моем компоненте React.js.Разрешает ли Axios такую ​​возможность?

Я также оставляю код для контроллера, может, у кого-то есть идея, как лучше отобразить историю платежей?

Controller REST API:

exports.findAllByIdRecipient = (req, res) => {
  Transaction.findAll({
    where: {
      id_recipient: req.params.transactionRecipientId,
    },
  }).then(bill => {
    res.send(bill);
  });
};

exports.findAllByIdSender = (req, res) => {
  Transaction.findAll({
    where: {
      id_sender: req.params.transactionSenderId,
    },
  }).then(bill => {
    res.send(bill);
  });
};

Маршруты:

app.get('/api/transactions/recipient/:transactionRecipientId', transactions.findAllByIdRecipient);
app.get('/api/transactions/sender/:transactionSenderId', transactions.findAllByIdSender);

JSON от ../recipient/1:

[
    {
        "id": 3,
        "id_sender": 2,
        "id_recipient": 1,
        "data_time": "2018-12-08T03:49:00.000Z",
        "amount_money": 30,
        "transfer_title": "title"
    }
]

JSON от ../sender/1:

[
    {
        "id": 1,
        "id_sender": 1,
        "id_recipient": 2,
        "data_time": "2018-12-06T16:41:30.000Z",
        "amount_money": 100,
        "transfer_title": "title pay"
    },
    {
        "id": 2,
        "id_sender": 1,
        "id_recipient": 3,
        "data_time": "2018-12-08T03:48:30.000Z",
        "amount_money": 20,
        "transfer_title": "title pay"
    }
]

1 Ответ

0 голосов
/ 08 декабря 2018

попробуйте использовать оператор распространения

, т. Е. (Замените его на все, что вы получаете по вашему запросу ajax)

let data1 = [
    {
        "id": 1,
        "id_sender": 1,
        "id_recipient": 2,
        "data_time": "2018-12-06T16:41:30.000Z",
        "amount_money": 100,
        "transfer_title": "title pay"
    },
    {
        "id": 2,
        "id_sender": 1,
        "id_recipient": 3,
        "data_time": "2018-12-08T03:48:30.000Z",
        "amount_money": 20,
        "transfer_title": "title pay"
    }
]

и

let data2 = [
    {
        "id": 3,
        "id_sender": 2,
        "id_recipient": 1,
        "data_time": "2018-12-08T03:49:00.000Z",
        "amount_money": 30,
        "transfer_title": "title"
    }
]

let combinedData = [...data1, ...data2] изатем создайте функцию для сортировки данных

const sortingData = (data) => { 
 return data.sort((a, b) => {
 return Date.parse(b["data_time"]) - Date.parse(a["data_time"])
  }) 
}

, а затем передайте комбинированные данные вышеупомянутой функции, т.е. sortingData(combinedData)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...