Commit 7eea27bb authored by liudong1993's avatar liudong1993

初始化 商品规格成本

parent e3a13482
......@@ -2297,7 +2297,7 @@ namespace Mall.Module.Product
item.InventoryNum = gmodel.InventoryNum ?? 0;
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.PresentFXMonth = gmodel.PresentFXMonth ?? 0;
......@@ -7092,7 +7092,7 @@ namespace Mall.Module.Product
}
#region 粉象等级赠送 2020-07-21
if (dlist.Any())
if (dlist.Where(x => x.PresentFXGrade > 0).Any())
{
var demodel = new RB_Goods_Order_Extend
{
......
......@@ -5763,6 +5763,10 @@ namespace Mall.Module.Product
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ 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>() {
new WhereHelper(){
FiledName=nameof(RB_Goods_SpecificationPrice.Id),
......@@ -5776,14 +5780,20 @@ namespace Mall.Module.Product
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);
var spmodel = sp1list.Where(x => x.SpecificationSort == qitem.SpecificationSort).FirstOrDefault();
if (spmodel != null) {
if (spmodel != null)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ 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>() {
new WhereHelper(){
FiledName=nameof(RB_Goods_SpecificationPrice.Id),
......@@ -5796,7 +5806,8 @@ namespace Mall.Module.Product
}
}
}
else {
else
{
//没有自定义规格 直接弄主表返佣金额
var dcmodel = dc1list.Where(x => x.DistributorGrade == 74).FirstOrDefault();
decimal TotalMoney = (dcmodel.OneCommission ?? 0) + (dcmodel.TwoCommission ?? 0) + (dcmodel.ThreeCommission ?? 0);
......@@ -5813,6 +5824,29 @@ namespace Mall.Module.Product
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
}
#region 粉象等级赠送 2020-07-21
if (dlist.Any())
if (dlist.Where(x => x.PresentFXGrade > 0).Any())
{
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
}
}
}
//判断等级 取最高级别
int MaxGradeId = 0;
int MaxGrade = 0;
if (GradeList.Distinct().Count() > 1)
if (GradeList.Any())
{
//说明有两种级别 取最高的
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;
}
MaxGradeId = FXList.Where(x => x.Grade == MaxGrade).FirstOrDefault()?.Id ?? 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;
var oldGrade = FXList.Where(x => x.Id == disModel.FXGradeId).FirstOrDefault()?.Grade ?? 0;
try
{
bool UpdateGrade = false;
if (MaxGradeId > 0 && MaxGrade >= oldGrade && MaxGradeId == (VIPModel?.Id ?? 0))
try
{
UpdateGrade = true;
string MaxGradeName = FXList.Where(x => x.Id == MaxGradeId).FirstOrDefault()?.GradeName ?? "";
//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)
bool UpdateGrade = false;
if (MaxGradeId > 0 && MaxGrade >= oldGrade && MaxGradeId == (VIPModel?.Id ?? 0))
{
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"));
}
}
Dictionary<string, object> keyValues1 = new Dictionary<string, object>
if (MaxGrade == oldGrade && disModel.VipExpiryDate.HasValue)
{
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.VipExpiryDate), VipExpiryDate }
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Distributor_Info_Extend.Id),
FiledValue=disModel.Id,
OperatorEnum=OperatorEnum.Equal
}
};
bool gflag = distributor_InfoRepository.Update(keyValues1, wheres1);
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()
bool gflag = distributor_InfoRepository.Update(keyValues1, wheres1);
if (gflag)
{
CreateDate = DateTime.Now,
ExpiryDate = VipExpiryDate,
GradeId = MaxGradeId,
GradeName = MaxGradeName,
Id = 0,
MallBaseId = demodel.MallBaseId,
MerchantsNo = "",
Money = 0,
OrderNo = OrderNo1,
PayState = 1,
PayTime = null,
PayWay = 1,
Remark = "下单赠送,订单号:" + demodel.OrderNo + "(" + OrderId + ")",
Status = 0,
TenantId = demodel.TenantId,
UserId = UserId
});
//新增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,
ExpiryDate = VipExpiryDate,
GradeId = MaxGradeId,
GradeName = MaxGradeName,
Id = 0,
MallBaseId = demodel.MallBaseId,
MerchantsNo = "",
Money = 0,
OrderNo = OrderNo1,
PayState = 1,
PayTime = null,
PayWay = 1,
Remark = "下单赠送,订单号:" + demodel.OrderNo + "(" + OrderId + ")",
Status = 0,
TenantId = demodel.TenantId,
UserId = UserId
});
}
}
}
else if (MaxGradeId > 0 && MaxGrade > oldGrade)
{
UpdateGrade = true;
string MaxGradeName = FXList.Where(x => x.Id == MaxGradeId).FirstOrDefault()?.GradeName ?? "";
//比vip高级
Dictionary<string, object> keyValues1 = new Dictionary<string, object>
else if (MaxGradeId > 0 && MaxGrade > oldGrade)
{
UpdateGrade = true;
string MaxGradeName = FXList.Where(x => x.Id == MaxGradeId).FirstOrDefault()?.GradeName ?? "";
//比vip高级
Dictionary<string, object> keyValues1 = new Dictionary<string, object>
{
{ nameof(RB_Distributor_Info_Extend.FXGradeId), MaxGradeId }
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Distributor_Info_Extend.Id),
FiledValue=disModel.Id,
OperatorEnum=OperatorEnum.Equal
}
};
bool gflag = distributor_InfoRepository.Update(keyValues1, wheres1);
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()
bool gflag = distributor_InfoRepository.Update(keyValues1, wheres1);
if (gflag)
{
CreateDate = DateTime.Now,
ExpiryDate = null,
GradeId = MaxGradeId,
GradeName = MaxGradeName,
Id = 0,
MallBaseId = demodel.MallBaseId,
MerchantsNo = "",
Money = 0,
OrderNo = OrderNo1,
PayState = 1,
PayTime = null,
PayWay = 1,
Remark = "下单赠送,订单号:" + demodel.OrderNo + "(" + OrderId + ")",
Status = 0,
TenantId = demodel.TenantId,
UserId = UserId
});
//新增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,
ExpiryDate = null,
GradeId = MaxGradeId,
GradeName = MaxGradeName,
Id = 0,
MallBaseId = demodel.MallBaseId,
MerchantsNo = "",
Money = 0,
OrderNo = OrderNo1,
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