From 5b437886eb265fb0dd88e179a51000814f6ea461 Mon Sep 17 00:00:00 2001 From: aixianling Date: Mon, 4 Jul 2022 09:47:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=81=E8=A3=85=E5=A2=9E=E5=88=A0=E6=94=B9?= =?UTF-8?q?=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/rest/custom/add.js | 16 ++++++++++++++++ src/rest/custom/delete.js | 13 +++++++++++++ src/utils/dbUitls.js | 28 ++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 src/rest/custom/add.js create mode 100644 src/rest/custom/delete.js diff --git a/src/rest/custom/add.js b/src/rest/custom/add.js new file mode 100644 index 0000000..6403a24 --- /dev/null +++ b/src/rest/custom/add.js @@ -0,0 +1,16 @@ +const dbUtils = require("../../utils/dbUitls"); +module.exports = { + action: "/node/custom/addOrUpdate", + method: "post", + execute: (request, response) => { + let form = request.body + dbUtils.addOrUpdate({ + table: 'node_custom_config', + form + }).then(data => { + response.send({code: 0, data}) + }).catch(err => { + response.send({code: 1, err: err?.sqlMessage || err || ""}) + }) + } +} diff --git a/src/rest/custom/delete.js b/src/rest/custom/delete.js new file mode 100644 index 0000000..3ce5d0c --- /dev/null +++ b/src/rest/custom/delete.js @@ -0,0 +1,13 @@ +const dbUtils = require("../../utils/dbUitls"); +module.exports = { + action: "/node/custom/delete", + method: "post", + execute: (request, response) => { + const {ids} = request.query + dbUtils.delete({table: 'node_custom_config', ids}).then(data => { + response.send({code: 0, data}) + }).catch(err => { + response.send({code: 1, err: err?.sqlMessage || err || ""}) + }) + } +} diff --git a/src/utils/dbUitls.js b/src/utils/dbUitls.js index 4f3e036..28aa2cb 100644 --- a/src/utils/dbUitls.js +++ b/src/utils/dbUitls.js @@ -1,5 +1,6 @@ const mysql = require("mysql"); const dbConfig = require("../config/db"); +const {v4: uuid} = require("uuid"); const query = sql => new Promise((resolve, reject) => { this.pool?.getConnection((err, conn) => { if (err) { @@ -24,6 +25,7 @@ module.exports = { }, query, list: ({table, search, con}) => { + //列表查询 let total = 0, records = [] if (table) { const {current, size} = search, params = JSON.parse(JSON.stringify(search)) @@ -42,5 +44,31 @@ module.exports = { }) } }, + addOrUpdate: ({table, form}) => { + //新增和更新 + let sql + if (form.id) {//编辑 + let arr = Object.keys(form).filter(e => form[e]).map(e => { + if (typeof form[e] == "object") form[e] = JSON.stringify(form[e]) + return `${e}='${form[e]}'` + }) + sql = `update ${table} set ${arr.join(",")} where id='${form.id}'` + } else {//新增 + let cols = [], arr = [] + Object.keys(form).map(e => { + if (form[e]) { + cols.push(e) + if (typeof form[e] == "object") form[e] = JSON.stringify(form[e]) + arr.push(`'${form[e]}'`) + } + }) + sql = `insert into ${table} (id,${cols.join(",")}) values('${uuid()}',${arr.join(",")})` + } + return query(sql) + }, + delete: ({table, ids}) => { + ids = ids?.split(",")?.map(e => `'${e}'`)?.toString() + return query(`delete from ${table} where id in (${ids})`) + }, format: args => args.map(e => `${e.prop}`).join(" ") }