123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- import connection from "./base.js";
- /*
- `file_id` VARCHAR(100) NOT NULL, -- file_id 长度为 100
- `md5` VARCHAR(32) NOT NULL, -- MD5 长度为 32
- `mimetype` VARCHAR(255) NOT NULL, -- mimetype 长度为 255
- `size` INT NOT NULL,
- `name` VARCHAR(255) DEFAULT NULL,
- `path` VARCHAR(255) DEFAULT NULL,
- */
- export async function files_insert({
- file_id = "",
- source_id = "",
- md5 = "",
- mimetype = "",
- size = "",
- name = "",
- path = "",
- content = "",
- old_path = "",
- book_id = "",
- }) {
- return new Promise(async (resolve, reject) => {
- try {
- const sql = `
- INSERT INTO files (file_id, source_id, md5, mimetype, size, name, path, content, old_path, book_id)
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY
- UPDATE file_id = file_id;
- `;
- const values = [file_id, source_id, md5, mimetype, size, name, path, content, old_path, book_id];
- // 直接接收 execute 返回的内容
- const result = await connection.execute(sql, values);
- return resolve(result);
- } catch (err) {
- return resolve(false);
- }
- });
- }
- export async function files_insert_link_epub({
- file_id = "",
- book_id = "",
- author_id = "",
- }) {
- // console.log("files_insert_link_epub", {
- // file_id,
- // book_id,
- // author_id,
- // });
-
- return new Promise(async (resolve, reject) => {
- try {
- const sql = `
- INSERT INTO book_link_file (file_id, book_id, author_id)
- VALUES (?, ?, ?);
- `;
-
- const values = [file_id, book_id, author_id];
- // 直接接收 execute 返回的内容
- connection.execute(sql, values, (err, row) => {
- if (err) {
- console.log(606060, err);
- return resolve(false);
- }
- return resolve(row);
- });
- } catch (err) {
- return resolve(false);
- }
- });
- }
- // 查询图片信息
- export function getFileBymd5(md5Str) {
- return new Promise((resolve, reject) => {
- connection.query(
- `SELECT files.*, book_link_file.book_id AS book_id
- FROM files
- JOIN book_link_file ON files.file_id = book_link_file.file_id
- WHERE files.file_id = ?`,
- [md5Str],
- (err, rows) => {
- if (err) {
- resolve(false); // 如果出现错误,返回 false
- } else {
- resolve(rows.length > 0 ? rows[0] : false); // 如果存在记录,返回第一条记录,否则返回 false
- }
- }
- );
- });
- }
- // 查询图片信息
- export function searchFileByPath(imgPath, file_md5) {
- return new Promise((resolve, reject) => {
- connection.query(
- `SELECT *
- FROM files
- WHERE path like ? ${file_md5 ? "and path like ?" : ""};`,
- [`%${imgPath}%`, `%${file_md5}%`],
- (err, rows) => {
- if (err) {
- resolve(false); // 如果存在记录,则返回 true,否则返回 false
- } else {
- resolve(rows.length > 0 ? rows[0] : false); // 如果存在记录,则返回 true,否则返回 false
- }
- }
- );
- });
- }
- // 查询图片信息
- export function searchFileByName(fileName, fileMd5) {
- return new Promise((resolve, reject) => {
- const query = `
- SELECT *
- FROM files
- JOIN book_link_file ON files.file_id = book_link_file.file_id
- AND book_link_file.book_id = ?
- WHERE name LIKE ? ${fileMd5 ? "OR path LIKE ?" : ""};
- `;
-
- const queryParams = fileMd5
- ? [fileMd5, `%${fileName}%`, `%${fileMd5}%`]
- : [fileMd5, `%${fileName}%`];
-
- connection.query(query, queryParams, (err, rows) => {
- if (err) {
- return reject(err);
- }
-
- resolve(rows.length > 0 ? rows[0] : false);
- });
- });
- }
|