Commit 5ca6f953 authored by 吴春's avatar 吴春

卡券

parent a90a895a
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Common.Enum.MarketingCenter
{
public enum CouponTypeEnum
{
/// <summary>
/// 满减券
/// </summary>
[EnumField("满减券")]
FullReduction = 1,
/// <summary>
/// 打折券
/// </summary>
[EnumField("打折券")]
Discount = 2,
}
}
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Common.Enum.MarketingCenter
{
public enum IndateTypeEnum
{
/// <summary>
/// 时间段
/// </summary>
[EnumField("时间段")]
TimeHorizon = 2,
/// <summary>
/// 领取后N天内有效
/// </summary>
[EnumField("领取后N天内有效")]
DayHorizon = 1,
}
}
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Common.Enum.MarketingCenter
{
/// <summary>
/// 1-会员专享2-领劵中心
/// </summary>
public enum PickupTypeEnum
{
/// <summary>
/// 会员专享
/// </summary>
[EnumField("会员专享")]
OnlyMember = 1,
/// <summary>
/// 领劵中心
/// </summary>
[EnumField("领劵中心")]
CouponCenter = 2,
}
}
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Common.Enum.MarketingCenter
{
/// <summary>
/// 1-指定商品类型,2-指定商品,3-全场通用,4-当面付
/// </summary>
public enum UseTypeEnum
{
/// <summary>
/// 指定商品类型
/// </summary>
[EnumField("指定商品类型")]
Category = 1,
/// <summary>
/// 指定商品
/// </summary>
[EnumField("指定商品")]
Product = 2,
/// <summary>
/// 全场通用
/// </summary>
[EnumField("全场通用")]
All = 3,
/// <summary>
/// 当面付
/// </summary>
[EnumField("当面付")]
SeeFacePay = 4,
}
}
using Mall.Common.AOP;
using Mall.Common.Enum.MarketingCenter;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.MarketingCenter
{
/// <summary>
/// 卡券实体表
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Coupon
{
public int ID { get; set; }
/// <summary>
/// 商户id
/// </summary>
public int TenantId { get; set; }
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId { get; set; }
public int Status { get; set; }
public DateTime CreateDate { get; set; }
public DateTime UpdateDate { get; set; }
public string Name { get; set; }
public string CouponIco { get; set; }
/// <summary>
/// 有效期类型,1-领取后N天内有效,2-时间段
/// </summary>
public IndateTypeEnum IndateType { get; set; }
/// <summary>
/// 有效天数
/// </summary>
public int IndateDay { get; set; }
/// <summary>
/// 总核销次数
/// </summary>
public int HeXiao { get; set; }
/// <summary>
/// 可发放数量,-1 无限制
/// </summary>
public int TotalNum { get; set; }
/// <summary>
/// 描述
/// </summary>
public string Describe { get; set; }
/// <summary>
/// 领取数量
/// </summary>
public int ReceiveNum { get; set; }
/// <summary>
/// 有效期开始时间
/// </summary>
public DateTime? StartDate { get; set; }
/// <summary>
/// 有效期结束时间
/// </summary>
public DateTime? EndDate { get; set; }
}
}
using Mall.Common.AOP;
using Mall.Common.Enum.MarketingCenter;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.MarketingCenter
{
/// <summary>
/// 优惠券实体表
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_DiscountCoupon
{
public int ID { get; set; }
/// <summary>
/// 商户id
/// </summary>
public int TenantId { get; set; }
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId { get; set; }
public int Status { get; set; }
public DateTime CreateDate { get; set; }
public DateTime UpdateDate { get; set; }
public string Name { get; set; }
/// <summary>
/// 有效期类型,1-领取后N天内有效,2-时间段
/// </summary>
public IndateTypeEnum IndateType { get; set; }
/// <summary>
/// 有效天数
/// </summary>
public int IndateDay { get; set; }
/// <summary>
/// 可发放数量,-1 无限制
/// </summary>
public int TotalNum { get; set; }
/// <summary>
/// 描述
/// </summary>
public string Describe { get; set; }
/// <summary>
/// 领取数量
/// </summary>
public int ReceiveNum { get; set; }
/// <summary>
/// 有效期开始时间
/// </summary>
public DateTime? StartDate { get; set; }
/// <summary>
/// 有效期结束时间
/// </summary>
public DateTime? EndDate { get; set; }
/// <summary>
/// 1-满减券,2-打折券
/// </summary>
public CouponTypeEnum CouponType { get; set; }
/// <summary>
///排序
/// </summary>
public int Sort { get; set; }
/// <summary>
/// 1-指定商品类型,2-指定商品,3-全场通用,4-当面付
/// </summary>
public UseTypeEnum UseType { get; set; }
/// <summary>
/// 最低消费金额(元)
/// </summary>
public decimal MinConsumePrice { get; set; }
/// <summary>
/// 优惠金额/折扣
/// </summary>
public decimal DiscountsPrice { get; set; }
/// <summary>
///最多优惠(元)
/// </summary>
public decimal MaxDiscountsPrice { get; set; }
/// <summary>
/// 领取方式设置1-会员专享2-领劵中心
/// </summary>
public PickupTypeEnum PickupType { get; set; }
}
}
using Mall.Common.AOP;
using Mall.Common.Enum.MarketingCenter;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.MarketingCenter
{
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_DiscountCoupon_Product
{ /// <summary>
/// 价格
/// </summary>
public int DiscountCouponId { get; set; }
/// <summary>
/// 商品/分类id
/// </summary>
public int ProductId { get; set; }
public int ID { get; set; }
/// <summary>
/// 商户id
/// </summary>
public int TenantId { get; set; }
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId { get; set; }
public UseTypeEnum DiscountCouponType { get; set; }
public int Status { get; set; }
public DateTime CreateDate { get; set; }
public DateTime UpdateDate { get; set; }
}
}
...@@ -25,5 +25,10 @@ namespace Mall.Model.Extend.BaseSetUp ...@@ -25,5 +25,10 @@ namespace Mall.Model.Extend.BaseSetUp
/// 地区父级id /// 地区父级id
/// </summary> /// </summary>
public int ParentID { get; set; } public int ParentID { get; set; }
/// <summary>
/// 地区父级的父级id
/// </summary>
public int GrandpaID { get; set; }
} }
} }
using Mall.Common.AOP;
using Mall.Model.Entity.MarketingCenter;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Extend.MarketingCenter
{
/// <summary>
/// 优惠券扩展实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Coupon_Extend : RB_Coupon
{
}
}
using Mall.Common.AOP;
using Mall.Model.Entity.MarketingCenter;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Extend.MarketingCenter
{
/// <summary>
/// 优惠券扩展实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_DiscountCoupon_Extend : RB_DiscountCoupon
{
/// <summary>
/// 商品/分类id
/// </summary>
public List<RB_DiscountCoupon_Product> ProductList { get; set; }
}
}
using Mall.Common.Plugin;
using Mall.Model.Entity.MarketingCenter;
using Mall.Model.Extend.MarketingCenter;
using Mall.Repository;
using Mall.Repository.MarketingCenter;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Module.MarketingCenter
{
public class CouponModule
{
private RB_CouponRepository couponRepository = new RB_CouponRepository();
private RB_DiscountCouponRepository discountCouponRepository = new RB_DiscountCouponRepository();
private RB_DiscountCoupon_ProductRepository productRepository = new RB_DiscountCoupon_ProductRepository();
#region 卡券列表
/// <summary>
/// 卡券信息列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Coupon_Extend> GetCouponPageList(int pageIndex, int pageSize, out long rowCount, RB_Coupon_Extend query)
{
return couponRepository.GetCouponPageList(pageIndex, pageSize, out rowCount, query);
}
/// <summary>
/// 卡券信息列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Coupon_Extend> GetCouponList(RB_Coupon_Extend query)
{
return couponRepository.GetCouponList(query);
}
public bool AddOrUpdateCoupon(RB_Coupon_Extend model)
{
if (model.ID == 0)
{
return couponRepository.Insert(model) > 0;
}
else
{
return couponRepository.Update(model);
}
}
/// <summary>
/// 删除卡券
/// </summary>
/// <param name="gradeId"></param>
/// <param name="uid"></param>
/// <returns></returns>
public bool DelCoupon(int id, int uid, int mallBaseId)
{
try
{
Dictionary<string, object> cols = new Dictionary<string, object>()
{
{ nameof(RB_Coupon.Status),1},
{ nameof(RB_Coupon.UpdateDate),DateTime.Now},
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Coupon.ID),
FiledValue=id,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Coupon.TenantId),
FiledValue=Convert.ToInt32(uid),
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Coupon.MallBaseId),
FiledValue=Convert.ToInt32(mallBaseId),
OperatorEnum=OperatorEnum.Equal
}
};
return couponRepository.Update(cols, wheres1);
}
catch (Exception ex)
{
LogHelper.Write(ex, "DelCoupon");
return false;
}
}
#endregion
#region 优惠券
/// <summary>
/// 优惠券信息列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_DiscountCoupon_Extend> GetDiscountCouponPageList(int pageIndex, int pageSize, out long rowCount, RB_DiscountCoupon_Extend query)
{
return discountCouponRepository.GetDiscountCouponPageList(pageIndex, pageSize, out rowCount, query);
}
/// <summary>
/// 优惠券信息列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_DiscountCoupon_Extend> GetDiscountCouponList(RB_DiscountCoupon_Extend query)
{
return discountCouponRepository.GetDiscountCouponList(query);
}
/// <summary>
/// 新增/修改优惠券
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool AddOrUpdateDiscountCoupon(RB_DiscountCoupon_Extend model)
{
bool flag = false;
var trans = discountCouponRepository.DbTransaction;
try
{
int id = 0;
if (model.ID == 0)
{
id = discountCouponRepository.Insert(model, trans);
if (id > 0 && model.ProductList != null && model.ProductList.Any())
{
model.ProductList.ForEach(x => x.MallBaseId = model.MallBaseId);
model.ProductList.ForEach(x => x.TenantId = model.TenantId);
model.ProductList.ForEach(x => x.CreateDate = model.CreateDate);
model.ProductList.ForEach(x => x.UpdateDate = model.UpdateDate);
model.ProductList.ForEach(x => x.DiscountCouponId = id);
flag = productRepository.InsertBatch(model.ProductList, trans);
}
flag = id > 0;
}
else
{
id = model.ID;
flag = discountCouponRepository.Update(model, trans);
var listProduct = productRepository.GetCouponProductList(new RB_DiscountCoupon_Product { TenantId = model.TenantId, MallBaseId = model.MallBaseId, DiscountCouponId = id });
if (listProduct != null && listProduct.Any())
{
foreach (var item in model.ProductList)
{
IDictionary<string, object> fileds = new Dictionary<string, object>()
{
{ nameof(RB_DiscountCoupon_Product.Status),1},
{ nameof(RB_DiscountCoupon_Product.UpdateDate),model.UpdateDate},
};
IList<WhereHelper> whereHelpers = new List<WhereHelper>()
{
new WhereHelper (){ FiledName=nameof(RB_DiscountCoupon_Product.ID),FiledValue=item.ID,OperatorEnum=OperatorEnum.Equal}
};
flag = productRepository.Update(fileds, whereHelpers, trans);
}
}
if (model.ProductList != null && model.ProductList.Any())
{
model.ProductList.ForEach(x => x.MallBaseId = model.MallBaseId);
model.ProductList.ForEach(x => x.TenantId = model.TenantId);
model.ProductList.ForEach(x => x.CreateDate = model.CreateDate);
model.ProductList.ForEach(x => x.UpdateDate = model.UpdateDate);
model.ProductList.ForEach(x => x.DiscountCouponId = id);
flag = productRepository.InsertBatch(model.ProductList, trans);
}
}
discountCouponRepository.DBSession.Commit();
}
catch (Exception ex)
{
LogHelper.Write(ex, "AddOrUpdateDiscountCoupon");
discountCouponRepository.DBSession.Rollback("AddOrUpdateDiscountCoupon");
return false;
}
return flag;
}
/// <summary>
/// 删除优惠券
/// </summary>
/// <param name="gradeId"></param>
/// <param name="uid"></param>
/// <returns></returns>
public bool DelDiscountCoupon(int id, int uid, int mallBaseId)
{
try
{
Dictionary<string, object> cols = new Dictionary<string, object>()
{
{ nameof(RB_Coupon.Status),1},
{ nameof(RB_Coupon.UpdateDate),DateTime.Now},
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Coupon.ID),
FiledValue=id,
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Coupon.TenantId),
FiledValue=Convert.ToInt32(uid),
OperatorEnum=OperatorEnum.Equal
},
new WhereHelper(){
FiledName=nameof(RB_Coupon.MallBaseId),
FiledValue=Convert.ToInt32(mallBaseId),
OperatorEnum=OperatorEnum.Equal
}
};
return discountCouponRepository.Update(cols, wheres1);
}
catch (Exception ex)
{
LogHelper.Write(ex, "DelDiscountCoupon");
return false;
}
}
#endregion
}
}
...@@ -88,6 +88,20 @@ namespace Mall.Module.MarketingCenter ...@@ -88,6 +88,20 @@ namespace Mall.Module.MarketingCenter
return recordRepository.GetList(dmodel); return recordRepository.GetList(dmodel);
} }
/// <summary>
/// 数据统计-积分收支
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<Integral_Query> GetExportIntegraStatisticslList(Integral_Query query)
{
return recordRepository.GetExportIntegraStatisticslList(query);
}
#endregion #endregion
} }
} }
...@@ -27,7 +27,9 @@ namespace Mall.Repository.BaseSetUp ...@@ -27,7 +27,9 @@ namespace Mall.Repository.BaseSetUp
public List<RB_Logistics_RulesRegion_Extend> GetListRepository(RB_Logistics_RulesRegion_Extend query) public List<RB_Logistics_RulesRegion_Extend> GetListRepository(RB_Logistics_RulesRegion_Extend query)
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.Append($" SELECT a.*,b.`Name` as RegionName,b.ParentID FROM {TableName} as a LEFT JOIN {DestinationTableName} as b on a.RegionId=b.ID WHERE a.{nameof(RB_Logistics_RulesRegion_Extend.Status)}=0"); builder.Append(@$" SELECT a.*,b.`Name` as RegionName,b.ParentID,c.ParentID as GrandpaID FROM {TableName} as a
LEFT JOIN {DestinationTableName} as b on a.RegionId = b.ID
LEFT JOIN {DestinationTableName} as c on b.ParentID = c.ID WHERE a.{nameof(RB_Logistics_RulesRegion_Extend.Status)}=0");
if (query != null) if (query != null)
{ {
if (query.TenantId > 0) if (query.TenantId > 0)
......
using Mall.Model.Entity.MarketingCenter;
using Mall.Model.Extend.MarketingCenter;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.MarketingCenter
{
/// <summary>
/// 优惠券仓储层
/// </summary>
public class RB_CouponRepository : RepositoryBase<RB_Coupon>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_Coupon); } }
/// <summary>
/// 卡券信息列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Coupon_Extend> GetCouponPageList(int pageIndex, int pageSize, out long rowCount, RB_Coupon_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_Coupon_Extend.Status)}=0");
if (query != null)
{
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Coupon_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Coupon_Extend.MallBaseId)}={query.MallBaseId}");
}
if (!string.IsNullOrWhiteSpace(query.Name))
{
builder.Append($" AND {nameof(RB_Coupon_Extend.Name)} like '%{query.Name}%'");
}
}
return GetPage<RB_Coupon_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
/// <summary>
/// 卡券信息列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Coupon_Extend> GetCouponList(RB_Coupon_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_Coupon_Extend.Status)}=0 ");
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND {nameof(RB_Coupon_Extend.ID)}={query.ID}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Coupon_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Coupon_Extend.MallBaseId)}={query.MallBaseId}");
}
if (!string.IsNullOrWhiteSpace(query.Name))
{
builder.Append($" AND {nameof(RB_Coupon_Extend.Name)} like '%{query.Name}%'");
}
}
return Get<RB_Coupon_Extend>(builder.ToString()).ToList();
}
}
}
using Mall.Model.Entity.MarketingCenter;
using Mall.Model.Extend.MarketingCenter;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.MarketingCenter
{
public class RB_DiscountCouponRepository:RepositoryBase<RB_DiscountCoupon>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_DiscountCoupon); } }
/// <summary>
/// 卡券信息列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_DiscountCoupon_Extend> GetDiscountCouponPageList(int pageIndex, int pageSize, out long rowCount, RB_DiscountCoupon_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_DiscountCoupon_Extend.Status)}=0");
if (query != null)
{
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_DiscountCoupon_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_DiscountCoupon_Extend.MallBaseId)}={query.MallBaseId}");
}
if (!string.IsNullOrWhiteSpace(query.Name))
{
builder.Append($" AND {nameof(RB_DiscountCoupon_Extend.Name)} like '%{query.Name}%'");
}
}
return GetPage<RB_DiscountCoupon_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
/// <summary>
/// 卡券信息列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_DiscountCoupon_Extend> GetDiscountCouponList(RB_DiscountCoupon_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_DiscountCoupon_Extend.Status)}=0 ");
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND {nameof(RB_DiscountCoupon_Extend.ID)}={query.ID}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_DiscountCoupon_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_DiscountCoupon_Extend.MallBaseId)}={query.MallBaseId}");
}
if (!string.IsNullOrWhiteSpace(query.Name))
{
builder.Append($" AND {nameof(RB_DiscountCoupon_Extend.Name)} like '%{query.Name}%'");
}
}
return Get<RB_DiscountCoupon_Extend>(builder.ToString()).ToList();
}
}
}
using Mall.Model.Entity.MarketingCenter;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.MarketingCenter
{
public class RB_DiscountCoupon_ProductRepository : RepositoryBase<RB_DiscountCoupon_Product>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_DiscountCoupon_Product); } }
/// <summary>
/// 优惠券对应的商品/分类列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_DiscountCoupon_Product> GetCouponProductList(RB_DiscountCoupon_Product query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE {nameof(RB_DiscountCoupon_Product.Status)}=0 ");
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND {nameof(RB_DiscountCoupon_Product.ID)}={query.ID}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_DiscountCoupon_Product.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_DiscountCoupon_Product.MallBaseId)}={query.MallBaseId}");
}
if (query.DiscountCouponId > 0)
{
builder.Append($" AND {nameof(RB_DiscountCoupon_Product.DiscountCouponId)}={query.DiscountCouponId}");
}
}
return Get<RB_DiscountCoupon_Product>(builder.ToString()).ToList();
}
}
}
...@@ -174,5 +174,48 @@ select DATE_FORMAT(CreateDate, '%Y-%m-%d') as CreateDate, 0 as Income, Integral ...@@ -174,5 +174,48 @@ select DATE_FORMAT(CreateDate, '%Y-%m-%d') as CreateDate, 0 as Income, Integral
) 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();
} }
/// <summary>
/// 数据统计-积分收支
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<Integral_Query> GetExportIntegraStatisticslList(Integral_Query query)
{
StringBuilder builder = new StringBuilder();
if (query != null)
{
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Member_Integral_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND {nameof(RB_Member_Integral_Extend.MallBaseId)}={query.MallBaseId}");
}
if (query.PlatformType > 0)
{
builder.Append($" AND {nameof(RB_Member_Integral_Extend.PlatformType)}={query.PlatformType}");
}
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' )");
}
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' )");
}
}
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()}
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()}
) as t GROUP BY CreateDate ";
return Get<Integral_Query>(sql).ToList();
}
} }
} }
This diff is collapsed.
...@@ -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.Plugin;
using Mall.Model.Entity.MarketingCenter; using Mall.Model.Entity.MarketingCenter;
using Mall.Model.Extend.MarketingCenter; using Mall.Model.Extend.MarketingCenter;
using Mall.Model.Extend.User; using Mall.Model.Extend.User;
...@@ -157,6 +158,64 @@ namespace Mall.WebApi.Controllers.MarketingCenter ...@@ -157,6 +158,64 @@ namespace Mall.WebApi.Controllers.MarketingCenter
} }
return ApiResult.Success("", new { model.Income, model.Expend }); return ApiResult.Success("", new { model.Income, model.Expend });
} }
/// <summary>
/// 积分收支信息下载
/// </summary>
[HttpPost]
public FileContentResult GetIntegralListToExcel()
{
var parms = RequestParm;
Integral_Query demodel = JsonConvert.DeserializeObject<Integral_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 }
},
};
slist.Add(header);
try
{
demodel.TenantId = Convert.ToInt32(parms.uid);
demodel.MallBaseId = parms.MallBaseId;
var list = IntegralModule.GetExportIntegraStatisticslList(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.Income) { });
datarow.ExcelRows.Add(new ExcelColumn(value: item.Expend) { });
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
} }
} }
\ 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