'use strict'; const { CrudService } = require('naf-framework-mongoose-free/lib/service'); const { BusinessError, ErrorCode } = require('naf-core').Error; const _ = require('lodash'); const assert = require('assert'); const moment = require('moment'); // class CashBackService extends CrudService { constructor(ctx) { super(ctx, 'cashback'); this.model = this.ctx.model.User.CashBack; this.orderDetailModel = this.ctx.model.Trade.OrderDetail; } /** * 添加检查返现 * @param {String} orderDetail_id 订单详情id * @param {Transaction} tran 数据库事务 */ async create(orderDetail_id, tran) { const { populate } = this.ctx.service.trade.orderDetail.getRefMods(); const orderDetail = await this.orderDetailModel.findById(orderDetail_id).populate(populate); if (!orderDetail) return; const money = this.ctx.service.util.orderDetail.computedRealPay(orderDetail); const { inviter, _id: order_detail } = orderDetail; if (!inviter) return; const obj = { inviter, order_detail, money, time: moment().format('YYYY-MM-DD HH:mm:ss') }; tran.insert('CashBack', obj); } } module.exports = CashBackService;