Commit 48ab28ce authored by liudong1993's avatar liudong1993

粉象返佣

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