diff --git a/config/db.js b/config/db.js index 241d016..df8a305 100644 --- a/config/db.js +++ b/config/db.js @@ -3,6 +3,6 @@ module.exports = { user: "root", port: 3306, password: "Cwy@2019", - database: "dvcp_v2_dev", + database: "dvcp_oms_dev", multipleStatements: true } diff --git a/index.js b/index.js index b1cdc58..fdf22c8 100644 --- a/index.js +++ b/index.js @@ -8,6 +8,8 @@ app.listen(port, () => { console.log('启动数据库连接池...') db.init() console.log('启动接口...') + app.use(express.json()) // for parsing application/json + app.use(express.urlencoded({ extended: true })) // for parsing application/x-www-form-urlencoded rest.init(app).then(()=>{ console.log(`serve is listening on ${port}`) }) diff --git a/package.json b/package.json index b7ad778..f70e31b 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "dependencies": { "express": "^4.17.3", "helmet": "^5.0.2", - "mysql": "^2.18.1" + "mysql": "^2.18.1", + "uuid": "^8.3.2" } } diff --git a/rest/autodeploy/add.js b/rest/autodeploy/add.js new file mode 100644 index 0000000..4974ea9 --- /dev/null +++ b/rest/autodeploy/add.js @@ -0,0 +1,28 @@ +const dbUtils = require("../../utils/dbUitls"); +const {v4: uuid} = require('uuid'); +module.exports = { + action: "/node/autodeploy/addOrUpdate", + method: "post", + execute: (request, response) => { + let form = request.body, sql + if (form.id) {//编辑 + let arr = Object.keys(form).filter(e => form[e]).map(e => `${e}=${form[e]}`) + sql = `update node_autodeploy set ${arr.join(",")} where id=${form.id}` + } else {//新增 + let cols = [], arr = [] + Object.keys(form).map(e => { + if (form[e]) { + cols.push(e) + arr.push(`'${form[e]}'`) + } + }) + sql = `insert into node_autodeploy (id,${cols.join(",")}) values('${uuid()}',${arr.join(",")})` + } + console.log(sql) + dbUtils.query(sql).then(() => { + response.send({code: 0}) + }).catch(err => { + response.send({code: 1, err: err.sqlMessage}) + }) + } +} diff --git a/rest/autodeploy/delete.js b/rest/autodeploy/delete.js new file mode 100644 index 0000000..5a656f1 --- /dev/null +++ b/rest/autodeploy/delete.js @@ -0,0 +1,14 @@ +const dbUtils = require("../../utils/dbUitls"); +module.exports = { + action: "/node/autodeploy/delete", + method: "post", + execute: (request, response) => { + let {query: {ids}} = request + ids = ids?.split(",")?.map(e => `'${e}'`)?.toString() + dbUtils.query(`delete from node_autodeploy where id in (${ids})`).then(() => { + response.send({code: 0}) + }).catch(err => { + response.send({code: 1, err: err.sqlMessage}) + }) + } +} diff --git a/rest/autodeploy/list.js b/rest/autodeploy/list.js new file mode 100644 index 0000000..4a42907 --- /dev/null +++ b/rest/autodeploy/list.js @@ -0,0 +1,28 @@ +const dbUtils = require("../../utils/dbUitls"); +module.exports = { + action: "/node/autodeploy/list", + method: "post", + execute: (request, response) => { + let total = 0, records = [] + Promise.all([ + dbUtils.query(`select 1 from node_autodeploy`).then(res => { + return total = res.length + }), + new Promise(resolve => { + let sql = `select * from node_autodeploy` + dbUtils.query(sql).then(res => { + records = res + resolve() + }) + }) + + ]).then(() => { + response.send({ + code: 0, + data: {records, total} + }) + }) + + + } +} diff --git a/utils/dbUitls.js b/utils/dbUitls.js index 5779481..31b394f 100644 --- a/utils/dbUitls.js +++ b/utils/dbUitls.js @@ -5,7 +5,7 @@ module.exports = { init: () => { this.pool = mysql.createPool(dbConfig) }, - query: sql => new Promise(resolve => { + query: sql => new Promise((resolve, reject) => { this.pool?.getConnection((err, conn) => { if (err) { console.log(err) @@ -13,6 +13,7 @@ module.exports = { conn.query(sql, (err, result) => { if (err) { console.log(err) + reject(err) } else { conn.release() resolve(result)