Commit 48ab28ce authored by liudong1993's avatar liudong1993

粉象返佣

parent b14bd414
...@@ -150,5 +150,9 @@ namespace Mall.Model.Entity.User ...@@ -150,5 +150,9 @@ namespace Mall.Model.Entity.User
get; get;
set; set;
} }
/// <summary>
/// 小数类型 1取整(向上进一) 2保留两位小数
/// </summary>
public int? DecimalType { get; set; }
} }
} }
...@@ -71,6 +71,10 @@ namespace Mall.Model.Entity.User ...@@ -71,6 +71,10 @@ namespace Mall.Model.Entity.User
/// </summary> /// </summary>
public int? HPGradeId { get; set; } public int? HPGradeId { get; set; }
/// <summary> /// <summary>
/// 粉象返佣等级
/// </summary>
public int? FXGradeId { get; set; }
/// <summary>
/// 审核状态 1审核中 2通过 3拒绝 /// 审核状态 1审核中 2通过 3拒绝
/// </summary> /// </summary>
public DistributorAuditStatusEnum? AuditStatus public DistributorAuditStatusEnum? AuditStatus
......
This diff is collapsed.
...@@ -152,6 +152,11 @@ namespace Mall.Module.Product ...@@ -152,6 +152,11 @@ namespace Mall.Module.Product
/// 商品代理 /// 商品代理
/// </summary> /// </summary>
private readonly RB_Goods_ProxyRepository goods_ProxyRepository = new RB_Goods_ProxyRepository(); private readonly RB_Goods_ProxyRepository goods_ProxyRepository = new RB_Goods_ProxyRepository();
/// <summary>
/// 粉象返佣
/// </summary>
private readonly RB_Distributor_FXGradeRepository distributor_FXGradeRepository = new RB_Distributor_FXGradeRepository();
...@@ -1264,52 +1269,50 @@ namespace Mall.Module.Product ...@@ -1264,52 +1269,50 @@ namespace Mall.Module.Product
var BasicsModel = distributor_BasicsRepository.GetList(new RB_Distributor_Basics_Extend() { TenantId = TenantId, MallBaseId = MallBaseId }).FirstOrDefault(); var BasicsModel = distributor_BasicsRepository.GetList(new RB_Distributor_Basics_Extend() { TenantId = TenantId, MallBaseId = MallBaseId }).FirstOrDefault();
if ((BasicsModel?.IsEnableFXGrade??2) == 1) if ((BasicsModel?.IsEnableFXGrade??2) == 1)
{ {
if (model.IsCustomSpecification == 1) var FXList = distributor_FXGradeRepository.GetList(new RB_Distributor_FXGrade_Extend() { TenantId = TenantId, MallBaseId = MallBaseId });
{ if (FXList.Any() && FXList.Where(x => x.IsGuest == 1).Any())
var dcList = model.SpecificationPriceList.Where(x => x.DistributorGrade == disModel.GradeId).ToList();
model.MaxShare = dcList.Max(x => x.OneCommission ?? 0);
if (model.SeparateDistributionMoneyType == 1)
{
model.MaxShare = Math.Round(model.MaxShare * MaxSellMoney / 100, 2, MidpointRounding.AwayFromZero);
}
}
else
{ {
if (disModel.GradeId == 0) var FXModel = FXList.Where(x => x.Id == disModel.FXGradeId).FirstOrDefault();
var PModel = FXList.Where(x => x.IsGuest == 1).FirstOrDefault();
if (FXModel != null && PModel != null)
{ {
//拿分销基础配置 decimal CRate = 0;
//if ((BasicsModel?.IsCommissionResidue ?? 2) == 1) if (FXModel.Id == PModel.Id)
//{
// model.MaxShare = (BasicsModel?.OneCommission ?? 0) + (BasicsModel?.TwoCommission ?? 0) + (BasicsModel?.ThreeCommission ?? 0);
//}
//else
//{
model.MaxShare = BasicsModel?.OneCommission ?? 0;
//}
if ((BasicsModel?.DistributorCommissionType ?? 2) == 1)
{ {
model.MaxShare = Math.Round(model.MaxShare * MaxSellMoney / 100, 2, MidpointRounding.AwayFromZero); CRate = FXModel.SiblingRatio ?? 0;
} }
} else
else if (disModel.GradeId > 0)
{
//获取分销商等级
var disgradeModel = distributor_GradeRepository.GetEntity(disModel.GradeId);
if (disgradeModel != null)
{ {
//if ((BasicsModel?.IsCommissionResidue ?? 2) == 1) CRate = (FXModel.CommissionRatio ?? 0) - (PModel.CommissionRatio ?? 0);
//{ }
// model.MaxShare = (disgradeModel?.OneCommission ?? 0) + (disgradeModel?.TwoCommission ?? 0) + (disgradeModel?.ThreeCommission ?? 0);
//} if (model.IsCustomSpecification == 1)
//else {
//{ var dcModel = model.SpecificationPriceList.OrderByDescending(x => x.Commission).FirstOrDefault();
model.MaxShare = disgradeModel?.OneCommission ?? 0; if (dcModel.Commission > 0)
//}
if ((disgradeModel?.DistributionCommissionType ?? 2) == 1)
{ {
model.MaxShare = Math.Round(model.MaxShare * MaxSellMoney / 100, 2, MidpointRounding.AwayFromZero); if (FXModel.DecimalType == 1)
{
model.MaxShare = Math.Ceiling(dcModel.Commission * CRate / 100);
}
else
{
model.MaxShare = Math.Ceiling(dcModel.Commission * CRate) / 100;
}
}
}
else
{
if (model.Commission > 0)
{
if (FXModel.DecimalType == 1)
{
model.MaxShare = Math.Ceiling(model.Commission * CRate / 100);
}
else
{
model.MaxShare = Math.Ceiling(model.Commission * CRate) / 100;
}
} }
} }
} }
......
...@@ -4426,6 +4426,7 @@ namespace Mall.Module.User ...@@ -4426,6 +4426,7 @@ namespace Mall.Module.User
{ nameof(RB_Distributor_FXGrade.UpgradeNum),demodel.UpgradeNum}, { nameof(RB_Distributor_FXGrade.UpgradeNum),demodel.UpgradeNum},
{ nameof(RB_Distributor_FXGrade.UpgradeId),demodel.UpgradeId}, { nameof(RB_Distributor_FXGrade.UpgradeId),demodel.UpgradeId},
{ nameof(RB_Distributor_FXGrade.UpdateDate),demodel.UpdateDate}, { nameof(RB_Distributor_FXGrade.UpdateDate),demodel.UpdateDate},
{ nameof(RB_Distributor_FXGrade.DecimalType),demodel.DecimalType},
}; };
List<WhereHelper> wheres = new List<WhereHelper>() { List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){ new WhereHelper(){
......
...@@ -2658,6 +2658,7 @@ namespace Mall.WebApi.Controllers.User ...@@ -2658,6 +2658,7 @@ namespace Mall.WebApi.Controllers.User
x.BuyMoney, x.BuyMoney,
x.IsUpgrade, x.IsUpgrade,
x.UpgradeNum, x.UpgradeNum,
x.DecimalType,
x.UpgradeId, x.UpgradeId,
UpdateDate = x.UpdateDate.HasValue ? x.UpdateDate.Value.ToString("yyyy-MM-dd") : "" UpdateDate = x.UpdateDate.HasValue ? x.UpdateDate.Value.ToString("yyyy-MM-dd") : ""
}); });
...@@ -2720,6 +2721,7 @@ namespace Mall.WebApi.Controllers.User ...@@ -2720,6 +2721,7 @@ namespace Mall.WebApi.Controllers.User
demodel.IsUpgrade ??= 0; demodel.IsUpgrade ??= 0;
demodel.UpgradeNum ??= 0; demodel.UpgradeNum ??= 0;
demodel.UpgradeId ??= 0; demodel.UpgradeId ??= 0;
demodel.DecimalType ??= 1;
demodel.CreateDate = DateTime.Now; demodel.CreateDate = DateTime.Now;
demodel.UpdateDate = DateTime.Now; demodel.UpdateDate = DateTime.Now;
bool flag = userModule.SetFXDistributorGradeInfo(demodel); bool flag = userModule.SetFXDistributorGradeInfo(demodel);
...@@ -2747,6 +2749,7 @@ namespace Mall.WebApi.Controllers.User ...@@ -2747,6 +2749,7 @@ namespace Mall.WebApi.Controllers.User
{ {
return ApiResult.ParamIsNull(); return ApiResult.ParamIsNull();
} }
//验证 有用户在使用该等级 不能删除
bool flag = userModule.DelFXDistributorGradeInfo(GradeId, req.TenantId, req.MallBaseId); bool flag = userModule.DelFXDistributorGradeInfo(GradeId, req.TenantId, req.MallBaseId);
if (flag) if (flag)
......
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