Commit 6612f71d authored by liudong1993's avatar liudong1993

1

parent 6ba786d9
......@@ -418,11 +418,11 @@ namespace Edu.Module.Course
};
if (model.OrderType == OrderTypeEnum.CourseOrder)
{
FormatOrderCommissionByCourse(ref commissionModel, model.CourseId);
FormatOrderCommissionByCourse(ref commissionModel, model.CourseId, 0);
}
else if (model.OrderType == OrderTypeEnum.StudyabroadOrder)
{
FormatOrderCommissionByStudyabrad(ref commissionModel, model.SourceId);
FormatOrderCommissionByStudyabrad(ref commissionModel, model.SourceId, 0);
}
returnComissionRepository.Insert(commissionModel);
});
......@@ -574,12 +574,13 @@ namespace Edu.Module.Course
return list;
}
public void FormatOrderCommissionByCourse(ref RB_Order_ReturnComission_ViewModel m, int courseId)
public void FormatOrderCommissionByCourse(ref RB_Order_ReturnComission_ViewModel m, int courseId, decimal orderIncome)
{
var courseModel = courseRepository.GetEntity(courseId);
if (courseModel != null)
{
var sellPrice = courseModel.SellPrice * ((100 - (m.CommissionType == 1 ? courseModel.B2CRatio : courseModel.B2CReNewRatio)) / 100);
if (orderIncome > 0) { sellPrice = orderIncome; }
if ((int)m.OrderSourceType == 1)
{
if (courseModel.CommissionReType == 1)
......@@ -669,12 +670,13 @@ namespace Edu.Module.Course
/// </summary>
/// <param name="m"></param>
/// <param name="sourceId"></param>
public void FormatOrderCommissionByStudyabrad(ref RB_Order_ReturnComission_ViewModel m, int sourceId)
public void FormatOrderCommissionByStudyabrad(ref RB_Order_ReturnComission_ViewModel m, int sourceId, decimal orderIncome)
{
var courseModel = studyAbroadRepository.GetEntity(sourceId);
if (courseModel != null)
{
var sellPrice = courseModel.SellPrice * ((100 - (m.CommissionType == 1 ? courseModel.B2CRatio : courseModel.B2CReNewRatio)) / 100);
if (orderIncome > 0) { sellPrice = orderIncome; }
if ((int)m.OrderSourceType == 1)
{
if (courseModel.CommissionReType == 1)
......@@ -1157,7 +1159,7 @@ namespace Edu.Module.Course
#endregion
if (flag && demodel.GuestNum == 1 && (orderModel.PreferPrice != demodel.PreferPrice || orderModel.DiscountMoney != demodel.DiscountMoney)) {
if (demodel.PreferPrice - demodel.DiscountMoney <= orderModel.Income + orderModel.PlatformTax - orderModel.Refund && orderModel.Income >0) {
if (demodel.PreferPrice - demodel.DiscountMoney == orderModel.Income + orderModel.PlatformTax - orderModel.Refund && orderModel.Income >0) {
//帐平
int guestId = glist.FirstOrDefault().Id;
var studentMapping = student_OrderGuestRepository.GetList(new RB_Student_OrderGuest_ViewModel()
......@@ -1166,7 +1168,7 @@ namespace Edu.Module.Course
});
if (studentMapping.Any())
{
UpdateReturnMoneyStatus(studentMapping.First().Student_Id, demodel.OrderId);
UpdateReturnMoneyStatus(studentMapping.First().Student_Id, demodel.OrderId, demodel);
}
}
}
......@@ -1827,7 +1829,7 @@ namespace Edu.Module.Course
if (demodel.GuestNum == 1 && (orderModel.PreferPrice != demodel.PreferPrice || orderModel.DiscountMoney != demodel.DiscountMoney))
{
if (demodel.PreferPrice - demodel.DiscountMoney <= orderModel.Income + orderModel.PlatformTax - orderModel.Refund && orderModel.Income >0)
if (demodel.PreferPrice - demodel.DiscountMoney == orderModel.Income + orderModel.PlatformTax - orderModel.Refund && orderModel.Income >0)
{
//帐平
var glist = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel() { Group_Id = demodel.Group_Id, OrderId = demodel.OrderId, GuestState = GuestStateEnum.Normal });
......@@ -1838,7 +1840,7 @@ namespace Edu.Module.Course
});
if (studentMapping.Any())
{
UpdateReturnMoneyStatus(studentMapping.First().Student_Id, demodel.OrderId);
UpdateReturnMoneyStatus(studentMapping.First().Student_Id, demodel.OrderId, demodel);
}
}
}
......@@ -4055,14 +4057,14 @@ namespace Edu.Module.Course
}
}
//培训/留学订单 直接验证 订单的应收 大于等于实收
if (omodel.PreferPrice - omodel.DiscountMoney <= money && money >0) {
if (omodel.PreferPrice - omodel.DiscountMoney == money && money >0) {
var studentMapping = student_OrderGuestRepository.GetList(new RB_Student_OrderGuest_ViewModel()
{
GuestId = guestId
});
if (studentMapping.Any())
{
UpdateReturnMoneyStatus(studentMapping.First().Student_Id, gmodel.OrderId);
UpdateReturnMoneyStatus(studentMapping.First().Student_Id, gmodel.OrderId, omodel);
}
}
......@@ -4074,11 +4076,22 @@ namespace Edu.Module.Course
/// </summary>
/// <param name="stuId"></param>
/// <param name="orderId"></param>
private void UpdateReturnMoneyStatus(int stuId, int orderId)
private void UpdateReturnMoneyStatus(int stuId, int orderId, RB_Order omodel)
{
var model = returnComissionRepository.GetModelByOrderIdStuId(orderId, stuId);
if (model != null && model.Status == -1)
{
#region 再次核实 返佣金额
if (omodel.OrderType == OrderTypeEnum.CourseOrder)
{
FormatOrderCommissionByCourse(ref model, omodel.CourseId, omodel.PreferPrice - omodel.DiscountMoney);
}
else if (omodel.OrderType == OrderTypeEnum.StudyabroadOrder)
{
FormatOrderCommissionByStudyabrad(ref model, omodel.SourceId, omodel.PreferPrice - omodel.DiscountMoney);
}
#endregion
var userModel = userReturnComissionRepository.GetModelBySourceId((int)model.OrderSourceType, model.OrderSourceId, model.CommissionType);
if (userModel != null)
{
......@@ -4128,7 +4141,11 @@ namespace Edu.Module.Course
}
Dictionary<string, object> keyValues = new Dictionary<string, object>()
{
{ nameof(RB_Order_ReturnComission.Status),0}
{ nameof(RB_Order_ReturnComission.Status),0},
{ nameof(RB_Order_ReturnComission_ViewModel.CommissionMoeny), model.CommissionMoeny},
{ nameof(RB_Order_ReturnComission_ViewModel.CommissionReType), model.CommissionReType},
{ nameof(RB_Order_ReturnComission_ViewModel.CommissionReValue), model.CommissionReValue},
{ nameof(RB_Order_ReturnComission_ViewModel.Remark), model.Remark}
};
List<WhereHelper> wheres = new List<WhereHelper>()
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment