lessonPrivate.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  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. //
  7. class LessonPrivateService extends CrudService {
  8. constructor(ctx) {
  9. super(ctx, 'lessonprivate');
  10. this.model = this.ctx.model.Business.LessonPrivate;
  11. this.cibService = this.ctx.service.business.coachInBill;
  12. }
  13. /**
  14. * 处理下课的课程进行结算
  15. * @param {Object} filter 修改条件
  16. * @param {Object} body 修改内容
  17. * @param {Object} data 修改后的结果
  18. * @return {Object} 返回整理后的内容
  19. */
  20. async afterUpdate(filter, body, data) {
  21. const { status, limit, money, student, _id: lesson_id, school_id, coach_id } = data;
  22. if (status !== '4') return data;
  23. // 4 是下课,下了课,就给老师结钱
  24. // 目前按学生人数进行结款,限制的人数不一定是上课的学生人数,可能会临时加人
  25. const num = student.length;
  26. const total = num * money;
  27. // 添加明细,通过明细那边,将工资处理了,这边就不处理了.因为公开课那边也是一样这么做
  28. const obj = { lesson_id, type: '1', school_id, coach_id, money: total };
  29. await this.cibService.create(obj);
  30. return data;
  31. }
  32. }
  33. module.exports = LessonPrivateService;