files.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. import connection from './base.js';
  2. export async function files_insert({
  3. name = '',
  4. mimetype = '',
  5. size = '',
  6. md5 = '',
  7. create_time = '',
  8. update_time = '',
  9. }) {
  10. return new Promise(async (resolve, reject) => {
  11. try {
  12. const sql = `
  13. INSERT INTO files (name, mimetype, size, md5, create_time, update_time)
  14. VALUES (?, ?, ?, ?, ?, ?)
  15. `;
  16. const values = [name, mimetype, size, md5, create_time, update_time];
  17. // 直接接收 execute 返回的内容
  18. const result = await connection.execute(sql, values);
  19. return resolve(result);
  20. } catch (err) {
  21. return resolve(false);
  22. }
  23. })
  24. }
  25. // 是否存在重复的数据
  26. export function ishaveFileBymd5(md5Str) {
  27. return new Promise((resolve, reject) => {
  28. connection.query(`SELECT * FROM files WHERE md5 = ?`, [md5Str], (err, rows) => {
  29. if (err) {
  30. // reject(err);
  31. resolve(false); // 如果存在记录,则返回 true,否则返回 false
  32. } else {
  33. resolve(rows.length > 0); // 如果存在记录,则返回 true,否则返回 false
  34. }
  35. });
  36. });
  37. }
  38. // 查询图片信息
  39. export function getFileBymd5(md5Str) {
  40. return new Promise((resolve, reject) => {
  41. connection.query(`SELECT * FROM files WHERE md5 = ?`, [md5Str], (err, rows) => {
  42. if (err) {
  43. resolve(false); // 如果存在记录,则返回 true,否则返回 false
  44. } else {
  45. resolve(rows[0]); // 如果存在记录,则返回 true,否则返回 false
  46. }
  47. });
  48. });
  49. }
  50. // 删除图片
  51. export function delFileBymd5(md5Str) {
  52. return new Promise((resolve, reject) => {
  53. connection.query(`update files SET is_del = 1 WHERE md5=?`, [md5Str], (err, rows) => {
  54. if (err) {
  55. resolve(false); // 如果存在记录,则返回 true,否则返回 false
  56. } else {
  57. resolve(true); // 如果存在记录,则返回 true,否则返回 false
  58. }
  59. });
  60. });
  61. }
  62. // 映射数据与文件数据
  63. export function addFileByRecordId({
  64. file_id = '',
  65. record_id = '',
  66. book_id = '',
  67. author_id = '',
  68. create_time = '',
  69. update_time = '',
  70. }) {
  71. return new Promise(async (resolve, reject) => {
  72. try {
  73. const sql = `
  74. INSERT INTO record_files (file_id, record_id, book_id, author_id, create_time, update_time)
  75. VALUES (?, ?, ?, ?, ?, ?)
  76. `;
  77. const values = [file_id, record_id, book_id, author_id, create_time, update_time];
  78. // 直接接收 execute 返回的内容
  79. const result = await connection.execute(sql, values);
  80. return resolve(result);
  81. } catch (err) {
  82. return resolve(false);
  83. }
  84. })
  85. }
  86. // 根据id获取files
  87. export function getFileByRecordId(record_id) {
  88. return new Promise((resolve, reject) => {
  89. connection.query(`SELECT * FROM record_files WHERE record_id = ?`, [record_id], (err, rows) => {
  90. if (err) {
  91. resolve(false); // 如果存在记录,则返回 true,否则返回 false
  92. } else {
  93. resolve(rows); // 如果存在记录,则返回 true,否则返回 false
  94. }
  95. });
  96. });
  97. }
  98. // 根据id删除映射数据
  99. export function delFileByRecordId(record_id, file_id) {
  100. return new Promise((resolve, reject) => {
  101. try {
  102. const sql = `DELETE FROM record_files WHERE record_id = ? AND file_id = ?`;
  103. connection.query(sql, [record_id, file_id], (err, result) => {
  104. if (err) {
  105. // 如果执行过程中出现错误,返回 false
  106. return resolve(false);
  107. }
  108. // 删除成功后返回结果
  109. return resolve(result);
  110. });
  111. } catch (err) {
  112. // 捕获异常并返回 false
  113. return resolve(false);
  114. }
  115. });
  116. }