я создал две конечные точки: одну, чтобы получить создатель заказа, а другую - чтобы обновить заказ, чтобы сгенерировать orderId и подробные данные о заказе, но создатель продолжает возвращать ноль, но все же регистрируется в базе данных. Вот код
router.post('/createOrder', function (req, res, next) {
if (req.body.key == API_KEY) {
var order_phone = req.body.orderPhone
var order_name = req.body.orderName
var order_address = req.body.orderAddress
var order_date = moment(req.body.orderDate, "MM/DD/YYYY").format("YYYY-MM-DD")
var restaurant_id = req.body.restaurantId
var transaction_id = req.body.transactionId
var cod = (req.body.cod == "true")
var total_price = req.body.totalPrice
var num_of_item = req.body.numOfItem
var order_fbid = req.body.orderFBID
if (order_fbid != null) {
req.getConnection(function (error, conn) {
conn.query('INSERT INTO `Order`(OrderFBID,OrderPhone,OrderName,OrderAddress,OrderStatus,OrderDate,RestaurantId,'
+ 'TransactionId,COD,TotalPrice,NumOfItem) VALUES(?,?,?,?,?,?,?,?,?,?,?)', [order_fbid, order_phone, order_name, order_address, 0, order_date, restaurant_id, transaction_id, cod, total_price, num_of_item], function (err, rows, fields) {
if (err) {
res.status(500)
res.send(JSON.stringify({ success: false, message: err.message }))
}
else {
conn.query('SELECT OrderId as OrderNumber FROM `Order` WHERE OrderFBID=? AND NumOfItem > 0 '
+ 'ORDER BY orderNumber DESC LIMIT 1', [order_fbid], function (err, rows, fields) {
if (err) {
res.status(500)
res.send(JSON.stringify({ success: false, message: err.message }))
}
else {
res.send(JSON.stringify({ success: false, result: rows }))
}
})
}
})
})
}
else {
res.send(JSON.stringify({ success: false, message: "Missing orderFBID body marfe" }))
}
}
else {
res.send(JSON.stringify({ success: false, message: "Wrong api key marfe" }))
}
})
поэтому после долгих попыток заставить мой код работать, я решил сменить JSON на true true
res.send(JSON.stringify({ success: true, result: rows }))
, но затем я получил UPDATEDORDER HTTP 500 Внутренний серверошибки
здесь - порядок обновления
router.post('/updateOrder', function (req, res, next) {
if (req.body.key == API_KEY) {
var order_id = req.body.orderId
var order_detail
try {
order_detail = JSON.parse(req.body.orderDetail)
}
catch (err) {
res.status(500)
res.send(JSON.stringify({ success: false, message: err.message }))
}
if (order_detail != null && order_id != null) {
var data_insert = []
for (i = 0; i < order_detail.length; i++) {
data_insert[i] = [
parseInt(order_id),
order_detail[i]["foodId"],
order_detail[i]["foodQuantity"],
order_detail[i]["foodPrice"],
0, // discount
order_detail[i]["foodSize"],
order_detail[i]["foodAddon"],
parseFloat(order_detail[i]["foodExtraPrice"])
]
}
req.getConnection(function (error, conn) {
conn.query('INSERT INTO OrderDetail(OrderId,ItemId,Quantity,Price,Discount,Size,Addon,ExtraPrice) VALUES(?)', data_insert, function (err, rows, fields) {
if (err) {
res.status(500)
res.send(JSON.stringify({ success: false, message: err.message }))
}
else {
res.send(JSON.stringify({ success: true, message: "update success" }))
}
})
})
}
else {
res.send(JSON.stringify({ success: false, message: "Missing orderID body marfe" }))
}
}
else {
res.send(JSON.stringify({ success: false, message: "Wrong api key marfe" }))
}
})
здесь - детали заказа
router.get('/orderDetail', function (req, res, next) {
if (req.query.key == API_KEY) {
req.getConnection(function (error, conn) {
var order_id = req.query.orderId
if (order_id != null) {
conn.query('SELECT orderId,itemId,quantity,discount,extraPrice,size,addOn FROM OrderDetail WHERE orderId=?', [order_id], function (err, rows, fields) {
if (err) {
res.status(500)
res.send(JSON.stringify({ success: false, message: err.message }))
}
else {
if (rows.length > 0) {
res.send(JSON.stringify({ success: true, result: rows }))
}
else {
res.send(JSON.stringify({ success: false, message: "Empty" }))
}
}
})
} else {
res.send(JSON.stringify({ success: false, message: "Missing orderId in query" }))
}
})
}
else {
res.send(JSON.stringify({ success: false, message: "Wrong orderFBID key marfe" }))
}
})