Commit 2ad753e0 authored by liudong1993's avatar liudong1993

vip购买返佣

parent cfae5e4b
...@@ -154,5 +154,9 @@ namespace Mall.Model.Entity.User ...@@ -154,5 +154,9 @@ namespace Mall.Model.Entity.User
/// 小数类型 1取整(向上进一) 2保留两位小数 /// 小数类型 1取整(向上进一) 2保留两位小数
/// </summary> /// </summary>
public int? DecimalType { get; set; } public int? DecimalType { get; set; }
/// <summary>
/// 年
/// </summary>
public int? Year { get; set; }
} }
} }
...@@ -44,6 +44,10 @@ namespace Mall.Model.Extend.User ...@@ -44,6 +44,10 @@ namespace Mall.Model.Extend.User
/// </summary> /// </summary>
public string HPGradeName { get; set; } public string HPGradeName { get; set; }
/// <summary> /// <summary>
/// 粉象等级名称
/// </summary>
public string FXGradeName { get; set; }
/// <summary>
/// 上级id /// 上级id
/// </summary> /// </summary>
public int? SuperiorId { get; set; } public int? SuperiorId { get; set; }
......
...@@ -18,5 +18,22 @@ namespace Mall.Model.Extend.User ...@@ -18,5 +18,22 @@ namespace Mall.Model.Extend.User
/// 购买人名称 /// 购买人名称
/// </summary> /// </summary>
public string UserName { get; set; } public string UserName { get; set; }
/// <summary>
/// 头像
/// </summary>
public string Photo { get; set; }
/// <summary>
/// 订单号
/// </summary>
public string OrderNo { get; set; }
/// <summary>
/// 等级名称
/// </summary>
public string GradeName { get; set; }
/// <summary>
/// 等级描述
/// </summary>
public string GradeDescription { get; set; }
} }
} }
...@@ -386,12 +386,14 @@ namespace Mall.Module.User ...@@ -386,12 +386,14 @@ namespace Mall.Module.User
//粉象等级列表 //粉象等级列表
var FXList = distributor_FXGradeRepository.GetList(new RB_Distributor_FXGrade_Extend() { TenantId = TenantId, MallBaseId = MallBaseId }); var FXList = distributor_FXGradeRepository.GetList(new RB_Distributor_FXGrade_Extend() { TenantId = TenantId, MallBaseId = MallBaseId });
var VipModel = FXList.Where(x => x.IsGuest == 3).FirstOrDefault(); var VipModel = FXList.Where(x => x.IsGuest == 3).FirstOrDefault();
if (VipModel == null) { return false; }
var PTModel = FXList.Where(x => x.IsGuest == 1).FirstOrDefault(); var PTModel = FXList.Where(x => x.IsGuest == 1).FirstOrDefault();
if (PTModel == null) { return false; }
//vip购买返佣金额列表 //vip购买返佣金额列表
var FXCList = distributor_FXCommissionRepository.GetFXCommissionList(new RB_Distributor_FXCommission_Extend() { TenantId = TenantId, MallBaseId = MallBaseId }); var FXCList = distributor_FXCommissionRepository.GetFXCommissionList(new RB_Distributor_FXCommission_Extend() { TenantId = TenantId, MallBaseId = MallBaseId });
var disModel = distributor_InfoRepository.GetList(new RB_Distributor_Info_Extend() { TenantId = TenantId, MallBaseId = MallBaseId, UserId = BuyUserId, AuditStatus = Common.Enum.User.DistributorAuditStatusEnum.Audited }).FirstOrDefault(); var disModel = distributor_InfoRepository.GetList(new RB_Distributor_Info_Extend() { TenantId = TenantId, MallBaseId = MallBaseId, UserId = BuyUserId, AuditStatus = Common.Enum.User.DistributorAuditStatusEnum.Audited }).FirstOrDefault();
if (disModel != null) { if (disModel != null) {
if (disModel.FXGradeId != VipModel.Id) { if (disModel.FXGradeId != VipModel.Id && disModel.FXGradeId != PTModel.Id) {
return false; return false;
} }
//求其上级 //求其上级
...@@ -443,7 +445,6 @@ namespace Mall.Module.User ...@@ -443,7 +445,6 @@ namespace Mall.Module.User
if (!fxNumList.Any()) if (!fxNumList.Any())
{ {
UserId = numodel.SuperiorId ?? 0;
//第一个人 拿直推vip //第一个人 拿直推vip
var fxcModel = FXCList.Where(x => x.FXGradeId == FXGModel.Id && x.CommissionGradeId == VipModel.Id && x.GradeType == 1).FirstOrDefault(); var fxcModel = FXCList.Where(x => x.FXGradeId == FXGModel.Id && x.CommissionGradeId == VipModel.Id && x.GradeType == 1).FirstOrDefault();
fxNumList.Add(new Model.Entity.Product.FXOrderCommissionNumModel() fxNumList.Add(new Model.Entity.Product.FXOrderCommissionNumModel()
...@@ -470,6 +471,7 @@ namespace Mall.Module.User ...@@ -470,6 +471,7 @@ namespace Mall.Module.User
UserId = UserId UserId = UserId
}); });
Num++; Num++;
UserId = numodel.SuperiorId ?? 0;
} }
else else
{ {
...@@ -485,7 +487,6 @@ namespace Mall.Module.User ...@@ -485,7 +487,6 @@ namespace Mall.Module.User
int MaxGradeId = fxNumList.Where(x => x.Grade == MaxGrade).FirstOrDefault()?.GradeId ?? 0; int MaxGradeId = fxNumList.Where(x => x.Grade == MaxGrade).FirstOrDefault()?.GradeId ?? 0;
if ((FXGModel.SiblingRebatesNum ?? 0) + 1 > MaxGradeNum) if ((FXGModel.SiblingRebatesNum ?? 0) + 1 > MaxGradeNum)
{ {
UserId = numodel.SuperiorId ?? 0;
decimal DcommionMoney = 0; decimal DcommionMoney = 0;
if (MaxGradeNum >= 1 && MaxGrade == VipModel.Id) if (MaxGradeNum >= 1 && MaxGrade == VipModel.Id)
{ {
...@@ -494,10 +495,18 @@ namespace Mall.Module.User ...@@ -494,10 +495,18 @@ namespace Mall.Module.User
DcommionMoney = fxcModel?.CommissionPrice ?? 0; DcommionMoney = fxcModel?.CommissionPrice ?? 0;
} }
else if (FXGModel.Grade > VipModel.Grade) else if (FXGModel.Grade > VipModel.Grade)
{
if (MaxGrade == VipModel.Id)
{
var fxcModel = FXCList.Where(x => x.FXGradeId == FXGModel.Id && x.CommissionGradeId == MaxGradeId && x.GradeType == 2).FirstOrDefault();
DcommionMoney = fxcModel?.CommissionPrice ?? 0;
}
else
{ {
var fxcModel = FXCList.Where(x => x.FXGradeId == FXGModel.Id && x.CommissionGradeId == MaxGradeId && x.GradeType == 1).FirstOrDefault(); var fxcModel = FXCList.Where(x => x.FXGradeId == FXGModel.Id && x.CommissionGradeId == MaxGradeId && x.GradeType == 1).FirstOrDefault();
DcommionMoney = fxcModel?.CommissionPrice ?? 0; DcommionMoney = fxcModel?.CommissionPrice ?? 0;
} }
}
fxNumList.Add(new Model.Entity.Product.FXOrderCommissionNumModel() fxNumList.Add(new Model.Entity.Product.FXOrderCommissionNumModel()
{ {
...@@ -523,6 +532,7 @@ namespace Mall.Module.User ...@@ -523,6 +532,7 @@ namespace Mall.Module.User
UserId = UserId UserId = UserId
}); });
Num++; Num++;
UserId = numodel.SuperiorId ?? 0;
} }
else else
{ {
...@@ -573,8 +583,13 @@ namespace Mall.Module.User ...@@ -573,8 +583,13 @@ namespace Mall.Module.User
} }
} }
foreach (var qitem in gocList) foreach (var qitem in gocList)
{
if (qitem.Commission > 0)
{ {
vipBuy_CommissionRepository.Insert(qitem); vipBuy_CommissionRepository.Insert(qitem);
//分销商增加相应的佣金
}
} }
} }
} }
......
...@@ -140,7 +140,10 @@ namespace Mall.Module.User ...@@ -140,7 +140,10 @@ namespace Mall.Module.User
/// 粉象返佣等级 /// 粉象返佣等级
/// </summary> /// </summary>
private RB_Distributor_FXGradeRepository distributor_FXGradeRepository = new RB_Distributor_FXGradeRepository(); private RB_Distributor_FXGradeRepository distributor_FXGradeRepository = new RB_Distributor_FXGradeRepository();
/// <summary>
/// vip购买返佣
/// </summary>
private RB_VipBuy_CommissionRepository vipBuy_CommissionRepository = new RB_VipBuy_CommissionRepository();
/// <summary> /// <summary>
/// 粉象返佣金额 /// 粉象返佣金额
...@@ -1314,6 +1317,13 @@ namespace Mall.Module.User ...@@ -1314,6 +1317,13 @@ namespace Mall.Module.User
{ {
HPGradeList = distributor_HPGradeInfoRepository.GetList(new RB_Distributor_HPGradeInfo_Extend() { GradeIds = hpgradeIds, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId }); HPGradeList = distributor_HPGradeInfoRepository.GetList(new RB_Distributor_HPGradeInfo_Extend() { GradeIds = hpgradeIds, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
} }
//查询粉象分销等级
string fxgradeIds = string.Join(",", list.Where(x => x.FXGradeId > 0).Select(x => x.FXGradeId ?? 0).Distinct());
List<RB_Distributor_FXGrade_Extend> FXGradeList = new List<RB_Distributor_FXGrade_Extend>();
if (!string.IsNullOrEmpty(fxgradeIds))
{
FXGradeList = distributor_FXGradeRepository.GetList(new RB_Distributor_FXGrade_Extend() { GradeIds = fxgradeIds, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
}
//查询推荐人列表 //查询推荐人列表
string tjrIds = string.Join(",", list.Where(x => x.SuperiorId > 0).Select(x => x.SuperiorId ?? 0).Distinct()); string tjrIds = string.Join(",", list.Where(x => x.SuperiorId > 0).Select(x => x.SuperiorId ?? 0).Distinct());
List<RB_Member_User_Extend> UserList = new List<RB_Member_User_Extend>(); List<RB_Member_User_Extend> UserList = new List<RB_Member_User_Extend>();
...@@ -1347,6 +1357,15 @@ namespace Mall.Module.User ...@@ -1347,6 +1357,15 @@ namespace Mall.Module.User
{ {
item.HPGradeName = HPGradeList.Where(x => x.Id == item.HPGradeId).FirstOrDefault()?.GradeName ?? ""; item.HPGradeName = HPGradeList.Where(x => x.Id == item.HPGradeId).FirstOrDefault()?.GradeName ?? "";
} }
if ((item.FXGradeId ?? 0) == 0)
{
item.FXGradeName = "默认等级";
}
else if (item.FXGradeId > 0)
{
item.FXGradeName = FXGradeList.Where(x => x.Id == item.FXGradeId).FirstOrDefault()?.GradeName ?? "";
}
if (item.SuperiorId == 0) if (item.SuperiorId == 0)
...@@ -1839,6 +1858,33 @@ namespace Mall.Module.User ...@@ -1839,6 +1858,33 @@ namespace Mall.Module.User
bool flag = distributor_InfoRepository.Update(keyValues, wheres, trans); bool flag = distributor_InfoRepository.Update(keyValues, wheres, trans);
} }
} }
else if (type == 7)
{
var list = distributor_InfoRepository.GetList(new RB_Distributor_Info_Extend() { UserIds = userIds, TenantId = Convert.ToInt32(uid), MallBaseId = mallBaseId });
foreach (var item in list)
{
if (item.AuditStatus != Common.Enum.User.DistributorAuditStatusEnum.Audited)
{
return "用户ID:" + item.UserId + " 不是审核通过状态,无法修改等级";
}
}
//批量修改状态
foreach (var item in list)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Distributor_Info.FXGradeId),newGradeId},
{ nameof(RB_Distributor_Info.UpdateDate),DateTime.Now}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Distributor_Info.Id),
FiledValue=item.Id,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag = distributor_InfoRepository.Update(keyValues, wheres, trans);
}
}
else else
{ {
return "Type传递有误"; return "Type传递有误";
...@@ -3632,6 +3678,28 @@ namespace Mall.Module.User ...@@ -3632,6 +3678,28 @@ namespace Mall.Module.User
return "升级失败,请联系管理员"; return "升级失败,请联系管理员";
} }
/// <summary>
/// 获取分销中心 vip购买返佣列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_VipBuy_Commission_Extend> GetUserVipCommissionOrdersPageList(int pageIndex, int pageSize, out long count, RB_VipBuy_Commission_Extend demodel)
{
var List = vipBuy_CommissionRepository.GetPageList(pageIndex, pageSize, out count, demodel);
if (List.Any()) {
string fxgradeids = string.Join(",", List.Select(x => x.Grade ?? 0).Distinct());
var fxlist = distributor_FXGradeRepository.GetList(new RB_Distributor_FXGrade_Extend() { GradeIds = fxgradeids, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
foreach (var item in List) {
var fxmodel = fxlist.Where(x => x.Id == item.Grade).FirstOrDefault();
item.GradeDescription = fxmodel.GradeName + "分销";
}
}
return List;
}
#endregion #endregion
#region 我的足迹 #region 我的足迹
...@@ -4634,6 +4702,7 @@ namespace Mall.Module.User ...@@ -4634,6 +4702,7 @@ namespace Mall.Module.User
{ nameof(RB_Distributor_FXGrade.SiblingRebatesNum),demodel.SiblingRebatesNum}, { nameof(RB_Distributor_FXGrade.SiblingRebatesNum),demodel.SiblingRebatesNum},
{ nameof(RB_Distributor_FXGrade.IsCanBuy),demodel.IsCanBuy}, { nameof(RB_Distributor_FXGrade.IsCanBuy),demodel.IsCanBuy},
{ nameof(RB_Distributor_FXGrade.BuyMoney),demodel.BuyMoney}, { nameof(RB_Distributor_FXGrade.BuyMoney),demodel.BuyMoney},
{ nameof(RB_Distributor_FXGrade.Year),demodel.Year},
{ nameof(RB_Distributor_FXGrade.IsUpgrade),demodel.IsUpgrade}, { nameof(RB_Distributor_FXGrade.IsUpgrade),demodel.IsUpgrade},
{ nameof(RB_Distributor_FXGrade.UpgradeNum),demodel.UpgradeNum}, { nameof(RB_Distributor_FXGrade.UpgradeNum),demodel.UpgradeNum},
{ nameof(RB_Distributor_FXGrade.UpgradeId),demodel.UpgradeId}, { nameof(RB_Distributor_FXGrade.UpgradeId),demodel.UpgradeId},
......
...@@ -22,29 +22,33 @@ namespace Mall.Repository.User ...@@ -22,29 +22,33 @@ namespace Mall.Repository.User
/// <returns></returns> /// <returns></returns>
public List<RB_VipBuy_Commission_Extend> GetPageList(int pageIndex, int pageSize, out long rowCount, RB_VipBuy_Commission_Extend dmodel) public List<RB_VipBuy_Commission_Extend> GetPageList(int pageIndex, int pageSize, out long rowCount, RB_VipBuy_Commission_Extend dmodel)
{ {
string where = " 1=1 and b.Status =0"; string where = " 1=1";
if (dmodel.TenantId > 0) if (dmodel.TenantId > 0)
{ {
where += $@" and b.{nameof(RB_VipBuy_Commission.TenantId)}={dmodel.TenantId}"; where += $@" and v.{nameof(RB_VipBuy_Commission.TenantId)}={dmodel.TenantId}";
} }
if (dmodel.MallBaseId > 0) if (dmodel.MallBaseId > 0)
{ {
where += $@" and b.{nameof(RB_VipBuy_Commission.MallBaseId)}={dmodel.MallBaseId}"; where += $@" and v.{nameof(RB_VipBuy_Commission.MallBaseId)}={dmodel.MallBaseId}";
} }
if (dmodel.Id > 0) if (dmodel.Id > 0)
{ {
where += $@" and b.{nameof(RB_VipBuy_Commission.Id)}={dmodel.Id}"; where += $@" and v.{nameof(RB_VipBuy_Commission.Id)}={dmodel.Id}";
} }
if (dmodel.UserId > 0) if (dmodel.UserId > 0)
{ {
where += $@" and v.{nameof(RB_VipBuy_Commission.UserId)}={dmodel.UserId}"; where += $@" and v.{nameof(RB_VipBuy_Commission.UserId)}={dmodel.UserId}";
} }
if (dmodel.Type > 0)
{
where += $@" and v.{nameof(RB_VipBuy_Commission.Type)}={dmodel.Type}";
}
if (!string.IsNullOrEmpty(dmodel.UserName)) if (!string.IsNullOrEmpty(dmodel.UserName))
{ {
where += $@" and u.{nameof(RB_Member_User.Name)} like '%{dmodel.UserName}%'"; where += $@" and u.{nameof(RB_Member_User.Name)} like '%{dmodel.UserName}%'";
} }
string sql = $@"select v.*,vb.OrderNo,vb.GradeName,u.Name as UserName from RB_VipBuy_Commission v string sql = $@"select v.*,vb.OrderNo,vb.GradeName,u.Name as UserName,u.Photo from RB_VipBuy_Commission v
inner join rb_vip_buy vb on v.OrderId = vb.Id inner join rb_vip_buy vb on v.OrderId = vb.Id
inner join rb_member_user u on vb.UserId= u.Id inner join rb_member_user u on vb.UserId= u.Id
where {where} order by v.Id desc"; where {where} order by v.Id desc";
...@@ -78,6 +82,5 @@ where {where} order by v.Id desc"; ...@@ -78,6 +82,5 @@ where {where} order by v.Id desc";
string sql = $@"select v.* from RB_VipBuy_Commission v where {where} order by v.Id desc"; string sql = $@"select v.* from RB_VipBuy_Commission v where {where} order by v.Id desc";
return Get<RB_VipBuy_Commission_Extend>(sql).ToList(); return Get<RB_VipBuy_Commission_Extend>(sql).ToList();
} }
} }
} }
...@@ -719,6 +719,44 @@ namespace Mall.WebApi.Controllers.User ...@@ -719,6 +719,44 @@ namespace Mall.WebApi.Controllers.User
return ApiResult.Failed(msg); return ApiResult.Failed(msg);
} }
} }
/// <summary>
/// 获取用户vip分销返佣订单
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetUserVipCommissionOrdersPageList()
{
var req = RequestParm;
var userInfo = AppletUserInfo;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(req.msg.ToString());
RB_VipBuy_Commission_Extend demodel = JsonConvert.DeserializeObject<RB_VipBuy_Commission_Extend>(req.msg.ToString());
demodel.TenantId = userInfo.TenantId;
demodel.MallBaseId = userInfo.MallBaseId;
demodel.UserId = userInfo.UserId;
var list = userModule.GetUserVipCommissionOrdersPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.Id,
x.OrderId,
x.OrderNo,
x.Grade,
x.GradeName,
x.GradeDescription,
x.UserId,
x.UserName,
x.Photo,
x.Commission,
x.Remark,
x.Type,
x.TenantId,
x.MallBaseId,
CreateDate = x.CreateDate.HasValue ? x.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""
});
return ApiResult.Success("", pagelist);
}
#endregion #endregion
#region 会员中心 #region 会员中心
......
...@@ -1434,6 +1434,8 @@ namespace Mall.WebApi.Controllers.User ...@@ -1434,6 +1434,8 @@ namespace Mall.WebApi.Controllers.User
x.GradeName, x.GradeName,
x.HPGradeId, x.HPGradeId,
x.HPGradeName, x.HPGradeName,
x.FXGradeId,
x.FXGradeName,
x.AuditStatus, x.AuditStatus,
AuditStatusName = x.AuditStatus.GetEnumName(), AuditStatusName = x.AuditStatus.GetEnumName(),
x.Remark, x.Remark,
...@@ -1548,7 +1550,7 @@ namespace Mall.WebApi.Controllers.User ...@@ -1548,7 +1550,7 @@ namespace Mall.WebApi.Controllers.User
var re = RequestParm; var re = RequestParm;
var parms = JObject.Parse(re.msg.ToString()); var parms = JObject.Parse(re.msg.ToString());
string UserIds = parms.GetStringValue("UserIds"); string UserIds = parms.GetStringValue("UserIds");
int Type = parms.GetInt("Type", 0);//1审核通过 2审核拒绝 3删除分销 4修改等级 5修改备注 6修改和平分销等级 int Type = parms.GetInt("Type", 0);//1审核通过 2审核拒绝 3删除分销 4修改等级 5修改备注 6修改和平分销等级 7修改粉象分销等级
int NewGradeId = parms.GetInt("NewGradeId", 0); int NewGradeId = parms.GetInt("NewGradeId", 0);
string Remark = parms.GetStringValue("Remark"); string Remark = parms.GetStringValue("Remark");
if (string.IsNullOrEmpty(UserIds)) if (string.IsNullOrEmpty(UserIds))
...@@ -2656,6 +2658,7 @@ namespace Mall.WebApi.Controllers.User ...@@ -2656,6 +2658,7 @@ namespace Mall.WebApi.Controllers.User
x.SiblingRebatesNum, x.SiblingRebatesNum,
x.IsCanBuy, x.IsCanBuy,
x.BuyMoney, x.BuyMoney,
x.Year,
x.IsUpgrade, x.IsUpgrade,
x.UpgradeNum, x.UpgradeNum,
x.DecimalType, x.DecimalType,
...@@ -2732,6 +2735,7 @@ namespace Mall.WebApi.Controllers.User ...@@ -2732,6 +2735,7 @@ namespace Mall.WebApi.Controllers.User
demodel.SiblingRebatesNum ??= 1; demodel.SiblingRebatesNum ??= 1;
demodel.IsCanBuy ??= 2; demodel.IsCanBuy ??= 2;
demodel.BuyMoney ??= 0; demodel.BuyMoney ??= 0;
demodel.Year ??= 1;
demodel.IsUpgrade ??= 0; demodel.IsUpgrade ??= 0;
demodel.UpgradeNum ??= 0; demodel.UpgradeNum ??= 0;
demodel.UpgradeId ??= 0; demodel.UpgradeId ??= 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