Commit a31dcc37 authored by liudong1993's avatar liudong1993

和平分销

parent 1c5ff295
using Mall.Common.AOP;
using Mall.Common.Enum.User;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.User
{
/// <summary>
/// 和平分销返佣适配分类表实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Distributor_HPCategory
{
/// <summary>
/// Id
/// </summary>
public int Id
{
get;
set;
}
/// <summary>
/// 和平返佣id
/// </summary>
public int? CommissionId
{
get;
set;
}
/// <summary>
/// 分类id
/// </summary>
public int? CategoryId
{
get;
set;
}
/// <summary>
/// 商户号
/// </summary>
public int TenantId
{
get;
set;
}
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId
{
get;
set;
}
/// <summary>
/// CreateDate
/// </summary>
public DateTime? CreateDate
{
get;
set;
}
}
}
using Mall.Common.AOP;
using Mall.Common.Enum.User;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.User
{
/// <summary>
/// 和平分销返佣表实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Distributor_HPCommission
{
/// <summary>
/// Id
/// </summary>
public int Id
{
get;
set;
}
/// <summary>
/// 分销返佣名称
/// </summary>
public string Name
{
get;
set;
}
/// <summary>
/// 小数类型 1取整 2保留两位小数 (向上进一)
/// </summary>
public int? DecimalType
{
get;
set;
}
/// <summary>
/// 是否启用 1是 2否
/// </summary>
public int? Enabled
{
get;
set;
}
/// <summary>
/// 删除状态
/// </summary>
public int? Status { get; set; }
/// <summary>
/// 商户号
/// </summary>
public int TenantId
{
get;
set;
}
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId
{
get;
set;
}
/// <summary>
/// CreateDate
/// </summary>
public DateTime? CreateDate
{
get;
set;
}
/// <summary>
/// UpdateDate
/// </summary>
public DateTime? UpdateDate
{
get;
set;
}
}
}
using Mall.Common.AOP;
using Mall.Common.Enum.User;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.User
{
/// <summary>
/// 和平等级表实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Distributor_HPGradeInfo
{
/// <summary>
/// Id
/// </summary>
public int Id
{
get;
set;
}
/// <summary>
/// 等级名称
/// </summary>
public string GradeName
{
get;
set;
}
/// <summary>
/// 等
/// </summary>
public int? Grade
{
get;
set;
}
/// <summary>
/// 删除状态
/// </summary>
public int? Status { get; set; }
/// <summary>
/// 商户号
/// </summary>
public int TenantId
{
get;
set;
}
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId
{
get;
set;
}
/// <summary>
/// CreateDate
/// </summary>
public DateTime? CreateDate
{
get;
set;
}
/// <summary>
/// UpdateDate
/// </summary>
public DateTime? UpdateDate { get; set; }
}
}
using Mall.Common.AOP;
using Mall.Common.Enum.User;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.User
{
/// <summary>
/// 和平分销返佣等级表实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Distributor_HPGradeRatio
{
/// <summary>
/// Id
/// </summary>
public int Id
{
get;
set;
}
/// <summary>
/// 和平返佣id
/// </summary>
public int? CommissionId
{
get;
set;
}
/// <summary>
/// 等级id
/// </summary>
public int? GradeId
{
get;
set;
}
/// <summary>
/// 返佣比例 成本/(1-比例)=应卖价;实付-应卖 = 返佣
/// </summary>
public decimal? CommissionRatio { get; set; }
/// <summary>
/// 商户号
/// </summary>
public int TenantId
{
get;
set;
}
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId
{
get;
set;
}
/// <summary>
/// CreateDate
/// </summary>
public DateTime? CreateDate
{
get;
set;
}
}
}
...@@ -67,6 +67,10 @@ namespace Mall.Model.Entity.User ...@@ -67,6 +67,10 @@ namespace Mall.Model.Entity.User
set; set;
} }
/// <summary> /// <summary>
/// 和平分销等级id
/// </summary>
public int? HPGradeId { get; set; }
/// <summary>
/// 审核状态 1审核中 2通过 3拒绝 /// 审核状态 1审核中 2通过 3拒绝
/// </summary> /// </summary>
public DistributorAuditStatusEnum? AuditStatus public DistributorAuditStatusEnum? AuditStatus
......
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.User;
namespace Mall.Model.Extend.User
{
/// <summary>
/// 和平分销返佣适配分类表扩展实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Distributor_HPCategory_Extend : RB_Distributor_HPCategory
{
/// <summary>
/// 和平分类ids
/// </summary>
public string CommissionIds { get; set; }
/// <summary>
/// 分类名称
/// </summary>
public string CategoryName { get; set; }
}
}
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.User;
namespace Mall.Model.Extend.User
{
/// <summary>
/// 和平分销返佣表扩展实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Distributor_HPCommission_Extend : RB_Distributor_HPCommission
{
/// <summary>
/// 分类id
/// </summary>
public int? CategoryId { get; set; }
/// <summary>
/// 分类ids
/// </summary>
public string CategoryIds { get; set; }
/// <summary>
/// 分类ids
/// </summary>
public string CategoryIdsT { get; set; }
/// <summary>
/// 分类列表
/// </summary>
public List<RB_Distributor_HPCategory_Extend> CategoryList { get; set; }
/// <summary>
/// 比例列表
/// </summary>
public List<RB_Distributor_HPGradeRatio_Extend> RatioList { get; set; }
}
}
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.User;
namespace Mall.Model.Extend.User
{
/// <summary>
/// 和平等级表扩展实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Distributor_HPGradeInfo_Extend : RB_Distributor_HPGradeInfo
{
}
}
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.User;
namespace Mall.Model.Extend.User
{
/// <summary>
/// 和平分销返佣等级表扩展实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Distributor_HPGradeRatio_Extend : RB_Distributor_HPGradeRatio
{
/// <summary>
/// 和平返佣Id
/// </summary>
public string CommissionIds { get; set; }
/// <summary>
/// 等级
/// </summary>
public int? Grade { get; set; }
/// <summary>
/// 等级名称
/// </summary>
public string GradeName { get; set; }
}
}
...@@ -36,6 +36,10 @@ namespace Mall.Model.Extend.User ...@@ -36,6 +36,10 @@ namespace Mall.Model.Extend.User
/// </summary> /// </summary>
public string GradeName { get; set; } public string GradeName { get; set; }
/// <summary> /// <summary>
/// 和平等级名称
/// </summary>
public string HPGradeName { get; set; }
/// <summary>
/// 上级id /// 上级id
/// </summary> /// </summary>
public int? SuperiorId { get; set; } public int? SuperiorId { get; set; }
......
...@@ -102,6 +102,22 @@ namespace Mall.Module.User ...@@ -102,6 +102,22 @@ namespace Mall.Module.User
/// 小程序 /// 小程序
/// </summary> /// </summary>
private readonly RB_MiniProgramRepository miniProgramRepository = new RB_MiniProgramRepository(); private readonly RB_MiniProgramRepository miniProgramRepository = new RB_MiniProgramRepository();
/// <summary>
/// 和平等级
/// </summary>
private readonly RB_Distributor_HPGradeInfoRepository distributor_HPGradeInfoRepository = new RB_Distributor_HPGradeInfoRepository();
/// <summary>
/// 和平返佣
/// </summary>
private readonly RB_Distributor_HPCommissionRepository distributor_HPCommissionRepository = new RB_Distributor_HPCommissionRepository();
/// <summary>
/// 和平返佣分类
/// </summary>
private readonly RB_Distributor_HPCategoryRepository distributor_HPCategoryRepository = new RB_Distributor_HPCategoryRepository();
/// <summary>
/// 和平返佣比例
/// </summary>
private readonly RB_Distributor_HPGradeRatioRepository distributor_HPGradeRatioRepository = new RB_Distributor_HPGradeRatioRepository();
/// <summary> /// <summary>
...@@ -1429,6 +1445,85 @@ namespace Mall.Module.User ...@@ -1429,6 +1445,85 @@ namespace Mall.Module.User
bool flag = distributor_InfoRepository.Update(keyValues, wheres, trans); bool flag = distributor_InfoRepository.Update(keyValues, wheres, trans);
} }
} }
else if (type == 6) {
var list = distributor_InfoRepository.GetList(new RB_Distributor_Info_Extend() { UserIds = userIds, TenantId = Convert.ToInt32(uid), MallBaseId = mallBaseId });
var ulist = member_UserRepository.GetList(new RB_Member_User_Extend() { UserIds = userIds, TenantId = Convert.ToInt32(uid), MallBaseId = mallBaseId });
var gmodel = distributor_HPGradeInfoRepository.GetEntity(newGradeId);
foreach (var item in list)
{
if (item.AuditStatus != Common.Enum.User.DistributorAuditStatusEnum.Audited)
{
return "用户ID:" + item.UserId + " 不是审核通过状态,无法修改等级";
}
//验证其上级用户
var umodel = ulist.Where(x => x.Id == item.UserId).FirstOrDefault();
if (umodel == null) {
return "用户不存在ID:" + item.UserId;
}
if (umodel.SuperiorId == 0)
{
//上级为0
if ((gmodel?.Grade ?? 0) != 1)
{
return "用户上级不存在,只能修改为1级和平分销 ID:" + item.UserId;
}
}
else {
if ((gmodel?.Grade ?? 0) == 1)
{
return "用户上级存在,无法改为1级和平分销 ID:" + item.UserId;
}
}
if ((gmodel?.Grade ?? 0) > 1)
{
var pModel = distributor_InfoRepository.GetList(new RB_Distributor_Info_Extend() { UserId = umodel.SuperiorId, TenantId = Convert.ToInt32(uid), MallBaseId = mallBaseId }).FirstOrDefault();
if (pModel == null)
{
return "用户上级不是分销商 ID:" + item.UserId;
}
if (pModel.AuditStatus != DistributorAuditStatusEnum.Audited)
{
return "用户上级分销商不是通过状态 ID:" + item.UserId;
}
if ((pModel.HPGradeId ?? 0) <= 0)
{
return "用户上级分销商未绑定和平分销等级 ID:" + item.UserId;
}
var hpgmodel = distributor_HPGradeInfoRepository.GetEntity(pModel.HPGradeId);
if ((gmodel?.Grade ?? 0) == 3)
{
if (hpgmodel.Grade != 1 && hpgmodel.Grade != 2)
{
return "用户分销等级与上级用户分销等级不是关联关系 ID:" + item.UserId;
}
}
else if ((gmodel?.Grade ?? 0) == 2 && hpgmodel.Grade != 1)
{
return "用户分销等级与上级用户分销等级不是上下级关系 ID:" + item.UserId;
}
else if ((hpgmodel.Grade ?? 0) - (gmodel?.Grade ?? 0) != 1)
{
return "用户分销等级与上级用户分销等级不是上下级关系 ID:" + item.UserId;
}
}
}
//批量修改状态
foreach (var item in list)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Distributor_Info.HPGradeId),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传递有误";
...@@ -2834,5 +2929,402 @@ namespace Mall.Module.User ...@@ -2834,5 +2929,402 @@ namespace Mall.Module.User
return member_UserRepository.GetRankingList(dmodel); return member_UserRepository.GetRankingList(dmodel);
} }
#endregion #endregion
#region 和平分销
/// <summary>
/// 获取和平分销等级分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Distributor_HPGradeInfo_Extend> GetHpDistributorGradePageList(int pageIndex, int pageSize, out long count, RB_Distributor_HPGradeInfo_Extend demodel)
{
return distributor_HPGradeInfoRepository.GetPageList(pageIndex, pageSize, out count, demodel);
}
/// <summary>
/// 获取等级列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Distributor_HPGradeInfo_Extend> GetHpDistributorGradeList(RB_Distributor_HPGradeInfo_Extend demodel)
{
return distributor_HPGradeInfoRepository.GetList(demodel);
}
/// <summary>
/// 新增修改和平等级
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public bool SetHpDistributorGradeInfo(RB_Distributor_HPGradeInfo_Extend demodel)
{
if (demodel.Id > 0)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Distributor_HPGradeInfo.Grade),demodel.Grade},
{ nameof(RB_Distributor_HPGradeInfo.GradeName),demodel.GradeName},
{ nameof(RB_Distributor_HPGradeInfo.UpdateDate),demodel.UpdateDate},
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPGradeInfo.Id),
FiledValue=demodel.Id,
OperatorEnum=OperatorEnum.Equal
}
};
return distributor_HPGradeInfoRepository.Update(keyValues, wheres);
}
else {
return distributor_HPGradeInfoRepository.Insert(demodel) > 0;
}
}
/// <summary>
/// 删除和平等级
/// </summary>
/// <param name="gradeId"></param>
/// <param name="tenantId"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public bool DelHpDistributorGradeInfo(int gradeId, int tenantId, int mallBaseId)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Distributor_HPGradeInfo.Status),1},
{ nameof(RB_Distributor_HPGradeInfo.UpdateDate),DateTime.Now},
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPGradeInfo.Id),
FiledValue=gradeId,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPGradeInfo.TenantId),
FiledValue=tenantId,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPGradeInfo.MallBaseId),
FiledValue=mallBaseId,
OperatorEnum=OperatorEnum.Equal
}
};
return distributor_HPGradeInfoRepository.Update(keyValues, wheres);
}
/// <summary>
/// 获取分销返佣分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Distributor_HPCommission_Extend> GetHpDistributorPageList(int pageIndex, int pageSize, out long count, RB_Distributor_HPCommission_Extend demodel)
{
var list = distributor_HPCommissionRepository.GetPageList(pageIndex, pageSize, out count, demodel);
if (list.Any()) {
string cids = string.Join(",", list.Select(x => x.Id));
//查询所有分类
var clist = distributor_HPCategoryRepository.GetList(new RB_Distributor_HPCategory_Extend() { CommissionIds = cids, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
//查询所有比例
var rlist = distributor_HPGradeRatioRepository.GetList(new RB_Distributor_HPGradeRatio_Extend() { CommissionIds = cids, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
foreach (var item in list) {
item.CategoryList = clist.Where(x => x.CommissionId == item.Id).ToList();
item.RatioList = rlist.Where(x => x.CommissionId == item.Id).OrderBy(x => x.Grade).ToList();
}
}
return list;
}
/// <summary>
/// 新增修改和平分销
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public bool SetHpDistributorInfo(RB_Distributor_HPCommission_Extend demodel)
{
var trans = distributor_HPCommissionRepository.DbTransaction;
try
{
if (demodel.Id > 0)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Distributor_HPCommission.Enabled),demodel.Enabled},
{ nameof(RB_Distributor_HPCommission.Name),demodel.Name},
{ nameof(RB_Distributor_HPCommission.DecimalType),demodel.DecimalType},
{ nameof(RB_Distributor_HPCommission.UpdateDate),demodel.UpdateDate}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPCommission.Id),
FiledValue=demodel.Id,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPCommission.TenantId),
FiledValue=demodel.TenantId,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPCommission.MallBaseId),
FiledValue=demodel.MallBaseId,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag = distributor_HPCommissionRepository.Update(keyValues, wheres, trans);
if (flag) {
#region 验证比例是否修改
var rlist = distributor_HPGradeRatioRepository.GetList(new RB_Distributor_HPGradeRatio_Extend() { CommissionId = demodel.Id, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
var rUpdateList = rlist.Where(x => demodel.RatioList.Select(z => z.GradeId).Contains(x.GradeId)).ToList();
var rDelList = rlist.Where(x => !demodel.RatioList.Select(z => z.GradeId).Contains(x.GradeId)).ToList();
var rInsertList = demodel.RatioList.Where(x => !rlist.Select(z => z.GradeId).Contains(x.GradeId)).ToList();
foreach (var item in rUpdateList) {
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
{ nameof(RB_Distributor_HPGradeRatio.CommissionRatio),item.CommissionRatio}
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPGradeRatio.Id),
FiledValue=item.Id,
OperatorEnum=OperatorEnum.Equal
}
};
distributor_HPGradeRatioRepository.Update(keyValues1, wheres1, trans);
}
foreach (var item in rDelList) {
distributor_HPGradeRatioRepository.Delete(item, trans);
}
foreach (var item in rInsertList) {
distributor_HPGradeRatioRepository.Insert(new RB_Distributor_HPGradeRatio()
{
CommissionId = demodel.Id,
Id = 0,
CommissionRatio = item.CommissionRatio,
CreateDate = demodel.CreateDate,
GradeId = item.GradeId,
MallBaseId = demodel.MallBaseId,
TenantId = demodel.TenantId
}, trans);
}
#endregion
#region 验证分类是否修改
var clist = distributor_HPCategoryRepository.GetList(new RB_Distributor_HPCategory_Extend() { CommissionId = demodel.Id, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
var cDelList = clist.Where(x => !demodel.CategoryList.Select(z => z.CategoryId).Contains(x.CategoryId)).ToList();
var cInsertList = demodel.CategoryList.Where(x => !clist.Select(z => z.CategoryId).Contains(x.CategoryId)).ToList();
foreach (var item in cDelList) {
distributor_HPCategoryRepository.Delete(item);
}
foreach (var item in cInsertList) {
distributor_HPCategoryRepository.Insert(new RB_Distributor_HPCategory()
{
CategoryId = item.CategoryId,
CommissionId = demodel.Id,
Id = 0,
CreateDate = demodel.CreateDate,
MallBaseId = demodel.MallBaseId,
TenantId = demodel.TenantId
}, trans);
}
#endregion
}
distributor_HPCommissionRepository.DBSession.Commit();
return flag;
}
else
{
int Id = distributor_HPCommissionRepository.Insert(demodel, trans);
if (Id > 0) {
//插入比例
foreach (var item in demodel.RatioList) {
distributor_HPGradeRatioRepository.Insert(new RB_Distributor_HPGradeRatio()
{
CommissionId = Id,
Id = 0,
CommissionRatio = item.CommissionRatio,
CreateDate = demodel.CreateDate,
GradeId = item.GradeId,
MallBaseId = demodel.MallBaseId,
TenantId = demodel.TenantId
}, trans);
}
//插入分类
foreach (var item in demodel.CategoryList) {
distributor_HPCategoryRepository.Insert(new RB_Distributor_HPCategory()
{
CategoryId = item.CategoryId,
CommissionId = Id,
Id = 0,
CreateDate = demodel.CreateDate,
MallBaseId = demodel.MallBaseId,
TenantId = demodel.TenantId
}, trans);
}
}
distributor_HPCommissionRepository.DBSession.Commit();
return Id > 0;
}
}
catch (Exception ex)
{
LogHelper.Write(ex, "SetHpDistributorInfo");
distributor_HPCommissionRepository.DBSession.Rollback();
return false;
}
}
/// <summary>
/// 启用和平分销
/// </summary>
/// <param name="commissionId"></param>
/// <param name="tenantId"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public bool SetGetHpDistrIbutorEnabled(int commissionId, int tenantId, int mallBaseId)
{
var model = distributor_HPCommissionRepository.GetEntity(commissionId);
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Distributor_HPCommission.Enabled),model.Enabled==1?2:1},
{ nameof(RB_Distributor_HPCommission.UpdateDate),DateTime.Now}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPCommission.Id),
FiledValue=commissionId,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPCommission.TenantId),
FiledValue=tenantId,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPCommission.MallBaseId),
FiledValue=mallBaseId,
OperatorEnum=OperatorEnum.Equal
}
};
return distributor_HPCommissionRepository.Update(keyValues, wheres);
}
/// <summary>
/// 获取和平分销是否启用
/// </summary>
/// <param name="tenantId"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public int GetHpDistributorIsEnabled(int tenantId, int mallBaseId)
{
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPCommission.Status),
FiledValue=0,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPCommission.Enabled),
FiledValue=1,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPCommission.TenantId),
FiledValue=tenantId,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPCommission.MallBaseId),
FiledValue=mallBaseId,
OperatorEnum=OperatorEnum.Equal
}
};
return distributor_HPCommissionRepository.Exists(wheres) ? 1 : 2;
}
/// <summary>
/// 删除分销
/// </summary>
/// <param name="commissionId"></param>
/// <param name="tenantId"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public bool DelHpDistributorInfo(int commissionId, int tenantId, int mallBaseId)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Distributor_HPCommission.Status),1},
{ nameof(RB_Distributor_HPCommission.UpdateDate),DateTime.Now}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPCommission.Id),
FiledValue=commissionId,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPCommission.TenantId),
FiledValue=tenantId,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Distributor_HPCommission.MallBaseId),
FiledValue=mallBaseId,
OperatorEnum=OperatorEnum.Equal
}
};
return distributor_HPCommissionRepository.Update(keyValues, wheres);
}
/// <summary>
/// 获取用户和平分销信息
/// </summary>
/// <param name="userId"></param>
/// <param name="tenantId"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public object GetHpUserDistributorInfo(int userId, int tenantId, int mallBaseId)
{
var model = distributor_InfoRepository.GetList(new RB_Distributor_Info_Extend() { UserId = userId, TenantId = tenantId, MallBaseId = mallBaseId }).FirstOrDefault();
if (model == null) {
return new
{
Status = 3,
Msg = "该用户不是分销商"
};
}
if (model.AuditStatus != DistributorAuditStatusEnum.Audited) {
return new
{
Status = 3,
Msg = "该用户不是分销商"
};
}
if ((model.HPGradeId ?? 0) <= 0) {
return new
{
Status = 2,
Msg = "该用户不是和平分销商等级"
};
}
var gmodel = distributor_HPGradeInfoRepository.GetEntity(model.HPGradeId);
var umodel = member_UserRepository.GetEntity(userId);
return new
{
Status = 1,
UserName = umodel?.Name ?? "",
HPGrade = gmodel.Grade,
HPGradeName = gmodel.GradeName
};
}
#endregion
} }
} }
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.User;
using Mall.Model.Extend.User;
using System.Linq;
namespace Mall.Repository.User
{
/// <summary>
/// 和平分销商品分类仓储层
/// </summary>
public class RB_Distributor_HPCategoryRepository : RepositoryBase<RB_Distributor_HPCategory>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Distributor_HPCategory_Extend> GetList(RB_Distributor_HPCategory_Extend dmodel)
{
string where = $@" 1=1 ";
if (dmodel.TenantId > 0)
{
where += $@" and hpc.{nameof(RB_Distributor_HPCategory.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and hpc.{nameof(RB_Distributor_HPCategory.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.CommissionId > 0)
{
where += $@" and hpc.{nameof(RB_Distributor_HPCategory.CommissionId)}={dmodel.CommissionId}";
}
if (!string.IsNullOrEmpty(dmodel.CommissionIds)) {
where += $@" and hpc.{nameof(RB_Distributor_HPCategory.CommissionId)} in({dmodel.CommissionIds})";
}
string sql = $@"select hpc.*,c.Name as CategoryName from RB_Distributor_HPCategory hpc
inner join RB_Product_Category c on hpc.CategoryId=c.Id
where {where} order by hpc.Id desc";
return Get<RB_Distributor_HPCategory_Extend>(sql).ToList();
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.User;
using Mall.Model.Extend.User;
using System.Linq;
namespace Mall.Repository.User
{
/// <summary>
/// 和平分销返佣仓储层
/// </summary>
public class RB_Distributor_HPCommissionRepository : RepositoryBase<RB_Distributor_HPCommission>
{
/// <summary>
/// 分页列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="dmodel">查询条件</param>
/// <returns></returns>
public List<RB_Distributor_HPCommission_Extend> GetPageList(int pageIndex, int pageSize, out long rowCount, RB_Distributor_HPCommission_Extend dmodel)
{
string where = $@" 1=1 and h.{nameof(RB_Distributor_HPCommission.Status)}=0";
if (dmodel.TenantId > 0) {
where += $@" and h.{nameof(RB_Distributor_HPCommission.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0) {
where += $@" and h.{nameof(RB_Distributor_HPCommission.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.Id > 0) {
where += $@" and h.{nameof(RB_Distributor_HPCommission.Id)}={dmodel.Id}";
}
if (dmodel.CategoryId > 0) {
where += $@" and c.{nameof(RB_Distributor_HPCategory.CategoryId)}={dmodel.CategoryId}";
}
if (!string.IsNullOrEmpty(dmodel.CategoryIds)) {
where += $@" and c.{nameof(RB_Distributor_HPCategory.CategoryId)} in({dmodel.CategoryIds})";
}
if (!string.IsNullOrEmpty(dmodel.CategoryIdsT))
{
where += $@" and (c.{nameof(RB_Distributor_HPCategory.CategoryId)} in({dmodel.CategoryIdsT}) or c.{nameof(RB_Distributor_HPCategory.CategoryId)}=-1)";
}
if (!string.IsNullOrEmpty(dmodel.Name)) {
where += $@" and h.{nameof(RB_Distributor_HPCommission.Name)} like '%{dmodel.Name}%'";
}
string sql = $@"select h.* from RB_Distributor_HPCommission h
left join RB_Distributor_HPCategory c on h.Id = c.CommissionId
where {where} group by h.Id order by h.Id desc";
return GetPage<RB_Distributor_HPCommission_Extend>(pageIndex, pageSize, out rowCount, sql).ToList();
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Distributor_HPCommission_Extend> GetList(RB_Distributor_HPCommission_Extend dmodel)
{
string where = $@" 1=1 and h.{nameof(RB_Distributor_HPCommission.Status)}=0";
if (dmodel.TenantId > 0)
{
where += $@" and h.{nameof(RB_Distributor_HPCommission.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and h.{nameof(RB_Distributor_HPCommission.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.Id > 0)
{
where += $@" and h.{nameof(RB_Distributor_HPCommission.Id)}={dmodel.Id}";
}
if (dmodel.CategoryId > 0)
{
where += $@" and c.{nameof(RB_Distributor_HPCategory.CategoryId)}={dmodel.CategoryId}";
}
if (!string.IsNullOrEmpty(dmodel.CategoryIds))
{
where += $@" and c.{nameof(RB_Distributor_HPCategory.CategoryId)} in({dmodel.CategoryId})";
}
if (!string.IsNullOrEmpty(dmodel.CategoryIdsT))
{
where += $@" and (c.{nameof(RB_Distributor_HPCategory.CategoryId)} in({dmodel.CategoryIdsT}) or c.{nameof(RB_Distributor_HPCategory.CategoryId)}=-1)";
}
if (!string.IsNullOrEmpty(dmodel.Name))
{
where += $@" and h.{nameof(RB_Distributor_HPCommission.Name)} like '%{dmodel.Name}%'";
}
string sql = $@"select h.* from RB_Distributor_HPCommission h
left join RB_Distributor_HPCategory c on h.Id = c.CommissionId
where {where} group by h.Id order by h.Id desc";
return Get<RB_Distributor_HPCommission_Extend>(sql).ToList();
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.User;
using Mall.Model.Extend.User;
using System.Linq;
namespace Mall.Repository.User
{
/// <summary>
/// 和平等级仓储层
/// </summary>
public class RB_Distributor_HPGradeInfoRepository : RepositoryBase<RB_Distributor_HPGradeInfo>
{
/// <summary>
/// 分页列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="dmodel">查询条件</param>
/// <returns></returns>
public List<RB_Distributor_HPGradeInfo_Extend> GetPageList(int pageIndex, int pageSize, out long rowCount, RB_Distributor_HPGradeInfo_Extend dmodel)
{
string where = $@" 1=1 and {nameof(RB_Distributor_HPGradeInfo.Status)}=0";
if (dmodel.TenantId > 0) {
where += $@" and {nameof(RB_Distributor_HPGradeInfo.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0) {
where += $@" and {nameof(RB_Distributor_HPGradeInfo.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.Id > 0) {
where += $@" and {nameof(RB_Distributor_HPGradeInfo.Id)}={dmodel.Id}";
}
if (dmodel.Grade > 0) {
where += $@" and {nameof(RB_Distributor_HPGradeInfo.Grade)}={dmodel.Grade}";
}
if (!string.IsNullOrEmpty(dmodel.GradeName)) {
where += $@" and {nameof(RB_Distributor_HPGradeInfo.GradeName)} like '%{dmodel.GradeName}%'";
}
string sql = $@"select * from RB_Distributor_HPGradeInfo where {where} order by Id desc";
return GetPage<RB_Distributor_HPGradeInfo_Extend>(pageIndex, pageSize, out rowCount, sql).ToList();
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Distributor_HPGradeInfo_Extend> GetList(RB_Distributor_HPGradeInfo_Extend dmodel)
{
string where = $@" 1=1 and {nameof(RB_Distributor_HPGradeInfo.Status)}=0";
if (dmodel.TenantId > 0)
{
where += $@" and {nameof(RB_Distributor_HPGradeInfo.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and {nameof(RB_Distributor_HPGradeInfo.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.Id > 0)
{
where += $@" and {nameof(RB_Distributor_HPGradeInfo.Id)}={dmodel.Id}";
}
if (dmodel.Grade > 0)
{
where += $@" and {nameof(RB_Distributor_HPGradeInfo.Grade)}={dmodel.Grade}";
}
if (!string.IsNullOrEmpty(dmodel.GradeName))
{
where += $@" and {nameof(RB_Distributor_HPGradeInfo.GradeName)} like '%{dmodel.GradeName}%'";
}
string sql = $@"select * from RB_Distributor_HPGradeInfo where {where} order by Id desc";
return Get<RB_Distributor_HPGradeInfo_Extend>(sql).ToList();
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.User;
using Mall.Model.Extend.User;
using System.Linq;
namespace Mall.Repository.User
{
/// <summary>
/// 和平分销返佣比例仓储层
/// </summary>
public class RB_Distributor_HPGradeRatioRepository : RepositoryBase<RB_Distributor_HPGradeRatio>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Distributor_HPGradeRatio_Extend> GetList(RB_Distributor_HPGradeRatio_Extend dmodel)
{
string where = $@" 1=1 ";
if (dmodel.TenantId > 0)
{
where += $@" and r.{nameof(RB_Distributor_HPGradeRatio.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and r.{nameof(RB_Distributor_HPGradeRatio.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.CommissionId > 0)
{
where += $@" and r.{nameof(RB_Distributor_HPGradeRatio.CommissionId)}={dmodel.CommissionId}";
}
if (!string.IsNullOrEmpty(dmodel.CommissionIds)) {
where += $@" and r.{nameof(RB_Distributor_HPGradeRatio.CommissionId)} in({dmodel.CommissionIds})";
}
string sql = $@"select r.*,g.Grade,g.GradeName from RB_Distributor_HPGradeRatio r
inner join RB_Distributor_HPGradeInfo g on r.GradeId = g.Id
where {where} order by r.Id desc";
return Get<RB_Distributor_HPGradeRatio_Extend>(sql).ToList();
}
}
}
...@@ -1505,7 +1505,7 @@ namespace Mall.WebApi.Controllers.User ...@@ -1505,7 +1505,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修改备注 int Type = parms.GetInt("Type", 0);//1审核通过 2审核拒绝 3删除分销 4修改等级 5修改备注 6修改和平分销等级
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))
...@@ -2184,5 +2184,258 @@ namespace Mall.WebApi.Controllers.User ...@@ -2184,5 +2184,258 @@ namespace Mall.WebApi.Controllers.User
} }
#endregion #endregion
#region 和平分销
/// <summary>
/// 获取和平分销等级信息列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetHpDistributorGradePageList() {
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(parms.msg.ToString());
RB_Distributor_HPGradeInfo_Extend demodel = JsonConvert.DeserializeObject<RB_Distributor_HPGradeInfo_Extend>(parms.msg.ToString());
demodel.TenantId = Convert.ToInt32(parms.uid);
demodel.MallBaseId = parms.MallBaseId;
var list = userModule.GetHpDistributorGradePageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.Id,
x.Grade,
x.GradeName,
UpdateDate = x.UpdateDate.HasValue ? x.UpdateDate.Value.ToString("yyyy-MM-dd") : ""
});
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 获取和平分销等级信息列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetHpDistributorGradeList()
{
var parms = RequestParm;
RB_Distributor_HPGradeInfo_Extend demodel = JsonConvert.DeserializeObject<RB_Distributor_HPGradeInfo_Extend>(parms.msg.ToString());
demodel.TenantId = Convert.ToInt32(parms.uid);
demodel.MallBaseId = parms.MallBaseId;
var list = userModule.GetHpDistributorGradeList(demodel);
return ApiResult.Success("", list.Select(x => new
{
x.Id,
x.GradeName
}));
}
/// <summary>
/// 新增修改等级
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetHpDistributorGradeInfo() {
var req = RequestParm;
RB_Distributor_HPGradeInfo_Extend demodel = JsonConvert.DeserializeObject<RB_Distributor_HPGradeInfo_Extend>(req.msg.ToString());
if (string.IsNullOrEmpty(demodel.GradeName)) {
return ApiResult.ParamIsNull("等级名称");
}
if ((demodel.Grade ?? 0) <= 0) {
return ApiResult.ParamIsNull("请选择等级");
}
demodel.TenantId = req.TenantId;
demodel.MallBaseId = req.MallBaseId;
demodel.Status = 0;
demodel.CreateDate = DateTime.Now;
demodel.UpdateDate = DateTime.Now;
bool flag = userModule.SetHpDistributorGradeInfo(demodel);
if (flag)
{
return ApiResult.Success();
}
else {
return ApiResult.Failed();
}
}
/// <summary>
/// 删除等级
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DelHpDistributorGradeInfo() {
var req = RequestParm;
JObject parms = JObject.Parse(req.msg.ToString());
int GradeId = parms.GetInt("GradeId", 0);
if (GradeId <= 0) {
return ApiResult.ParamIsNull();
}
bool flag = userModule.DelHpDistributorGradeInfo(GradeId, req.TenantId, req.MallBaseId);
if (flag)
{
return ApiResult.Success();
}
else {
return ApiResult.Failed();
}
}
/// <summary>
/// 获取和平分销返佣分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetHpDistributorPageList() {
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(parms.msg.ToString());
RB_Distributor_HPCommission_Extend demodel = JsonConvert.DeserializeObject<RB_Distributor_HPCommission_Extend>(parms.msg.ToString());
demodel.TenantId = Convert.ToInt32(parms.uid);
demodel.MallBaseId = parms.MallBaseId;
var list = userModule.GetHpDistributorPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.Id,
x.Name,
x.DecimalType,
x.Enabled,
CategoryList = x.CategoryList.Select(y=>new {
y.Id,
y.CategoryId,
y.CategoryName
}),
RatioList = x.RatioList.Select(z=>new {
z.Id,
z.GradeId,
z.GradeName,
z.CommissionRatio
}),
UpdateDate = x.UpdateDate.HasValue ? x.UpdateDate.Value.ToString("yyyy-MM-dd") : ""
});
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 新增修改和平分销返佣
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetHpDistributorInfo() {
var req = RequestParm;
RB_Distributor_HPCommission_Extend demodel = JsonConvert.DeserializeObject<RB_Distributor_HPCommission_Extend>(req.msg.ToString());
if (string.IsNullOrEmpty(demodel.Name)) {
return ApiResult.ParamIsNull("请传递和平分销返佣名称");
}
if ((demodel.DecimalType ?? 0) <= 0) {
return ApiResult.ParamIsNull("请选择小数类型");
}
if (demodel.RatioList == null || !demodel.RatioList.Any()) {
return ApiResult.ParamIsNull("请选择返佣等级");
}
foreach (var item in demodel.RatioList) {
if (item.GradeId <= 0) {
return ApiResult.ParamIsNull("请传递等级id");
}
if ((item.CommissionRatio ?? 0) <= 0) {
return ApiResult.ParamIsNull("请传递等级返佣比例");
}
if (item.CommissionRatio > 100) {
return ApiResult.ParamIsNull("返佣比例有误,不能大于100");
}
}
demodel.TenantId = req.TenantId;
demodel.MallBaseId = req.MallBaseId;
demodel.Enabled ??= 2;
demodel.Status = 0;
demodel.CreateDate = DateTime.Now;
demodel.UpdateDate = DateTime.Now;
bool flag = userModule.SetHpDistributorInfo(demodel);
if (flag) { return ApiResult.Success(); } else { return ApiResult.Failed(); }
}
/// <summary>
/// 和平分销启用
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetGetHpDistributorEnabled() {
var req = RequestParm;
JObject prams = JObject.Parse(req.msg.ToString());
int CommissionId = prams.GetInt("CommissionId", 0);
if (CommissionId <= 0) {
return ApiResult.ParamIsNull();
}
bool flag = userModule.SetGetHpDistrIbutorEnabled(CommissionId, req.TenantId, req.MallBaseId);
if (flag)
{
return ApiResult.Success();
}
else {
return ApiResult.Failed();
}
}
/// <summary>
/// 获取和平分销是否启用
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetHpDistributorIsEnabled() {
var req = RequestParm;
int enabled = userModule.GetHpDistributorIsEnabled(req.TenantId, req.MallBaseId);
return ApiResult.Success("", enabled);
}
/// <summary>
/// 删除和平分销
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DelHpDistributorInfo() {
var req = RequestParm;
JObject prams = JObject.Parse(req.msg.ToString());
int CommissionId = prams.GetInt("CommissionId", 0);
if (CommissionId <= 0)
{
return ApiResult.ParamIsNull();
}
bool flag = userModule.DelHpDistributorInfo(CommissionId, req.TenantId, req.MallBaseId);
if (flag)
{
return ApiResult.Success();
}
else
{
return ApiResult.Failed();
}
}
/// <summary>
/// 获取和平分销用户信息
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetHpUserDistributorInfo() {
var req = RequestParm;
JObject parms = JObject.Parse(req.msg.ToString());
int UserId = parms.GetInt("UserId", 0);
if (UserId <= 0) {
return ApiResult.ParamIsNull();
}
var obj = userModule.GetHpUserDistributorInfo(UserId, req.TenantId, req.MallBaseId);
return ApiResult.Success("", obj);
}
#endregion
} }
} }
\ No newline at end of file
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