ArticleDao.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. const db = require('../config/mysqlConfig')
  2. const moment = require('moment')
  3. let ArticleDao = {
  4. // 查找所有文章
  5. selectAll: (start, num) => {
  6. let sql = `select * from article limit ${start}, ${num}`
  7. return db.query(sql)
  8. },
  9. // 查找
  10. selectLatest: (start, num) => {
  11. let sql = `select * from article order by update_time desc limit ${start}, ${num}`
  12. return db.query(sql)
  13. },
  14. selectByID: ID => {
  15. let sql = `SELECT * FROM article WHERE article_id = ${ID}`
  16. return db.query(sql)
  17. },
  18. selectByTitle: Title => {
  19. let sql = `SELECT * FROM article WHERE article_title = ${Title}`
  20. return db.query(sql)
  21. },
  22. selectByUserID: UserID => {
  23. let sql = `SELECT * FROM article WHERE author_id = ${UserID}`
  24. return db.query(sql)
  25. },
  26. update: Article => {
  27. let updateAt = moment(Date.now()).format('YYYY-MM-DD HH:mm:ss')
  28. let sql = `UPDATE article SET update_time = '${updateAt}'`
  29. if(Article.content !== undefined && Article.content !== ''){
  30. sql += `, content = '${Article.content}'`
  31. }
  32. if(Article.description !== undefined && Article.description !== ''){
  33. sql += `, content = '${Article.description}'`
  34. }
  35. if(Article.title !== undefined && Article.title !== ''){
  36. sql += `, article_title = '${Article.title}'`
  37. }
  38. sql += ` where article_id = ${Article.articleID}`
  39. db.query(sql)
  40. },
  41. insert: Article => {
  42. let createdAt = moment(Date.now()).format('YYYY-MM-DD HH:mm:ss')
  43. let sql = `insert into article(article_title, author_id, create_time, update_time, description, content) values('${Article.title}', '${Article.authorID}', '${createdAt}', '${createdAt}', '${Article.description}', '${Article.content}')`
  44. return db.query(sql)
  45. },
  46. like: (num, articleID) => {
  47. let sql = `update article set like_count = like_count + ${num} where article_id = ${articleID}`
  48. db.query(sql)
  49. },
  50. dislike: (num, articleID) => {
  51. let sql = `update article set dislike_count = dislike_count + ${num} where article_id = ${articleID}`
  52. db.query(sql)
  53. },
  54. comment: articleID => {
  55. let sql = `update article set comment_count = comment_count + 1 where article_id = ${articleID}`
  56. db.query(sql)
  57. }
  58. }
  59. module.exports = ArticleDao