Commit de408b19 authored by liudong1993's avatar liudong1993

1

parent 238cdb17
......@@ -2888,148 +2888,156 @@ namespace Mall.Module.Product
{
if (item.PresentFXGrade > 0)
{
//有赠送粉象等级
GradeList.Add(item.PresentFXGrade??0);
if (item.PresentFXGrade == (VIPModel?.Id ?? 0))
//查询是否有申请退款
var afterSaleList = goods_OrderAfterSaleRepository.GetList(new RB_Goods_OrderAfterSale_Extend() { OrderDetialId = item.Id, Type = 1, MallBaseId = demodel.MallBaseId, TenantId = demodel.TenantId });
if (!afterSaleList.Any())
{
VIPMonths += (item.PresentFXMonth ?? 0) * (item.Number ?? 0);
//有赠送粉象等级
GradeList.Add(item.PresentFXGrade ?? 0);
if (item.PresentFXGrade == (VIPModel?.Id ?? 0))
{
VIPMonths += (item.PresentFXMonth ?? 0) * (item.Number ?? 0);
}
}
}
}
//判断等级 取最高级别
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 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 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 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 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);
LogHelper.Write(ex, "InsertPresentFXGrade赠送粉象分销等级失败,OrderId:" + OrderId);
}
}
catch (Exception ex)
{
LogHelper.Write(ex, "InsertPresentFXGrade赠送粉象分销等级失败,OrderId:" + OrderId);
}
}
}
}
......
......@@ -2987,10 +2987,14 @@ namespace Mall.Module.User
//分销商等级
string GradeName = "默认等级";
int HpEnabled = 2;
int IsVip = 2;
if ((basicsModel?.IsEnableFXGrade ?? 0) == 1)
{
var gmodel = distributor_FXGradeRepository.GetEntity(model.FXGradeId);
GradeName = gmodel?.GradeName ?? "默认等级";
if (gmodel.IsGuest == 3) {
IsVip = 1;
}
}
else
{
......@@ -3097,6 +3101,8 @@ namespace Mall.Module.User
RemitMoney = remitMoney,
ReferralsNum = (basicsModel?.IsEnableFXGrade ?? 0) == 1 ? fxNum : (oneNum + twoNum + threeNum),
IsEnableFXGrade = (basicsModel?.IsEnableFXGrade ?? 0),
IsVip,
VipExpiryDate = model.VipExpiryDate.HasValue ? model.VipExpiryDate.Value.ToString("yyyy-MM-dd") : "",
VipBuyCommission
}
};
......
......@@ -884,11 +884,16 @@ and DATE_FORMAT(b.PaymentTime,'%y-%m-%d')<DATE_FORMAT('{endDate}','%y-%m-%d') A
{
if (item.PresentFXGrade > 0)
{
//有赠送粉象等级
GradeList.Add(item.PresentFXGrade ?? 0);
if (item.PresentFXGrade == (VIPModel?.Id ?? 0))
//查询是否有申请退款
var afterSaleList = goods_OrderAfterSaleRepository.GetList(new RB_Goods_OrderAfterSale_Extend() { OrderDetialId = item.Id, Type = 1, MallBaseId = demodel.MallBaseId, TenantId = demodel.TenantId });
if (!afterSaleList.Any())
{
VIPMonths += (item.PresentFXMonth ?? 0) * (item.Number ?? 0);
//有赠送粉象等级
GradeList.Add(item.PresentFXGrade ?? 0);
if (item.PresentFXGrade == (VIPModel?.Id ?? 0))
{
VIPMonths += (item.PresentFXMonth ?? 0) * (item.Number ?? 0);
}
}
}
}
......
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