Commit 4f370280 authored by liudong1993's avatar liudong1993
parents 90cff667 d325ddc1
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Common.Enum.MarketingCenter
{
public enum BalanceExportEnum
{
/// <summary>
/// 所属平台
/// </summary>
[EnumField("所属平台")]
SSPT = 1,
/// <summary>
/// 昵称
/// </summary>
[EnumField("用户ID")]
ID = 2,
/// <summary>
/// 用户昵称
/// </summary>
[EnumField("用户昵称")]
YHNC = 3,
/// <summary>
/// 用户手机号
/// </summary>
[EnumField("用户手机号")]
YHSJH = 4,
/// <summary>
/// 金额类型
/// </summary>
[EnumField("金额类型")]
JELX = 5,
/// <summary>
/// 金额
/// </summary>
[EnumField("金额")]
JE =6,
/// <summary>
/// 支付日期
/// </summary>
[EnumField("支付日期")]
ZFRQ = 7,
/// <summary>
/// 说明
/// </summary>
[EnumField("说明")]
SM = 8,
}
}
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Common.Enum.MarketingCenter
{
public enum PlatformTypeEnum
{
/// <summary>
/// 微信
/// </summary>
[EnumField("微信")]
WeChat = 1,
/// <summary>
/// 支付宝
/// </summary>
[EnumField("支付宝")]
Alipay = 2,
/// <summary>
/// 抖音/头条
/// </summary>
[EnumField("抖音/头条")]
TrillOrHeadline = 3,
/// <summary>
/// 百度
/// </summary>
[EnumField("百度")]
Baidu = 2,
}
}
...@@ -68,5 +68,6 @@ namespace Mall.Model.Entity.BaseSetUp ...@@ -68,5 +68,6 @@ namespace Mall.Model.Entity.BaseSetUp
/// 区 /// 区
/// </summary> /// </summary>
public int DistrictId { get; set; } public int DistrictId { get; set; }
} }
} }
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.BaseSetUp
{
/// <summary>
/// 发货的模板
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_ShippingTemplate
{
/// <summary>
/// 网点名称
/// </summary>
public int WebDot { get; set; }
/// <summary>
/// 网点联系人
/// </summary>
public int Name { get; set; }
/// <summary>
/// 网点联系方式
/// </summary>
public int Mobile { get; set; }
/// <summary>
/// 网点地址
/// </summary>
public int Address { get; set; }
/// <summary>
/// 网点邮编
/// </summary>
public int PostCode { get; set; }
/// <summary>
/// 订单号
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 订单时间
/// </summary>
public int OrderDate { get; set; }
/// <summary>
/// 打印日期
/// </summary>
public int PrintDate { get; set; }
/// <summary>
/// 商品序号
/// </summary>
public int GoodsSerial { get; set; }
/// <summary>
/// 商品名称
/// </summary>
public int GoodsName { get; set; }
/// <summary>
/// 规格
/// </summary>
public int Standard { get; set; }
/// <summary>
/// 数量
/// </summary>
public int GoodsNum { get; set; }
/// <summary>
/// 小计
/// </summary>
public int Subtotal { get; set; }
/// <summary>
/// 货号
/// </summary>
public int GoodsNo { get; set; }
/// <summary>
/// 单位
/// </summary>
public int Unit { get; set; }
/// <summary>
/// 订单金额
/// </summary>
public int OrderPrice { get; set; }
/// <summary>
/// 优惠
/// </summary>
public int DiscountsPrice { get; set; }
/// <summary>
/// 实付
/// </summary>
public int OrderPay { get; set; }
/// <summary>
/// 运费
/// </summary>
public int Freight { get; set; }
/// <summary>
/// 收货人昵称
/// </summary>
public int RecipientsNickName { get; set; }
/// <summary>
/// 收货人姓名
/// </summary>
public int RecipientsName { get; set; }
/// <summary>
/// 联系方式
/// </summary>
public int RecipientsMobile { get; set; }
/// <summary>
/// 支付方式
/// </summary>
public int PayType { get; set; }
/// <summary>
/// 发货方式
/// </summary>
public int DeliverType { get; set; }
/// <summary>
/// 收货地址
/// </summary>
public int DeliveryAddre { get; set; }
/// <summary>
/// 买家留言
/// </summary>
public int BuyerMessage { get; set; }
/// <summary>
/// 商家备注
/// </summary>
public int BusinessRemark { get; set; }
}
}
...@@ -67,10 +67,7 @@ namespace Mall.Model.Entity.User ...@@ -67,10 +67,7 @@ namespace Mall.Model.Entity.User
public string Remarks { get; set; } public string Remarks { get; set; }
/// <summary>
/// 平台类型
/// </summary>
public PlatformTypeEnum? PlatformType { get; set; }
/// <summary> /// <summary>
/// 使用状态 0-未使用,1:已使用,2:已作废 /// 使用状态 0-未使用,1:已使用,2:已作废
......
...@@ -37,10 +37,7 @@ namespace Mall.Model.Entity.User ...@@ -37,10 +37,7 @@ namespace Mall.Model.Entity.User
} }
/// <summary>
/// 平台类型
/// </summary>
public PlatformTypeEnum? PlatformType { get; set; }
/// <summary> /// <summary>
/// 积分 /// 积分
......
...@@ -3,6 +3,7 @@ using System; ...@@ -3,6 +3,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using Mall.Model.Entity.User; using Mall.Model.Entity.User;
using Mall.Common.Enum.User;
namespace Mall.Model.Extend.User namespace Mall.Model.Extend.User
{ {
...@@ -18,6 +19,7 @@ namespace Mall.Model.Extend.User ...@@ -18,6 +19,7 @@ namespace Mall.Model.Extend.User
/// </summary> /// </summary>
public string MemberName { get; set; } public string MemberName { get; set; }
/// <summary> /// <summary>
/// 开始时间【查询使用】 /// 开始时间【查询使用】
/// </summary> /// </summary>
...@@ -27,5 +29,17 @@ namespace Mall.Model.Extend.User ...@@ -27,5 +29,17 @@ namespace Mall.Model.Extend.User
/// 结束时间【查询使用】 /// 结束时间【查询使用】
/// </summary> /// </summary>
public string EndDate { get; set; } public string EndDate { get; set; }
/// <summary>
/// 手机号码
/// </summary>
public string Moblie { get; set; }
/// <summary>
/// 下载枚举
/// </summary>
public List<int> ExcelEnumIds { get; set; }
public UserSourceEnum? PlatformType { get; set; }
} }
} }
using Mall.Common.AOP; using Mall.Common.AOP;
using Mall.Common.Enum.User;
using Mall.Model.Entity.User; using Mall.Model.Entity.User;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
...@@ -13,6 +14,6 @@ namespace Mall.Model.Extend.User ...@@ -13,6 +14,6 @@ namespace Mall.Model.Extend.User
[DB(ConnectionName = "DefaultConnection")] [DB(ConnectionName = "DefaultConnection")]
public class RB_Member_DiscountCoupon_Extend : RB_Member_DiscountCoupon public class RB_Member_DiscountCoupon_Extend : RB_Member_DiscountCoupon
{ {
public int PlatformType { get; set; }
} }
} }
...@@ -3,6 +3,7 @@ using System; ...@@ -3,6 +3,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using Mall.Model.Entity.User; using Mall.Model.Entity.User;
using Mall.Common.Enum.User;
namespace Mall.Model.Extend.User namespace Mall.Model.Extend.User
{ {
...@@ -27,5 +28,11 @@ namespace Mall.Model.Extend.User ...@@ -27,5 +28,11 @@ namespace Mall.Model.Extend.User
/// 结束时间【查询使用】 /// 结束时间【查询使用】
/// </summary> /// </summary>
public string EndDate { get; set; } public string EndDate { get; set; }
/// <summary>
/// 平台类型
/// </summary>
public UserSourceEnum? PlatformType { get; set; }
} }
} }
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Query
{
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class MemberCoupon_Query
{
public int TenantId { get; set; }
public int MallBaseId { get; set; }
public int PlatformType { get; set; }
public string CreateDate { get; set; }
/// <summary>
/// 名字
/// </summary>
public string Name { get; set; }
/// <summary>
/// 已发放数量
/// </summary>
public string IsSued { get; set; }
/// <summary>
/// 已使用
/// </summary>
public string Used { get; set; }
/// <summary>
/// 未使用
/// </summary>
public string UnUsed { get; set; }
/// <summary>
/// 已失效
/// </summary>
public string Voksi { get; set; }
/// <summary>
/// 开始时间【查询使用】
/// </summary>
public string StartDate { get; set; }
/// <summary>
/// 结束时间【查询使用】
/// </summary>
public string EndDate { get; set; }
}
}
...@@ -166,18 +166,30 @@ namespace Mall.Module.BaseSetUp ...@@ -166,18 +166,30 @@ namespace Mall.Module.BaseSetUp
public RB_Logistics_Rules_Extend GetLogisticsRulesModel(RB_Logistics_Rules_Extend query) public RB_Logistics_Rules_Extend GetLogisticsRulesModel(RB_Logistics_Rules_Extend query)
{ {
RB_Logistics_Rules_Extend model = logisticsRulesRepository.GetLogisticsRulesList(query).FirstOrDefault(); RB_Logistics_Rules_Extend model = logisticsRulesRepository.GetLogisticsRulesList(query).FirstOrDefault();
//获取价格规则 if (model != null && model.ID > 0)
List<RB_Logistics_RulesPrice_Extend> ListPrice = logisticsRulesPriceRepository.GetListRepository(new RB_Logistics_RulesPrice_Extend { TenantId = query.TenantId, MallBaseId = query.MallBaseId, RulesId = query.ID }); {
//获取价格规则
List<RB_Logistics_RulesPrice_Extend> ListPrice = logisticsRulesPriceRepository.GetListRepository(new RB_Logistics_RulesPrice_Extend { TenantId = query.TenantId, MallBaseId = query.MallBaseId, RulesId = model.ID });
List<RB_Logistics_RulesRegion_Extend> listLogisticsRulesRegion = new List<RB_Logistics_RulesRegion_Extend>();
List<RB_Logistics_RulesRegion_Extend> listLogisticsRulesRegion = logisticsRulesRegionRepository.GetListRepository(new RB_Logistics_RulesRegion_Extend { TenantId = query.TenantId, RulesType = Common.Enum.MallBase.RulesTypeEnum.Rule, MallBaseId = query.MallBaseId, PriceIds = string.Join(",", ListPrice.Select(x => x.ID)) }); if (ListPrice != null && ListPrice.Any())
{
listLogisticsRulesRegion = logisticsRulesRegionRepository.GetListRepository(new RB_Logistics_RulesRegion_Extend { TenantId = query.TenantId, RulesType =model.RulesType, MallBaseId = query.MallBaseId, PriceIds = string.Join(",", ListPrice.Select(x => x.ID)) });
model.Detail = new List<RB_Logistics_RulesPrice_Extend>(); }
model.Detail = ListPrice; model.Detail = new List<RB_Logistics_RulesPrice_Extend>();
model.Detail = ListPrice;
foreach (var item in model.Detail) foreach (var item in model.Detail)
{
item.List = new List<RB_Logistics_RulesRegion_Extend>();
item.List = listLogisticsRulesRegion.Where(x => x.RulesPriceId == item.ID).ToList();
}
}
else
{ {
item.List = new List<RB_Logistics_RulesRegion_Extend>(); model = new RB_Logistics_Rules_Extend();
item.List = listLogisticsRulesRegion.Where(x => x.RulesPriceId == item.ID).ToList(); model.Detail = new List<RB_Logistics_RulesPrice_Extend>();
} }
return model; return model;
} }
...@@ -236,6 +248,7 @@ namespace Mall.Module.BaseSetUp ...@@ -236,6 +248,7 @@ namespace Mall.Module.BaseSetUp
if (model.ID == 0) if (model.ID == 0)
{ {
rulesId = logisticsRulesRepository.Insert(model, trans); rulesId = logisticsRulesRepository.Insert(model, trans);
flag = rulesId > 0;
if (model.Detail != null && model.Detail.Any()) if (model.Detail != null && model.Detail.Any())
{ {
foreach (var item in model.Detail) foreach (var item in model.Detail)
...@@ -248,7 +261,7 @@ namespace Mall.Module.BaseSetUp ...@@ -248,7 +261,7 @@ namespace Mall.Module.BaseSetUp
int priceId = logisticsRulesPriceRepository.Insert(item, trans); int priceId = logisticsRulesPriceRepository.Insert(item, trans);
item.List.ForEach(x => x.RulesPriceId = priceId); item.List.ForEach(x => x.RulesPriceId = priceId);
item.List.ForEach(x => x.TenantId = model.TenantId); item.List.ForEach(x => x.TenantId = model.TenantId);
item.List.ForEach(x => x.RulesType = Common.Enum.MallBase.RulesTypeEnum.Rule); item.List.ForEach(x => x.RulesType = model.RulesType);
item.List.ForEach(x => x.MallBaseId = model.MallBaseId); item.List.ForEach(x => x.MallBaseId = model.MallBaseId);
item.List.ForEach(x => x.CreateDate = System.DateTime.Now); item.List.ForEach(x => x.CreateDate = System.DateTime.Now);
item.List.ForEach(x => x.UpdateDate = System.DateTime.Now); item.List.ForEach(x => x.UpdateDate = System.DateTime.Now);
...@@ -535,7 +548,7 @@ namespace Mall.Module.BaseSetUp ...@@ -535,7 +548,7 @@ namespace Mall.Module.BaseSetUp
model.List.ForEach(x => x.TenantId = model.TenantId); model.List.ForEach(x => x.TenantId = model.TenantId);
model.List.ForEach(x => x.CreateDate = System.DateTime.Now); model.List.ForEach(x => x.CreateDate = System.DateTime.Now);
model.List.ForEach(x => x.ID = 0); model.List.ForEach(x => x.ID = 0);
model.List.ForEach(x => x.RulesPriceId =rulesId); model.List.ForEach(x => x.RulesPriceId = rulesId);
model.List.ForEach(x => x.RulesType = model.RulesType); model.List.ForEach(x => x.RulesType = model.RulesType);
model.List.ForEach(x => x.MallBaseId = model.MallBaseId); model.List.ForEach(x => x.MallBaseId = model.MallBaseId);
flag = logisticsRulesRegionRepository.InsertBatch(model.List, trans); flag = logisticsRulesRegionRepository.InsertBatch(model.List, trans);
......
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
using Mall.Model.Entity.MarketingCenter; using Mall.Model.Entity.MarketingCenter;
using Mall.Model.Entity.User; using Mall.Model.Entity.User;
using Mall.Model.Extend.MarketingCenter; using Mall.Model.Extend.MarketingCenter;
using Mall.Model.Extend.User;
using Mall.Model.Query;
using Mall.Repository; using Mall.Repository;
using Mall.Repository.MarketingCenter; using Mall.Repository.MarketingCenter;
using System; using System;
...@@ -553,9 +555,50 @@ namespace Mall.Module.MarketingCenter ...@@ -553,9 +555,50 @@ namespace Mall.Module.MarketingCenter
return flag; return flag;
} }
#endregion #endregion
#region 优惠券发放统计
/// <summary>
/// 数据统计-积分收支
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<MemberCoupon_Query> GetCouponStatisticslList(int pageIndex, int pageSize, out long rowCount, MemberCoupon_Query query)
{
return memberCouponRepository.GetCouponStatisticslList(pageIndex, pageSize, out rowCount, query);
}
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Member_DiscountCoupon_Extend> GetTotalIntegral(RB_Member_DiscountCoupon_Extend dmodel)
{
return memberCouponRepository.GetExportIntegraStatisticslList(dmodel);
}
/// <summary>
/// 数据统计-积分收支
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<MemberCoupon_Query> GetExportCouponStatisticslList(MemberCoupon_Query query)
{
return memberCouponRepository.GetExportCouponStatisticslList(query);
}
#endregion
} }
} }
...@@ -141,6 +141,20 @@ namespace Mall.Module.MarketingCenter ...@@ -141,6 +141,20 @@ namespace Mall.Module.MarketingCenter
{ {
return balanceRepository.GetMemberBalancePageList(pageIndex, pageSize, out rowCount, query); return balanceRepository.GetMemberBalancePageList(pageIndex, pageSize, out rowCount, query);
} }
/// <summary>
/// 导出余额收支
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Member_Balance_Extend> GetMemberBalanceExport(RB_Member_Balance_Extend query)
{
return balanceRepository.GetMemberBalanceExport(query);
}
#endregion #endregion
} }
} }
...@@ -28,19 +28,24 @@ namespace Mall.Repository.User ...@@ -28,19 +28,24 @@ namespace Mall.Repository.User
public List<RB_Member_Balance_Extend> GetPageList(int pageIndex, int pageSize, out long rowCount, RB_Member_Balance_Extend dmodel) public List<RB_Member_Balance_Extend> GetPageList(int pageIndex, int pageSize, out long rowCount, RB_Member_Balance_Extend dmodel)
{ {
string where = " 1=1 "; string where = " 1=1 ";
if (dmodel.TenantId > 0) { if (dmodel.TenantId > 0)
{
where += $@" and {nameof(RB_Member_Balance.TenantId)}={dmodel.TenantId}"; where += $@" and {nameof(RB_Member_Balance.TenantId)}={dmodel.TenantId}";
} }
if (dmodel.MallBaseId > 0) { if (dmodel.MallBaseId > 0)
{
where += $@" and {nameof(RB_Member_Balance.MallBaseId)}={dmodel.MallBaseId}"; where += $@" and {nameof(RB_Member_Balance.MallBaseId)}={dmodel.MallBaseId}";
} }
if (dmodel.Id > 0) { if (dmodel.Id > 0)
{
where += $@" and {nameof(RB_Member_Balance.Id)}={dmodel.Id}"; where += $@" and {nameof(RB_Member_Balance.Id)}={dmodel.Id}";
} }
if (dmodel.Type > 0) { if (dmodel.Type > 0)
{
where += $@" and {nameof(RB_Member_Balance.Type)}={dmodel.Type}"; where += $@" and {nameof(RB_Member_Balance.Type)}={dmodel.Type}";
} }
if (dmodel.UserId > 0) { if (dmodel.UserId > 0)
{
where += $@" and {nameof(RB_Member_Balance.UserId)}={dmodel.UserId}"; where += $@" and {nameof(RB_Member_Balance.UserId)}={dmodel.UserId}";
} }
...@@ -124,6 +129,48 @@ namespace Mall.Repository.User ...@@ -124,6 +129,48 @@ namespace Mall.Repository.User
return GetPage<RB_Member_Balance_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList(); return GetPage<RB_Member_Balance_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
} }
/// <summary>
/// 导出余额收支
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Member_Balance_Extend> GetMemberBalanceExport(RB_Member_Balance_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT a.*,b.`Name` as MemberName,b.Moblie FROM {TableName} as a LEFT JOIN {MemberTableName} as b on a.UserId = b.Id WHERE 1=1 ");
if (query != null)
{
if (query.Id > 0)
{
builder.Append($" AND a.{nameof(RB_Member_Balance_Extend.Id)}={query.Id}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_Member_Balance_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_Member_Balance_Extend.MallBaseId)}={query.MallBaseId}");
}
if (!string.IsNullOrWhiteSpace(query.MemberName))
{
builder.Append($" AND b.{nameof(RB_Member_Balance_Extend.MemberName)} like '%{query.MemberName}%'");
}
if (!string.IsNullOrWhiteSpace(query.StartDate))
{
builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Balance_Extend.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{nameof(RB_Member_Balance_Extend.StartDate)}','%Y-%m-%d' )");
}
if (!string.IsNullOrWhiteSpace(query.EndDate))
{
builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Balance_Extend.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{nameof(RB_Member_Balance_Extend.EndDate)}','%Y-%m-%d' )");
}
}
return Get<RB_Member_Balance_Extend>(builder.ToString()).ToList();
}
} }
......
...@@ -64,30 +64,38 @@ namespace Mall.Repository.User ...@@ -64,30 +64,38 @@ namespace Mall.Repository.User
string where = " 1=1 "; string where = " 1=1 ";
if (dmodel.TenantId > 0) if (dmodel.TenantId > 0)
{ {
where += $@" and {nameof(RB_Member_Integral.TenantId)}={dmodel.TenantId}"; where += $@" and a.{nameof(RB_Member_Integral.TenantId)}={dmodel.TenantId}";
} }
if (dmodel.MallBaseId > 0) if (dmodel.MallBaseId > 0)
{ {
where += $@" and {nameof(RB_Member_Integral.MallBaseId)}={dmodel.MallBaseId}"; where += $@" and a.{nameof(RB_Member_Integral.MallBaseId)}={dmodel.MallBaseId}";
} }
if (dmodel.Id > 0) if (dmodel.Id > 0)
{ {
where += $@" and {nameof(RB_Member_Integral.Id)}={dmodel.Id}"; where += $@" and a.{nameof(RB_Member_Integral.Id)}={dmodel.Id}";
} }
if (dmodel.Type > 0) if (dmodel.Type > 0)
{ {
where += $@" and {nameof(RB_Member_Integral.Type)}={dmodel.Type}"; where += $@" and a.{nameof(RB_Member_Integral.Type)}={dmodel.Type}";
} }
if (dmodel.PlatformType != null && (int)dmodel.PlatformType > 0)
if (dmodel.UserId > 0)
{ {
where += $@" and {nameof(RB_Member_Integral.PlatformType)}={dmodel.PlatformType}"; where += $@" and a.{nameof(RB_Member_Integral.UserId)}={dmodel.UserId}";
} }
if (dmodel.UserId > 0) if (dmodel.PlatformType > 0)
{ {
where += $@" and {nameof(RB_Member_Integral.UserId)}={dmodel.UserId}"; where += $" AND b.{nameof(RB_Member_User.Source)}={dmodel.PlatformType}";
} }
if (!string.IsNullOrWhiteSpace(dmodel.StartDate))
string sql = $@"select * from RB_Member_Integral where {where} order by Id desc"; {
where += $" AND DATE_FORMAT(a.{nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{dmodel.StartDate}','%Y-%m-%d' )";
}
if (!string.IsNullOrWhiteSpace(dmodel.EndDate))
{
where += $" AND DATE_FORMAT(a.{nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{dmodel.EndDate}','%Y-%m-%d' )";
}
string sql = $@"SELECT a.*,b.`Name` as MemberName FROM {TableName} as a LEFT JOIN {MemberTableName} as b on a.UserId = b.Id WHERE {where} order by Id desc";
return Get<RB_Member_Integral_Extend>(sql).ToList(); return Get<RB_Member_Integral_Extend>(sql).ToList();
} }
...@@ -114,7 +122,7 @@ namespace Mall.Repository.User ...@@ -114,7 +122,7 @@ namespace Mall.Repository.User
{ {
builder.Append($" AND a.{nameof(RB_Member_Integral_Extend.TenantId)}={query.TenantId}"); builder.Append($" AND a.{nameof(RB_Member_Integral_Extend.TenantId)}={query.TenantId}");
} }
if (query.TenantId > 0) if (query.MallBaseId > 0)
{ {
builder.Append($" AND a.{nameof(RB_Member_Integral_Extend.MallBaseId)}={query.MallBaseId}"); builder.Append($" AND a.{nameof(RB_Member_Integral_Extend.MallBaseId)}={query.MallBaseId}");
} }
...@@ -124,11 +132,11 @@ namespace Mall.Repository.User ...@@ -124,11 +132,11 @@ namespace Mall.Repository.User
} }
if (!string.IsNullOrWhiteSpace(query.StartDate)) if (!string.IsNullOrWhiteSpace(query.StartDate))
{ {
builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{nameof(RB_Member_Integral_Extend.StartDate)}','%Y-%m-%d' )"); builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{query.StartDate}','%Y-%m-%d' )");
} }
if (!string.IsNullOrWhiteSpace(query.EndDate)) if (!string.IsNullOrWhiteSpace(query.EndDate))
{ {
builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{nameof(RB_Member_Integral_Extend.EndDate)}','%Y-%m-%d' )"); builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{query.EndDate}','%Y-%m-%d' )");
} }
} }
return GetPage<RB_Member_Integral_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList(); return GetPage<RB_Member_Integral_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
...@@ -148,29 +156,30 @@ namespace Mall.Repository.User ...@@ -148,29 +156,30 @@ namespace Mall.Repository.User
{ {
if (query.TenantId > 0) if (query.TenantId > 0)
{ {
builder.Append($" AND {nameof(RB_Member_Integral_Extend.TenantId)}={query.TenantId}"); builder.Append($" AND a.{nameof(RB_Member_Integral_Extend.TenantId)}={query.TenantId}");
} }
if (query.TenantId > 0) if (query.TenantId > 0)
{ {
builder.Append($" AND {nameof(RB_Member_Integral_Extend.MallBaseId)}={query.MallBaseId}"); builder.Append($" AND a.{nameof(RB_Member_Integral_Extend.MallBaseId)}={query.MallBaseId}");
} }
if (query.PlatformType > 0) if (query.PlatformType > 0)
{ {
builder.Append($" AND {nameof(RB_Member_Integral_Extend.PlatformType)}={query.PlatformType}"); builder.Append($" AND b.{nameof(RB_Member_User.Source)}={query.PlatformType}");
} }
if (!string.IsNullOrWhiteSpace(query.StartDate)) if (!string.IsNullOrWhiteSpace(query.StartDate))
{ {
builder.Append($" AND DATE_FORMAT({nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{nameof(RB_Member_Integral_Extend.StartDate)}','%Y-%m-%d' )"); builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{query.StartDate}','%Y-%m-%d' )");
} }
if (!string.IsNullOrWhiteSpace(query.EndDate)) if (!string.IsNullOrWhiteSpace(query.EndDate))
{ {
builder.Append($" AND DATE_FORMAT({nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{nameof(RB_Member_Integral_Extend.EndDate)}','%Y-%m-%d' )"); builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{query.EndDate}','%Y-%m-%d' )");
} }
} }
string sql = @$" SELECT CreateDate,SUM(Income) as Income, SUM(Expend) as Expend from ( string sql = @$" SELECT CreateDate,SUM(Income) as Income, SUM(Expend) as Expend from (
select DATE_FORMAT(CreateDate, '%Y-%m-%d') as CreateDate, Integral as Income, 0 as Expend from rb_member_integral where Type = 1 {builder.ToString()} select DATE_FORMAT(a.CreateDate, '%Y-%m-%d') as CreateDate, a.Integral as Income, 0 as Expend from {TableName} as a LEFT JOIN {MemberTableName} as b on a.UserId=b.Id where a.Type = 1 {builder.ToString()}
union all union all
select DATE_FORMAT(CreateDate, '%Y-%m-%d') as CreateDate, 0 as Income, Integral as Expend from rb_member_integral where Type = 2 {builder.ToString()} select DATE_FORMAT(a.CreateDate, '%Y-%m-%d') as CreateDate, a.Integral as Income, 0 as Expend from {TableName} as a LEFT JOIN {MemberTableName} as b on a.UserId=b.Id where a.Type = 2 {builder.ToString()}
) as t GROUP BY CreateDate "; ) as t GROUP BY CreateDate ";
return GetPage<Integral_Query>(pageIndex, pageSize, out rowCount, sql).ToList(); return GetPage<Integral_Query>(pageIndex, pageSize, out rowCount, sql).ToList();
} }
...@@ -191,29 +200,30 @@ select DATE_FORMAT(CreateDate, '%Y-%m-%d') as CreateDate, 0 as Income, Integral ...@@ -191,29 +200,30 @@ select DATE_FORMAT(CreateDate, '%Y-%m-%d') as CreateDate, 0 as Income, Integral
{ {
if (query.TenantId > 0) if (query.TenantId > 0)
{ {
builder.Append($" AND {nameof(RB_Member_Integral_Extend.TenantId)}={query.TenantId}"); builder.Append($" AND a.{nameof(RB_Member_Integral_Extend.TenantId)}={query.TenantId}");
} }
if (query.TenantId > 0) if (query.TenantId > 0)
{ {
builder.Append($" AND {nameof(RB_Member_Integral_Extend.MallBaseId)}={query.MallBaseId}"); builder.Append($" AND a.{nameof(RB_Member_Integral_Extend.MallBaseId)}={query.MallBaseId}");
} }
if (query.PlatformType > 0) if (query.PlatformType > 0)
{ {
builder.Append($" AND {nameof(RB_Member_Integral_Extend.PlatformType)}={query.PlatformType}"); builder.Append($" AND b.{nameof(RB_Member_User.Source)}={query.PlatformType}");
} }
if (!string.IsNullOrWhiteSpace(query.StartDate)) if (!string.IsNullOrWhiteSpace(query.StartDate))
{ {
builder.Append($" AND DATE_FORMAT({nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{nameof(RB_Member_Integral_Extend.StartDate)}','%Y-%m-%d' )"); builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{query.StartDate}','%Y-%m-%d' )");
} }
if (!string.IsNullOrWhiteSpace(query.EndDate)) if (!string.IsNullOrWhiteSpace(query.EndDate))
{ {
builder.Append($" AND DATE_FORMAT({nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{nameof(RB_Member_Integral_Extend.EndDate)}','%Y-%m-%d' )"); builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{query.EndDate}','%Y-%m-%d' )");
} }
} }
string sql = @$" SELECT CreateDate,SUM(Income) as Income, SUM(Expend) as Expend from ( string sql = @$" SELECT CreateDate,SUM(Income) as Income, SUM(Expend) as Expend from (
select DATE_FORMAT(CreateDate, '%Y-%m-%d') as CreateDate, Integral as Income, 0 as Expend from rb_member_integral where Type = 1 {builder.ToString()} select DATE_FORMAT(a.CreateDate, '%Y-%m-%d') as CreateDate, a.Integral as Income, 0 as Expend from {TableName} as a LEFT JOIN {MemberTableName} as b on a.UserId=b.Id where a.Type = 1 {builder.ToString()}
union all union all
select DATE_FORMAT(CreateDate, '%Y-%m-%d') as CreateDate, 0 as Income, Integral as Expend from rb_member_integral where Type = 2 {builder.ToString()} select DATE_FORMAT(a.CreateDate, '%Y-%m-%d') as CreateDate, a.Integral as Income, 0 as Expend from {TableName} as a LEFT JOIN {MemberTableName} as b on a.UserId=b.Id where a.Type = 2 {builder.ToString()}
) as t GROUP BY CreateDate "; ) as t GROUP BY CreateDate ";
return Get<Integral_Query>(sql).ToList(); return Get<Integral_Query>(sql).ToList();
} }
......
...@@ -460,31 +460,14 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -460,31 +460,14 @@ namespace Mall.WebApi.Controllers.MallBase
} }
else else
{ {
if (string.IsNullOrWhiteSpace(query.RulesName)) if (query.IsOpenAllRegionPrice == 1)
{
return ApiResult.Failed("请输入规则名称");
}
if (query.Detail == null || !query.Detail.Any())
{
return ApiResult.Failed("请输入运费规则");
}
if (query.IsOpenAllRegionPrice == 0)
{
foreach (var item in query.Detail)
{
if (item.List == null || !item.List.Any())
{
return ApiResult.Failed("请选择地区");
}
}
}
else
{ {
if (query.AllRegionPrice < 0) if (query.AllRegionPrice < 0)
{ {
return ApiResult.Failed("全地区起送金额不能为负数"); return ApiResult.Failed("全地区起送金额不能为负数");
} }
} }
if (query.ID == 0) if (query.ID == 0)
{ {
query.CreateDate = System.DateTime.Now; query.CreateDate = System.DateTime.Now;
......
...@@ -6,6 +6,8 @@ using Mall.Common.API; ...@@ -6,6 +6,8 @@ using Mall.Common.API;
using Mall.Common.Plugin; using Mall.Common.Plugin;
using Mall.Model.Entity.User; using Mall.Model.Entity.User;
using Mall.Model.Extend.MarketingCenter; using Mall.Model.Extend.MarketingCenter;
using Mall.Model.Extend.User;
using Mall.Model.Query;
using Mall.Module.MarketingCenter; using Mall.Module.MarketingCenter;
using Mall.WebApi.Filter; using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Cors;
...@@ -390,7 +392,6 @@ namespace Mall.WebApi.Controllers.MarketingCenter ...@@ -390,7 +392,6 @@ namespace Mall.WebApi.Controllers.MarketingCenter
memberCoupon.TenantId = oldLogisticsModel.TenantId; memberCoupon.TenantId = oldLogisticsModel.TenantId;
memberCoupon.MallBaseId = oldLogisticsModel.MallBaseId; memberCoupon.MallBaseId = oldLogisticsModel.MallBaseId;
memberCoupon.Remarks = ""; memberCoupon.Remarks = "";
memberCoupon.PlatformType = Common.Enum.MarketingCenter.PlatformTypeEnum.WeChat;
memberCoupon.CouponId = oldLogisticsModel.ID; memberCoupon.CouponId = oldLogisticsModel.ID;
if (oldLogisticsModel.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.DayHorizon) if (oldLogisticsModel.IndateType == Common.Enum.MarketingCenter.IndateTypeEnum.DayHorizon)
{ {
...@@ -427,5 +428,119 @@ namespace Mall.WebApi.Controllers.MarketingCenter ...@@ -427,5 +428,119 @@ namespace Mall.WebApi.Controllers.MarketingCenter
#endregion #endregion
#region 发放统计
/// <summary>
/// 积分收支
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetCouponStatisticslList()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.msg.ToString());
MemberCoupon_Query demodel = JsonConvert.DeserializeObject<MemberCoupon_Query>(RequestParm.msg.ToString());
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = IntegralModule.GetCouponStatisticslList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.CreateDate,
x.IsSued,
x.UnUsed,
x.Used,
x.Voksi,
x.Name
});
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 积分收支统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetTotalCoupon()
{
var parms = RequestParm;
RB_Member_DiscountCoupon_Extend demodel = JsonConvert.DeserializeObject<RB_Member_DiscountCoupon_Extend>(RequestParm.msg.ToString());
demodel.TenantId = UserInfo.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = IntegralModule.GetTotalIntegral(demodel);
MemberCoupon_Query model = new MemberCoupon_Query();
if (list != null && list.Any())
{
model.IsSued = list.Count().ToString();
model.UnUsed = list.Where(x => x.UseState == 0).Count().ToString();
model.Used = list.Where(x => x.UseState == 1).Count().ToString();
model.Voksi = list.Where(x => x.UseState == 0 && x.EndDate > System.DateTime.Now).Count().ToString();
}
return ApiResult.Success("", new { model.IsSued, model.UnUsed, model.Used, model.Voksi });
}
/// <summary>
/// 积分收支信息下载
/// </summary>
[HttpPost]
public FileContentResult GetCouponListToExcel()
{
var parms = RequestParm;
MemberCoupon_Query demodel = JsonConvert.DeserializeObject<MemberCoupon_Query>(parms.msg.ToString());
string ExcelName = "发放统计" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
List<ExcelDataSource> slist = new List<ExcelDataSource>();
ExcelDataSource header = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value: "序号") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "日期") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "优惠券名称") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "发放数量") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "已使用数量") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "未使用数量") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "已失效数量") { CellWidth = 15, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER }
},
};
slist.Add(header);
try
{
demodel.TenantId = Convert.ToInt32(parms.uid);
demodel.MallBaseId = parms.MallBaseId;
var list = IntegralModule.GetExportCouponStatisticslList(demodel);
#region 组装数据
int Num = 0;
foreach (var item in list)
{
Num++;
ExcelDataSource datarow = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value:Num.ToString()){ },
}
};
datarow.ExcelRows.Add(new ExcelColumn(value: item.CreateDate) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.Name) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.IsSued) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.Used) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.UnUsed) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.Voksi) { });
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
} }
} }
\ No newline at end of file
...@@ -3,6 +3,7 @@ using System.Collections.Generic; ...@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Mall.Common.API; using Mall.Common.API;
using Mall.Common.Enum.MarketingCenter;
using Mall.Common.Plugin; using Mall.Common.Plugin;
using Mall.Model.Entity.MarketingCenter; using Mall.Model.Entity.MarketingCenter;
using Mall.Model.Extend.BaseSetUp; using Mall.Model.Extend.BaseSetUp;
...@@ -229,6 +230,91 @@ namespace Mall.WebApi.Controllers.MarketingCenter ...@@ -229,6 +230,91 @@ namespace Mall.WebApi.Controllers.MarketingCenter
/// <summary>
/// 余额收支导出
/// </summary>
[HttpPost]
public FileContentResult GetDistributorRemitListToExcel()
{
var parms = RequestParm;
RB_Member_Balance_Extend demodel = JsonConvert.DeserializeObject<RB_Member_Balance_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(BalanceExportEnum));
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 = rechargeModule.GetMemberBalanceExport(demodel);
#region 组装数据
int Num = 0;
foreach (var item in list)
{
Num++;
ExcelDataSource datarow = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value:Num.ToString()){ },
}
};
foreach (var qitem in demodel.ExcelEnumIds)
{
switch (qitem)
{
case 1:
datarow.ExcelRows.Add(new ExcelColumn(value: item.PlatformType.GetEnumName()) { }); break;
case 2:
datarow.ExcelRows.Add(new ExcelColumn(value: item.UserId.ToString()) { }); break;
case 3:
datarow.ExcelRows.Add(new ExcelColumn(value: item.MemberName ?? "") { }); break;
case 4:
datarow.ExcelRows.Add(new ExcelColumn(value: (item.Moblie).ToString()) { }); break;
case 5:
datarow.ExcelRows.Add(new ExcelColumn(value: item.Type.GetEnumName()) { }); break;
case 6:
datarow.ExcelRows.Add(new ExcelColumn(value: (item.Balance ?? 0).ToString()) { }); break;
case 7:
datarow.ExcelRows.Add(new ExcelColumn(value: item.CreateDate.Value.ToString("yyyy-MM-dd")) { }); break;
case 8:
datarow.ExcelRows.Add(new ExcelColumn(value: item.Description) { }); break;
}
}
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 #endregion
} }
......
...@@ -587,10 +587,6 @@ namespace Mall.WebApi.Controllers.MallBase ...@@ -587,10 +587,6 @@ namespace Mall.WebApi.Controllers.MallBase
demodel.TenantId = Convert.ToInt32(parms.uid); demodel.TenantId = Convert.ToInt32(parms.uid);
demodel.MallBaseId = parms.MallBaseId; demodel.MallBaseId = parms.MallBaseId;
demodel.CreateDate = DateTime.Now; demodel.CreateDate = DateTime.Now;
if (demodel.PlatformType == null)
{
demodel.PlatformType = Common.Enum.MarketingCenter.PlatformTypeEnum.WeChat;
}
bool flag = userModule.SetMemberIntegralInfo(demodel); bool flag = userModule.SetMemberIntegralInfo(demodel);
if (flag) if (flag)
{ {
......
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