|
@@ -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();
|
|
|
|
|
|
|
|
|
}
|