version.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. 'use strict';
  2. /**
  3. * 版本数据模型
  4. *
  5. * @author CaiAoLin
  6. * @date 2017/10/25
  7. * @version
  8. */
  9. module.exports = app => {
  10. class Version extends app.BaseService {
  11. /**
  12. * 构造函数
  13. *
  14. * @param {Object} ctx - egg全局变量
  15. * @return {void}
  16. */
  17. constructor(ctx) {
  18. super(ctx);
  19. this.tableName = 'version';
  20. }
  21. /**
  22. * 校验规则
  23. *
  24. * @return {Object} - 返回校验规则
  25. */
  26. rule() {
  27. return {
  28. name: { type: 'string', required: true, allowEmpty: false },
  29. content: { type: 'string', required: false, allowEmpty: true },
  30. };
  31. }
  32. /**
  33. * 查找数据
  34. *
  35. * @param {Object} data - 筛选表单中的get数据
  36. * @return {void}
  37. */
  38. searchFilter(data) {
  39. this.initSqlBuilder();
  40. }
  41. /**
  42. * 保存数据
  43. *
  44. * @param {Object} data - post过来的数据
  45. * @param {Number} id - 用于判断修改还是新增的id
  46. * @return {boolean} - 操作结果
  47. */
  48. async save(data, id = 0) {
  49. id = parseInt(id);
  50. id = isNaN(id) ? 0 : id;
  51. delete data._csrf_j;
  52. if (id > 0) {
  53. delete data.create_time;
  54. data.id = id;
  55. }
  56. const operate = id === 0 ? await this.db.insert(this.tableName, data) :
  57. await this.db.update(this.tableName, data);
  58. return operate.affectedRows > 0;
  59. }
  60. }
  61. return Version;
  62. };