node写后台接口实例

M4Y

关注

阅读 25

04-18 09:00

const router = require('express').Router();
const connection = require('../connetion')
//获取添加数据列表
router.get('/add-list',(req,res)=>{
    connection.query('select *from  adddata',(err, results)=>{
        if(err){
            console.log(err)
            return res.status(500).json({code:500,message:'查询失败'})
        }
        return res.status(200).json({code:200,message:'查询成功',data:results})
    })
})
// 添加新的数据
router.post('/add-data', (req, res) => {
    const { id, name, time, money, phone, car } = req.body;
    console.log(req.body);

    // 检查是否已经存在相同的 id
    connection.query('SELECT COUNT(*) AS count FROM adddata WHERE id = ?', [id], (err, results) => {
        if (err) {
            return res.status(500).json({ code: 500, message: '数据库查询失败' });
        }
        
        if (results[0].count > 0) {
            return res.status(400).json({ code: 400, message: '该 ID 已存在,添加失败' });
        }

        // 第一个插入到 adddata 表
        connection.query('INSERT INTO adddata(id, name, time, money, phone, car) values(?,?,?,?,?,?)', [id, name, time, money, phone, car], (err, results) => {
            if (err) {
                return res.status(500).json({ code: 500, message: '添加失败' });
            }

            // 第一个插入成功后,再插入到 datam 表
            connection.query('INSERT INTO datam(id, name, time, money, phone, car) values(?,?,?,?,?,?)', [id, name, time, money, phone, car], (err, results) => {
                if (err) {
                    return res.status(500).json({ code: 500, message: '总数据添加失败' });
                }
                return res.status(200).json({ code: 200, message: '总数据添加成功' });
            });
        });
    });
});
//删除数据
router.post('/delete', async function(req, res) {
    const id = req.body.id; // 从请求体中提取 id
    console.log(id); // 打印 ID,方便调试

    // 获取要删除的数据
    connection.query('SELECT * FROM adddata WHERE id = ?', [id], (err, results) => {
        if (err || results.length === 0) {
            console.error('查找失败', err);
            return res.status(404).json({ code: 404, message: "数据未找到" });
        }

        // 从结果中提取数据
        const { name, time, money, phone, car } = results[0];

        // 删除记录
        connection.query('DELETE FROM adddata WHERE id = ?', [id], (err) => {
            if (err) {
                console.error('删除失败', err); // 打印错误信息
                return res.status(500).json({ code: 500, message: "删除失败" });
            }

            // 删除成功后,插入到 deletedata 表
            connection.query('INSERT INTO deletedata (id, name, time, money, phone, car) VALUES (?, ?, ?, ?, ?, ?)', [id, name, time, money, phone, car], (err) => {
                if (err) {
                    return res.status(500).json({ code: 500, message: "插入 deletedata 表失败" });
                }
                return res.status(200).json({ code: 200, message: '删除成功,数据已转移到 deletedata' });
            });
        });
    });
});
//修改数据
router.post('/update',async function(req,res){
    const {id,name,time,money,phone,car}= req.body
    console.log(req.body)
    connection.query('UPDATE adddata SET name=?,time=?,money=?,phone=?,car=? where id=?',[name,time,money,phone,car,id],(err,results)=>{
        
        if(err){
            console.log(err)
            return err.status(500).json({code:500,message:'修改失败'})

        }
        return res.status(200).json({code:200,message:'修改成功',data:results})
    })
})
//通过id查找数据
router.post('/find-by-id', (req, res) => {
    const { id } = req.body; // 从 req.body 中提取 id
    console.log(id);
    
    // 检查 id 是否存在
    if (!id) {
        return res.status(400).json({ code: 400, message: '缺少 id 参数' });
    }

    // 执行查询,注意 SQL 语句中的空格
    return connection.query('SELECT * FROM adddata WHERE id = ?', [id], (err, results) => {
        if (err) {
            console.log(err);
            return res.status(500).json({ code: 500, message: '查询失败', data: null });
        }
        
        console.log(results); // 在这里打印结果
        if(!results.length){
            return res.status(404).json({ code: 404, message: '未找到数据', data: null });
        }
        return res.status(200).json({ code: 200, message: '查询成功', data: results[0] 
    });
    });
});
//查找数据列表
router.post('/search', (req, res)=> {
    const { id, name, time, money, phone, car } = req.body;
    
    // 初始化查询条件和参数
    let query = 'SELECT * FROM adddata WHERE 1=1'; // 使用 1=1 以便后续拼接条件
    const params = [];

    // 根据提供的字段动态添加查询条件
    if (id) {
        query += ' AND id = ?';
        params.push(id);
    }
    if (name) {
        query += ' AND name = ?';
        params.push(name);
    }
    if (time) {
        query += ' AND time = ?';
        params.push(time);
    }
    if (money) {
        query += ' AND money = ?';
        params.push(money);
    }
    if (phone) {
        query += ' AND phone = ?';
        params.push(phone);
    }
    if (car) {
        query += ' AND car = ?';
        params.push(car);
    }
   connection.query( query, params, (err, results) => {
    if(err){
        console.log(err)
        return res.status(500).json({code:500,message:"查询失败"})
    }
    console.log(results)
    if(!results.length){
        return res.status(404).json({code:404,message:'未查到数据请核对'})
    }
    return res.status(200).json({code:200,message:'查询成功',data:results})

   })
});
module.exports = router;

精彩评论(0)

0 0 举报