cashBack.js 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. 'use strict';
  2. const { CrudService } = require('naf-framework-mongoose-free/lib/service');
  3. const { BusinessError, ErrorCode } = require('naf-core').Error;
  4. const _ = require('lodash');
  5. const assert = require('assert');
  6. const moment = require('moment');
  7. //
  8. class CashBackService extends CrudService {
  9. constructor(ctx) {
  10. super(ctx, 'cashback');
  11. this.model = this.ctx.model.User.CashBack;
  12. this.orderDetailModel = this.ctx.model.Trade.OrderDetail;
  13. }
  14. /**
  15. * 添加检查返现
  16. * @param {String} orderDetail_id 订单详情id
  17. * @param {Transaction} tran 数据库事务
  18. */
  19. async create(orderDetail_id, tran) {
  20. const { populate } = this.ctx.service.trade.orderDetail.getRefMods();
  21. const orderDetail = await this.orderDetailModel.findById(orderDetail_id).populate(populate);
  22. if (!orderDetail) return;
  23. const money = this.ctx.service.util.orderDetail.computedRealPay(orderDetail);
  24. const { inviter, _id: order_detail } = orderDetail;
  25. if (!inviter) return;
  26. const obj = { inviter, order_detail, money, time: moment().format('YYYY-MM-DD HH:mm:ss') };
  27. tran.insert('CashBack', obj);
  28. }
  29. }
  30. module.exports = CashBackService;