clue.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. const express = require('express');
  2. const _ = require('lodash');
  3. const { query, body } = require('express-validator');
  4. const { onSuccess, fill, onError } = require('../../../utils');
  5. const { limit } = require('../../config');
  6. const check = require('../../../middleware/check');
  7. const Clue = require('../../../db/models/clue');
  8. const Business = require('../../../db/models/business');
  9. const router = express.Router();
  10. async function fillSingle(data) {
  11. return data;
  12. }
  13. /**
  14. * showdoc
  15. * @catalog v1/商家/联系和咨询
  16. * @title 首页联系和咨询添加
  17. * @description
  18. * @method POST
  19. * @url /business/clue/home
  20. * @param name 1 string 联系人
  21. * @param phone 1 string 手机号
  22. * @param email 1 string 邮箱
  23. * @param content 1 string 内容
  24. * @param type 1 tinyint 1联系我们2预约咨询
  25. * @param busName 0 string 账号名
  26. * @param busCompany 0 string 账号公司
  27. * @return {"code":0, "data": {}}
  28. * @remark
  29. * @number
  30. */
  31. router.post('/home', check([body([]).notEmpty()]), async (req, res) => {
  32. req.body.type = 1;
  33. req.business && (req.body.bid = req.business.id);
  34. const data = await Clue.create(req.body);
  35. res.send(onSuccess(data));
  36. });
  37. /**
  38. * showdoc
  39. * @catalog v1/商家/联系和咨询
  40. * @title 联系和咨询添加
  41. * @description
  42. * @method POST
  43. * @url /business/clue/
  44. * @param name 1 string 联系人
  45. * @param phone 1 string 手机号
  46. * @param email 1 string 邮箱
  47. * @param content 1 string 内容
  48. * @return {"code":0, "data": {}}
  49. * @remark
  50. * @number
  51. */
  52. router.post('/', check([body([]).notEmpty()]), async (req, res) => {
  53. const bdata = await Business.findOne({ where: { id: req.business.id } });
  54. const { name, company } = bdata;
  55. const cItem = await Clue.findOne({ where: { bid: req.business.id, isContact: 0 } });
  56. if (cItem) {
  57. return res.send(onSuccess(null, '您已发起过咨询,在1个工作日内会与您联系'));
  58. }
  59. req.body.busName = name;
  60. req.body.busCompany = company;
  61. req.body.type = 2;
  62. req.body.bid = req.business.id;
  63. const data = await Clue.create(req.body);
  64. res.send(onSuccess(data, '咨询发起成功,1个工作日内,我们会与您联系,谢谢!'));
  65. });
  66. module.exports = router;