Commit 7b10eee0 authored by liudong1993's avatar liudong1993

vip购买

parent 1b006293
......@@ -143,4 +143,121 @@ namespace Mall.Common.Enum.Goods
[EnumField("三级佣金")]
SJYJ = 29
}
/// <summary>
/// 粉象分销订单导出
/// </summary>
public enum DistributionOrdersExportForFXEnum
{
/// <summary>
/// 所属平台
/// </summary>
[EnumField("所属平台")]
SSPT = 1,
/// <summary>
/// 订单号
/// </summary>
[EnumField("订单号")]
DDH = 2,
/// <summary>
/// 下单用户
/// </summary>
[EnumField("下单用户")]
XDYH = 4,
/// <summary>
/// 商品名
/// </summary>
[EnumField("商品名")]
SPM = 5,
/// <summary>
/// 规格
/// </summary>
[EnumField("规格")]
GG = 6,
/// <summary>
/// 数量
/// </summary>
[EnumField("数量")]
SL = 7,
/// <summary>
/// 货号
/// </summary>
[EnumField("货号")]
HH = 8,
/// <summary>
/// 收件人
/// </summary>
[EnumField("收件人")]
SJR = 10,
/// <summary>
/// 收件人电话
/// </summary>
[EnumField("收件人电话")]
SJRDH = 11,
/// <summary>
/// 收件人地址
/// </summary>
[EnumField("收件人地址")]
SJRDZ = 12,
/// <summary>
/// 总金额
/// </summary>
[EnumField("总金额")]
ZJE = 13,
/// <summary>
/// 实际付款
/// </summary>
[EnumField("实际付款")]
SJFK = 14,
/// <summary>
/// 下单时间
/// </summary>
[EnumField("下单时间")]
XDSJ = 16,
/// <summary>
/// 订单状态
/// </summary>
[EnumField("订单状态")]
DDZT = 17,
/// <summary>
/// 支付方式
/// </summary>
[EnumField("支付方式")]
ZFFS = 18,
/// <summary>
/// 付款状态
/// </summary>
[EnumField("支付状态")]
FKZT = 19,
/// <summary>
/// 付款时间
/// </summary>
[EnumField("支付时间")]
FKSJ = 20,
/// <summary>
/// 备注/表单
/// </summary>
[EnumField("备注/表单")]
BZBD = 21,
/// <summary>
/// 买家留言
/// </summary>
[EnumField("买家留言")]
MJLY = 22,
/// <summary>
/// 返利级别
/// </summary>
[EnumField("返利级别")]
FLJB = 23,
/// <summary>
/// 昵称
/// </summary>
[EnumField("昵称")]
NCXM = 24,
/// <summary>
/// 佣金金额
/// </summary>
[EnumField("佣金金额")]
YJJE = 25
}
}
using Mall.Common.AOP;
using Mall.Common.Enum.MarketingCenter;
using Mall.Common.Enum.User;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.User
{
/// <summary>
/// Vip购买返佣表实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_VipBuy_Commission
{
/// <summary>
/// Id
/// </summary>
public int Id
{
get;
set;
}
/// <summary>
/// Vip购买订单id
/// </summary>
public int? OrderId
{
get;
set;
}
/// <summary>
/// 分销商id
/// </summary>
public int? UserId
{
get;
set;
}
/// <summary>
/// 粉象等级id
/// </summary>
public int? Grade
{
get;
set;
}
/// <summary>
/// 佣金
/// </summary>
public decimal? Commission
{
get;
set;
}
/// <summary>
/// Remark
/// </summary>
public string Remark
{
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;
}
/// <summary>
/// 类型 1Vip购买返佣
/// </summary>
public int? Type
{
get;
set;
}
/// <summary>
/// 是否已提现 1是
/// </summary>
public int? IsRemit
{
get;
set;
}
}
}
......@@ -45,6 +45,10 @@ namespace Mall.Model.Extend.User
/// 粉象等级ID
/// </summary>
public int? FXGradeId { get; set; }
/// <summary>
/// 粉象等级ids
/// </summary>
public string FXGradeIds { get; set; }
/// <summary>
/// 用户名str
......
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>
/// vip购买返佣表扩展实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_VipBuy_Commission_Extend : RB_VipBuy_Commission
{
/// <summary>
/// 购买人名称
/// </summary>
public string UserName { get; set; }
}
}
......@@ -4938,6 +4938,12 @@ namespace Mall.Module.Product
string gradeIds = string.Join(",", oclist.Where(x => x.Type == 2).Select(x => x.Grade).Distinct());
HpgradeList = distributor_HPGradeInfoRepository.GetList(new RB_Distributor_HPGradeInfo_Extend() { GradeIds = gradeIds, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId }, true);
}
var FXGradeList = new List<RB_Distributor_FXGrade_Extend>();
if (oclist.Where(x => x.Type == 3).Any())
{
string gradeIds = string.Join(",", oclist.Where(x => x.Type == 3).Select(x => x.Grade).Distinct());
FXGradeList = distributor_FXGradeRepository.GetList(new RB_Distributor_FXGrade_Extend() { GradeIds = gradeIds, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
}
foreach (var item in oclist)
{
......@@ -4969,6 +4975,11 @@ namespace Mall.Module.Product
var hpGModel = HpgradeList.Where(x => x.Id == item.Grade).FirstOrDefault();
item.GradeDescription = hpGModel?.GradeName ?? "暂无等级";
}
else if (item.Type == 3)
{
var fxGModel = FXGradeList.Where(x => x.Id == item.Grade).FirstOrDefault();
item.GradeDescription = fxGModel?.GradeName ?? "暂无等级";
}
}
}
......@@ -5024,12 +5035,56 @@ namespace Mall.Module.Product
var ulist = member_UserRepository.GetList(new RB_Member_User_Extend() { TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId, UserIds = string.Join(",", oclist.Select(x => x.UserId).Distinct()) });
//获取分销商
var dislist = distributor_InfoRepository.GetList(new RB_Distributor_Info_Extend() { TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId, UserIds = string.Join(",", oclist.Select(x => x.UserId).Distinct()) });
var HpgradeList = new List<RB_Distributor_HPGradeInfo_Extend>();
if (oclist.Where(x => x.Type == 2).Any())
{
string gradeIds = string.Join(",", oclist.Where(x => x.Type == 2).Select(x => x.Grade).Distinct());
HpgradeList = distributor_HPGradeInfoRepository.GetList(new RB_Distributor_HPGradeInfo_Extend() { GradeIds = gradeIds, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId }, true);
}
var FXGradeList = new List<RB_Distributor_FXGrade_Extend>();
if (oclist.Where(x => x.Type == 3).Any())
{
string gradeIds = string.Join(",", oclist.Where(x => x.Type == 3).Select(x => x.Grade).Distinct());
FXGradeList = distributor_FXGradeRepository.GetList(new RB_Distributor_FXGrade_Extend() { GradeIds = gradeIds, TenantId = demodel.TenantId, MallBaseId = demodel.MallBaseId });
}
foreach (var item in oclist)
{
var umodel = ulist.Where(x => x.Id == item.UserId).FirstOrDefault();
item.UserName = umodel?.Name ?? "";
item.Mobile = umodel?.Moblie ?? "";
item.Name = dislist.Where(x => x.UserId == item.UserId).FirstOrDefault()?.Name ?? "";
if (item.Type == 1)
{
if (item.Grade == 0)
{
item.GradeDescription = "自购返利";
}
else if (item.Grade == 1)
{
item.GradeDescription = "一级佣金";
}
else if (item.Grade == 2)
{
item.GradeDescription = "二级佣金";
}
else if (item.Grade == 3)
{
item.GradeDescription = "三级佣金";
}
}
else if (item.Type == 2)
{
var hpGModel = HpgradeList.Where(x => x.Id == item.Grade).FirstOrDefault();
item.GradeDescription = hpGModel?.GradeName ?? "暂无等级";
}
else if (item.Type == 3)
{
var fxGModel = FXGradeList.Where(x => x.Id == item.Grade).FirstOrDefault();
item.GradeDescription = fxGModel?.GradeName ?? "暂无等级";
}
}
}
foreach (var item in list)
......
......@@ -350,5 +350,15 @@ namespace Mall.Module.User
}
return flag;
}
/// <summary>
/// 新增vip购买返佣
/// </summary>
/// <param name="OrderId">vip购买单号id</param>
/// <param name="UserId">购买人</param>
/// <returns></returns>
public bool InsertVipBuyCommission(int OrderId, int UserId) {
return false;
}
}
}
......@@ -3517,6 +3517,121 @@ namespace Mall.Module.User
return RList;
}
/// <summary>
/// 粉象升级条件
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public object GetUserDistrbutorUpgradeConditionsForFX(AppletUserInfo userInfo)
{
var model = distributor_InfoRepository.GetList(new RB_Distributor_Info_Extend() { UserId = userInfo.UserId, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId }).FirstOrDefault();
if (model == null || model.AuditStatus != DistributorAuditStatusEnum.Audited)
{
return new
{
Status = 2,
GradeInfo = new { }
};
}
var gmodel = distributor_FXGradeRepository.GetEntity(model.FXGradeId);
var upgmodel = distributor_FXGradeRepository.GetDistrbutorUpgrade(gmodel?.Grade ?? 0, userInfo.TenantId, userInfo.MallBaseId);
if (upgmodel == null || (upgmodel.IsUpgrade??2) != 1)
{
return new
{
Status = 2,
GradeInfo = new { }
};
}
else
{
var FXList = distributor_FXGradeRepository.GetList(new RB_Distributor_FXGrade_Extend() { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId });
FXList = FXList.Where(x => x.Grade >= gmodel.Grade).ToList();
int MeetNum = 0;
//已发展等级
if (FXList.Any())
{
string FXGradeIds = string.Join(",", FXList.Select(x => x.Id));
MeetNum = member_UserRepository.GetUserReferralsForFX(new RB_Member_User_Extend() { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId, SuperiorId = userInfo.UserId, FXGradeIds = FXGradeIds });
}
return new
{
Status = 1,
GradeInfo = new
{
upgmodel.Id,
upgmodel.Grade,
upgmodel.GradeName,
upgmodel.CommissionRatio,
upgmodel.UpgradeNum,
MeetNum,
upgmodel.UpgradeId,
UpgradeIdName = distributor_FXGradeRepository.GetEntity(upgmodel.UpgradeId)?.GradeName ?? "其他等级"
}
};
}
}
/// <summary>
/// 用户自动升级粉象等级
/// </summary>
/// <param name="gradeId"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public string SetUserDistrbutorUpgradeForFX(int gradeId, AppletUserInfo userInfo)
{
var disModel = distributor_BasicsRepository.GetList(new RB_Distributor_Basics_Extend() { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId }).FirstOrDefault();
if ((disModel?.IsEnableFXGrade ?? 2) != 1) {
return "未启用自动升级";
}
var model = distributor_InfoRepository.GetList(new RB_Distributor_Info_Extend() { UserId = userInfo.UserId, TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId }).FirstOrDefault();
if (model == null || model.AuditStatus != DistributorAuditStatusEnum.Audited)
{
return "您不是分销商,无法操作";
}
var gmodel = distributor_FXGradeRepository.GetEntity(gradeId);
if (gmodel == null)
{
return "该等级不存在,无法升级";
}
if (gmodel.IsUpgrade != 1)
{
return "该等级未启用自动升级";
}
var FXList = distributor_FXGradeRepository.GetList(new RB_Distributor_FXGrade_Extend() { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId });
FXList = FXList.Where(x => x.Grade >= gmodel.Grade).ToList();
int MeetNum = 0;
//已发展等级
if (FXList.Any())
{
string FXGradeIds = string.Join(",", FXList.Select(x => x.Id));
MeetNum = member_UserRepository.GetUserReferralsForFX(new RB_Member_User_Extend() { TenantId = userInfo.TenantId, MallBaseId = userInfo.MallBaseId, SuperiorId = userInfo.UserId, FXGradeIds = FXGradeIds });
}
if ((gmodel.UpgradeNum ?? 0) > MeetNum)
{
return "未满足升级条件";
}
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Distributor_Info.FXGradeId),gradeId},
{ nameof(RB_Distributor_Info.UpdateDate),DateTime.Now}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Distributor_Info.Id),
FiledValue=gradeId,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag = distributor_InfoRepository.Update(keyValues, wheres);
if (flag)
{
return "";
}
return "升级失败,请联系管理员";
}
#endregion
#region 我的足迹
......
......@@ -84,5 +84,24 @@ namespace Mall.Repository.User
string sql = $@"select * from RB_Distributor_FXGrade where {where} order by Grade asc";
return Get<RB_Distributor_FXGrade_Extend>(sql).ToList();
}
/// <summary>
/// 获取下个等级
/// </summary>
/// <param name="grade"></param>
/// <param name="tenantId"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public RB_Distributor_FXGrade_Extend GetDistrbutorUpgrade(int grade, int tenantId, int mallBaseId)
{
string where = $@" 1=1 and {nameof(RB_Distributor_FXGrade.Status)}=0";
where += $@" and {nameof(RB_Distributor_FXGrade.TenantId)}={tenantId}";
where += $@" and {nameof(RB_Distributor_FXGrade.MallBaseId)}={mallBaseId}";
where += $@" and {nameof(RB_Distributor_FXGrade.Grade)}>{grade}";
string sql = $@"select * from RB_Distributor_FXGrade where {where} order by Grade asc limit 1";
return Get<RB_Distributor_FXGrade_Extend>(sql).FirstOrDefault();
}
}
}
......@@ -140,7 +140,7 @@ select * from RB_Member_User where {where} order by CreateDate desc
/// <returns></returns>
public List<RB_Member_User_Extend> GetPageListForFX(int pageIndex, int pageSize, out long rowCount, RB_Member_User_Extend dmodel)
{
string where = " 1=1 ";
string where = " 1=1 and d.Status=0 ";
if (dmodel.TenantId > 0)
{
where += $@" and u.{nameof(RB_Member_User.TenantId)}={dmodel.TenantId}";
......@@ -194,6 +194,78 @@ where {where} order by u.CreateDate desc
return GetPage<RB_Member_User_Extend>(pageIndex, pageSize, out rowCount, sql).ToList();
}
/// <summary>
/// 获取下线数量(粉象)
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public int GetUserReferralsForFX(RB_Member_User_Extend dmodel)
{
string where = " 1=1 and d.Status=0 ";
if (dmodel.TenantId > 0)
{
where += $@" and u.{nameof(RB_Member_User.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and u.{nameof(RB_Member_User.MallBaseId)}={dmodel.MallBaseId}";
}
if (!string.IsNullOrEmpty(dmodel.Name))
{
where += $@" and u.{nameof(RB_Member_User.Name)} like '%{dmodel.Name}%'";
}
if (!string.IsNullOrEmpty(dmodel.UserNameStr))
{
where += $@" and u.{nameof(RB_Member_User.Name)} in({dmodel.UserNameStr})";
}
if (!string.IsNullOrEmpty(dmodel.AliasName))
{
where += $@" and u.{nameof(RB_Member_User.AliasName)} like '%{dmodel.AliasName}%'";
}
if (dmodel.Source > 0)
{
where += $@" and u.{nameof(RB_Member_User.Source)} ={(int)dmodel.Source}";
}
if (!string.IsNullOrEmpty(dmodel.Moblie))
{
where += $@" and u.{nameof(RB_Member_User.Moblie)} like '%{dmodel.Moblie}%'";
}
if (dmodel.MemberGrade > 0)
{
where += $@" and u.{nameof(RB_Member_User.MemberGrade)}={dmodel.MemberGrade}";
}
if (dmodel.SuperiorId > 0)
{
where += $@" and u.{nameof(RB_Member_User.SuperiorId)}={dmodel.SuperiorId}";
}
if (!string.IsNullOrEmpty(dmodel.UserIds))
{
where += $@" and u.{nameof(RB_Member_User.Id)} in({dmodel.UserIds})";
}
if (dmodel.FXGradeId > 0)
{
where += $@" and d.{nameof(RB_Distributor_Info.FXGradeId)}={dmodel.FXGradeId}";
}
if (!string.IsNullOrEmpty(dmodel.FXGradeIds))
{
where += $@" and d.{nameof(RB_Distributor_Info.FXGradeId)} in({dmodel.FXGradeIds})";
}
string sql = $@"
select count(0) as UserNum from RB_Member_User u
inner join rb_distributor_info d on u.Id =d.UserId
where {where}
";
var obj = ExecuteScalar(sql);
if (obj != null)
{
return Convert.ToInt32(obj);
}
else {
return 0;
}
}
/// <summary>
/// 分页列表
/// </summary>
......
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>
/// vip购买返佣仓储层
/// </summary>
public class RB_VipBuy_CommissionRepository : RepositoryBase<RB_VipBuy_Commission>
{
/// <summary>
/// 分页列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="dmodel">查询条件</param>
/// <returns></returns>
public List<RB_VipBuy_Commission_Extend> GetPageList(int pageIndex, int pageSize, out long rowCount, RB_VipBuy_Commission_Extend dmodel)
{
string where = " 1=1 and b.Status =0";
if (dmodel.TenantId > 0)
{
where += $@" and b.{nameof(RB_VipBuy_Commission.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and b.{nameof(RB_VipBuy_Commission.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.Id > 0)
{
where += $@" and b.{nameof(RB_VipBuy_Commission.Id)}={dmodel.Id}";
}
if (dmodel.UserId > 0)
{
where += $@" and v.{nameof(RB_VipBuy_Commission.UserId)}={dmodel.UserId}";
}
if (!string.IsNullOrEmpty(dmodel.UserName))
{
where += $@" and u.{nameof(RB_Member_User.Name)} like '%{dmodel.UserName}%'";
}
string sql = $@"select v.*,vb.OrderNo,vb.GradeName,u.Name as UserName from RB_VipBuy_Commission v
inner join rb_vip_buy vb on v.OrderId = vb.Id
inner join rb_member_user u on vb.UserId= u.Id
where {where} order by v.Id desc";
return GetPage<RB_VipBuy_Commission_Extend>(pageIndex, pageSize, out rowCount, sql).ToList();
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_VipBuy_Commission_Extend> GetList(RB_VipBuy_Commission_Extend dmodel) {
string where = " 1=1 and b.Status =0";
if (dmodel.TenantId > 0)
{
where += $@" and b.{nameof(RB_VipBuy_Commission.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and b.{nameof(RB_VipBuy_Commission.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.Id > 0)
{
where += $@" and b.{nameof(RB_VipBuy_Commission.Id)}={dmodel.Id}";
}
if (dmodel.OrderId > 0)
{
where += $@" and b.{nameof(RB_VipBuy_Commission.OrderId)}={dmodel.OrderId}";
}
string sql = $@"select v.* from RB_VipBuy_Commission v where {where} order by v.Id desc";
return Get<RB_VipBuy_Commission_Extend>(sql).ToList();
}
}
}
......@@ -1388,6 +1388,171 @@ namespace Mall.WebApi.Controllers.MallBase
}
/// <summary>
/// 获取分销订单导出选项列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetDistributionOrdersExportEnumListForFX()
{
var list = EnumHelper.GetEnumList(typeof(DistributionOrdersExportForFXEnum));
return ApiResult.Success("", list.Select(x => new
{
Name = x.Key,
Id = Convert.ToInt32(x.Value)
}));
}
/// <summary>
/// 分销订单Excel下载
/// </summary>
[HttpPost]
public FileContentResult GetDistributionOrdersToExcelForFX()
{
var parms = RequestParm;
RB_Goods_Order_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_Order_Extend>(parms.msg.ToString());
string ExcelName = "分销订单" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
List<ExcelDataSource> slist = new List<ExcelDataSource>();
if (demodel.ExcelEnumIds == null || !demodel.ExcelEnumIds.Any())
{
var byteData1 = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData1, "application/octet-stream", ExcelName);
}
var Enumlist = EnumHelper.GetEnumList(typeof(DistributionOrdersExportForFXEnum));
ExcelDataSource header = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value: "序号") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER }
}
};
foreach (var item in demodel.ExcelEnumIds)
{
var Name = Enumlist.Where(x => x.Value == item.ToString()).FirstOrDefault().Key ?? "";
header.ExcelRows.Add(new ExcelColumn(value: Name) { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER });
}
slist.Add(header);
try
{
demodel.TenantId = Convert.ToInt32(parms.uid);
demodel.MallBaseId = parms.MallBaseId;
var list = orderModule.GetDistributionOrdersPageListToExcel(1, 10000, out long count, demodel);
#region 组装数据
int Num = 0;
foreach (var item in list)
{
foreach (var item2 in item.DetailList)
{
Num++;
var ocList = item.OrderCommissionList.Where(x => x.OrderDetailId == item2.Id).ToList();
int OCCount = ocList.Count();
OCCount = OCCount == 0 ? 1 : OCCount;
ExcelDataSource datarow = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value:Num.ToString()){ Rowspan = OCCount},
},
ColumnHight = 30
};
foreach (var qitem in demodel.ExcelEnumIds)
{
switch (qitem)
{
case 1:
datarow.ExcelRows.Add(new ExcelColumn(value: item.OrderSource.GetEnumName()) { Rowspan = OCCount }); break;
case 2:
datarow.ExcelRows.Add(new ExcelColumn(value: item.OrderNo) { Rowspan = OCCount }); break;
case 3:
datarow.ExcelRows.Add(new ExcelColumn(value: item.MerchantsNo) { Rowspan = OCCount }); break;
case 4:
datarow.ExcelRows.Add(new ExcelColumn(value: item.UserName) { Rowspan = OCCount }); break;
case 5:
datarow.ExcelRows.Add(new ExcelColumn(value: item2.GoodsName) { Rowspan = OCCount }); break;
case 6:
datarow.ExcelRows.Add(new ExcelColumn(value: item2.Specification) { Rowspan = OCCount }); break;
case 7:
datarow.ExcelRows.Add(new ExcelColumn(value: (item2.Number ?? 0).ToString()) { Rowspan = OCCount }); break;
case 8:
datarow.ExcelRows.Add(new ExcelColumn(value: item2.ProductCode) { Rowspan = OCCount }); break;
case 10:
datarow.ExcelRows.Add(new ExcelColumn(value: item.Consignee) { Rowspan = OCCount }); break;
case 11:
datarow.ExcelRows.Add(new ExcelColumn(value: item.Mobile) { Rowspan = OCCount }); break;
case 12:
datarow.ExcelRows.Add(new ExcelColumn(value: item.ShoppingAddress) { Rowspan = OCCount }); break;
case 13:
datarow.ExcelRows.Add(new ExcelColumn(value: (item2.Original_Price ?? 0).ToString()) { Rowspan = OCCount }); break;
case 14:
datarow.ExcelRows.Add(new ExcelColumn(value: (item2.Final_Price ?? 0).ToString()) { Rowspan = OCCount }); break;
case 16:
datarow.ExcelRows.Add(new ExcelColumn(value: item.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss")) { Rowspan = OCCount }); break;
case 17:
datarow.ExcelRows.Add(new ExcelColumn(value: item.OrderStatus.GetEnumName()) { Rowspan = OCCount }); break;
case 18:
datarow.ExcelRows.Add(new ExcelColumn(value: item.PaymentWay.GetEnumName()) { Rowspan = OCCount }); break;
case 19:
datarow.ExcelRows.Add(new ExcelColumn(value: item.OrderStatus > OrderStatusEnum.NonPayment ? "已付款" : "未付款") { Rowspan = OCCount }); break;
case 20:
datarow.ExcelRows.Add(new ExcelColumn(value: item.PaymentTime.HasValue ? item.PaymentTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : "") { Rowspan = OCCount }); break;
case 21:
datarow.ExcelRows.Add(new ExcelColumn(value: item.Remark) { Rowspan = OCCount }); break;
case 22:
datarow.ExcelRows.Add(new ExcelColumn(value: item.BuyerMessage) { Rowspan = OCCount }); break;
}
}
bool IsOCFirst = true;
if (ocList.Any())
{
ocList = ocList.OrderBy(x => x.Grade).ToList();
foreach (var ocitem in ocList)
{
if (!IsOCFirst)
{
datarow = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value:Num.ToString()){ },
},
ColumnHight = 30
};
for (var i = 0; i < 19; i++) {
datarow.ExcelRows.Add(new ExcelColumn(value: "") { });
}
}
string UserName = $"昵称:{ocitem.UserName},姓名:{ocitem.Name},手机号:{ocitem.Mobile}";
datarow.ExcelRows.Add(new ExcelColumn(value: ocitem.GradeDescription) { });
datarow.ExcelRows.Add(new ExcelColumn(value: UserName) { });
datarow.ExcelRows.Add(new ExcelColumn(value: (ocitem.Commission ?? 0).ToString()) { });
slist.Add(datarow);
IsOCFirst = false;
}
}
else {
datarow.ExcelRows.Add(new ExcelColumn(value: "") { });
datarow.ExcelRows.Add(new ExcelColumn(value: "") { });
datarow.ExcelRows.Add(new ExcelColumn(value: "") { });
slist.Add(datarow);
}
}
}
#endregion
var byteData = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData, "application/octet-stream", ExcelName);
}
catch (Exception ex)
{
LogHelper.Write(ex, string.Format("GetFileFromWebApi_requestData: {0}", JsonHelper.Serialize(RequestParm)));
var byteData1 = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData1, "application/octet-stream", ExcelName);
}
}
#endregion
#region 售后订单
......
......@@ -679,6 +679,46 @@ namespace Mall.WebApi.Controllers.User
return ApiResult.Success("", pageModel);
}
/// <summary>
/// 获取粉象等级升级条件
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetUserDistrbutorUpgradeConditionsForFX()
{
var userInfo = AppletUserInfo;
var obj = userModule.GetUserDistrbutorUpgradeConditionsForFX(userInfo);
return ApiResult.Success("", obj);
}
/// <summary>
/// 设置自行升级粉象等级
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetUserDistrbutorUpgradeForFX()
{
var userInfo = AppletUserInfo;
var req = RequestParm;
JObject prams = JObject.Parse(req.msg.ToString());
int GradeId = prams.GetInt("GradeId", 0);
if (GradeId <= 0)
{
return ApiResult.ParamIsNull();
}
string msg = userModule.SetUserDistrbutorUpgradeForFX(GradeId, userInfo);
if (msg == "")
{
return ApiResult.Success();
}
else
{
return ApiResult.Failed(msg);
}
}
#endregion
#region 会员中心
......
......@@ -2716,6 +2716,15 @@ namespace Mall.WebApi.Controllers.User
return ApiResult.ParamIsNull("等级已存在,请核实后再试");
}
if ((demodel.IsUpgrade ?? 2) == 1) {
if ((demodel.UpgradeNum ?? 0) <= 0) {
return ApiResult.ParamIsNull("请输入所需下线数量");
}
if ((demodel.UpgradeId ?? 0) <= 0) {
return ApiResult.ParamIsNull("请选择所需下线等级");
}
}
demodel.TenantId = req.TenantId;
demodel.MallBaseId = req.MallBaseId;
demodel.Status = 0;
......@@ -2778,6 +2787,18 @@ namespace Mall.WebApi.Controllers.User
return userModule.GetFXDistributorGradeView(req.TenantId, req.MallBaseId);
}
/// <summary>
/// 获取是否启用粉象返佣
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetIsEnableFXDistributorGrade() {
var requestParm = RequestParm;
var model = userModule.GetDistributorBasicsInfo(requestParm.uid, requestParm.MallBaseId);
return ApiResult.Success("", model?.IsEnableFXGrade ?? 2);
}
#endregion
#region 后台获取小程序码
......
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