d_base.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. const mysql = require('./mysql');
  2. const {searchSql,limitSql} = require("../tools/searchSql");
  3. const {isEmpty} = require("../tools/typeTool_cjs");
  4. const log = require("../logger").logger("d_base","info");
  5. /**
  6. * table carousel
  7. * id 主键
  8. * sort 排序
  9. * image 图片地址
  10. * type 1: 文章 2: 产品 3: 直接链接
  11. * link 文章id 产品id 链接
  12. */
  13. /**
  14. * 获取轮播图
  15. * @returns {Promise | Promise<unknown>}
  16. */
  17. function getCarousel(searchParam = {}){
  18. let sql = `SELECT c.*,f.filePath,f.fileType,f.fileId
  19. FROM
  20. hfy_carousel as c,
  21. hfy_files as f
  22. WHERE c.fileId = f.fileId`;
  23. let values = [];
  24. if(!isEmpty(searchParam.state)){
  25. sql += ` and c.state = ?`;
  26. values.push(searchParam.state);
  27. }
  28. sql += ` order by c.sort asc`
  29. return mysql.pq(sql,values);
  30. }
  31. function getCarouselById(id){
  32. let sql = `SELECT c.*,f.filePath,f.fileType,f.fileId
  33. FROM
  34. hfy_carousel as c,
  35. hfy_files as f
  36. WHERE
  37. c.fileId = f.fileId
  38. and c.id = ?
  39. `;
  40. let values = [id];
  41. return mysql.pq(sql,values);
  42. }
  43. function addCarousel(sort,fileId,type,value,valueShowText,updateTime){
  44. let sql = `INSERT INTO hfy_carousel (sort, fileId, type, value, valueShowText, updateTime)
  45. VALUES (?,?,?,?,?,?)`;
  46. return mysql.pq(sql,[sort,fileId,type,value,valueShowText,updateTime]);
  47. }
  48. function deleteCarousel(id){
  49. let sql = `DELETE FROM hfy_carousel WHERE id = ?`;
  50. return mysql.pq(sql,[id]);
  51. }
  52. function updateCarousel(id,updateParam,time){
  53. let sql = `UPDATE hfy_carousel SET `;
  54. let values = [];
  55. if(!isEmpty(updateParam.sort)){
  56. sql += ` sort = ?,`;
  57. values.push(updateParam.sort);
  58. }
  59. if(updateParam.fileId){
  60. sql += ` fileId = ?,`;
  61. values.push(updateParam.fileId);
  62. }
  63. if(!isEmpty(updateParam.type)){
  64. sql += ` type = ?,`;
  65. values.push(updateParam.type);
  66. }
  67. if(updateParam.value && updateParam.valueShowText){
  68. sql += ` value = ?,`;
  69. values.push(updateParam.value);
  70. sql += ` valueShowText = ?,`;
  71. values.push(updateParam.valueShowText);
  72. }
  73. if(!isEmpty(updateParam.state)){
  74. sql += ` state = ?,`;
  75. values.push(updateParam.state);
  76. }
  77. sql += ` updateTime = ?`;
  78. values.push(time);
  79. sql += ` WHERE id = ? limit 1`;
  80. values.push(id);
  81. console.log(sql);
  82. console.log(values);
  83. return mysql.pq(sql,values);
  84. }
  85. function uploadFiles(type,fileNameArr,uploadTime){
  86. let sql = `INSERT INTO hfy_files (fileType, filePath, uploadTime)
  87. VALUES ${fileNameArr.map(f=>`(?,?,?)`).join(',')}`;
  88. let values = [];
  89. for(let fileName of fileNameArr){
  90. values.push(type);
  91. values.push(fileName);
  92. values.push(`${uploadTime}`);
  93. }
  94. console.log(sql);
  95. console.log(values);
  96. return mysql.pq(sql,values);
  97. }
  98. /**
  99. * 搜索文件数据
  100. * @param type
  101. * @param _params
  102. * @param p
  103. * @param l
  104. * @returns {*}
  105. */
  106. function loadFiles(type = 'array',_params,p,l){
  107. let sql = ``;
  108. let values = [];
  109. if(isEmpty(_params)){
  110. _params = {};
  111. }
  112. if(type === 'count'){
  113. sql = `select count(*) as total `;
  114. }else {
  115. sql = `select * `;
  116. }
  117. sql += `from hfy_files as f
  118. where 1 = 1
  119. `
  120. if(_params.key){
  121. sql += ` and ( f.name like '%${_params.key}% or f.tags like '%${_params.key}%' )`
  122. }
  123. if(_params.type){
  124. sql += ` and f.fileType = ? `;
  125. values.push(_params.type - 1);
  126. }
  127. sql += ` order by f.uploadTime desc `;
  128. return searchSql(mysql.pq,type,sql,values,l,p);
  129. }
  130. function getFileById(fileId){
  131. let sql = `select * from hfy_files where fileId = ?`;
  132. return mysql.pq(sql,[fileId]);
  133. }
  134. function deleteFile(fileId){
  135. let sql = `delete from hfy_files where fileId = ? limit 1`;
  136. return mysql.pq(sql,[fileId]);
  137. }
  138. module.exports = {
  139. getCarousel,
  140. getCarouselById,
  141. addCarousel,
  142. deleteCarousel,
  143. updateCarousel,
  144. uploadFiles,
  145. loadFiles,
  146. getFileById,
  147. deleteFile,
  148. }