Commit d7a197b2 authored by liudong1993's avatar liudong1993

分销

parent 75e698a3
......@@ -10,7 +10,7 @@ namespace Mall.Common.Enum.User
/// <summary>
/// 用户下线枚举
/// </summary>
public enum UserReferralsEnum
public enum DistrbutorReferralsEnum
{
/// <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_Custom
{
/// <summary>
/// Id
/// </summary>
public int Id
{
get;
set;
}
/// <summary>
/// 头部图片
/// </summary>
public int? HeadImage
{
get;
set;
}
/// <summary>
/// 底部图片
/// </summary>
public int? BottomImage
{
get;
set;
}
/// <summary>
/// 分销申请文字描述
/// </summary>
public string DistributionApplication
{
get;
set;
}
/// <summary>
/// 申请协议
/// </summary>
public string ApplicationAgreement
{
get;
set;
}
/// <summary>
/// 按钮圆角像素
/// </summary>
public int? ButtonFilletPX
{
get;
set;
}
/// <summary>
/// 按钮文本
/// </summary>
public string ButtonText
{
get;
set;
}
/// <summary>
/// 按钮颜色
/// </summary>
public string ButtonColor
{
get;
set;
}
/// <summary>
/// 按钮文字颜色
/// </summary>
public string ButtonTextColor
{
get;
set;
}
/// <summary>
/// 分销佣金名称
/// </summary>
public string DistributionCommissionName
{
get;
set;
}
/// <summary>
/// 分销佣金图片
/// </summary>
public int? DistributionCommissionImage
{
get;
set;
}
/// <summary>
/// 分销订单名称
/// </summary>
public string DistributionOrderName
{
get;
set;
}
/// <summary>
/// 分销订单图片
/// </summary>
public int? DistributionOrderImage
{
get;
set;
}
/// <summary>
/// 提现明细名称
/// </summary>
public string WithdrawDetialsName
{
get;
set;
}
/// <summary>
/// 提现明细图片
/// </summary>
public int? WithdrawDetialsImage
{
get;
set;
}
/// <summary>
/// 我的团队名称
/// </summary>
public string MyTeamName
{
get;
set;
}
/// <summary>
/// 我的团队图片
/// </summary>
public int? MyTeamImage
{
get;
set;
}
/// <summary>
/// 推广二维码名称
/// </summary>
public string PromoteQRCodeName
{
get;
set;
}
/// <summary>
/// 推广二维码图片
/// </summary>
public int? PromoteQRCodeImage
{
get;
set;
}
/// <summary>
/// 推荐人描述
/// </summary>
public string ReferrerName
{
get;
set;
}
/// <summary>
/// 可提现佣金描述
/// </summary>
public string CommissionForWithdrawalName
{
get;
set;
}
/// <summary>
/// 提现描述
/// </summary>
public string WithdrawDepositName
{
get;
set;
}
/// <summary>
/// 已提现佣金描述
/// </summary>
public string CommissionWithdrawnName
{
get;
set;
}
/// <summary>
/// 未结算佣金描述
/// </summary>
public string OutstandingCommissionName
{
get;
set;
}
/// <summary>
/// 分销商描述
/// </summary>
public string DistributorName
{
get;
set;
}
/// <summary>
/// 待打款佣金描述
/// </summary>
public string CommissionTobePaidName
{
get;
set;
}
/// <summary>
/// 用户须知描述
/// </summary>
public string UserNotesName
{
get;
set;
}
/// <summary>
/// 我要提现描述
/// </summary>
public string IWantToWithdrawName
{
get;
set;
}
/// <summary>
/// 提现金额描述
/// </summary>
public string WithdrawalAmountName
{
get;
set;
}
/// <summary>
/// 提现方式描述
/// </summary>
public string WithdrawalWayName
{
get;
set;
}
/// <summary>
/// 一级分销商名称
/// </summary>
public string OneDistributionName
{
get;
set;
}
/// <summary>
/// 二级分销商名称
/// </summary>
public string TwoDistributionName
{
get;
set;
}
/// <summary>
/// 三级分销商名称
/// </summary>
public string ThreeDistributionName
{
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 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_Custom_Extend : RB_Distributor_Custom
{
/// <summary>
/// 路径
/// </summary>
public string HeadImagePath { get; set; }
/// <summary>
/// 路径
/// </summary>
public string BottomImagePath { get; set; }
/// <summary>
/// 路径
/// </summary>
public string DistributionCommissionImagePath { get; set; }
/// <summary>
/// 路径
/// </summary>
public string DistributionOrderImagePath { get; set; }
/// <summary>
/// 路径
/// </summary>
public string WithdrawDetialsImagePath { get; set; }
/// <summary>
/// 路径
/// </summary>
public string MyTeamImagePath { get; set; }
/// <summary>
/// 路径
/// </summary>
public string PromoteQRCodeImagePath { get; set; }
}
}
......@@ -473,8 +473,10 @@ namespace Mall.Module.User
/// <returns></returns>
public bool SetDistributorBasicsInfo(RB_Distributor_Basics_Extend demodel)
{
if (demodel.Id > 0)
var OModel = distributor_BasicsRepository.GetList(new RB_Distributor_Basics_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_Basics.DistributorTier),demodel.DistributorTier},
{ nameof(RB_Distributor_Basics.InPurchasing),demodel.InPurchasing},
......@@ -516,7 +518,8 @@ namespace Mall.Module.User
};
return distributor_BasicsRepository.Update(keyValuePairs, whereHelpers);
}
else {
else
{
return distributor_BasicsRepository.Insert(demodel) > 0;
}
}
......@@ -536,5 +539,17 @@ namespace Mall.Module.User
model.BackgroundImagePath = material_InfoRepository.GetEntity(model.BackgroundImage)?.Path ?? "";
return model;
}
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();
if (model == null)
{
return new RB_Distributor_Basics_Extend();
}
model.IndexImagePath = material_InfoRepository.GetEntity(model.IndexImage)?.Path ?? "";
model.BackgroundImagePath = material_InfoRepository.GetEntity(model.BackgroundImage)?.Path ?? "";
return model;
}
}
}
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_CustomRepository : RepositoryBase<RB_Distributor_Custom>
{
/// <summary>
/// 分页列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="dmodel">查询条件</param>
/// <returns></returns>
public List<RB_Distributor_Custom_Extend> GetPageList(int pageIndex, int pageSize, out long rowCount, RB_Distributor_Custom_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}";
}
string sql = $@"select * from RB_Distributor_Custom where {where} order by Id desc";
return GetPage<RB_Distributor_Custom_Extend>(pageIndex, pageSize, out rowCount, sql).ToList();
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Distributor_Custom_Extend> GetList(RB_Distributor_Custom_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}";
}
string sql = $@"select * from RB_Distributor_Custom where {where} order by Id desc";
return Get<RB_Distributor_Custom_Extend>(sql).ToList();
}
}
}
......@@ -47,6 +47,7 @@ namespace Mall.WebApi.Controllers.MallBase
x.Id,
x.Name,
x.Type,
x.GroupId,
x.Path,
x.Image,
x.VideoTime,
......
......@@ -577,7 +577,7 @@ namespace Mall.WebApi.Controllers.MallBase
}
#endregion
#region 分销商设置
#region 分销商基础
/// <summary>
/// 新增分销商基础
......@@ -635,8 +635,163 @@ namespace Mall.WebApi.Controllers.MallBase
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
{
model.Id,
model.DistributorTier,
model.InPurchasing,
model.ReferralsCondition,
model.ApplyFor,
model.DistributorCondition,
model.DistributorCommissionType,
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") : ""
});
}
/// <summary>
/// 获取分销商下线条件枚举列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetDistrbutorReferralsEnumList()
{
var list = EnumHelper.GetEnumList(typeof(DistrbutorReferralsEnum));
return ApiResult.Success("", list.Select(x => new
{
Name = x.Key,
Id = Convert.ToInt32(x.Value)
}));
}
/// <summary>
/// 获取分销商提现枚举列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetDistrbutorWithdrawWayEnumList()
{
var list = EnumHelper.GetEnumList(typeof(DistrbutorWithdrawWayEnum));
return ApiResult.Success("", list.Select(x => new
{
Name = x.Key,
Id = Convert.ToInt32(x.Value)
}));
}
/// <summary>
/// 获取申请成为分销商枚举列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetDistributorApplyForEnumList()
{
var list = EnumHelper.GetEnumList(typeof(DistributorApplyForEnum));
return ApiResult.Success("", list.Select(x => new
{
Name = x.Key,
Id = Convert.ToInt32(x.Value)
}));
}
/// <summary>
/// 获取成为分销商条件枚举列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetDistributorConditionEnumList()
{
var list = EnumHelper.GetEnumList(typeof(DistributorConditionEnum));
return ApiResult.Success("", list.Select(x => new
{
Name = x.Key,
Id = Convert.ToInt32(x.Value)
}));
}
#endregion
#region 分销商自定义
/// <summary>
/// 新增分销商自定义
/// </summary>
/// <returns></returns>
[HttpPost]
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)
{
return ApiResult.ParamIsNull("请选择分销层级");
}
switch (demodel.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 = 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);
if (flag)
{
return ApiResult.Success();
}
else
{
return ApiResult.Failed();
}
}
/// <summary>
/// 获取分销商自定义
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetDistributorCustomInfo()
{
var requestParm = RequestParm;
var parms = JObject.Parse(requestParm.msg.ToString());
int BasicsId = parms.GetInt("BasicsId", 0);
if (BasicsId <= 0) {
if (BasicsId <= 0)
{
return ApiResult.ParamIsNull();
}
......
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