Commit 7eea27bb authored by liudong1993's avatar liudong1993

初始化 商品规格成本

parent e3a13482
...@@ -2297,7 +2297,7 @@ namespace Mall.Module.Product ...@@ -2297,7 +2297,7 @@ namespace Mall.Module.Product
item.InventoryNum = gmodel.InventoryNum ?? 0; item.InventoryNum = gmodel.InventoryNum ?? 0;
item.CommissionPrice = gmodel.Commission;// 粉象 返佣金额 item.CommissionPrice = gmodel.Commission;// 粉象 返佣金额
item.CostMoney = (gmodel.IsCustomSpecification==2)?(gmodel.CostPrice ?? 0):(speciPList.Where(x => x.GoodsId == item.GoodsId && x.SpecificationSort == item.SpecificationSort).FirstOrDefault().CostMoney);//gmodel.CostPrice ?? 0; item.CostMoney = (gmodel.IsCustomSpecification == 2) ? (gmodel.CostPrice ?? 0) : (speciPList.Where(x => x.GoodsId == item.GoodsId && x.SpecificationSort == item.SpecificationSort).FirstOrDefault()?.CostMoney ?? 0);//gmodel.CostPrice ?? 0;
item.PresentFXGrade = gmodel.PresentFXGrade ?? 0;//赠送粉象分销等级 item.PresentFXGrade = gmodel.PresentFXGrade ?? 0;//赠送粉象分销等级
item.PresentFXMonth = gmodel.PresentFXMonth ?? 0; item.PresentFXMonth = gmodel.PresentFXMonth ?? 0;
...@@ -7092,7 +7092,7 @@ namespace Mall.Module.Product ...@@ -7092,7 +7092,7 @@ namespace Mall.Module.Product
} }
#region 粉象等级赠送 2020-07-21 #region 粉象等级赠送 2020-07-21
if (dlist.Any()) if (dlist.Where(x => x.PresentFXGrade > 0).Any())
{ {
var demodel = new RB_Goods_Order_Extend var demodel = new RB_Goods_Order_Extend
{ {
......
...@@ -5763,6 +5763,10 @@ namespace Mall.Module.Product ...@@ -5763,6 +5763,10 @@ namespace Mall.Module.Product
Dictionary<string, object> keyValues = new Dictionary<string, object>() { Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Goods_SpecificationPrice.Commission),TotalMoney} { nameof(RB_Goods_SpecificationPrice.Commission),TotalMoney}
}; };
if (qitem.CostMoney <= 0)
{
keyValues.Add(nameof(RB_Goods_SpecificationPrice.CostMoney), item.CostPrice ?? 0);
}
List<WhereHelper> wheres = new List<WhereHelper>() { List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){ new WhereHelper(){
FiledName=nameof(RB_Goods_SpecificationPrice.Id), FiledName=nameof(RB_Goods_SpecificationPrice.Id),
...@@ -5776,14 +5780,20 @@ namespace Mall.Module.Product ...@@ -5776,14 +5780,20 @@ namespace Mall.Module.Product
else else
{ {
//详细设置咯 对比规格更新 //详细设置咯 对比规格更新
foreach (var qitem in dc1list.Where(x => x.DistributorGrade == 74)) { foreach (var qitem in dc1list.Where(x => x.DistributorGrade == 74))
{
decimal TotalMoney = (qitem.OneCommission ?? 0) + (qitem.TwoCommission ?? 0) + (qitem.ThreeCommission ?? 0); decimal TotalMoney = (qitem.OneCommission ?? 0) + (qitem.TwoCommission ?? 0) + (qitem.ThreeCommission ?? 0);
var spmodel = sp1list.Where(x => x.SpecificationSort == qitem.SpecificationSort).FirstOrDefault(); var spmodel = sp1list.Where(x => x.SpecificationSort == qitem.SpecificationSort).FirstOrDefault();
if (spmodel != null) { if (spmodel != null)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() { Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Goods_SpecificationPrice.Commission),TotalMoney} { nameof(RB_Goods_SpecificationPrice.Commission),TotalMoney}
}; };
if (spmodel.CostMoney <= 0)
{
keyValues.Add(nameof(RB_Goods_SpecificationPrice.CostMoney), item.CostPrice ?? 0);
}
List<WhereHelper> wheres = new List<WhereHelper>() { List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){ new WhereHelper(){
FiledName=nameof(RB_Goods_SpecificationPrice.Id), FiledName=nameof(RB_Goods_SpecificationPrice.Id),
...@@ -5796,7 +5806,8 @@ namespace Mall.Module.Product ...@@ -5796,7 +5806,8 @@ namespace Mall.Module.Product
} }
} }
} }
else { else
{
//没有自定义规格 直接弄主表返佣金额 //没有自定义规格 直接弄主表返佣金额
var dcmodel = dc1list.Where(x => x.DistributorGrade == 74).FirstOrDefault(); var dcmodel = dc1list.Where(x => x.DistributorGrade == 74).FirstOrDefault();
decimal TotalMoney = (dcmodel.OneCommission ?? 0) + (dcmodel.TwoCommission ?? 0) + (dcmodel.ThreeCommission ?? 0); decimal TotalMoney = (dcmodel.OneCommission ?? 0) + (dcmodel.TwoCommission ?? 0) + (dcmodel.ThreeCommission ?? 0);
...@@ -5813,6 +5824,29 @@ namespace Mall.Module.Product ...@@ -5813,6 +5824,29 @@ namespace Mall.Module.Product
goodsRepository.Update(keyValues, wheres); goodsRepository.Update(keyValues, wheres);
} }
} }
else {
//只更新成本
if (item.IsCustomSpecification == 1) {
var sp1list = splist.Where(x => x.GoodsId == item.Id).ToList();
foreach (var qitem in sp1list)
{
if (qitem.CostMoney <= 0)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Goods_SpecificationPrice.CostMoney), item.CostPrice ?? 0}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Goods_SpecificationPrice.Id),
FiledValue=qitem.Id,
OperatorEnum=OperatorEnum.Equal
}
};
goods_SpecificationPriceRepository.Update(keyValues, wheres);
}
}
}
}
} }
} }
......
...@@ -836,7 +836,7 @@ and DATE_FORMAT(b.PaymentTime,'%y-%m-%d')<DATE_FORMAT('{endDate}','%y-%m-%d') A ...@@ -836,7 +836,7 @@ and DATE_FORMAT(b.PaymentTime,'%y-%m-%d')<DATE_FORMAT('{endDate}','%y-%m-%d') A
} }
#region 粉象等级赠送 2020-07-21 #region 粉象等级赠送 2020-07-21
if (dlist.Any()) if (dlist.Where(x => x.PresentFXGrade > 0).Any())
{ {
var demodel = new RB_Goods_Order_Extend var demodel = new RB_Goods_Order_Extend
{ {
...@@ -897,140 +897,143 @@ and DATE_FORMAT(b.PaymentTime,'%y-%m-%d')<DATE_FORMAT('{endDate}','%y-%m-%d') A ...@@ -897,140 +897,143 @@ and DATE_FORMAT(b.PaymentTime,'%y-%m-%d')<DATE_FORMAT('{endDate}','%y-%m-%d') A
} }
} }
} }
//判断等级 取最高级别 if (GradeList.Any())
int MaxGradeId = 0;
int MaxGrade = 0;
if (GradeList.Distinct().Count() > 1)
{ {
//说明有两种级别 取最高的 //判断等级 取最高级别
foreach (var item in GradeList.Distinct()) int MaxGradeId = 0;
int MaxGrade = 0;
if (GradeList.Distinct().Count() > 1)
{
//说明有两种级别 取最高的
foreach (var item in GradeList.Distinct())
{
var fxmodel = FXList.Where(x => x.Id == item).FirstOrDefault();
MaxGrade = (fxmodel.Grade ?? 0) > MaxGrade ? (fxmodel.Grade ?? 0) : MaxGrade;
}
MaxGradeId = FXList.Where(x => x.Grade == MaxGrade).FirstOrDefault()?.Id ?? 0;
}
else
{ {
var fxmodel = FXList.Where(x => x.Id == item).FirstOrDefault(); MaxGradeId = GradeList.FirstOrDefault();
var fxmodel = FXList.Where(x => x.Id == MaxGradeId).FirstOrDefault();
MaxGrade = (fxmodel.Grade ?? 0) > MaxGrade ? (fxmodel.Grade ?? 0) : MaxGrade; MaxGrade = (fxmodel.Grade ?? 0) > MaxGrade ? (fxmodel.Grade ?? 0) : MaxGrade;
} }
MaxGradeId = FXList.Where(x => x.Grade == MaxGrade).FirstOrDefault()?.Id ?? 0; var oldGrade = FXList.Where(x => x.Id == disModel.FXGradeId).FirstOrDefault()?.Grade ?? 0;
}
else
{
MaxGradeId = GradeList.FirstOrDefault();
var fxmodel = FXList.Where(x => x.Id == MaxGradeId).FirstOrDefault();
MaxGrade = (fxmodel.Grade ?? 0) > MaxGrade ? (fxmodel.Grade ?? 0) : MaxGrade;
}
var oldGrade = FXList.Where(x => x.Id == disModel.FXGradeId).FirstOrDefault()?.Grade ?? 0;
try try
{
bool UpdateGrade = false;
if (MaxGradeId > 0 && MaxGrade >= oldGrade && MaxGradeId == (VIPModel?.Id ?? 0))
{ {
UpdateGrade = true; bool UpdateGrade = false;
string MaxGradeName = FXList.Where(x => x.Id == MaxGradeId).FirstOrDefault()?.GradeName ?? ""; if (MaxGradeId > 0 && MaxGrade >= oldGrade && MaxGradeId == (VIPModel?.Id ?? 0))
//vip
var VipExpiryDate = DateTime.Now.AddMonths(VIPMonths);
if (VIPMonths >= 1)
{
VipExpiryDate = Convert.ToDateTime(VipExpiryDate.AddDays(-1).ToString("yyyy-MM-dd 23:59:59"));
}
if (MaxGrade == oldGrade && disModel.VipExpiryDate.HasValue)
{ {
if (disModel.VipExpiryDate > DateTime.Now) UpdateGrade = true;
string MaxGradeName = FXList.Where(x => x.Id == MaxGradeId).FirstOrDefault()?.GradeName ?? "";
//vip
var VipExpiryDate = DateTime.Now.AddMonths(VIPMonths);
if (VIPMonths >= 1)
{ {
VipExpiryDate = disModel.VipExpiryDate.Value.AddMonths(VIPMonths); VipExpiryDate = Convert.ToDateTime(VipExpiryDate.AddDays(-1).ToString("yyyy-MM-dd 23:59:59"));
} }
} if (MaxGrade == oldGrade && disModel.VipExpiryDate.HasValue)
Dictionary<string, object> keyValues1 = new Dictionary<string, object> {
if (disModel.VipExpiryDate > DateTime.Now)
{
VipExpiryDate = disModel.VipExpiryDate.Value.AddMonths(VIPMonths);
}
}
Dictionary<string, object> keyValues1 = new Dictionary<string, object>
{ {
{ nameof(RB_Distributor_Info_Extend.FXGradeId), MaxGradeId }, { nameof(RB_Distributor_Info_Extend.FXGradeId), MaxGradeId },
{ nameof(RB_Distributor_Info_Extend.VipExpiryDate), VipExpiryDate } { nameof(RB_Distributor_Info_Extend.VipExpiryDate), VipExpiryDate }
}; };
List<WhereHelper> wheres1 = new List<WhereHelper>() { List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){ new WhereHelper(){
FiledName=nameof(RB_Distributor_Info_Extend.Id), FiledName=nameof(RB_Distributor_Info_Extend.Id),
FiledValue=disModel.Id, FiledValue=disModel.Id,
OperatorEnum=OperatorEnum.Equal OperatorEnum=OperatorEnum.Equal
} }
}; };
bool gflag = distributor_InfoRepository.Update(keyValues1, wheres1); bool gflag = distributor_InfoRepository.Update(keyValues1, wheres1);
if (gflag) if (gflag)
{
//新增vip赠送记录表
Random R1 = new Random();
int Rstr1 = R1.Next(111, 999);
string OrderNo1 = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Rstr1;
vip_BuyRepository.Insert(new Mall.Model.Entity.User.RB_Vip_Buy()
{ {
CreateDate = DateTime.Now, //新增vip赠送记录表
ExpiryDate = VipExpiryDate, Random R1 = new Random();
GradeId = MaxGradeId, int Rstr1 = R1.Next(111, 999);
GradeName = MaxGradeName, string OrderNo1 = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Rstr1;
Id = 0, vip_BuyRepository.Insert(new Mall.Model.Entity.User.RB_Vip_Buy()
MallBaseId = demodel.MallBaseId, {
MerchantsNo = "", CreateDate = DateTime.Now,
Money = 0, ExpiryDate = VipExpiryDate,
OrderNo = OrderNo1, GradeId = MaxGradeId,
PayState = 1, GradeName = MaxGradeName,
PayTime = null, Id = 0,
PayWay = 1, MallBaseId = demodel.MallBaseId,
Remark = "下单赠送,订单号:" + demodel.OrderNo + "(" + OrderId + ")", MerchantsNo = "",
Status = 0, Money = 0,
TenantId = demodel.TenantId, OrderNo = OrderNo1,
UserId = UserId PayState = 1,
}); PayTime = null,
PayWay = 1,
Remark = "下单赠送,订单号:" + demodel.OrderNo + "(" + OrderId + ")",
Status = 0,
TenantId = demodel.TenantId,
UserId = UserId
});
}
} }
} else if (MaxGradeId > 0 && MaxGrade > oldGrade)
else if (MaxGradeId > 0 && MaxGrade > oldGrade) {
{ UpdateGrade = true;
UpdateGrade = true; string MaxGradeName = FXList.Where(x => x.Id == MaxGradeId).FirstOrDefault()?.GradeName ?? "";
string MaxGradeName = FXList.Where(x => x.Id == MaxGradeId).FirstOrDefault()?.GradeName ?? ""; //比vip高级
//比vip高级 Dictionary<string, object> keyValues1 = new Dictionary<string, object>
Dictionary<string, object> keyValues1 = new Dictionary<string, object>
{ {
{ nameof(RB_Distributor_Info_Extend.FXGradeId), MaxGradeId } { nameof(RB_Distributor_Info_Extend.FXGradeId), MaxGradeId }
}; };
List<WhereHelper> wheres1 = new List<WhereHelper>() { List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){ new WhereHelper(){
FiledName=nameof(RB_Distributor_Info_Extend.Id), FiledName=nameof(RB_Distributor_Info_Extend.Id),
FiledValue=disModel.Id, FiledValue=disModel.Id,
OperatorEnum=OperatorEnum.Equal OperatorEnum=OperatorEnum.Equal
} }
}; };
bool gflag = distributor_InfoRepository.Update(keyValues1, wheres1); bool gflag = distributor_InfoRepository.Update(keyValues1, wheres1);
if (gflag) if (gflag)
{
//新增vip赠送记录表
Random R1 = new Random();
int Rstr1 = R1.Next(111, 999);
string OrderNo1 = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Rstr1;
vip_BuyRepository.Insert(new Mall.Model.Entity.User.RB_Vip_Buy()
{ {
CreateDate = DateTime.Now, //新增vip赠送记录表
ExpiryDate = null, Random R1 = new Random();
GradeId = MaxGradeId, int Rstr1 = R1.Next(111, 999);
GradeName = MaxGradeName, string OrderNo1 = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Rstr1;
Id = 0, vip_BuyRepository.Insert(new Mall.Model.Entity.User.RB_Vip_Buy()
MallBaseId = demodel.MallBaseId, {
MerchantsNo = "", CreateDate = DateTime.Now,
Money = 0, ExpiryDate = null,
OrderNo = OrderNo1, GradeId = MaxGradeId,
PayState = 1, GradeName = MaxGradeName,
PayTime = null, Id = 0,
PayWay = 1, MallBaseId = demodel.MallBaseId,
Remark = "下单赠送,订单号:" + demodel.OrderNo + "(" + OrderId + ")", MerchantsNo = "",
Status = 0, Money = 0,
TenantId = demodel.TenantId, OrderNo = OrderNo1,
UserId = UserId PayState = 1,
}); PayTime = null,
PayWay = 1,
Remark = "下单赠送,订单号:" + demodel.OrderNo + "(" + OrderId + ")",
Status = 0,
TenantId = demodel.TenantId,
UserId = UserId
});
}
}
if (UpdateGrade)
{
new UserCommonModule().FXAutoUpgradeUserDistributorGrade(UserId, demodel.TenantId, demodel.MallBaseId);
} }
} }
if (UpdateGrade) catch (Exception ex)
{ {
new UserCommonModule().FXAutoUpgradeUserDistributorGrade(UserId, demodel.TenantId, demodel.MallBaseId); Helper.LogHelper.Write("InsertPresentFXGrade赠送粉象分销等级失败,OrderId:" + OrderId + " Msg:" + ex.Message);
} }
} }
catch (Exception ex)
{
Helper.LogHelper.Write("InsertPresentFXGrade赠送粉象分销等级失败,OrderId:" + OrderId + " Msg:" + ex.Message);
}
} }
} }
} }
......
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