lrf 2 年之前
父节点
当前提交
a091922abc
共有 1 个文件被更改,包括 30 次插入23 次删除
  1. 30 23
      app/service/business/lessonStudent.js

+ 30 - 23
app/service/business/lessonStudent.js

@@ -108,10 +108,18 @@ class LessonStudentService extends CrudService {
       const payOrder = await payOrderModel.findById(data.pay_id);
       // 再生成账单记录
       const obj = _.pick(payOrder, [ 'school_id', 'payer_role', 'payer_id', 'pay_for', 'from_id', 'money' ]);
-      obj.pay_id = data.pay_id;
       obj.type = '2';
       obj.is_pay = '1';
       obj.time = moment().format('YYYY-MM-DD HH:mm:ss');
+      // 检查是否有从余额扣款部分
+      if (_.get(payOrder, 'config,useSurplus')) {
+        // 有余额扣款部分,查账单把钱加上
+        const billId = _.get(payOrder, 'config,bill');
+        const bill = await this.billModel.findById(billId);
+        obj.money = _.get(obj, 'money', 0) + _.get(bill, 'money', 0);
+        bill.is_pay = '-3';
+        await bill.save();
+      }
       await billModel.create(obj);
       // 再将钱返回给余额
       let relation;
@@ -120,29 +128,28 @@ class LessonStudentService extends CrudService {
       else if (payer_role === 'Coach') relation = await this.rcsModel.findOne({ coach_id: payer_id, school_id });
       relation.money = _.get(relation, 'money', 0) + _.get(obj, 'money', 0);
       await relation.save();
-    } else {
-      // 从余额付款,退回余额
-      const obj = {
-        school_id: data.school_id,
-        payer_id: student_id,
-        payer_role: 'Student',
-        pay_for: 'lessonStudent',
-        from_id: data._id,
-        type: '2',
-        is_pay: '1',
-        time: moment().format('YYYY-MM-DD HH:mm:ss'),
-        money: data.money,
-      };
-      // 创建退回余额的账单
-      await billModel.create(obj);
-      const relation = await this.rssModel.findOne({ student_id, school_id: data.school_id });
-      relation.money = _.get(relation, 'money', 0) + _.get(obj, 'money', 0);
-      // 退回至账户
-      await relation.save();
-      data.is_pay = '-3';
-      // 学员退课
-      await data.save();
     }
+    // 从余额付款,退回余额
+    const obj = {
+      school_id: data.school_id,
+      payer_id: student_id,
+      payer_role: 'Student',
+      pay_for: 'lessonStudent',
+      from_id: data._id,
+      type: '2',
+      is_pay: '1',
+      time: moment().format('YYYY-MM-DD HH:mm:ss'),
+      money: data.money,
+    };
+      // 创建退回余额的账单
+    await billModel.create(obj);
+    const relation = await this.rssModel.findOne({ student_id, school_id: data.school_id });
+    relation.money = _.get(relation, 'money', 0) + _.get(obj, 'money', 0);
+    // 退回至账户
+    await relation.save();
+    data.is_pay = '-3';
+    // 学员退课
+    await data.save();
 
 
   }