У меня есть база данных, в которой есть таблица очередей с именами и идентификаторами очередей, а также две таблицы очередей (очередь 1 и очередь 2). теперь у меня есть функция, которая должна добавлять ордера в правильную очередь, но она только добавляет во вторую очередь, и я уже использую for для l oop, чтобы изменить очередь, которая должна использоваться.
вот код
for (int i = 0; i < tmpQueuesIds.length; i++){
await http.post(GlobalState.ADDTOQUEUE, body: {
'queueId': tmpQueuesIds[i].toString(),
'timeinmin': tmpTimes[tmpQueuesIds[i]].toString(),
'resId': _globalState.get('resId').toString(),
'userId': userId.toString(),
});
print("QueueId: " + tmpQueuesIds[i].toString());
print("OrderTime: " + tmpTimes[tmpQueuesIds[i]].toString());
Future.delayed(Duration(milliseconds: 500));
}
и вот вывод:
I/flutter ( 3238): QueueId: 1
I/flutter ( 3238): OrderTime: 6
I/flutter ( 3238): QueueId: 2
I/flutter ( 3238): OrderTime: 10
как вы видите, у меня есть две очереди и значения меняются, но он вставляет значение 10 дважды в Для очереди 2 следует вставить значение 6 в очередь 1 и значение 10 в очередь 2.
, а вот код API
try {
router.post('/', (req, res, next) => {
queueId = req.body.queueId;
resId = req.body.resId;
timeinmin = req.body.timeinmin;
userId = req.body.userId;
var orderId;
sqlQuery = `SELECT id FROM orders where userid = ${userId} and isdone = false`;
con.query(sqlQuery, (err, rows) => {
try {
lastIndex = rows['rows'].length - 1;
orderId = rows['rows'][lastIndex]['id'];
} catch{
console.log('something wrong with setting orderId or lastIndex value in addToQueue.js');
}
if (!err) {
sqlQuery2 = `SELECT name FROM queues where id = ${queueId}`;
try {
con.query(sqlQuery2, function (err, rows) {
try {
queueName = rows['rows'][0]['name'];
} catch{
console.log('something wrong with setting queueName value in addToQueue.js');
}
if (!err) {
sqlQuery2 = `INSERT INTO ${queueName} (timeinmin, resid, orderid) VALUES(${timeinmin}, ${resId}, ${orderId})`;
try {
con.query(sqlQuery2, function (err, rows) {
if (!err) {
res.sendStatus(201);
console.log('added to queue');
} else {
console.error("Failed to add to queue");
console.log(err);
res.sendStatus(202);
}
});
} catch{
console.log('Something went down.');
}
} else {
console.error("Failure");
console.log(err);
res.sendStatus(202);
}
});
} catch{
console.log('Something went down.');
}
} else {
console.log(err);
res.sendStatus(202);
}
})
});
} catch{
console.log('Error');
}
помогите мне, пожалуйста, спасибо.