const db = require('../../db/index.js'); const bcrypt = require("bcryptjs"); const jwt = require("jsonwebtoken"); const config = require('../../config.js') //疫苗接种列表 exports.vaccinesList = async (req, res) => { const vaccines = req.query.vaccine; // 从查询参数获取用户名 const date = req.query.date; // 从查询参数获取年龄 const pageNum = parseInt(req.query.pageNum, 10) || 1; const pageSize = parseInt(req.query.pageSize, 10) || 10; // 验证参数 if (isNaN(pageNum) || isNaN(pageSize) || pageNum < 1 || pageSize < 1) { return res.rescc('分页参数无效', 400); } const offset = (pageNum - 1) * pageSize; const offset2 = pageNum * pageSize; // 构建查询语句和参数数组,使用占位符和适当的逻辑操作符(如 AND 和 OR) let query = 'select * from ev_vaccines where 1=1'; // 使用恒等式作为基础条件,便于添加额外的条件而不改变原有逻辑结构。 // SELECT * FROM table_name LIMIT page_size OFFSET (page_number - 1) * page_size; let values = []; // 初始化参数数组以防止SQL注入。 if (vaccines) { query += ' AND vaccine like ?'; // 使用 AND 来添加条件。 values.push(`%${vaccines}%`); // 将值添加到参数数组中。 } if (date) { query += ' AND date = ?'; // 使用 AND 来添加条件。 values.push(date); // 将值添加到参数数组中。 } // 查询总记录数 const countQuery = 'select count(*) as total from ev_vaccines where 1=1'; db.query(countQuery, values, (err, results) => { if (err) { return res.rescc(err); } const totalRecords = results[0].total; // query += ' limit ? offset ?'; query += ' limit ?,?'; values.push(offset, offset2); // 将值添加到参数数组中。 db.query(query, values, (err, results) => { if (err) { return res.rescc(err); } const resultAll = { data: results, total: (vaccines !== "" || date !== "") ? results.length : totalRecords } res.rescc("获取疫苗接种列表请求成功", 200, resultAll); }) }) } //新增疫苗接种信息 exports.addVaccine = (req, res) => { const vaccineInfo = req.body const sqlStr = "select * from ev_vaccines where vaccine=?" db.query(sqlStr, vaccineInfo.vaccine, (err, results) => { if (err) { return res.rescc(err); } if (results.length > 0) { return res.rescc("该疫苗已接种,请确认!"); } const sql = "insert into ev_vaccines set ?" db.query(sql, vaccineInfo, (err, results) => { if (err) { return res.rescc(err); } if (results.affectedRows !== 1) { return res.rescc("添加失败,请稍后再试!"); } res.rescc("添加成功", 200); }) }) } //修改疫苗接种信息 exports.updataVaccineInfo = (req, res) => { const sql = "update ev_vaccines set ? where id=?" db.query(sql, [req.body, req.body.id], (err, results) => { if (err) { return res.rescc(err); } if (results.affectedRows !== 1) { return res.rescc("疫苗接种信息更新失败!"); } res.rescc("疫苗接种信息更新成功!", 200) }) } //删除疫苗接种信息 exports.deleteVaccineInfo = (req, res) => { console.log('req===>>>', req) const sql = "delete from ev_vaccines where id=?" db.query(sql, req.params.id, (err, results) => { if (err) { return res.rescc(err); } if (results.affectedRows !== 1) { return res.rescc("疫苗接种信息删除失败!"); } res.rescc("疫苗接种信息删除成功!", 200) }) }