customer.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. 'use strict';
  2. /**
  3. * 客户信息数据模型
  4. *
  5. * @author CaiAoLin
  6. * @date 2017/11/14
  7. * @version
  8. */
  9. // sql拼装器
  10. const SqlBuilder = require('../lib/sql_builder');
  11. module.exports = app => {
  12. class Customer extends app.BaseService {
  13. /**
  14. * 构造函数
  15. *
  16. * @param {Object} ctx - egg全局变量
  17. * @return {void}
  18. */
  19. constructor(ctx) {
  20. super(ctx);
  21. this.tableName = 'customer';
  22. }
  23. /**
  24. * 查询过虑
  25. *
  26. * @param {Object} data - 筛选表单中的get数据
  27. * @return {void}
  28. */
  29. searchFilter(data) {
  30. this.sqlBuilder = new SqlBuilder();
  31. }
  32. /**
  33. * 新增SSO用户
  34. *
  35. * @param {Object} data - 接口返回的数据
  36. * @return {Boolean} - 新增结果
  37. */
  38. async addSSOUser(data) {
  39. let result = false;
  40. if (Object.keys(data).length <= 0 || data.useremail === undefined) {
  41. return result;
  42. }
  43. // 先查找是否存在
  44. const customerData = await this.db.get(this.tableName, { email: data.useremail });
  45. if (customerData !== null) {
  46. // 存在则直接返回结果
  47. return true;
  48. }
  49. const insertData = {
  50. email: data.useremail,
  51. mobile: data.mobile,
  52. name: data.username,
  53. };
  54. result = await this.db.insert(this.tableName, insertData);
  55. return result.affectedRows > 0;
  56. }
  57. }
  58. return Customer;
  59. };