Commit de408b19 authored by liudong1993's avatar liudong1993

1

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