d_base.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  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 sort
  103. * @param p
  104. * @param l
  105. * @returns {*}
  106. */
  107. function loadFiles(type = 'array',_params,sort,p,l){
  108. let sql = ``;
  109. let values = [];
  110. if(isEmpty(_params)){
  111. _params = {};
  112. }
  113. if(type === 'count'){
  114. sql = `select count(*) as total `;
  115. }else {
  116. sql = `select * `;
  117. }
  118. sql += `from hfy_files as f
  119. where 1 = 1
  120. `
  121. if(_params.key){
  122. sql += ` and ( f.name like '%${_params.key}% or f.tags like '%${_params.key}%' )`
  123. }
  124. if(_params.type){
  125. sql += ` and f.fileType = ? `;
  126. values.push(_params.type - 1);
  127. }
  128. sql += ` order by f.uploadTime desc `;
  129. return searchSql(mysql.pq,type,sql,values,l,p);
  130. }
  131. function getFileById(fileId){
  132. let sql = `select * from hfy_files where fileId = ?`;
  133. return mysql.pq(sql,[fileId]);
  134. }
  135. function deleteFile(fileId){
  136. let sql = `delete from hfy_files where fileId = ? limit 1`;
  137. return mysql.pq(sql,[fileId]);
  138. }
  139. function getBaseInfo(id){
  140. let sql = `select * from hfy_basic`;
  141. if(id){
  142. sql += ` where id = ? limit 1`;
  143. return mysql.pq(sql,[id]);
  144. }
  145. return mysql.pq(sql);
  146. }
  147. function editBaseInfo(updateParam, baseId){
  148. let sql = `update hfy_basic set `;
  149. let values = [];
  150. if(!isEmpty(updateParam.company)){
  151. sql += ` company = ?,`;
  152. values.push(updateParam.company);
  153. }
  154. if(!isEmpty(updateParam.wx_qrc)){
  155. sql += ` wx_qrc = ?,`;
  156. values.push(updateParam.wx_qrc);
  157. }
  158. if(!isEmpty(updateParam.addr)){
  159. sql += ` addr = ?,`;
  160. values.push(updateParam.addr);
  161. }
  162. // 网店地址
  163. if(!isEmpty(updateParam.shop_addr)){
  164. sql += ` shop_addr = ?,`;
  165. values.push(updateParam.shop_addr);
  166. }
  167. if(!isEmpty(updateParam.tel)){
  168. sql += ` tel = ?,`;
  169. values.push(updateParam.tel);
  170. }
  171. if(!isEmpty(updateParam.fax)){
  172. sql += ` fax = ?,`;
  173. values.push(updateParam.fax);
  174. }
  175. if(!isEmpty(updateParam.email)){
  176. sql += ` email = ?,`;
  177. values.push(updateParam.email);
  178. }
  179. if(values.length === 0){
  180. return Promise.reject('没有修改任何数据')
  181. }
  182. // 尝试移除最后一个逗号
  183. sql = sql.substring(0,sql.length - 1);
  184. sql += ` where id = ? limit 1`
  185. values.push(baseId);
  186. return mysql.pq(sql,values);
  187. }
  188. function addBaseInfo(data){
  189. let sql = `insert into hfy_basic (wx_qrc, addr, tel, fax, email, shop_addr)
  190. values (?,?,?,?,?)`;
  191. let {wx_qrc, addr, tel, fax, email, shop_addr} = data;
  192. shop_addr = shop_addr || '';
  193. return mysql.pq(sql,[wx_qrc,addr,tel,fax,email, shop_addr]);
  194. }
  195. module.exports = {
  196. getCarousel,
  197. getCarouselById,
  198. addCarousel,
  199. deleteCarousel,
  200. updateCarousel,
  201. uploadFiles,
  202. loadFiles,
  203. getFileById,
  204. deleteFile,
  205. getBaseInfo,
  206. editBaseInfo,
  207. addBaseInfo
  208. }