From c7f56d7958b6d0d1994c44c895bef43eab2c8b8a Mon Sep 17 00:00:00 2001 From: aixianling Date: Thu, 12 May 2022 10:40:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E5=B0=8F=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E4=BA=A7=E5=93=81=E5=BA=93,=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/rest/wechatapps/add.js | 44 +++++++++++++++++++++++++++++++++++++ src/rest/wechatapps/list.js | 28 +++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 src/rest/wechatapps/add.js create mode 100644 src/rest/wechatapps/list.js diff --git a/src/rest/wechatapps/add.js b/src/rest/wechatapps/add.js new file mode 100644 index 0000000..4bc8547 --- /dev/null +++ b/src/rest/wechatapps/add.js @@ -0,0 +1,44 @@ +const dbUtils = require("../../utils/dbUitls"); +const {v4: uuid} = require('uuid'); + +const addOrUpdate = form => { + let sql + if (form.id) {//编辑 + let arr = Object.keys(form).filter(e => form[e]).map(e => `${e}='${form[e]}'`) + sql = `update node_wechat_apps set ${arr.join(",")} where id='${form.name}'` + } else {//新增 + let cols = [], arr = [] + Object.keys(form).map(e => { + if (form[e]) { + cols.push(e) + arr.push(`'${form[e]}'`) + } + }) + sql = `insert into node_wechat_apps (id,${cols.join(",")}) values('${form.name}',${arr.join(",")})` + } + return sql +} + +module.exports = { + action: "/node/wechatapps/addOrUpdate", + method: "post", + execute: (request, response) => { + let form = request.body, sql + if (form.list?.length > 0) { + Promise.all(form.list.map(e => dbUtils.query(addOrUpdate(e)))).then(() => { + response.send({code: 0}) + }).catch(err => { + response.send({code: 1, err: err.sqlMessage}) + }) + } else { + if (form.name) { + sql = addOrUpdate(form) + sql && dbUtils.query(sql).then(() => { + response.send({code: 0}) + }).catch(err => { + response.send({code: 1, err: err.sqlMessage}) + }) + } else response.send({code: 1, err: "name必填"}) + } + } +} diff --git a/src/rest/wechatapps/list.js b/src/rest/wechatapps/list.js new file mode 100644 index 0000000..670c1ec --- /dev/null +++ b/src/rest/wechatapps/list.js @@ -0,0 +1,28 @@ +const dbUtils = require("../../utils/dbUitls"); +module.exports = { + action: "/node/wechatapps/list", + method: "post", + execute: (request, response) => { + let total = 0, records = [], {size, current = 1, name = ""} = request.query + Promise.all([ + dbUtils.query(`select 1 from node_wechat_apps`).then(res => { + return total = res.length + }), + new Promise(resolve => { + let sql = `select * from node_wechat_apps where name like '%${name}%' limit ${(current-1)*size},${size}` + dbUtils.query(sql).then(res => { + records = res + resolve() + }).catch(err => { + response.send({code: 1, err: err.sqlMessage}) + }) + }) + + ]).then(() => { + response.send({ + code: 0, + data: {records, total} + }) + }) + } +}