Commit 98ea760f authored by liudong1993's avatar liudong1993

分销商

parent 6b8088f3
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Mall.Common.Enum.User
{
/// <summary>
/// 分销商等级升级条件枚举
/// </summary>
public enum DistrbutorGradeUpdateEnum
{
/// <summary>
/// 下线用户数
/// </summary>
[EnumField("下线用户数")]
XXYHS = 1,
/// <summary>
/// 累计佣金
/// </summary>
[EnumField("累计佣金")]
LJYJ = 2,
/// <summary>
/// 已提现佣金
/// </summary>
[EnumField("已提现佣金")]
YTXYJ = 3
}
}
......@@ -105,7 +105,7 @@ namespace Mall.Model.Entity.User
/// <summary>
/// 分销商等级入口图片
/// </summary>
public string GradeEntranceimage { get; set; }
public string GradeEntranceImage { get; set; }
/// <summary>
/// 提现方式 枚举
/// </summary>
......
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_Grade
{
/// <summary>
/// Id
/// </summary>
public int Id
{
get;
set;
}
/// <summary>
/// 等级
/// </summary>
public int? Grade
{
get;
set;
}
/// <summary>
/// 等级名称
/// </summary>
public string Name
{
get;
set;
}
/// <summary>
/// 是否自动升级 1是 2否
/// </summary>
public int? IsAutoUpGrade
{
get;
set;
}
/// <summary>
/// 升级条件 枚举
/// </summary>
public DistrbutorGradeUpdateEnum? UpGradeCondition
{
get;
set;
}
/// <summary>
/// 下线数量
/// </summary>
public int? ReferralsNumber
{
get;
set;
}
/// <summary>
/// 累计佣金
/// </summary>
public decimal? TotalCommission
{
get;
set;
}
/// <summary>
/// 已提现佣金
/// </summary>
public decimal? CommissionWithdrawn
{
get;
set;
}
/// <summary>
/// 分销佣金类型 1百分比 2固定金额
/// </summary>
public int? DistributionCommissionType
{
get;
set;
}
/// <summary>
/// 一级佣金
/// </summary>
public decimal? OneCommission
{
get;
set;
}
/// <summary>
/// 二级佣金
/// </summary>
public decimal? TwoCommission
{
get;
set;
}
/// <summary>
/// 三级级佣金
/// </summary>
public decimal? ThreeCommission
{
get;
set;
}
/// <summary>
/// 是否启用 1是 2否
/// </summary>
public int? Enabled
{
get;
set;
}
/// <summary>
/// 等级说明
/// </summary>
public string GradeExplain
{
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_Info
{
/// <summary>
/// Id
/// </summary>
public int Id
{
get;
set;
}
/// <summary>
/// 用户id
/// </summary>
public int? UserId
{
get;
set;
}
/// <summary>
/// 姓名
/// </summary>
public string Name
{
get;
set;
}
/// <summary>
/// 总计佣金
/// </summary>
public decimal? TotalCommission
{
get;
set;
}
/// <summary>
/// 可提现佣金
/// </summary>
public decimal? CommissionWithdrawal
{
get;
set;
}
/// <summary>
/// 分销商等级id
/// </summary>
public int? GradeId
{
get;
set;
}
/// <summary>
/// 审核状态 1审核中 2通过 3拒绝
/// </summary>
public int? AuditStatus
{
get;
set;
}
/// <summary>
/// 审核时间
/// </summary>
public DateTime? AuditDate
{
get;
set;
}
/// <summary>
/// 备注
/// </summary>
public string Remark
{
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_Remit
{
/// <summary>
/// Id
/// </summary>
public int? Id
{
get;
set;
}
/// <summary>
/// 用户id
/// </summary>
public int? UserId
{
get;
set;
}
/// <summary>
/// 提现方式 枚举
/// </summary>
public int? WithdrawalWay
{
get;
set;
}
/// <summary>
/// 申请金额
/// </summary>
public decimal? AppliedMoney
{
get;
set;
}
/// <summary>
/// 手续费
/// </summary>
public decimal? Fee
{
get;
set;
}
/// <summary>
/// 打款金额
/// </summary>
public decimal? RemitMoney
{
get;
set;
}
/// <summary>
/// 审核状态 1申请中 2同意申请,待打款 3已打款 4拒绝
/// </summary>
public int? AuditStatus
{
get;
set;
}
/// <summary>
/// 审核时间
/// </summary>
public DateTime? AuditDate
{
get;
set;
}
/// <summary>
/// 打款时间
/// </summary>
public DateTime? RemitDate
{
get;
set;
}
/// <summary>
/// 审核备注
/// </summary>
public string AuditRemark
{
get;
set;
}
/// <summary>
/// 打款备注
/// </summary>
public string RemitRemark
{
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>
/// 账户名称
/// </summary>
public string AccountName
{
get;
set;
}
/// <summary>
/// 账户号码
/// </summary>
public string AccountNumber
{
get;
set;
}
}
}
......@@ -147,6 +147,10 @@ namespace Mall.Model.Entity.User
set;
}
/// <summary>
/// 是否是分销商 1是 2否
/// </summary>
public int IsDistributor { get; set; }
/// <summary>
/// 联系方式
/// </summary>
public string ContactWay
......
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_Grade_Extend : RB_Distributor_Grade
{
/// <summary>
/// 等级ids
/// </summary>
public string GradeIds { get; set; }
}
}
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.User;
using Mall.Common.Enum.User;
namespace Mall.Model.Extend.User
{
/// <summary>
/// 分销商表扩展实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Distributor_Info_Extend : RB_Distributor_Info
{
/// <summary>
/// 来自于自主申请 1是
/// </summary>
public int? IsFormSelfApplication { get; set; }
/// <summary>
/// 用户来源
/// </summary>
public UserSourceEnum? Source { get; set; }
/// <summary>
/// 昵称
/// </summary>
public string NickName { get; set; }
/// <summary>
/// 头像
/// </summary>
public string Photo { get; set; }
/// <summary>
/// 手机
/// </summary>
public string Mobile { get; set; }
/// <summary>
/// 等级名称
/// </summary>
public string GradeName { get; set; }
/// <summary>
/// 上级id
/// </summary>
public int? SuperiorId { get; set; }
/// <summary>
/// 上级名称
/// </summary>
public string SuperiorName { get; set; }
/// <summary>
/// 一级分销数量
/// </summary>
public int? OneNum { get; set; }
/// <summary>
/// 二级分销数量
/// </summary>
public int? TwoNum { get; set; }
/// <summary>
/// 三级分销数量
/// </summary>
public int? ThreeNum { get; set; }
/// <summary>
/// 用户ids
/// </summary>
public string UserIds { get; set; }
}
}
......@@ -22,5 +22,15 @@ namespace Mall.Model.Extend.User
/// 导出枚举ids
/// </summary>
public List<int> ExcelEnumIds { get; set; }
/// <summary>
/// 用户ids
/// </summary>
public string UserIds { get; set; }
/// <summary>
/// 下线数量
/// </summary>
public int? ReferralsNum { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Mall.Common;
using Mall.Common.Plugin;
using Mall.Model.Entity.User;
using Mall.Model.Extend.User;
using Mall.Repository;
using Mall.Repository.User;
using Mall.Repository.Product;
using Mall.Model.Extend.Product;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.Json;
namespace Mall.Module.User
{
/// <summary>
/// 商户用户公共处理层
/// </summary>
public class UserCommonModule
{
/// <summary>
/// 分销基础配置
/// </summary>
private readonly RB_Distributor_BasicsRepository distributor_BasicsRepository = new RB_Distributor_BasicsRepository();
/// <summary>
/// 分销自定义设置
/// </summary>
private readonly RB_Distributor_CustomRepository distributor_CustomRepository = new RB_Distributor_CustomRepository();
/// <summary>
/// 初始化分销基础配置
/// </summary>
/// <param name="TenantId"></param>
/// <param name="MallBaseId"></param>
/// <returns></returns>
public bool InitializeDistributorBasicsInfo(int TenantId,int MallBaseId)
{
var OModel = distributor_BasicsRepository.GetList(new RB_Distributor_Basics_Extend() { TenantId = TenantId, MallBaseId = MallBaseId }).FirstOrDefault();
if (OModel == null)
{
string GradeEntranceImage = new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("InitializeImages")["GradeEntranceImage"];
return distributor_BasicsRepository.Insert(new RB_Distributor_Basics()
{
Id = 0,
ApplicationProtocol = "",
ApplyFor = Common.Enum.User.DistributorApplyForEnum.TX,
BackgroundImage = 0,
CreateDate = DateTime.Now,
DailyWithdrawalLimit = -1,
DistributorCommissionType = 1,
DistributorCondition = Common.Enum.User.DistributorConditionEnum.WTJ,
DistributorTier = 1,
GradeEntrance = 1,
GradeEntranceImage = GradeEntranceImage,
IndexImage = 0,
InPurchasing = 1,
MallBaseId = MallBaseId,
MinimumWithdrawalLimit = 50,
OneCommission = 0,
ReferralsCondition = Common.Enum.User.DistrbutorReferralsEnum.SCDJ,
TenantId = TenantId,
ThreeCommission = 0,
TwoCommission = 0,
UpdateDate = DateTime.Now,
UserNotes = "",
WithdrawFee = 0,
WithdrawWay = Common.Enum.User.DistrbutorWithdrawWayEnum.ZDDK
}) > 0;
}
else {
return true;
}
}
/// <summary>
/// 初始化分销自定义
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public bool InitializeDistributorCustomInfo(int TenantId, int MallBaseId)
{
var OModel = distributor_CustomRepository.GetList(new RB_Distributor_Custom_Extend() { TenantId = TenantId, MallBaseId = MallBaseId }).FirstOrDefault();
if (OModel != null)
{
return distributor_CustomRepository.Insert(new RB_Distributor_Custom()
{
Id = 0,
ApplicationAgreement = "分销申请协议",
HeadImage = 1,
BottomImage = 2,
ButtonColor = "#FF4544",
ButtonFilletPX = 40,
ButtonText = "申请成为分销商",
ButtonTextColor = "#FFFFFF",
DistributionApplication = "分销申请",
DistributionCommissionName = "分销佣金",
DistributionCommissionImage = 3,
DistributionOrderName = "分销订单",
DistributionOrderImage = 4,
WithdrawDetialsName = "提现明细",
WithdrawDetialsImage = 5,
MyTeamName = "我的团队",
MyTeamImage = 6,
PromoteQRCodeName = "推广二维码",
PromoteQRCodeImage = 7,
ReferrerName = "推荐人",
CommissionForWithdrawalName = "可提现佣金",
WithdrawDepositName = "提现",
CommissionWithdrawnName = "已提现佣金",
OutstandingCommissionName = "未结算佣金",
DistributorName = "分销商",
CommissionTobePaidName = "待打款佣金",
UserNotesName = "用户须知",
IWantToWithdrawName = "我要提现",
WithdrawalAmountName = "提现金额",
WithdrawalWayName = "提现方式",
OneDistributionName = "一级分销名称",
TwoDistributionName = "二级分销名称",
ThreeDistributionName = "三级分销名称",
CreateDate = DateTime.Now,
MallBaseId = MallBaseId,
TenantId = TenantId,
UpdateDate = DateTime.Now
}) > 0;
}
else {
return true;
}
}
}
}
......@@ -10,6 +10,8 @@ using Mall.Repository;
using Mall.Repository.User;
using Mall.Repository.Product;
using Mall.Model.Extend.Product;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.Json;
namespace Mall.Module.User
{
......@@ -46,6 +48,18 @@ namespace Mall.Module.User
/// 分销基础配置
/// </summary>
private readonly RB_Distributor_BasicsRepository distributor_BasicsRepository = new RB_Distributor_BasicsRepository();
/// <summary>
/// 分销自定义设置
/// </summary>
private readonly RB_Distributor_CustomRepository distributor_CustomRepository = new RB_Distributor_CustomRepository();
/// <summary>
/// 分销商等级
/// </summary>
private readonly RB_Distributor_GradeRepository distributor_GradeRepository = new RB_Distributor_GradeRepository();
/// <summary>
/// 分销商
/// </summary>
private readonly RB_Distributor_InfoRepository distributor_InfoRepository = new RB_Distributor_InfoRepository();
/// <summary>
......@@ -78,6 +92,19 @@ namespace Mall.Module.User
return list;
}
/// <summary>
/// 获取下拉列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Member_User_Extend> GetMemberUserDropDownList(int pageIndex, int pageSize, out long count, RB_Member_User_Extend demodel)
{
return member_UserRepository.GetMemberUserDropDownList(pageIndex, pageSize, out count, demodel);
}
/// <summary>
/// 获取用户信息
/// </summary>
......@@ -337,6 +364,24 @@ namespace Mall.Module.User
}
}
/// <summary>
/// 获取会员等级
/// </summary>
/// <param name="gradeId"></param>
/// <returns></returns>
public RB_Member_Grade_Extend GetMemberGradeInfo(int gradeId)
{
var model = member_GradeRepository.GetEntity(gradeId).RefMapperTo<RB_Member_Grade_Extend>();
if (model == null)
{
return new RB_Member_Grade_Extend();
}
model.EquityList = member_EquityRepository.GetList(new RB_Member_Equity_Extend() { GradeId = model.Id });
model.IconPath = material_InfoRepository.GetEntity(model.Icon)?.Path ?? "";
model.BackgroundImagePath = material_InfoRepository.GetEntity(model.BackgroundImage)?.Path ?? "";
return model;
}
/// <summary>
/// 删除会员等级
/// </summary>
......@@ -473,6 +518,7 @@ namespace Mall.Module.User
/// <returns></returns>
public bool SetDistributorBasicsInfo(RB_Distributor_Basics_Extend demodel)
{
demodel.GradeEntranceImage = new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("InitializeImages")["GradeEntranceImage"];
var OModel = distributor_BasicsRepository.GetList(new RB_Distributor_Basics_Extend() { TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId }).FirstOrDefault();
if (OModel != null)
{
......@@ -488,7 +534,7 @@ namespace Mall.Module.User
{ nameof(RB_Distributor_Basics.TwoCommission),demodel.TwoCommission},
{ nameof(RB_Distributor_Basics.ThreeCommission),demodel.ThreeCommission},
{ nameof(RB_Distributor_Basics.GradeEntrance),demodel.GradeEntrance},
{ nameof(RB_Distributor_Basics.GradeEntranceimage),demodel.GradeEntranceimage},
{ nameof(RB_Distributor_Basics.GradeEntranceImage),demodel.GradeEntranceImage},
{ nameof(RB_Distributor_Basics.WithdrawWay),demodel.WithdrawWay},
{ nameof(RB_Distributor_Basics.MinimumWithdrawalLimit),demodel.MinimumWithdrawalLimit},
{ nameof(RB_Distributor_Basics.DailyWithdrawalLimit),demodel.DailyWithdrawalLimit},
......@@ -540,6 +586,12 @@ namespace Mall.Module.User
return model;
}
/// <summary>
/// 获取分销基础信息
/// </summary>
/// <param name="uid"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public RB_Distributor_Basics_Extend GetDistributorBasicsInfo(string uid, int mallBaseId)
{
var model = distributor_BasicsRepository.GetList(new RB_Distributor_Basics_Extend() { TenantId = Convert.ToInt32(uid), MallBaseId = mallBaseId }).FirstOrDefault();
......@@ -551,5 +603,426 @@ namespace Mall.Module.User
model.BackgroundImagePath = material_InfoRepository.GetEntity(model.BackgroundImage)?.Path ?? "";
return model;
}
/// <summary>
/// 设置分销自定义
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public bool SetDistributorCustomInfo(RB_Distributor_Custom_Extend demodel)
{
var OModel = distributor_CustomRepository.GetList(new RB_Distributor_Custom_Extend() { TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId }).FirstOrDefault();
if (OModel != null)
{
demodel.Id = OModel.Id;
Dictionary<string, object> keyValuePairs = new Dictionary<string, object>() {
{ nameof(RB_Distributor_Custom.HeadImage),demodel.HeadImage},
{ nameof(RB_Distributor_Custom.BottomImage),demodel.BottomImage},
{ nameof(RB_Distributor_Custom.DistributionApplication),demodel.DistributionApplication},
{ nameof(RB_Distributor_Custom.ApplicationAgreement),demodel.ApplicationAgreement},
{ nameof(RB_Distributor_Custom.ButtonFilletPX),demodel.ButtonFilletPX},
{ nameof(RB_Distributor_Custom.ButtonText),demodel.ButtonText},
{ nameof(RB_Distributor_Custom.ButtonColor),demodel.ButtonColor},
{ nameof(RB_Distributor_Custom.ButtonTextColor),demodel.ButtonTextColor},
{ nameof(RB_Distributor_Custom.DistributionCommissionName),demodel.DistributionCommissionName},
{ nameof(RB_Distributor_Custom.DistributionCommissionImage),demodel.DistributionCommissionImage},
{ nameof(RB_Distributor_Custom.DistributionOrderName),demodel.DistributionOrderName},
{ nameof(RB_Distributor_Custom.DistributionOrderImage),demodel.DistributionOrderImage},
{ nameof(RB_Distributor_Custom.WithdrawDetialsName),demodel.WithdrawDetialsName},
{ nameof(RB_Distributor_Custom.WithdrawDetialsImage),demodel.WithdrawDetialsImage},
{ nameof(RB_Distributor_Custom.MyTeamName),demodel.MyTeamName},
{ nameof(RB_Distributor_Custom.MyTeamImage),demodel.MyTeamImage},
{ nameof(RB_Distributor_Custom.PromoteQRCodeName),demodel.PromoteQRCodeName},
{ nameof(RB_Distributor_Custom.PromoteQRCodeImage),demodel.PromoteQRCodeImage},
{ nameof(RB_Distributor_Custom.ReferrerName),demodel.ReferrerName},
{ nameof(RB_Distributor_Custom.CommissionForWithdrawalName),demodel.CommissionForWithdrawalName},
{ nameof(RB_Distributor_Custom.WithdrawDepositName),demodel.WithdrawDepositName},
{ nameof(RB_Distributor_Custom.CommissionWithdrawnName),demodel.CommissionWithdrawnName},
{ nameof(RB_Distributor_Custom.OutstandingCommissionName),demodel.OutstandingCommissionName},
{ nameof(RB_Distributor_Custom.DistributorName),demodel.DistributorName},
{ nameof(RB_Distributor_Custom.CommissionTobePaidName),demodel.CommissionTobePaidName},
{ nameof(RB_Distributor_Custom.UserNotesName),demodel.UserNotesName},
{ nameof(RB_Distributor_Custom.IWantToWithdrawName),demodel.IWantToWithdrawName},
{ nameof(RB_Distributor_Custom.WithdrawalAmountName),demodel.WithdrawalAmountName},
{ nameof(RB_Distributor_Custom.WithdrawalWayName),demodel.WithdrawalWayName},
{ nameof(RB_Distributor_Custom.OneDistributionName),demodel.OneDistributionName},
{ nameof(RB_Distributor_Custom.TwoDistributionName),demodel.TwoDistributionName},
{ nameof(RB_Distributor_Custom.ThreeDistributionName),demodel.ThreeDistributionName},
{ nameof(RB_Distributor_Custom.UpdateDate),demodel.UpdateDate}
};
List<WhereHelper> whereHelpers = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Distributor_Custom.Id),
FiledValue=demodel.Id,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Distributor_Custom.TenantId),
FiledValue=demodel.TenantId,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Distributor_Custom.MallBaseId),
FiledValue=demodel.MallBaseId,
OperatorEnum=OperatorEnum.Equal
}
};
return distributor_CustomRepository.Update(keyValuePairs, whereHelpers);
}
else
{
return distributor_CustomRepository.Insert(demodel) > 0;
}
}
/// <summary>
/// 获取分销自定义信息
/// </summary>
/// <param name="uid"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public RB_Distributor_Custom_Extend GetDistributorCustomInfo(string uid, int mallBaseId)
{
var model = distributor_CustomRepository.GetList(new RB_Distributor_Custom_Extend() { TenantId = Convert.ToInt32(uid), MallBaseId = mallBaseId }).FirstOrDefault();
if (model == null)
{
return new RB_Distributor_Custom_Extend();
}
model.BottomImagePath = material_InfoRepository.GetEntity(model.BottomImage)?.Path ?? "";
model.DistributionCommissionImagePath = material_InfoRepository.GetEntity(model.DistributionCommissionImage)?.Path ?? "";
model.DistributionOrderImagePath = material_InfoRepository.GetEntity(model.DistributionOrderImage)?.Path ?? "";
model.HeadImagePath = material_InfoRepository.GetEntity(model.HeadImage)?.Path ?? "";
model.MyTeamImagePath = material_InfoRepository.GetEntity(model.MyTeamImage)?.Path ?? "";
model.PromoteQRCodeImagePath = material_InfoRepository.GetEntity(model.PromoteQRCodeImage)?.Path ?? "";
model.WithdrawDetialsImagePath = material_InfoRepository.GetEntity(model.WithdrawDetialsImage)?.Path ?? "";
return model;
}
/// <summary>
/// 获取等级分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Distributor_Grade_Extend> GetDistributorGradePageList(int pageIndex, int pageSize, out long count, RB_Distributor_Grade_Extend demodel)
{
var list= distributor_GradeRepository.GetPageList(pageIndex, pageSize, out count, demodel);
//获取分销商基础
var bmodel = GetDistributorBasicsInfo(demodel.TenantId.ToString(), demodel.MallBaseId);
if (bmodel != null) {
switch (bmodel.DistributorTier) {
case 0:
foreach (var item in list)
{
item.OneCommission = -1;
item.TwoCommission = -1;
item.ThreeCommission = -1;
}
break;
case 1:
foreach (var item in list)
{
item.TwoCommission = -1;
item.ThreeCommission = -1;
}
break;
case 2:
foreach (var item in list)
{
item.ThreeCommission = -1;
}
break;
}
}
return list;
}
/// <summary>
/// 新增修改分销商等级
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public bool SetDistributorGradeInfo(RB_Distributor_Grade_Extend demodel)
{
if (demodel.Id > 0)
{
var model = distributor_GradeRepository.GetEntity(demodel.Id);
if (model == null)
{
return false;
}
if (model.TenantId != demodel.TenantId)
{
return false;
}
if (model.MallBaseId != demodel.MallBaseId)
{
return false;
}
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Distributor_Grade.CommissionWithdrawn),demodel.CommissionWithdrawn},
{ nameof(RB_Distributor_Grade.DistributionCommissionType),demodel.DistributionCommissionType},
{ nameof(RB_Distributor_Grade.Enabled),demodel.Enabled},
{ nameof(RB_Distributor_Grade.Grade),demodel.Grade},
{ nameof(RB_Distributor_Grade.GradeExplain),demodel.GradeExplain},
{ nameof(RB_Distributor_Grade.IsAutoUpGrade),demodel.IsAutoUpGrade},
{ nameof(RB_Distributor_Grade.Name),demodel.Name},
{ nameof(RB_Distributor_Grade.OneCommission),demodel.OneCommission},
{ nameof(RB_Distributor_Grade.ReferralsNumber),demodel.ReferralsNumber},
{ nameof(RB_Distributor_Grade.ThreeCommission),demodel.ThreeCommission},
{ nameof(RB_Distributor_Grade.TotalCommission),demodel.TotalCommission},
{ nameof(RB_Distributor_Grade.TwoCommission),demodel.TwoCommission},
{ nameof(RB_Distributor_Grade.UpGradeCondition),demodel.UpGradeCondition},
{ nameof(RB_Distributor_Grade.UpdateDate),demodel.UpdateDate}
};
List<WhereHelper> whereHelpers = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Distributor_Grade.Id),
FiledValue=demodel.Id,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag = distributor_GradeRepository.Update(keyValues, whereHelpers);
if (flag) {
if (model.Enabled == 1 && demodel.Enabled == 2)
{
//由启用设置为停用 需更新该等级下的用户为默认等级
member_UserRepository.UpdateMemberGrade(GradeId: demodel.Id, DefaultGId: 0, demodel.TenantId, demodel.MallBaseId);
}
}
return flag;
}
else {
return distributor_GradeRepository.Insert(demodel) > 0;
}
}
/// <summary>
/// 删除
/// </summary>
/// <param name="gradeId"></param>
/// <param name="uid"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public bool DelDistributorGradeInfo(int gradeId, string uid, int mallBaseId)
{
var gmodel = distributor_GradeRepository.GetEntity(gradeId);
if (gmodel == null) {
return false;
}
if (gmodel.TenantId != Convert.ToInt32(uid)) {
return false;
}
if (gmodel.MallBaseId != mallBaseId) {
return false;
}
if (gmodel.Enabled == 1) {
return false;
}
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Distributor_Grade.Status),1},
{ nameof(RB_Distributor_Grade.UpdateDate),DateTime.Now}
};
List<WhereHelper> whereHelpers = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Distributor_Grade.Id),
FiledValue=gradeId,
OperatorEnum=OperatorEnum.Equal
}
};
return distributor_GradeRepository.Update(keyValues, whereHelpers);
}
/// <summary>
/// 获取分销商等级信息
/// </summary>
/// <param name="gradeId"></param>
/// <returns></returns>
public RB_Distributor_Grade GetDistributorGradeInfo(int gradeId)
{
return distributor_GradeRepository.GetEntity(gradeId);
}
/// <summary>
/// 获取分销商分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Distributor_Info_Extend> GetDistributorInfoPageList(int pageIndex, int pageSize, out long count, RB_Distributor_Info_Extend demodel)
{
var list = distributor_InfoRepository.GetPageList(pageIndex, pageSize, out count, demodel);
if (list.Any()) {
//查询分销商等级
string gradeIds = string.Join(",", list.Where(x => x.GradeId > 0).Select(x => x.GradeId ?? 0).Distinct());
List<RB_Distributor_Grade_Extend> GradeList = new List<RB_Distributor_Grade_Extend>();
if (!string.IsNullOrEmpty(gradeIds))
{
GradeList = distributor_GradeRepository.GetList(new RB_Distributor_Grade_Extend() { GradeIds = gradeIds, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
}
//查询推荐人列表
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>();
if (!string.IsNullOrEmpty(tjrIds)) {
UserList = member_UserRepository.GetList(new RB_Member_User_Extend() { UserIds = tjrIds, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
}
//根据基础配置层级查询下级数量 暂放弃
//var basmdoel = GetDistributorBasicsInfo(demodel.TenantId.ToString(), demodel.MallBaseId);
//if (basmdoel != null && basmdoel.DistributorTier > 0) {
string uids = string.Join(",", list.Select(x => x.UserId ?? 0));
List<RB_Member_User_Extend> UserNum1List = member_UserRepository.GetDistributorReferralsNum(uids, tier: 1, tenantId: demodel.TenantId, mallBaseId: demodel.MallBaseId);//直接查询三级
List<RB_Member_User_Extend> UserNum2List = member_UserRepository.GetDistributorReferralsNum(uids, tier: 2, tenantId: demodel.TenantId, mallBaseId: demodel.MallBaseId);//直接查询三级
List<RB_Member_User_Extend> UserNum3List = member_UserRepository.GetDistributorReferralsNum(uids, tier: 3, tenantId: demodel.TenantId, mallBaseId: demodel.MallBaseId);//直接查询三级
foreach (var item in list) {
if (item.GradeId == 0)
{
item.GradeName = "默认等级";
}
else if (item.GradeId > 0)
{
item.GradeName = GradeList.Where(x => x.Id == item.GradeId).FirstOrDefault()?.Name ?? "";
}
if (item.SuperiorId == 0)
{
item.SuperiorName = "总店";
}
else if (item.SuperiorId > 0) {
item.SuperiorName = UserList.Where(x => x.Id == item.SuperiorId).FirstOrDefault()?.Name ?? "";
}
item.OneNum = 0;
if (UserNum1List.Any()) {
item.OneNum = UserNum1List.Where(x => x.SuperiorId == item.UserId).FirstOrDefault()?.ReferralsNum ?? 0;
}
item.TwoNum = 0;
if (UserNum1List.Any())
{
item.TwoNum = UserNum2List.Where(x => x.SuperiorId == item.UserId).FirstOrDefault()?.ReferralsNum ?? 0;
}
item.ThreeNum = 0;
if (UserNum1List.Any())
{
item.ThreeNum = UserNum3List.Where(x => x.SuperiorId == item.UserId).FirstOrDefault()?.ReferralsNum ?? 0;
}
}
}
return list;
}
/// <summary>
/// 新增分销商
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public bool SetDistributorInfo(RB_Distributor_Info_Extend demodel)
{
demodel.TotalCommission ??= 0;
demodel.CommissionWithdrawal ??= 0;
demodel.Name ??= "";
demodel.GradeId ??= 0;
demodel.AuditStatus = 1;
return distributor_InfoRepository.Insert(demodel) > 0;
}
/// <summary>
/// 验证分销商
/// </summary>
/// <param name="userId"></param>
/// <param name="tenantId"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public string ValidateDistributorInfo(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 "";
}
if (model.AuditStatus == 3)
{
return "已被拒绝,无法再次申请";
}
else if (model.AuditStatus == 1)
{
return "申请正在审核中,无法再次申请";
}
else if (model.AuditStatus == 2)
{
return "已经成为分销商,无法再次申请";
}
return "";
}
/// <summary>
/// 分销商审核+修改等级
/// </summary>
/// <param name="userIds"></param>
/// <param name="type"></param>
/// <param name="newGradeId"></param>
/// <param name="remark"></param>
/// <param name="uid"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public string SetDistributorAudit(string userIds, int type, int newGradeId,string remark, string uid, int mallBaseId)
{
var trans = distributor_InfoRepository.DbTransaction;
try
{
if (type == 1)
{
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 != 1)
{
return "用户ID:" + item.UserId + " 不是未审核状态,无法通过";
}
}
//批量修改状态
foreach (var item in list)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Distributor_Info.AuditStatus),2},
{ nameof(RB_Distributor_Info.AuditDate),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);
if (flag)
{
//修改用户表状态
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
{ nameof(RB_Member_User.IsDistributor),1}
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Member_User.Id),
FiledValue=item.UserId,
OperatorEnum=OperatorEnum.Equal
}
};
member_UserRepository.Update(keyValues1, wheres1, trans);
}
}
}
}
catch (Exception)
{
throw;
}
return "";
}
}
}
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_GradeRepository : RepositoryBase<RB_Distributor_Grade>
{
/// <summary>
/// 分页列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="dmodel">查询条件</param>
/// <returns></returns>
public List<RB_Distributor_Grade_Extend> GetPageList(int pageIndex, int pageSize, out long rowCount, RB_Distributor_Grade_Extend dmodel)
{
string where = $@" 1=1 and {nameof(RB_Distributor_Grade.Status)}=0";
if (dmodel.TenantId > 0) {
where += $@" and {nameof(RB_Distributor_Grade.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0) {
where += $@" and {nameof(RB_Distributor_Grade.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.Id > 0) {
where += $@" and {nameof(RB_Distributor_Grade.Id)}={dmodel.Id}";
}
if (dmodel.Grade > 0) {
where += $@" and {nameof(RB_Distributor_Grade.Grade)}={dmodel.Grade}";
}
if (!string.IsNullOrEmpty(dmodel.Name)) {
where += $@" and {nameof(RB_Distributor_Grade.Name)} like '%{dmodel.Name}%'";
}
if (dmodel.Enabled > 0) {
where += $@" and {nameof(RB_Distributor_Grade.Enabled)}={dmodel.Enabled}";
}
string sql = $@"select * from RB_Distributor_Grade where {where} order by Id desc";
return GetPage<RB_Distributor_Grade_Extend>(pageIndex, pageSize, out rowCount, sql).ToList();
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Distributor_Grade_Extend> GetList(RB_Distributor_Grade_Extend dmodel)
{
string where = $@" 1=1 and {nameof(RB_Distributor_Grade.Status)}=0";
if (dmodel.TenantId > 0)
{
where += $@" and {nameof(RB_Distributor_Grade.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and {nameof(RB_Distributor_Grade.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.Id > 0)
{
where += $@" and {nameof(RB_Distributor_Grade.Id)}={dmodel.Id}";
}
if (!string.IsNullOrEmpty(dmodel.GradeIds))
{
where += $@" and {nameof(RB_Distributor_Grade.Id)} in({dmodel.GradeIds})";
}
if (dmodel.Grade > 0)
{
where += $@" and {nameof(RB_Distributor_Grade.Grade)}={dmodel.Grade}";
}
if (!string.IsNullOrEmpty(dmodel.Name))
{
where += $@" and {nameof(RB_Distributor_Grade.Name)} like '%{dmodel.Name}%'";
}
if (dmodel.Enabled > 0)
{
where += $@" and {nameof(RB_Distributor_Grade.Enabled)}={dmodel.Enabled}";
}
string sql = $@"select * from RB_Distributor_Grade where {where} order by Id desc";
return Get<RB_Distributor_Grade_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_InfoRepository : RepositoryBase<RB_Distributor_Info>
{
/// <summary>
/// 分页列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="dmodel">查询条件</param>
/// <returns></returns>
public List<RB_Distributor_Info_Extend> GetPageList(int pageIndex, int pageSize, out long rowCount, RB_Distributor_Info_Extend dmodel)
{
string where = $@" 1=1 and di.{nameof(RB_Distributor_Info.Status)}=0";
if (dmodel.TenantId > 0) {
where += $@" and di.{nameof(RB_Distributor_Info.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0) {
where += $@" and di.{nameof(RB_Distributor_Info.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.UserId > 0) {
where += $@" and di.{nameof(RB_Distributor_Info.UserId)}={dmodel.UserId}";
}
if (dmodel.GradeId >= 0) {
where += $@" and di.{nameof(RB_Distributor_Info.GradeId)}={dmodel.GradeId}";
}
if (!string.IsNullOrEmpty(dmodel.Name)) {
where += $@" and di.{nameof(RB_Distributor_Info.Name)} like '%{dmodel.Name}%'";
}
if (dmodel.Source > 0) {
where += $@" and u.{nameof(RB_Member_User.Source)}={dmodel.Source}";
}
if (!string.IsNullOrEmpty(dmodel.NickName))
{
where += $@" and u.{nameof(RB_Member_User.Name)} like '%{dmodel.NickName}%'";
}
if (!string.IsNullOrEmpty(dmodel.Mobile))
{
where += $@" and u.{nameof(RB_Member_User.Moblie)} like '%{dmodel.Mobile}%'";
}
string sql = $@"select di.*,u.Name as NickName,u.Photo,u.Source,u.Moblie as Mobile from RB_Distributor_Info di
inner join rb_member_user u on di.UserId=u.Id
where {where} order by di.CreateDate desc";
return GetPage<RB_Distributor_Info_Extend>(pageIndex, pageSize, out rowCount, sql).ToList();
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Distributor_Info_Extend> GetList(RB_Distributor_Info_Extend dmodel)
{
string where = $@" 1=1 and di.{nameof(RB_Distributor_Info.Status)}=0";
if (dmodel.TenantId > 0)
{
where += $@" and di.{nameof(RB_Distributor_Info.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and di.{nameof(RB_Distributor_Info.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.UserId > 0)
{
where += $@" and di.{nameof(RB_Distributor_Info.UserId)}={dmodel.UserId}";
}
if (!string.IsNullOrEmpty(dmodel.UserIds)) {
where += $@" and di.{nameof(RB_Distributor_Info.UserId)} in({dmodel.UserIds})";
}
if (dmodel.GradeId >= 0)
{
where += $@" and di.{nameof(RB_Distributor_Info.GradeId)}={dmodel.GradeId}";
}
if (!string.IsNullOrEmpty(dmodel.Name))
{
where += $@" and di.{nameof(RB_Distributor_Info.Name)} like '%{dmodel.Name}%'";
}
string sql = $@"select di.* from RB_Distributor_Info di where {where} order by di.CreateDate desc";
return Get<RB_Distributor_Info_Extend>(sql).ToList();
}
}
}
......@@ -68,7 +68,7 @@ namespace Mall.Repository.User
if (!string.IsNullOrEmpty(dmodel.GradeIds)) {
where += $@" and e.{nameof(RB_Member_Equity.GradeId)} in({dmodel.GradeIds})";
}
string sql = $@"select e.*,mi.Name as ImagePath from RB_Member_Equity e
string sql = $@"select e.*,mi.Path as ImagePath from RB_Member_Equity e
left join rb_material_info mi on e.Image=mi.Id
where {where} order by e.Id desc";
return Get<RB_Member_Equity_Extend>(sql).ToList();
......
......@@ -97,10 +97,115 @@ select * from RB_Member_User where {where} order by CreateDate desc
{
where += $@" and {nameof(RB_Member_User.SuperiorId)}={dmodel.SuperiorId}";
}
if (!string.IsNullOrEmpty(dmodel.UserIds)) {
where += $@" and {nameof(RB_Member_User.Id)} in({dmodel.UserIds})";
}
string sql = $@"
select * from RB_Member_User where {where} order by CreateDate desc
";
return Get<RB_Member_User_Extend>(sql).ToList();
}
/// <summary>
/// 获取下拉列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Member_User_Extend> GetMemberUserDropDownList(int pageIndex, int pageSize, out long count, RB_Member_User_Extend dmodel)
{
string where = " 1=1 ";
if (dmodel.TenantId > 0)
{
where += $@" and {nameof(RB_Member_User.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and {nameof(RB_Member_User.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.Id > 0)
{
where += $@" and {nameof(RB_Member_User.Id)}={dmodel.Id}";
}
if (!string.IsNullOrEmpty(dmodel.Name))
{
where += $@" and {nameof(RB_Member_User.Name)} like '%{dmodel.Name}%'";
}
if (!string.IsNullOrEmpty(dmodel.AliasName))
{
where += $@" and {nameof(RB_Member_User.AliasName)} like '%{dmodel.AliasName}%'";
}
if (dmodel.Source > 0)
{
where += $@" and {nameof(RB_Member_User.Source)} ={(int)dmodel.Source}";
}
if (!string.IsNullOrEmpty(dmodel.Moblie))
{
where += $@" and {nameof(RB_Member_User.Moblie)} like '%{dmodel.Moblie}%'";
}
if (dmodel.MemberGrade > 0)
{
where += $@" and {nameof(RB_Member_User.MemberGrade)}={dmodel.MemberGrade}";
}
if (dmodel.SuperiorId > 0)
{
where += $@" and {nameof(RB_Member_User.SuperiorId)}={dmodel.SuperiorId}";
}
if (dmodel.IsDistributor > 0)
{
where += $@" and {nameof(RB_Member_User.IsDistributor)}={dmodel.IsDistributor}";
}
string sql = $@"select Id,Name,AliasName from RB_Member_User where {where} order by CreateDate desc";
return GetPage<RB_Member_User_Extend>(pageIndex, pageSize, out count, sql).ToList();
}
/// <summary>
/// 需更新该等级下的用户等级
/// </summary>
/// <param name="GradeId"></param>
/// <param name="DefaultGId"></param>
/// <param name="tenantId"></param>
/// <param name="mallBaseId"></param>
public bool UpdateMemberGrade(int GradeId, int DefaultGId, int tenantId, int mallBaseId)
{
string sql = $@" update RB_Member_User set MemberGrade={DefaultGId} where MemberGrade={GradeId} and TenantId={tenantId} and MallBaseId={mallBaseId}";
return Execute(sql) > 0;
}
/// <summary>
/// 获取下线分销商数量
/// </summary>
/// <param name="uids"></param>
/// <param name="tier"></param>
/// <param name="tenantId"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public List<RB_Member_User_Extend> GetDistributorReferralsNum(string uids, int tier, int tenantId, int mallBaseId)
{
if (tier == 1)
{
string sql = $@"SELECT u.SuperiorId,COUNT(0) AS ReferralsNum FROM rb_member_user u
WHERE u.IsDistributor=1 and u.TenantId={tenantId} and u.MallBaseId={mallBaseId} and u.SuperiorId in ({uids}) GROUP BY u.SuperiorId";
return Get<RB_Member_User_Extend>(sql).ToList();
}
else if (tier == 2)
{
string sql = $@"SELECT u.SuperiorId,COUNT(0) AS ReferralsNum FROM rb_member_user u
INNER JOIN rb_member_user u1 on u.Id=u1.SuperiorId
WHERE u.IsDistributor=1 and u.TenantId={tenantId} and u.MallBaseId={mallBaseId} and u.SuperiorId in ({uids}) GROUP BY u.SuperiorId";
return Get<RB_Member_User_Extend>(sql).ToList();
}
else if (tier == 3) {
string sql = $@"SELECT u.SuperiorId,COUNT(0) AS ReferralsNum FROM rb_member_user u
INNER JOIN rb_member_user u1 on u.Id=u1.SuperiorId
INNER JOIN rb_member_user u2 on u1.Id=u2.SuperiorId
WHERE u.IsDistributor=1 and u.TenantId={tenantId} and u.MallBaseId={mallBaseId} and u.SuperiorId in ({uids}) GROUP BY u.SuperiorId";
return Get<RB_Member_User_Extend>(sql).ToList();
}
return new List<RB_Member_User_Extend>();
}
}
}
......@@ -69,16 +69,42 @@ namespace Mall.WebApi.Controllers.MallBase
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 获取用户下拉列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetMemberUserDropDownList()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(parms.msg.ToString());
RB_Member_User_Extend demodel = JsonConvert.DeserializeObject<RB_Member_User_Extend>(parms.msg.ToString());
demodel.TenantId = Convert.ToInt32(parms.uid);
demodel.MallBaseId = parms.MallBaseId;
var list = userModule.GetMemberUserDropDownList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.Id,
x.AliasName,
x.Name
});
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 获取用户信息
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetMemberUserInfo() {
public ApiResult GetMemberUserInfo()
{
var requestParm = RequestParm;
var parms = JObject.Parse(requestParm.msg.ToString());
int UserId = parms.GetInt("UserId", 0);
if (UserId <= 0) {
if (UserId <= 0)
{
return ApiResult.ParamIsNull();
}
......@@ -87,11 +113,13 @@ namespace Mall.WebApi.Controllers.MallBase
{
return ApiResult.ParamIsNull("未查询到该用户信息");
}
if (model.MallBaseId != requestParm.MallBaseId) {
if (model.MallBaseId != requestParm.MallBaseId)
{
return ApiResult.ParamIsNull("未查询到该用户信息");
}
string SuperiorName = "";
if (model.SuperiorId > 0) {
if (model.SuperiorId > 0)
{
SuperiorName = userModule.GetMemberUserInfo(model.SuperiorId ?? 0)?.Name ?? "";
}
return ApiResult.Success("", new
......@@ -116,14 +144,17 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetMemberUserInfoForHT() {
public ApiResult SetMemberUserInfoForHT()
{
var parms = RequestParm;
RB_Member_User_Extend demodel = JsonConvert.DeserializeObject<RB_Member_User_Extend>(parms.msg.ToString());
if (demodel.Id <= 0) {
if (demodel.Id <= 0)
{
return ApiResult.ParamIsNull();
}
var umodel = userModule.GetMemberUserInfo(demodel.Id);
if (umodel == null) {
if (umodel == null)
{
return ApiResult.Failed("用户不存在");
}
if (umodel.TenantId != Convert.ToInt32(parms.uid))
......@@ -134,16 +165,18 @@ namespace Mall.WebApi.Controllers.MallBase
{
return ApiResult.ParamIsNull("未查询到该用户信息");
}
if (!(demodel.SuperiorId == 0 || demodel.SuperiorId == umodel.SuperiorId)) {
return ApiResult.ParamIsNull("上级id有误");
}
//if (!(demodel.SuperiorId == 0 || demodel.SuperiorId == umodel.SuperiorId))
//{
// return ApiResult.ParamIsNull("上级id有误");
//}
bool flag = userModule.SetMemberUserInfoForHT(demodel);
if (flag)
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed();
}
}
......@@ -252,7 +285,8 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetMemberUserExcelEnumList() {
public ApiResult GetMemberUserExcelEnumList()
{
var list = EnumHelper.GetEnumList(typeof(UserExportEnum));
return ApiResult.Success("", list.Select(x => new
{
......@@ -281,7 +315,8 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetMemberGradePageList() {
public ApiResult GetMemberGradePageList()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(parms.msg.ToString());
RB_Member_Grade_Extend demodel = JsonConvert.DeserializeObject<RB_Member_Grade_Extend>(parms.msg.ToString());
......@@ -299,7 +334,8 @@ namespace Mall.WebApi.Controllers.MallBase
x.BackgroundImagePath,
x.Discount,
x.Enabled,
EquityList= x.EquityList.Select(x=>new {
EquityList = x.EquityList.Select(x => new
{
x.Id,
x.Content,
x.Image,
......@@ -333,7 +369,8 @@ namespace Mall.WebApi.Controllers.MallBase
demodel.TenantId = Convert.ToInt32(parms.uid);
demodel.MallBaseId = parms.MallBaseId;
var list = userModule.GetMemberGradeList(demodel);
return ApiResult.Success("", list.Select(x=>new {
return ApiResult.Success("", list.Select(x => new
{
x.Id,
x.Grade,
x.Name,
......@@ -349,23 +386,69 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetMemberGradeInfo() {
public ApiResult GetMemberGradeInfo()
{
JObject parms = JObject.Parse(RequestParm.msg.ToString());
int GradeId = parms.GetInt("GradeId", 0);
if (GradeId <= 0)
{
return ApiResult.Failed("请传递参数");
}
var model = userModule.GetMemberGradeInfo(GradeId);
return ApiResult.Success("", new {
model.Id,
model.Name,
model.Grade,
model.BackgroundImage,
model.BackgroundImagePath,
model.Discount,
model.Enabled,
EquityList = model.EquityList.Select(x => new
{
x.Id,
x.Content,
x.Image,
x.ImagePath,
x.Title
}),
model.Icon,
model.IconPath,
model.IsAutoUpGrade,
model.IsMemberBuy,
model.MemberBuyMoney,
model.MemberSpecification,
model.UpGradeMoney
});
}
/// <summary>
/// 新增会员等级
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetMemberGradeInfo()
{
var parms = RequestParm;
RB_Member_Grade_Extend demodel = JsonConvert.DeserializeObject<RB_Member_Grade_Extend>(parms.msg.ToString());
if (demodel.MallBaseId <= 0) {
if (demodel.MallBaseId <= 0)
{
return ApiResult.ParamIsNull("请传递小程序");
}
if ((demodel.Grade ?? 0) <= 0) {
if ((demodel.Grade ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递等级");
}
if (string.IsNullOrEmpty(demodel.Name)) {
if (string.IsNullOrEmpty(demodel.Name))
{
return ApiResult.ParamIsNull("请输入等级名称");
}
if ((demodel.Discount ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请输入折扣率");
}
if ((demodel.Enabled ?? 0) <= 0) {
if ((demodel.Enabled ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请选择会员状态");
}
if ((demodel.Icon ?? 0) <= 0)
......@@ -383,7 +466,8 @@ namespace Mall.WebApi.Controllers.MallBase
return ApiResult.ParamIsNull("请输入累计完成订单金额");
}
}
else {
else
{
demodel.IsAutoUpGrade = 2;
demodel.UpGradeMoney = 0;
}
......@@ -394,7 +478,8 @@ namespace Mall.WebApi.Controllers.MallBase
return ApiResult.ParamIsNull("请输入会员购买价格");
}
}
else {
else
{
demodel.IsMemberBuy = 2;
demodel.MemberBuyMoney = 0;
}
......@@ -409,7 +494,8 @@ namespace Mall.WebApi.Controllers.MallBase
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed();
}
}
......@@ -419,10 +505,12 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DelMemberGradeInfo() {
public ApiResult DelMemberGradeInfo()
{
JObject parms = JObject.Parse(RequestParm.msg.ToString());
int GradeId = parms.GetInt("GradeId", 0);
if (GradeId <= 0) {
if (GradeId <= 0)
{
return ApiResult.Failed("请传递参数");
}
......@@ -431,7 +519,8 @@ namespace Mall.WebApi.Controllers.MallBase
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed();
}
}
......@@ -471,19 +560,24 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetMemberIntegralInfo() {
public ApiResult SetMemberIntegralInfo()
{
var parms = RequestParm;
RB_Member_Integral_Extend demodel = JsonConvert.DeserializeObject<RB_Member_Integral_Extend>(parms.msg.ToString());
if (demodel.MallBaseId <= 0) {
if (demodel.MallBaseId <= 0)
{
return ApiResult.ParamIsNull("请传递小程序id");
}
if ((demodel.UserId ?? 0) <= 0) {
if ((demodel.UserId ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递用户id");
}
if (demodel.Type != 1 && demodel.Type != 2) {
if (demodel.Type != 1 && demodel.Type != 2)
{
return ApiResult.ParamIsNull("请选择充值/扣除");
}
if ((demodel.Integral ?? 0) <= 0) {
if ((demodel.Integral ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请输入积分数");
}
......@@ -497,7 +591,8 @@ namespace Mall.WebApi.Controllers.MallBase
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed();
}
......@@ -584,13 +679,16 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetDistributorBasicsInfo() {
public ApiResult SetDistributorBasicsInfo()
{
var requestParm = RequestParm;
RB_Distributor_Basics_Extend demodel = JsonConvert.DeserializeObject<RB_Distributor_Basics_Extend>(requestParm.msg.ToString());
if (demodel.DistributorTier != 0 && demodel.DistributorTier != 1 && demodel.DistributorTier != 2 && demodel.DistributorTier != 3) {
if (demodel.DistributorTier != 0 && demodel.DistributorTier != 1 && demodel.DistributorTier != 2 && demodel.DistributorTier != 3)
{
return ApiResult.ParamIsNull("请选择分销层级");
}
switch (demodel.DistributorTier) {
switch (demodel.DistributorTier)
{
case 0:
demodel.OneCommission = 0;
demodel.TwoCommission = 0;
......@@ -622,7 +720,8 @@ namespace Mall.WebApi.Controllers.MallBase
{
return ApiResult.Success();
}
else {
else
{
return ApiResult.Failed();
}
}
......@@ -632,10 +731,9 @@ namespace Mall.WebApi.Controllers.MallBase
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetDistributorBasicsInfo() {
public ApiResult GetDistributorBasicsInfo()
{
var requestParm = RequestParm;
var parms = JObject.Parse(requestParm.msg.ToString());
var model = userModule.GetDistributorBasicsInfo(requestParm.uid, requestParm.MallBaseId);
return ApiResult.Success("", new
{
......@@ -650,7 +748,7 @@ namespace Mall.WebApi.Controllers.MallBase
model.TwoCommission,
model.ThreeCommission,
model.GradeEntrance,
model.GradeEntranceimage,
model.GradeEntranceImage,
model.WithdrawWay,
model.MinimumWithdrawalLimit,
model.DailyWithdrawalLimit,
......@@ -736,40 +834,147 @@ namespace Mall.WebApi.Controllers.MallBase
public ApiResult SetDistributorCustomInfo()
{
var requestParm = RequestParm;
RB_Distributor_Basics_Extend demodel = JsonConvert.DeserializeObject<RB_Distributor_Basics_Extend>(requestParm.msg.ToString());
if (demodel.DistributorTier != 0 && demodel.DistributorTier != 1 && demodel.DistributorTier != 2 && demodel.DistributorTier != 3)
RB_Distributor_Custom_Extend demodel = JsonConvert.DeserializeObject<RB_Distributor_Custom_Extend>(requestParm.msg.ToString());
if ((demodel.HeadImage ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请选择分销层级");
return ApiResult.ParamIsNull("请传递分销申请下头部图片");
}
switch (demodel.DistributorTier)
if ((demodel.BottomImage ?? 0) <= 0)
{
case 0:
demodel.OneCommission = 0;
demodel.TwoCommission = 0;
demodel.ThreeCommission = 0;
break;
case 1:
demodel.TwoCommission = 0;
demodel.ThreeCommission = 0;
break;
case 2:
demodel.ThreeCommission = 0;
break;
return ApiResult.ParamIsNull("请传递分销申请下底部图片");
}
if (string.IsNullOrEmpty(demodel.DistributionApplication))
{
return ApiResult.ParamIsNull("请传递分销申请下分销申请");
}
if (string.IsNullOrEmpty(demodel.ApplicationAgreement))
{
return ApiResult.ParamIsNull("请传递分销申请下分销申请协议");
}
if ((demodel.BottomImage ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递分销申请下按钮圆角像素");
}
if (string.IsNullOrEmpty(demodel.ButtonText))
{
return ApiResult.ParamIsNull("请传递分销申请下按钮文本");
}
if (string.IsNullOrEmpty(demodel.ButtonColor))
{
return ApiResult.ParamIsNull("请传递分销申请下填充颜色");
}
if (string.IsNullOrEmpty(demodel.ButtonTextColor))
{
return ApiResult.ParamIsNull("请传递分销申请下文本颜色");
}
//
if (string.IsNullOrEmpty(demodel.DistributionCommissionName))
{
return ApiResult.ParamIsNull("请传递分销中心下分销佣金");
}
if ((demodel.DistributionCommissionImage ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递分销中心下分销佣金图片");
}
if (string.IsNullOrEmpty(demodel.DistributionOrderName))
{
return ApiResult.ParamIsNull("请传递分销中心下分销订单");
}
if ((demodel.DistributionOrderImage ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递分销中心下分销订单图片");
}
if (string.IsNullOrEmpty(demodel.WithdrawDetialsName))
{
return ApiResult.ParamIsNull("请传递分销中心下提现明细");
}
if ((demodel.WithdrawDetialsImage ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递分销中心下提现明细图片");
}
if (string.IsNullOrEmpty(demodel.MyTeamName))
{
return ApiResult.ParamIsNull("请传递分销中心下我的团队");
}
if ((demodel.MyTeamImage ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递分销中心下我的团队图片");
}
if (string.IsNullOrEmpty(demodel.PromoteQRCodeName))
{
return ApiResult.ParamIsNull("请传递分销中心下推广二维码");
}
if ((demodel.PromoteQRCodeImage ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递分销中心下推广二维码图片");
}
//
if (string.IsNullOrEmpty(demodel.ReferrerName))
{
return ApiResult.ParamIsNull("请传递分销中心下推荐人");
}
if (string.IsNullOrEmpty(demodel.CommissionForWithdrawalName))
{
return ApiResult.ParamIsNull("请传递分销中心下可提现佣金");
}
if (string.IsNullOrEmpty(demodel.WithdrawDepositName))
{
return ApiResult.ParamIsNull("请传递分销中心下提现");
}
if (string.IsNullOrEmpty(demodel.CommissionWithdrawnName))
{
return ApiResult.ParamIsNull("请传递分销中心下已提现佣金");
}
if (string.IsNullOrEmpty(demodel.OutstandingCommissionName))
{
return ApiResult.ParamIsNull("请传递分销中心下未结算佣金");
}
if (string.IsNullOrEmpty(demodel.DistributorName))
{
return ApiResult.ParamIsNull("请传递分销中心下分销商");
}
//
if (string.IsNullOrEmpty(demodel.CommissionTobePaidName))
{
return ApiResult.ParamIsNull("请传递分销佣金下待打款佣金");
}
if (string.IsNullOrEmpty(demodel.UserNotesName))
{
return ApiResult.ParamIsNull("请传递分销佣金下用户须知");
}
if (string.IsNullOrEmpty(demodel.IWantToWithdrawName))
{
return ApiResult.ParamIsNull("请传递分销佣金下我要提现");
}
//
if (string.IsNullOrEmpty(demodel.WithdrawalAmountName))
{
return ApiResult.ParamIsNull("请传递申请提现下提现金额");
}
if (string.IsNullOrEmpty(demodel.WithdrawalWayName))
{
return ApiResult.ParamIsNull("请传递申请提现下提现方式");
}
//
if (string.IsNullOrEmpty(demodel.OneDistributionName))
{
return ApiResult.ParamIsNull("请传递分销商下一级分销名称");
}
if (string.IsNullOrEmpty(demodel.TwoDistributionName))
{
return ApiResult.ParamIsNull("请传递分销商下二级分销名称");
}
if (string.IsNullOrEmpty(demodel.ThreeDistributionName))
{
return ApiResult.ParamIsNull("请传递分销商下三级分销名称");
}
demodel.OneCommission = demodel.OneCommission ?? 0;
demodel.TwoCommission = demodel.TwoCommission ?? 0;
demodel.ThreeCommission = demodel.ThreeCommission ?? 0;
demodel.WithdrawFee = demodel.WithdrawFee ?? 0;
demodel.MinimumWithdrawalLimit = demodel.MinimumWithdrawalLimit ?? 0;
demodel.DailyWithdrawalLimit = demodel.DailyWithdrawalLimit ?? 0;
demodel.BackgroundImage = demodel.BackgroundImage ?? 0;
demodel.IndexImage = demodel.IndexImage ?? 0;
demodel.TenantId = Convert.ToInt32(requestParm.uid);
demodel.MallBaseId = requestParm.MallBaseId;
demodel.CreateDate = DateTime.Now;
demodel.UpdateDate = DateTime.Now;
bool flag = userModule.SetDistributorBasicsInfo(demodel);
bool flag = userModule.SetDistributorCustomInfo(demodel);
if (flag)
{
return ApiResult.Success();
......@@ -788,40 +993,366 @@ namespace Mall.WebApi.Controllers.MallBase
public ApiResult GetDistributorCustomInfo()
{
var requestParm = RequestParm;
var parms = JObject.Parse(requestParm.msg.ToString());
int BasicsId = parms.GetInt("BasicsId", 0);
if (BasicsId <= 0)
var model = userModule.GetDistributorCustomInfo(requestParm.uid, requestParm.MallBaseId);
return ApiResult.Success("", new
{
return ApiResult.ParamIsNull();
model.Id,
model.HeadImage,
model.HeadImagePath,
model.BottomImage,
model.BottomImagePath,
model.DistributionApplication,
model.ApplicationAgreement,
model.ButtonFilletPX,
model.ButtonText,
model.ButtonColor,
model.ButtonTextColor,
model.DistributionCommissionName,
model.DistributionCommissionImage,
model.DistributionCommissionImagePath,
model.DistributionOrderName,
model.DistributionOrderImage,
model.DistributionOrderImagePath,
model.WithdrawDetialsName,
model.WithdrawDetialsImage,
model.WithdrawDetialsImagePath,
model.MyTeamName,
model.MyTeamImage,
model.MyTeamImagePath,
model.PromoteQRCodeName,
model.PromoteQRCodeImage,
model.PromoteQRCodeImagePath,
model.ReferrerName,
model.CommissionForWithdrawalName,
model.WithdrawDepositName,
model.CommissionWithdrawnName,
model.OutstandingCommissionName,
model.DistributorName,
model.CommissionTobePaidName,
model.UserNotesName,
model.IWantToWithdrawName,
model.WithdrawalAmountName,
model.WithdrawalWayName,
model.OneDistributionName,
model.TwoDistributionName,
model.ThreeDistributionName,
UpdateDate = model.UpdateDate.HasValue ? model.UpdateDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""
});
}
#endregion
#region 分销商等级
/// <summary>
/// 获取分销商等级分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetDistributorGradePageList()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(parms.msg.ToString());
RB_Distributor_Grade_Extend demodel = JsonConvert.DeserializeObject<RB_Distributor_Grade_Extend>(parms.msg.ToString());
demodel.TenantId = Convert.ToInt32(parms.uid);
demodel.MallBaseId = parms.MallBaseId;
var list = userModule.GetDistributorGradePageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.Id,
x.Name,
x.Grade,
x.IsAutoUpGrade,
x.UpGradeCondition,
x.ReferralsNumber,
x.TotalCommission,
x.CommissionWithdrawn,
x.DistributionCommissionType,
x.OneCommission,
x.TwoCommission,
x.ThreeCommission,
x.Enabled,
x.GradeExplain,
x.TenantId,
x.MallBaseId,
UpdateDate = x.UpdateDate.HasValue ? x.UpdateDate.Value.ToString("yyyy-MM-dd") : ""
});
return ApiResult.Success("", pagelist);
}
var model = userModule.GetDistributorBasicsInfo(BasicsId);
/// <summary>
/// 获取分销层级
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetDistributorTierInfo()
{
var requestParm = RequestParm;
var model = userModule.GetDistributorBasicsInfo(requestParm.uid, requestParm.MallBaseId);
return ApiResult.Success("", new
{
model.Id,
model.DistributorTier,
model.InPurchasing,
model.ReferralsCondition,
model.ApplyFor,
model.DistributorCondition,
model.DistributorCommissionType,
model.DistributorTier
});
}
/// <summary>
/// 获取分销商等级详情
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetDistributorGradeInfo()
{
var re = RequestParm;
var parms = JObject.Parse(re.msg.ToString());
int GradeId = parms.GetInt("GradeId", 0);
if (GradeId <= 0)
{
return ApiResult.ParamIsNull("请传递等级id");
}
var model = userModule.GetDistributorGradeInfo(GradeId);
return ApiResult.Success("", new {
model.Id,
model.Name,
model.Grade,
model.IsAutoUpGrade,
model.UpGradeCondition,
model.ReferralsNumber,
model.TotalCommission,
model.CommissionWithdrawn,
model.DistributionCommissionType,
model.OneCommission,
model.TwoCommission,
model.ThreeCommission,
model.GradeEntrance,
model.GradeEntranceimage,
model.WithdrawWay,
model.MinimumWithdrawalLimit,
model.DailyWithdrawalLimit,
model.WithdrawFee,
model.ApplicationProtocol,
model.UserNotes,
model.BackgroundImage,
model.BackgroundImagePath,
model.IndexImage,
model.IndexImagePath,
UpdateDate = model.UpdateDate.HasValue ? model.UpdateDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""
model.Enabled,
model.GradeExplain,
model.TenantId,
model.MallBaseId,
});
}
/// <summary>
/// 新增修改分销商等级
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetDistributorGradeInfo()
{
var re = RequestParm;
RB_Distributor_Grade_Extend demodel = JsonConvert.DeserializeObject<RB_Distributor_Grade_Extend>(re.msg.ToString());
if ((demodel.Grade ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递等级");
}
if (string.IsNullOrEmpty(demodel.Name))
{
return ApiResult.ParamIsNull("请输入等级名称");
}
if (demodel.IsAutoUpGrade == 1)
{
if (demodel.UpGradeCondition == DistrbutorGradeUpdateEnum.XXYHS)
{
if ((demodel.ReferralsNumber ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递下线用户数量");
}
}
if (demodel.UpGradeCondition == DistrbutorGradeUpdateEnum.LJYJ)
{
if ((demodel.TotalCommission ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递累计佣金金额");
}
}
if (demodel.UpGradeCondition == DistrbutorGradeUpdateEnum.YTXYJ)
{
if ((demodel.CommissionWithdrawn ?? 0) <= 0)
{
return ApiResult.ParamIsNull("请传递已提现佣金金额");
}
}
}
var model = userModule.GetDistributorBasicsInfo(re.uid, re.MallBaseId);
if (model == null) {
return ApiResult.ParamIsNull("请先配置分销商基础信息");
}
switch (model.DistributorTier) {
case 0: demodel.OneCommission = 0;
demodel.TwoCommission = 0;
demodel.ThreeCommission = 0;
break;
case 1:
demodel.TwoCommission = 0;
demodel.ThreeCommission = 0;
break;
case 2:
demodel.ThreeCommission = 0;
break;
}
demodel.OneCommission ??= 0;
demodel.TwoCommission ??= 0;
demodel.ThreeCommission ??= 0;
demodel.Enabled ??= 1;
demodel.TenantId = Convert.ToInt32(re.uid);
demodel.MallBaseId = re.MallBaseId;
demodel.CreateDate = DateTime.Now;
demodel.UpdateDate = DateTime.Now;
demodel.Status = 0;
bool flag = userModule.SetDistributorGradeInfo(demodel);
if (flag)
{
return ApiResult.Success();
}
else {
return ApiResult.Failed();
}
}
/// <summary>
/// 删除会员等级
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DelDistributorGradeInfo() {
var re = RequestParm;
var parms = JObject.Parse(re.msg.ToString());
int GradeId = parms.GetInt("GradeId", 0);
if (GradeId <= 0) {
return ApiResult.ParamIsNull("请传递等级id");
}
bool flag = userModule.DelDistributorGradeInfo(GradeId, re.uid, re.MallBaseId);
if (flag)
{
return ApiResult.Success();
}
else {
return ApiResult.Failed();
}
}
#endregion
#region 分销商管理
/// <summary>
/// 获取分销商分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetDistributorInfoPageList()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(parms.msg.ToString());
RB_Distributor_Info_Extend demodel = JsonConvert.DeserializeObject<RB_Distributor_Info_Extend>(parms.msg.ToString());
demodel.TenantId = Convert.ToInt32(parms.uid);
demodel.MallBaseId = parms.MallBaseId;
var list = userModule.GetDistributorInfoPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.Id,
x.UserId,
x.NickName,
x.Photo,
x.Source,
x.Name,
x.Mobile,
x.CommissionWithdrawal,
x.TotalCommission,
x.SuperiorId,
x.SuperiorName,
x.OneNum,
x.TwoNum,
x.ThreeNum,
x.GradeId,
x.GradeName,
x.AuditStatus,
x.Remark,
SourceName = x.Source.GetEnumName(),
x.TenantId,
CreateDate = x.CreateDate.HasValue ? x.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
AuditDate = x.AuditDate.HasValue ? x.AuditDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""
});
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 新增分销商
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetDistributorInfo() {
var req = RequestParm;
RB_Distributor_Info_Extend demodel = JsonConvert.DeserializeObject<RB_Distributor_Info_Extend>(req.msg.ToString());
if ((demodel.UserId ?? 0) <= 0) {
return ApiResult.ParamIsNull("请传递用户id");
}
if (demodel.IsFormSelfApplication == 1) {
if (string.IsNullOrEmpty(demodel.Name)) {
return ApiResult.ParamIsNull("请传递姓名");
}
if (string.IsNullOrEmpty(demodel.Mobile)) {
return ApiResult.ParamIsNull("请传递手机号码");
}
}
demodel.TenantId = Convert.ToInt32(req.uid);
demodel.MallBaseId = req.MallBaseId;
demodel.CreateDate = DateTime.Now;
demodel.UpdateDate = DateTime.Now;
demodel.Status = 0;
//验证用户是否已是分销商
string msg = userModule.ValidateDistributorInfo(demodel.UserId, demodel.TenantId, demodel.MallBaseId);
if (msg != "") {
return ApiResult.Failed(msg);
}
bool flag = userModule.SetDistributorInfo(demodel);
if (flag)
{
return ApiResult.Success();
}
else {
return ApiResult.Failed();
}
}
/// <summary>
/// 分销商申请审核
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetDistributorAudit() {
var re = RequestParm;
var parms = JObject.Parse(re.msg.ToString());
string UserIds = parms.GetStringValue("UserIds");
int Type = parms.GetInt("Type", 0);//1审核通过 2审核拒绝 3删除分销 4修改等级
int NewGradeId = parms.GetInt("NewGradeId", 0);
string Remark = parms.GetStringValue("Remark");
if (string.IsNullOrEmpty(UserIds)) {
return ApiResult.ParamIsNull("请传递用户id");
}
if (Type == 4) {
if (NewGradeId <= 0) {
return ApiResult.ParamIsNull("请传递分销商等级");
}
}
string msg = userModule.SetDistributorAudit(UserIds, Type, NewGradeId, Remark, re.uid, re.MallBaseId);
if (msg == "")
{
return ApiResult.Success();
}
else
{
return ApiResult.Failed(msg);
}
}
#endregion
......
......@@ -27,5 +27,8 @@
"RedisPwd": "123456"
},
"VirtualDirectory": "WebFile",
"FileService": "2"
"FileService": "2",
"InitializeImages": {
"GradeEntranceImage": "1234566778"
}
}
\ 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