imgcloud.service.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. const connection = require('../sql');
  2. class ImgCloudService {
  3. // 查询总条数
  4. async listCount(user_id) {
  5. const statement = 'SELECT COUNT(`id`) total FROM imgcloud where user_id = ?;';
  6. const [result] = await connection.execute(statement, [user_id]);
  7. return result[0];
  8. }
  9. async list(user_id, pageNum = 1, pageSize = 10) {
  10. const offset = (+pageNum - 1) * pageSize + '';
  11. const limit = pageSize;
  12. const statement = `
  13. SELECT
  14. id,
  15. user_id as userId,
  16. user_name as userName,
  17. origin_name as originName,
  18. file_name as fileName,
  19. type,
  20. size,
  21. url,
  22. created_at as createdAt
  23. FROM
  24. imgcloud
  25. WHERE
  26. user_id = ?
  27. ORDER BY created_at DESC LIMIT ${offset},${limit};`;
  28. const [result] = await connection.execute(statement, [user_id]);
  29. return result;
  30. }
  31. async getTotalByUserId(user_id) {
  32. const statement = 'SELECT COUNT(`id`) total FROM imgcloud WHERE user_id = ?;';
  33. const [result] = await connection.execute(statement, [user_id]);
  34. return result[0];
  35. }
  36. async create(userId, userName, originName, fileName, type, size, url) {
  37. const statement = 'INSERT INTO imgcloud (user_id, user_name, origin_name, file_name, type, size, url ) VALUES (?, ?, ?, ?, ?, ?, ?);';
  38. const [result] = await connection.execute(statement, [userId, userName, originName, fileName, type, size, url]);
  39. return result;
  40. }
  41. async delete(id, userId) {
  42. let result = [];
  43. const statement = 'DELETE FROM imgcloud WHERE id = ? && user_id = ?';
  44. [result] = await connection.execute(statement, [id, userId]);
  45. return result;
  46. }
  47. // 注销用户时删除用户的所有图片
  48. async deleteAllImg(userId) {
  49. let result = [];
  50. const statement = 'DELETE FROM imgcloud WHERE user_id = ?';
  51. [result] = await connection.execute(statement, [userId]);
  52. return result;
  53. }
  54. }
  55. module.exports = new ImgCloudService();