Commit f21f032c authored by liudong1993's avatar liudong1993

商品详情等级变更调整

parent 1d1fd42c
...@@ -2929,13 +2929,120 @@ namespace Mall.Module.Product ...@@ -2929,13 +2929,120 @@ namespace Mall.Module.Product
if (model.DistributionCommissionList.Any()) if (model.DistributionCommissionList.Any())
{ {
//获取分销商启用等级
var dgradeList = distributor_GradeRepository.GetList(new RB_Distributor_Grade_Extend() { Enabled = 1, TenantId = TenantId, MallBaseId = MallBaseId });
dgradeList.Add(new RB_Distributor_Grade_Extend()
{
Grade = 0,
Name = "默认等级",
Id = 0
});
string zdgradeStr = string.Join(",", dgradeList.Select(x => x.Id).OrderBy(x => x));
string ndgradeStr = string.Join(",", model.DistributionCommissionList.Select(x => x.DistributorGrade).OrderBy(x => x));
var KeyList = model.DistributionCommissionList.Select(x => x.SpecificationSort ?? "").Distinct().ToList(); var KeyList = model.DistributionCommissionList.Select(x => x.SpecificationSort ?? "").Distinct().ToList();
foreach (var qitem in KeyList) if (zdgradeStr == ndgradeStr)
{
foreach (var qitem in KeyList)
{
var treemodel = model.DistributionCommissionList.Where(x => (x.SpecificationSort ?? "") == qitem).FirstOrDefault();
treemodel.GradeCommissionList = model.DistributionCommissionList.Where(x => (x.SpecificationSort ?? "") == qitem).ToList();
if (model.SeparateDistributionType == 2)
{
if (!string.IsNullOrEmpty(qitem))
{
var ssarr = qitem.Split(':');
int Sort = Convert.ToInt32(ssarr[0]);
string pic_url = model.SpecificationList[0].SpecificationValueList.Where(x => x.Sort == Sort).FirstOrDefault()?.ImagePath;
List<object> AttrList = new List<object>();
for (int i = 0; i < ssarr.Length; i++)
{
var smodel = model.SpecificationList[i];
var svmodel = smodel.SpecificationValueList.Where(x => x.Sort == Convert.ToInt32(ssarr[i])).FirstOrDefault();
AttrList.Add(new
{
SName = smodel.Name,
SId = smodel.Id,
SVId = svmodel.Sort,
SVName = svmodel.Name
});
}
treemodel.AttrList = AttrList;
}
}
model.DistributionCommissionTreeList.Add(treemodel);
}
}
else {//分销商等级有变更
foreach (var qitem in KeyList)
{
var treemodel = model.DistributionCommissionList.Where(x => (x.SpecificationSort ?? "") == qitem).FirstOrDefault();
treemodel.GradeCommissionList = new List<RB_Goods_DistributionCommission_Extend>();
var gradeCommList = model.DistributionCommissionList.Where(x => (x.SpecificationSort ?? "") == qitem).ToList();
dgradeList = dgradeList.OrderBy(x => x.Grade).ToList();
foreach (var grade in dgradeList)
{
var gradeMList = gradeCommList.Where(x => x.DistributorGrade == grade.Id && x.SpecificationSort == qitem);
if (gradeMList.Any())
{
treemodel.GradeCommissionList.AddRange(gradeMList);
}
else {
//表示新的
treemodel.GradeCommissionList.Add(new RB_Goods_DistributionCommission_Extend()
{
DistributorGrade = grade.Id,
OneCommission = 0,
TwoCommission = 0,
ThreeCommission = 0
});
}
}
if (model.SeparateDistributionType == 2)
{
if (!string.IsNullOrEmpty(qitem))
{
var ssarr = qitem.Split(':');
int Sort = Convert.ToInt32(ssarr[0]);
string pic_url = model.SpecificationList[0].SpecificationValueList.Where(x => x.Sort == Sort).FirstOrDefault()?.ImagePath;
List<object> AttrList = new List<object>();
for (int i = 0; i < ssarr.Length; i++)
{
var smodel = model.SpecificationList[i];
var svmodel = smodel.SpecificationValueList.Where(x => x.Sort == Convert.ToInt32(ssarr[i])).FirstOrDefault();
AttrList.Add(new
{
SName = smodel.Name,
SId = smodel.Id,
SVId = svmodel.Sort,
SVName = svmodel.Name
});
}
treemodel.AttrList = AttrList;
}
}
model.DistributionCommissionTreeList.Add(treemodel);
}
}
}
}
model.MemberPriceList = new List<RB_Goods_MemberPrice_Extend>();
model.MemberPriceTreeList = new List<RB_Goods_MemberPrice_Extend>();
if (model.EnjoyMember == 1 && model.SeparateSetMember == 1)
{
model.MemberPriceList = goods_MemberPriceRepository.GetList(new RB_Goods_MemberPrice_Extend() { GoodsId = goodsId, TenantId = TenantId, MallBaseId = MallBaseId });
if (model.MemberPriceList.Any())
{
var mgradeList = member_GradeRepository.GetList(new RB_Member_Grade_Extend() { Enabled = 1, TenantId = 1, MallBaseId = 1 });
string zdgradeStr = string.Join(",", mgradeList.Select(x => x.Id).OrderBy(x => x));
string ndgradeStr = string.Join(",", model.MemberPriceList.Select(x => x.MemberGrade).OrderBy(x => x));
if (zdgradeStr == ndgradeStr)
{ {
var treemodel = model.DistributionCommissionList.Where(x => (x.SpecificationSort ?? "") == qitem).FirstOrDefault(); var KeyList = model.MemberPriceList.Select(x => x.SpecificationSort ?? "").Distinct().ToList();
treemodel.GradeCommissionList = model.DistributionCommissionList.Where(x => (x.SpecificationSort ?? "") == qitem).ToList(); foreach (var qitem in KeyList)
if (model.SeparateDistributionType == 2)
{ {
var treemodel = model.MemberPriceList.Where(x => (x.SpecificationSort ?? "") == qitem).FirstOrDefault();
treemodel.GradePriceList = model.MemberPriceList.Where(x => (x.SpecificationSort ?? "") == qitem).ToList();
if (!string.IsNullOrEmpty(qitem)) if (!string.IsNullOrEmpty(qitem))
{ {
var ssarr = qitem.Split(':'); var ssarr = qitem.Split(':');
...@@ -2956,44 +3063,56 @@ namespace Mall.Module.Product ...@@ -2956,44 +3063,56 @@ namespace Mall.Module.Product
} }
treemodel.AttrList = AttrList; treemodel.AttrList = AttrList;
} }
model.MemberPriceTreeList.Add(treemodel);
} }
model.DistributionCommissionTreeList.Add(treemodel);
} }
} else {//会员等级有变更
} var KeyList = model.MemberPriceList.Select(x => x.SpecificationSort ?? "").Distinct().ToList();
model.MemberPriceList = new List<RB_Goods_MemberPrice_Extend>(); foreach (var qitem in KeyList)
model.MemberPriceTreeList = new List<RB_Goods_MemberPrice_Extend>();
if (model.EnjoyMember == 1 && model.SeparateSetMember == 1)
{
model.MemberPriceList = goods_MemberPriceRepository.GetList(new RB_Goods_MemberPrice_Extend() { GoodsId = goodsId, TenantId = TenantId, MallBaseId = MallBaseId });
if (model.MemberPriceList.Any())
{
var KeyList = model.MemberPriceList.Select(x => x.SpecificationSort ?? "").Distinct().ToList();
foreach (var qitem in KeyList)
{
var treemodel = model.MemberPriceList.Where(x => (x.SpecificationSort ?? "") == qitem).FirstOrDefault();
treemodel.GradePriceList = model.MemberPriceList.Where(x => (x.SpecificationSort ?? "") == qitem).ToList();
if (!string.IsNullOrEmpty(qitem))
{ {
var ssarr = qitem.Split(':'); var treemodel = model.MemberPriceList.Where(x => (x.SpecificationSort ?? "") == qitem).FirstOrDefault();
int Sort = Convert.ToInt32(ssarr[0]); treemodel.GradePriceList = model.MemberPriceList.Where(x => (x.SpecificationSort ?? "") == qitem).ToList();
string pic_url = model.SpecificationList[0].SpecificationValueList.Where(x => x.Sort == Sort).FirstOrDefault()?.ImagePath; var gradePrice = model.MemberPriceList.Where(x => (x.SpecificationSort ?? "") == qitem).ToList();
List<object> AttrList = new List<object>(); mgradeList = mgradeList.OrderBy(x => x.Grade).ToList();
for (int i = 0; i < ssarr.Length; i++) foreach (var grade in mgradeList)
{ {
var smodel = model.SpecificationList[i]; var gradeMList = gradePrice.Where(x => x.MemberGrade == grade.Id && x.SpecificationSort == qitem);
var svmodel = smodel.SpecificationValueList.Where(x => x.Sort == Convert.ToInt32(ssarr[i])).FirstOrDefault(); if (gradeMList.Any())
AttrList.Add(new {
treemodel.GradePriceList.AddRange(gradeMList);
}
else
{ {
SName = smodel.Name, //表示新的
SId = smodel.Id, treemodel.GradePriceList.Add(new RB_Goods_MemberPrice_Extend()
SVId = svmodel.Sort, {
SVName = svmodel.Name MemberGrade = grade.Id,
}); MemberPrice = 0,
});
}
}
if (!string.IsNullOrEmpty(qitem))
{
var ssarr = qitem.Split(':');
int Sort = Convert.ToInt32(ssarr[0]);
string pic_url = model.SpecificationList[0].SpecificationValueList.Where(x => x.Sort == Sort).FirstOrDefault()?.ImagePath;
List<object> AttrList = new List<object>();
for (int i = 0; i < ssarr.Length; i++)
{
var smodel = model.SpecificationList[i];
var svmodel = smodel.SpecificationValueList.Where(x => x.Sort == Convert.ToInt32(ssarr[i])).FirstOrDefault();
AttrList.Add(new
{
SName = smodel.Name,
SId = smodel.Id,
SVId = svmodel.Sort,
SVName = svmodel.Name
});
}
treemodel.AttrList = AttrList;
} }
treemodel.AttrList = AttrList; model.MemberPriceTreeList.Add(treemodel);
} }
model.MemberPriceTreeList.Add(treemodel);
} }
} }
} }
......
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