|
@@ -101,23 +101,44 @@ class LessonStudentService extends CrudService {
|
|
await data.save();
|
|
await data.save();
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- // 正常交钱的课,将 pay_id 的status 修改为 -3, 同时触发修改这条数据,但是没有退款;
|
|
|
|
- await payOrderService.update({ _id: data.pay_id }, { status: '-3' });
|
|
|
|
- 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');
|
|
|
|
- await billModel.create(obj);
|
|
|
|
- // 再将钱返回给余额
|
|
|
|
- let relation;
|
|
|
|
- const { payer_role, payer_id, school_id } = payOrder;
|
|
|
|
- if (payer_role === 'Student') relation = await this.rssModel.findOne({ student_id: payer_id, school_id });
|
|
|
|
- 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();
|
|
|
|
|
|
+ // 交钱退课的
|
|
|
|
+ if (data.pay_id) {
|
|
|
|
+ // 正常交钱的课,将 pay_id 的status 修改为 -3, 同时触发修改这条数据,但是没有退款;
|
|
|
|
+ await payOrderService.update({ _id: data.pay_id }, { status: '-3' });
|
|
|
|
+ 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');
|
|
|
|
+ await billModel.create(obj);
|
|
|
|
+ // 再将钱返回给余额
|
|
|
|
+ let relation;
|
|
|
|
+ const { payer_role, payer_id, school_id } = payOrder;
|
|
|
|
+ if (payer_role === 'Student') relation = await this.rssModel.findOne({ student_id: payer_id, school_id });
|
|
|
|
+ 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();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|