Commit f21f032c authored by liudong1993's avatar liudong1993

商品详情等级变更调整

parent 1d1fd42c
...@@ -2929,7 +2929,19 @@ namespace Mall.Module.Product ...@@ -2929,7 +2929,19 @@ 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();
if (zdgradeStr == ndgradeStr)
{
foreach (var qitem in KeyList) foreach (var qitem in KeyList)
{ {
var treemodel = model.DistributionCommissionList.Where(x => (x.SpecificationSort ?? "") == qitem).FirstOrDefault(); var treemodel = model.DistributionCommissionList.Where(x => (x.SpecificationSort ?? "") == qitem).FirstOrDefault();
...@@ -2960,6 +2972,58 @@ namespace Mall.Module.Product ...@@ -2960,6 +2972,58 @@ namespace Mall.Module.Product
model.DistributionCommissionTreeList.Add(treemodel); 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.MemberPriceList = new List<RB_Goods_MemberPrice_Extend>();
model.MemberPriceTreeList = new List<RB_Goods_MemberPrice_Extend>(); model.MemberPriceTreeList = new List<RB_Goods_MemberPrice_Extend>();
...@@ -2968,11 +3032,65 @@ namespace Mall.Module.Product ...@@ -2968,11 +3032,65 @@ namespace Mall.Module.Product
model.MemberPriceList = goods_MemberPriceRepository.GetList(new RB_Goods_MemberPrice_Extend() { GoodsId = goodsId, TenantId = TenantId, MallBaseId = MallBaseId }); model.MemberPriceList = goods_MemberPriceRepository.GetList(new RB_Goods_MemberPrice_Extend() { GoodsId = goodsId, TenantId = TenantId, MallBaseId = MallBaseId });
if (model.MemberPriceList.Any()) 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 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(':');
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.MemberPriceTreeList.Add(treemodel);
}
}
else {//会员等级有变更
var KeyList = model.MemberPriceList.Select(x => x.SpecificationSort ?? "").Distinct().ToList(); var KeyList = model.MemberPriceList.Select(x => x.SpecificationSort ?? "").Distinct().ToList();
foreach (var qitem in KeyList) foreach (var qitem in KeyList)
{ {
var treemodel = model.MemberPriceList.Where(x => (x.SpecificationSort ?? "") == qitem).FirstOrDefault(); var treemodel = model.MemberPriceList.Where(x => (x.SpecificationSort ?? "") == qitem).FirstOrDefault();
treemodel.GradePriceList = model.MemberPriceList.Where(x => (x.SpecificationSort ?? "") == qitem).ToList(); treemodel.GradePriceList = model.MemberPriceList.Where(x => (x.SpecificationSort ?? "") == qitem).ToList();
var gradePrice = model.MemberPriceList.Where(x => (x.SpecificationSort ?? "") == qitem).ToList();
mgradeList = mgradeList.OrderBy(x => x.Grade).ToList();
foreach (var grade in mgradeList)
{
var gradeMList = gradePrice.Where(x => x.MemberGrade == grade.Id && x.SpecificationSort == qitem);
if (gradeMList.Any())
{
treemodel.GradePriceList.AddRange(gradeMList);
}
else
{
//表示新的
treemodel.GradePriceList.Add(new RB_Goods_MemberPrice_Extend()
{
MemberGrade = grade.Id,
MemberPrice = 0,
});
}
}
if (!string.IsNullOrEmpty(qitem)) if (!string.IsNullOrEmpty(qitem))
{ {
var ssarr = qitem.Split(':'); var ssarr = qitem.Split(':');
...@@ -2997,6 +3115,7 @@ namespace Mall.Module.Product ...@@ -2997,6 +3115,7 @@ namespace Mall.Module.Product
} }
} }
} }
}
model.CarouselImageList = new List<RB_ImageCommonModel>(); model.CarouselImageList = new List<RB_ImageCommonModel>();
if (!string.IsNullOrEmpty(model.CarouselImage) && model.CarouselImage != "[]") if (!string.IsNullOrEmpty(model.CarouselImage) && model.CarouselImage != "[]")
{ {
......
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