Commit dfcca271 authored by liudong1993's avatar liudong1993

1

parent a36ffcac
...@@ -159,6 +159,10 @@ namespace Mall.Module.Product ...@@ -159,6 +159,10 @@ namespace Mall.Module.Product
/// 粉象返佣 /// 粉象返佣
/// </summary> /// </summary>
private readonly RB_Distributor_FXGradeRepository distributor_FXGradeRepository = new RB_Distributor_FXGradeRepository(); private readonly RB_Distributor_FXGradeRepository distributor_FXGradeRepository = new RB_Distributor_FXGradeRepository();
/// <summary>
/// 粉象VIP返佣比例
/// </summary>
private readonly RB_Distributor_FXCommissionRepository distributor_FXCommissionRepository = new RB_Distributor_FXCommissionRepository();
private RB_FreeShippingRepository freeShippingRepository = new RB_FreeShippingRepository(); private RB_FreeShippingRepository freeShippingRepository = new RB_FreeShippingRepository();
...@@ -1340,60 +1344,70 @@ namespace Mall.Module.Product ...@@ -1340,60 +1344,70 @@ namespace Mall.Module.Product
var disModel = distributor_InfoRepository.GetList(new RB_Distributor_Info_Extend() { TenantId = TenantId, MallBaseId = MallBaseId, UserId = UserId, AuditStatus = Common.Enum.User.DistributorAuditStatusEnum.Audited }).FirstOrDefault(); var disModel = distributor_InfoRepository.GetList(new RB_Distributor_Info_Extend() { TenantId = TenantId, MallBaseId = MallBaseId, UserId = UserId, AuditStatus = Common.Enum.User.DistributorAuditStatusEnum.Audited }).FirstOrDefault();
if (disModel != null) if (disModel != null)
{ {
if ((BasicsModel?.IsEnableFXGrade ?? 2) == 1 && (model.PresentFXGrade ?? 0) == 0) if ((BasicsModel?.IsEnableFXGrade ?? 2) == 1)
{ {
var FXList = distributor_FXGradeRepository.GetList(new RB_Distributor_FXGrade_Extend() { TenantId = TenantId, MallBaseId = MallBaseId }); if ((model.PresentFXGrade ?? 0) == 0)
if (FXList.Any() && FXList.Where(x => x.IsGuest == 1).Any())
{ {
var FXModel = FXList.Where(x => x.Id == disModel.FXGradeId).FirstOrDefault(); var FXList = distributor_FXGradeRepository.GetList(new RB_Distributor_FXGrade_Extend() { TenantId = TenantId, MallBaseId = MallBaseId });
var PModel = FXList.Where(x => x.IsGuest == 1).FirstOrDefault(); if (FXList.Any() && FXList.Where(x => x.IsGuest == 1).Any())
if (FXModel != null && PModel != null)
{ {
decimal CRate = 0; var FXModel = FXList.Where(x => x.Id == disModel.FXGradeId).FirstOrDefault();
if (FXModel.Id == PModel.Id) var PModel = FXList.Where(x => x.IsGuest == 1).FirstOrDefault();
{ if (FXModel != null && PModel != null)
CRate = FXModel.SiblingRatio ?? 0;
}
else
{ {
CRate = (FXModel.CommissionRatio ?? 0) - (PModel.CommissionRatio ?? 0); decimal CRate = 0;
} if (FXModel.Id == PModel.Id)
{
CRate = FXModel.SiblingRatio ?? 0;
}
else
{
CRate = (FXModel.CommissionRatio ?? 0) - (PModel.CommissionRatio ?? 0);
}
if (model.IsCustomSpecification == 1) if (model.IsCustomSpecification == 1)
{
var dcModel = model.SpecificationPriceList.OrderByDescending(x => x.Commission).FirstOrDefault();
if (dcModel.Commission > 0)
{ {
if (FXModel.DecimalType == 1) var dcModel = model.SpecificationPriceList.OrderByDescending(x => x.Commission).FirstOrDefault();
{ if (dcModel.Commission > 0)
model.MaxShare = Math.Ceiling(dcModel.Commission * CRate / 100);
MyBuyCommission = Math.Ceiling(dcModel.Commission * (FXModel.CommissionRatio ?? 0) / 100);
}
else
{ {
model.MaxShare = Math.Ceiling(dcModel.Commission * CRate) / 100; if (FXModel.DecimalType == 1)
MyBuyCommission = Math.Ceiling(dcModel.Commission * (FXModel.CommissionRatio ?? 0)) / 100; {
model.MaxShare = Math.Ceiling(dcModel.Commission * CRate / 100);
MyBuyCommission = Math.Ceiling(dcModel.Commission * (FXModel.CommissionRatio ?? 0) / 100);
}
else
{
model.MaxShare = Math.Ceiling(dcModel.Commission * CRate) / 100;
MyBuyCommission = Math.Ceiling(dcModel.Commission * (FXModel.CommissionRatio ?? 0)) / 100;
}
} }
} }
} else
else
{
if (model.Commission > 0)
{ {
if (FXModel.DecimalType == 1) if (model.Commission > 0)
{ {
model.MaxShare = Math.Ceiling(model.Commission * CRate / 100); if (FXModel.DecimalType == 1)
MyBuyCommission = Math.Ceiling(model.Commission * (FXModel.CommissionRatio ?? 0) / 100); {
} model.MaxShare = Math.Ceiling(model.Commission * CRate / 100);
else MyBuyCommission = Math.Ceiling(model.Commission * (FXModel.CommissionRatio ?? 0) / 100);
{ }
model.MaxShare = Math.Ceiling(model.Commission * CRate) / 100; else
MyBuyCommission = Math.Ceiling(model.Commission * (FXModel.CommissionRatio ?? 0)) / 100; {
model.MaxShare = Math.Ceiling(model.Commission * CRate) / 100;
MyBuyCommission = Math.Ceiling(model.Commission * (FXModel.CommissionRatio ?? 0)) / 100;
}
} }
} }
} }
} }
} }
else {
//是否展示分享vip佣金
var fxcommissionList = distributor_FXCommissionRepository.GetFXCommissionList(new RB_Distributor_FXCommission_Extend() { TenantId = TenantId, MallBaseId = MallBaseId, FXGradeId = disModel.FXGradeId ?? 0 });
if (fxcommissionList.Any()) {
model.MaxShare = fxcommissionList.Max(x => x.CommissionPrice ?? 0);
}
}
} }
else else
{ {
......
...@@ -1782,7 +1782,7 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -1782,7 +1782,7 @@ namespace Mall.WebApi.Controllers.MallBase
return ApiResult.ParamIsNull("请传递订单明细id"); return ApiResult.ParamIsNull("请传递订单明细id");
} }
bool flag = orderModule.SetRecommendOrdersCommission(OrderDetailId, Commission, req.TenantId, req.MallBaseId); bool flag = orderModule.SetRecommendOrdersCommission(OrderDetailId, Commission, req.TenantId, req.MallBaseId, req.EmpId);
if (flag) if (flag)
{ {
return ApiResult.Success(); return ApiResult.Success();
......
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