我很难为该列表添加要约,因此用户可以为同一列表发送多个要约。
app.js
var express=require('express');
var app=express();
var bodyParser=require('body-parser');
var urlencodedParser=bodyParser.urlencoded({extended:false});
app.use(bodyParser.json()); //parse appilcation/json data
app.use(urlencodedParser);
const users = require("../model/users.js")
const listings = require("../model/listings.js")
app.post("/listings/:id/offers/",(req,res,next)=>{
listings.insert(req.body,(error,result)=>{
if(error){
console.log(error)
res.status(500).send('{"Results":Internal Error}')
return;
}
console.log(result)
res.status(200).send(req.body)
console.log(req.body)
})
})
module.exports=app;
listing.js
var db = require('./databaseConfig.js');
db = db.getConnection()
var modules = {
insertOffers: function(listingid,data,callback){
const insertOfferQuery = "insert into offer_list (offer,fk_listing_id,fk_offeror_id) values (?, ? , ?) ";
db.query(insertOfferQuery,[data.offer,data.listingid,data.fk_offeror_id],(error,result)=>{
if(error){
callback(error,null);
return;
}
callback(null,result);
})
}
}
MySQL表架构和示例数据:
CREATE DATABASE IF NOT EXISTS assignment_db;
USE assignment_db;
CREATE TABLE user_list (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
userName VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
registeredDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP );
INSERT INTO user_list (userName, email) VALUES
('John','johnnyboi@123.com'),
('Tom','Tommyboi@123.com');
CREATE TABLE listing_list(
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
itemName VARCHAR(50) NOT NULL,
itemDescription VARCHAR(254) NOT NULL,
price DECIMAL(4,2) NOT NULL,
fk_poster_id INT REFERENCES USER_LIST(id),
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP );
INSERT INTO listing_list (itemName,itemDescription, price) VALUES
( 'Pen', 'A long delicate pen.',' 1.50 '),
( 'Pencil', 'A long delicate pencil.',' 0.50 ');
CREATE TABLE offer_list(
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
offer INT,
fk_listing_id INT REFERENCES listing_list(id),
fk_offeror_id INT REFERENCES user_list(id),
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP );
INSERT INTO offer_list (offer,fk_listing_id,fk_offeror_id) VALUES
('200','2','3'),
('200','1','1'),
('300','2','3');
MySQL查询:
SELECT * FROM offer_list;
SELECT * FROM listing_list
WHERE fk_poster_id = 2;