d_base.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  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. return mysql.pq(sql,values);
  29. }
  30. function getCarouselById(id){
  31. let sql = `SELECT c.*,f.filePath,f.fileType,f.fileId
  32. FROM
  33. hfy_carousel as c,
  34. hfy_files as f
  35. WHERE
  36. c.fileId = f.fileId
  37. c.id = ?
  38. `;
  39. let values = [id];
  40. return mysql.pq(sql,values);
  41. }
  42. function addCarousel(sort,fileId,type,value,valueShowText,updateTime){
  43. let sql = `INSERT INTO hfy_carousel (sort, fileId, type, value, valueShowText, updateTime)
  44. VALUES (?,?,?,?,?,?)`;
  45. return mysql.pq(sql,[sort,fileId,type,value,valueShowText,updateTime]);
  46. }
  47. function updateCarousel(id,updateParam,time){
  48. let sql = `UPDATE hfy_carousel SET `;
  49. let values = [];
  50. if(!isEmpty(updateParam.sort)){
  51. sql += ` sort = ?,`;
  52. values.push(updateParam.sort);
  53. }
  54. if(updateParam.fileId){
  55. sql += ` fileId = ?,`;
  56. values.push(updateParam.fileId);
  57. }
  58. if(!isEmpty(updateParam.type)){
  59. sql += ` type = ?,`;
  60. values.push(updateParam.type);
  61. }
  62. if(updateParam.value && updateParam.valueShowText){
  63. sql += ` value = ?,`;
  64. values.push(updateParam.value);
  65. sql += ` valueShowText = ?,`;
  66. values.push(updateParam.valueShowText);
  67. }
  68. if(!isEmpty(updateParam.state)){
  69. sql += ` state = ?,`;
  70. values.push(updateParam.state);
  71. }
  72. sql += ` updateTime = ?`;
  73. values.push(time);
  74. sql += ` WHERE id = ? limit 1`;
  75. values.push(id);
  76. console.log(sql);
  77. console.log(values);
  78. return mysql.pq(sql,values);
  79. }
  80. function uploadFiles(type,fileNameArr,uploadTime){
  81. let sql = `INSERT INTO hfy_files (fileType, filePath, uploadTime)
  82. VALUES ${fileNameArr.map(f=>`(?,?,?)`).join(',')}`;
  83. let values = [];
  84. for(let fileName of fileNameArr){
  85. values.push(type);
  86. values.push(fileName);
  87. values.push(`${uploadTime}`);
  88. }
  89. console.log(sql);
  90. console.log(values);
  91. return mysql.pq(sql,values);
  92. }
  93. /**
  94. * 搜索文件数据
  95. * @param type
  96. * @param _params
  97. * @param p
  98. * @param l
  99. * @returns {*}
  100. */
  101. function loadFiles(type = 'array',_params,p,l){
  102. let sql = ``;
  103. let values = [];
  104. if(isEmpty(_params)){
  105. _params = {};
  106. }
  107. if(type === 'count'){
  108. sql = `select count(*) as total `;
  109. }else {
  110. sql = `select * `;
  111. }
  112. sql += `from hfy_files as f
  113. where 1 = 1
  114. `
  115. if(_params.key){
  116. sql += ` and ( f.name like '%${_params.key}% or f.tags like '%${_params.key}%' )`
  117. }
  118. if(_params.type){
  119. sql += ` and f.fileType = ? `;
  120. values.push(_params.type - 1);
  121. }
  122. sql += ` order by f.uploadTime desc `;
  123. return searchSql(mysql.pq,type,sql,values,l,p);
  124. }
  125. function getFileById(fileId){
  126. let sql = `select * from hfy_files where fileId = ?`;
  127. return mysql.pq(sql,[fileId]);
  128. }
  129. function deleteFile(fileId){
  130. let sql = `delete from hfy_files where fileId = ? limit 1`;
  131. return mysql.pq(sql,[fileId]);
  132. }
  133. module.exports = {
  134. getCarousel,
  135. getCarouselById,
  136. addCarousel,
  137. updateCarousel,
  138. uploadFiles,
  139. loadFiles,
  140. getFileById,
  141. deleteFile,
  142. }