firefly.service.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. const connection = require('../sql');
  2. class FireflyService {
  3. async listCount(name, status) {
  4. const statement =
  5. 'SELECT COUNT(`id`) total FROM firefly WHERE (name = COALESCE(?, name) OR ? IS NULL) AND (status = COALESCE(?, status) OR ? IS NULL);';
  6. const [result] = await connection.execute(statement, [name || null, name || null, status >= 0 ? status : null, status >= 0 ? status : null]);
  7. return result[0];
  8. }
  9. async list(pageNum, pageSize, name, status) {
  10. const offset = (+pageNum - 1) * pageSize + '';
  11. const limit = pageSize;
  12. const statement = `SELECT * FROM firefly WHERE (name = COALESCE(?, name) OR ? IS NULL) AND (status = COALESCE(?, status) OR ? IS NULL) LIMIT ${offset},${limit};`;
  13. const [result] = await connection.execute(statement, [name || null, name || null, status >= 0 ? status : null, status >= 0 ? status : null]);
  14. return result;
  15. }
  16. async create(params) {
  17. const statement = 'INSERT INTO firefly (name, type, avatar, time, skill, sales, status, area) VALUES (?, ?, ?, ?, ?, ?, ?, ?);';
  18. const [result] = await connection.execute(statement, [
  19. params.name,
  20. params.type,
  21. params.avatar || '',
  22. params.time,
  23. params.skill,
  24. params.sales,
  25. params.status || '',
  26. params.area,
  27. ]);
  28. return result;
  29. }
  30. // 根据页面ID删除
  31. async deleteById(id) {
  32. const statement = 'DELETE FROM firefly WHERE id = ?;';
  33. const [result] = await connection.execute(statement, [id]);
  34. return result;
  35. }
  36. // 更新数据
  37. async update(params) {
  38. const statement = 'UPDATE firefly SET name=?, type=?, avatar=?, time=?, skill=?, sales=?, status=?, area=? WHERE id=?;';
  39. const [result] = await connection.execute(statement, [
  40. params.name || '',
  41. params.type || '',
  42. params.avatar || '',
  43. params.time || '',
  44. params.skill || '',
  45. params.sales || 0,
  46. params.status || 1,
  47. params.area || '',
  48. params.id,
  49. ]);
  50. return result;
  51. }
  52. }
  53. module.exports = new FireflyService();