Commit 97828c6a authored by liudong1993's avatar liudong1993
parents af6c9caa 345ec360
......@@ -287,5 +287,27 @@ namespace Mall.Common
}
}
/// <summary>
/// 小程序发布程序路径
/// </summary>
public static string ProjectUrl
{
get
{
return new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("ProjectUrl").Value;
}
}
/// <summary>
/// 小程序开发工具端口号
/// </summary>
public static string DeveloperKitsPort
{
get
{
return new ConfigurationBuilder().Add(new JsonConfigurationSource { Path = "appsettings.json" }).Build().GetSection("DeveloperKitsPort").Value;
}
}
}
}
\ No newline at end of file
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Common.Enum.MarketingCenter
{
public enum IntegralExportEnum
{
/// 所属平台
/// </summary>
[EnumField("所属平台")]
SSPT = 1,
/// <summary>
/// 用户ID
/// </summary>
[EnumField("用户ID")]
ID = 2,
/// <summary>
/// 用户昵称
/// </summary>
[EnumField("用户昵称")]
YHNC =3,
/// <summary>
/// 用户手机号
/// </summary>
[EnumField("用户手机号")]
SJHM = 4,
/// <summary>
/// 充值积分
/// </summary>
[EnumField("充值积分")]
JF = 5,
/// <summary>
/// 充值时间
/// </summary>
[EnumField("充值时间")]
CZSJ = 6,
/// <summary>
/// 说明
/// </summary>
[EnumField("说明")]
Explain =7,
}
}
......@@ -11,7 +11,7 @@ namespace Mall.Model.Entity.MarketingCenter
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_DiscountCoupon
public class RB_DiscountCoupon
{
public int ID { get; set; }
......@@ -106,8 +106,18 @@ namespace Mall.Model.Entity.MarketingCenter
/// <summary>
/// 领取方式设置1-会员专享2-领劵中心
/// 领取方式设置2-领劵中心
/// </summary>
public PickupTypeEnum PickupType { get; set; }
public int PickupCenter { get; set; }
/// <summary>
/// 1-会员专享
/// </summary>
public int OnlyMember { get; set; }
/// <summary>
/// 会员专享
/// </summary>
public string MemberLevel { get; set; }
}
}
......@@ -88,5 +88,11 @@ namespace Mall.Model.Entity.User
/// 备注
/// </summary>
public string Remarks { get; set; }
/// <summary>
/// 平台类型
/// </summary>
public UserSourceEnum? PlatformType { get; set; }
}
}
......@@ -37,7 +37,10 @@ namespace Mall.Model.Entity.User
}
/// <summary>
/// 平台类型
/// </summary>
public UserSourceEnum? PlatformType { get; set; }
/// <summary>
/// 积分
......
......@@ -27,5 +27,10 @@ namespace Mall.Model.Extend.MarketingCenter
/// 发放数量
/// </summary>
public int GrantNum { get; set; }
/// <summary>
/// 会员等级
/// </summary>
public int[] MemberLevelList { get; set; }
}
}
......@@ -29,6 +29,12 @@ namespace Mall.Model.Extend.Product
/// 商品名称
/// </summary>
public string GoodsName { get; set; }
/// <summary>
/// 订单对应的总件数
/// </summary>
public int GoodsTotalNum { get; set; }
/// <summary>
/// 货号
/// </summary>
......
......@@ -39,7 +39,5 @@ namespace Mall.Model.Extend.User
/// 下载枚举
/// </summary>
public List<int> ExcelEnumIds { get; set; }
public UserSourceEnum? PlatformType { get; set; }
}
}
......@@ -19,6 +19,11 @@ namespace Mall.Model.Extend.User
/// </summary>
public string MemberName { get; set; }
/// <summary>
/// 手机号码
/// </summary>
public string Moblie { get; set; }
/// <summary>
/// 开始时间【查询使用】
/// </summary>
......@@ -29,10 +34,11 @@ namespace Mall.Model.Extend.User
/// </summary>
public string EndDate { get; set; }
/// <summary>
/// 平台类型
/// 下载枚举
/// </summary>
public UserSourceEnum? PlatformType { get; set; }
public List<int> ExcelEnumIds { 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 DataStatistics_Query
{
public int TenantId { get; set; }
public int MallBaseId { get; set; }
public int PlatformType { get; set; }
/// <summary>
/// 开始时间【查询使用】
/// </summary>
public string StartDate { get; set; }
/// <summary>
/// 结束时间【查询使用】
/// </summary>
public string EndDate { get; set; }
/// <summary>
/// 会员数
/// </summary>
public int MemberNum { get; set; }
/// <summary>
/// 商品数
/// </summary>
public int GoodsNum { get; set; }
/// <summary>
/// 商品名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 订单数
/// </summary>
public int OrderNum { get; set; }
/// <summary>
/// 代发货数
/// </summary>
public int NotDeliverNum { get; set; }
/// <summary>
/// 售后数
/// </summary>
public int AfterSale { get; set; }
/// <summary>
/// 支付订单数
/// </summary>
public int OrderPay { get; set; }
/// <summary>
/// 支付金额
/// </summary>
public decimal PayMoney { get; set; }
/// <summary>
/// 支付人数
/// </summary>
public int PayMemerNum { get; set; }
/// <summary>
/// 支付件数
/// </summary>
public int BuyNum { get; set; }
/// <summary>
/// 折线图统计
/// </summary>
public List<OrderLine> OrderLineList { get; set; }
/// <summary>
/// 是否是昨日(主要是销售情况,分昨日和近7天)
/// </summary>
public int IsYesterday { get; set; }
public string CreateDate { get; set; }
/// <summary>
/// 订单状态0-全部,1-未完成,2-已完成,3-已取消,4-售后中,5-已完成售后
/// </summary>
public int OrderStatus { get; set; }
/// <summary>
/// 订单类型
/// </summary>
public int OrderType { get; set; }
}
public class OrderLine
{
/// <summary>
/// 时间
/// </summary>
public string DateStr { get; set; }
/// <summary>
/// 支付订单数
/// </summary>
public int OrderPay { get; set; }
/// <summary>
/// 支付金额
/// </summary>
public decimal PayMoney { get; set; }
/// <summary>
/// 支付人数
/// </summary>
public int PayMemerNum { get; set; }
/// <summary>
/// 支付件数
/// </summary>
public int BuyNum { get; set; }
}
}
......@@ -273,7 +273,7 @@ namespace Mall.Module.MarketingCenter
OperatorEnum=OperatorEnum.Equal
}
};
flag = productRepository.Update(cols, wheres);
productRepository.Update(cols, wheres);
discountCouponRepository.DBSession.Commit();
......@@ -301,7 +301,7 @@ namespace Mall.Module.MarketingCenter
Dictionary<string, object> cols1 = new Dictionary<string, object>()
{
{ nameof(RB_DiscountCoupon.PickupType),model.PickupType==Common.Enum.MarketingCenter.PickupTypeEnum.CouponCenter?Common.Enum.MarketingCenter.PickupTypeEnum.OnlyMember:Common.Enum.MarketingCenter.PickupTypeEnum.CouponCenter},
{ nameof(RB_DiscountCoupon.PickupCenter),model.PickupCenter==0?1:0},
{ nameof(RB_DiscountCoupon.UpdateDate),DateTime.Now},
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
......@@ -444,7 +444,7 @@ namespace Mall.Module.MarketingCenter
{
id = model.ID;
flag = selfMotionRepository.Update(model, trans);
var listProduct = selfMotionMemberRepository.GetListRepository(new RB_Coupon_SelfMotionMember_Extend { TenantId = model.TenantId, MallBaseId = model.MallBaseId, SelfMotionId = id });
var listProduct = selfMotionMemberRepository.GetListRepository(new RB_Coupon_SelfMotionMember_Extend { TenantId = model.TenantId, MallBaseId = model.MallBaseId, SelfMotionId = id });
if (listProduct != null && listProduct.Any())
{
foreach (var item in model.UserList)
......
......@@ -64,6 +64,21 @@ namespace Mall.Module.MarketingCenter
}
/// <summary>
/// 营销中心-积分记录导出
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Member_Integral_Extend> GetIntegralRecordExport(RB_Member_Integral_Extend query)
{
return recordRepository.GetIntegralExport(query);
}
/// <summary>
/// 数据统计-积分收支
/// </summary>
......
using Mall.Model.Extend.Product;
using Mall.Model.Query;
using Mall.Repository.Product;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Module.MarketingCenter
{
public class StatisticsModule
{
private RB_Goods_OrderRepository orderRepository = new RB_Goods_OrderRepository();
#region 数据统计-数据概况
/// <summary>
/// 数据概况
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<DataStatistics_Query> GetOrdertSatistics(DataStatistics_Query dmodel)
{
return orderRepository.GetOrdertSatistics(dmodel);
}
/// <summary>
/// 获取近一周的数据
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public DataStatistics_Query GetWeeklyOrder(DataStatistics_Query dmodel)
{
if (dmodel.IsYesterday == 1)
{
dmodel.StartDate = dmodel.EndDate = System.DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
}
else
{
dmodel.StartDate = System.DateTime.Now.ToString("yyyy-MM-dd");
dmodel.EndDate = System.DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
}
var List = orderRepository.GetWeeklyOrder(dmodel);
DataStatistics_Query model = new DataStatistics_Query();
if (List != null && List.Any())
{
model.OrderPay = List.Count();
model.PayMoney = List.Sum(x => x.Income ?? 0);
model.PayMemerNum = List.GroupBy(x => x.UserId).Count();
model.BuyNum = List.Sum(x => x.GoodsTotalNum);
model.OrderLineList = new List<OrderLine>();
if (dmodel.IsYesterday == 1)//同一天
{
for (int i = 1; i < 24; i++)
{
OrderLine modelOrderLine = new OrderLine();
modelOrderLine.OrderPay = List.Where(x => x.CreateDate.Value.ToString("dd") == ((i > 9) ? ("0" + i) : i.ToString())).Count();
modelOrderLine.PayMoney = List.Where(x => x.CreateDate.Value.ToString("dd") == ((i > 9) ? ("0" + i) : i.ToString())).Sum(x => x.Income ?? 0);
modelOrderLine.PayMemerNum = List.Where(x => x.CreateDate.Value.ToString("dd") == ((i > 9) ? ("0" + i) : i.ToString())).GroupBy(x => x.UserId).Count();
modelOrderLine.BuyNum = List.Where(x => x.CreateDate.Value.ToString("dd") == ((i > 9) ? ("0" + i) : i.ToString())).Sum(x => x.GoodsTotalNum);
modelOrderLine.DateStr = (i > 9) ? ("0" + i) : i.ToString();
model.OrderLineList.Add(modelOrderLine);
}
}
else
{
for (int i = 0; i < 7; i++)
{
OrderLine modelOrderLine = new OrderLine();
modelOrderLine.OrderPay = List.Where(x => x.CreateDate.Value.ToString("yyyy-MM-dd") == System.DateTime.Now.AddDays(i).ToString("yyyy-MM-dd")).Count();
modelOrderLine.PayMoney = List.Where(x => x.CreateDate.Value.ToString("yyyy-MM-dd") == System.DateTime.Now.AddDays(i).ToString("yyyy-MM-dd")).Sum(x => x.Income ?? 0);
modelOrderLine.PayMemerNum = List.Where(x => x.CreateDate.Value.ToString("yyyy-MM-dd") == System.DateTime.Now.AddDays(i).ToString("yyyy-MM-dd")).GroupBy(x => x.UserId).Count();
modelOrderLine.BuyNum = List.Where(x => x.CreateDate.Value.ToString("yyyy-MM-dd") == System.DateTime.Now.AddDays(i).ToString("yyyy-MM-dd")).Sum(x => x.GoodsTotalNum);
modelOrderLine.DateStr = System.DateTime.Now.AddDays(i).ToString("yyyy-MM-dd");
model.OrderLineList.Add(modelOrderLine);
}
}
}
return model;
}
/// <summary>
/// 商品购买力TOP排行
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<DataStatistics_Query> GetGoosTop(DataStatistics_Query dmodel)
{
return orderRepository.GetGoosTop(dmodel);
}
/// <summary>
/// 用户购买力TOP排行
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<DataStatistics_Query> GetMemberTop(DataStatistics_Query dmodel)
{
return orderRepository.GetMemberTop(dmodel);
}
#endregion
#region 销售报表
/// <summary>
/// 销售统计
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<DataStatistics_Query> GetSellPageList(int pageIndex, int pageSize, out long count, DataStatistics_Query dmodel)
{
return orderRepository.GetSellPageList(pageIndex, pageSize, out count, dmodel);
}
/// <summary>
/// 总成交
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public DataStatistics_Query GetSellOrder(DataStatistics_Query dmodel)
{
var List = orderRepository.GetWeeklyOrder(dmodel);
DataStatistics_Query model = new DataStatistics_Query();
if (List != null && List.Any())
{
model.OrderNum = List.Count();
model.PayMoney = List.Sum(x => x.Income ?? 0);
model.PayMemerNum = List.GroupBy(x => x.UserId).Count();
model.GoodsNum = List.Sum(x => x.GoodsTotalNum);
}
return model;
}
/// <summary>
/// 销售统计导出
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<DataStatistics_Query> GetSellExcel(DataStatistics_Query dmodel)
{
return orderRepository.GetSellExcel(dmodel);
}
#endregion
}
}
......@@ -109,21 +109,25 @@ namespace Mall.Repository.User
{
builder.Append($" AND a.{nameof(RB_Member_Balance_Extend.TenantId)}={query.TenantId}");
}
if (query.TenantId > 0)
if (query.MallBaseId > 0)
{
builder.Append($" AND a.{nameof(RB_Member_Balance_Extend.MallBaseId)}={query.MallBaseId}");
}
if (query.PlatformType > 0)
{
builder.Append($" AND a.{nameof(RB_Member_Balance_Extend.PlatformType)}={(int)query.PlatformType}");
}
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' )");
builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Balance_Extend.CreateDate)},'%Y-%m-%d' )>= DATE_FORMAT('{query.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' )");
builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Balance_Extend.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{query.EndDate}','%Y-%m-%d' )");
}
}
return GetPage<RB_Member_Balance_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
......
......@@ -85,7 +85,7 @@ namespace Mall.Repository.User
}
if (dmodel.PlatformType > 0)
{
where += $" AND b.{nameof(RB_Member_User.Source)}={dmodel.PlatformType}";
where += $" AND b.{nameof(RB_Member_User.Source)}={(int)dmodel.PlatformType}";
}
if (!string.IsNullOrWhiteSpace(dmodel.StartDate))
{
......@@ -128,7 +128,7 @@ namespace Mall.Repository.User
}
if (!string.IsNullOrWhiteSpace(query.MemberName))
{
builder.Append($" AND b.{nameof(RB_Member_Integral_Extend.MemberName)} like '%{query.MemberName}%'");
builder.Append($" AND b.{nameof(RB_Member_User.Name)} like '%{query.MemberName}%'");
}
if (!string.IsNullOrWhiteSpace(query.StartDate))
{
......@@ -141,6 +141,51 @@ namespace Mall.Repository.User
}
return GetPage<RB_Member_Integral_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
/// <summary>
/// 营销中心-积分记录导出
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Member_Integral_Extend> GetIntegralExport(RB_Member_Integral_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_Integral_Extend.Id)}={query.Id}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_Member_Integral_Extend.TenantId)}={query.TenantId}");
}
if (query.MallBaseId > 0)
{
builder.Append($" AND a.{nameof(RB_Member_Integral_Extend.MallBaseId)}={query.MallBaseId}");
}
if (!string.IsNullOrWhiteSpace(query.MemberName))
{
builder.Append($" AND b.{nameof(RB_Member_User.Name)} like '%{query.MemberName}%'");
}
if (!string.IsNullOrWhiteSpace(query.StartDate))
{
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))
{
builder.Append($" AND DATE_FORMAT(a.{nameof(RB_Member_Integral_Extend.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{query.EndDate}','%Y-%m-%d' )");
}
}
return Get<RB_Member_Integral_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 数据统计-积分收支
/// </summary>
......
......@@ -268,13 +268,13 @@ WHERE u.TenantId={tenantId} and u.MallBaseId={mallBaseId} and u.SuperiorId ={use
{
where += $@" and {nameof(RB_Member_User.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.Id > 0)
{
where += $@" and {nameof(RB_Member_User.Id)}={dmodel.Id}";
}
//if (dmodel.Id > 0)
//{
// where += $@" and {nameof(RB_Member_User.Id)}={dmodel.Id}";
//}
if (!string.IsNullOrEmpty(dmodel.Name))
{
where += $@" and {nameof(RB_Member_User.Name)} like '%{dmodel.Name}%'";
where += $@" and ({nameof(RB_Member_User.Name)} like '%{dmodel.Name}%' or {nameof(RB_Member_User.Id)} like '%{dmodel.Name}%')";
}
if (!string.IsNullOrEmpty(dmodel.AliasName))
{
......
......@@ -54,6 +54,10 @@ namespace Mall.Repository.User
{
builder.AppendFormat(" AND NavIconName LIKE '{0}%' ", query.NavIconName.Trim());
}
if (query.NavIconIsShow != null && query.NavIconIsShow > -1)
{
builder.AppendFormat(" AND NavIconIsShow={0} ", query.NavIconIsShow);
}
}
builder.Append(" ORDER BY NavIconSort ASC ");
return GetPage<RB_MiniProgram_Navicon_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Mall.Common.API;
using Mall.Model.Entity.AppletWeChat;
using Mall.Module.AppletWeChat;
using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
namespace Mall.WebApi.Controllers.AppletWeChat
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class PublishController : BaseController
{
private AppletWeChatModule appletWeChatModule = new AppletWeChatModule();
string projectUrl = Mall.Common.Config.ProjectUrl;
string developerKitsPort = Mall.Common.Config.DeveloperKitsPort;
/// <summary>
/// 发布微信小程序获取登录二维码
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetLoginAppletWeChat()
{
var parms = RequestParm;
var query = new RB_AppletWeChat();
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var model = appletWeChatModule.GetAppletWeChatList(query).FirstOrDefault();
if (model == null)
{
return ApiResult.Failed("您还未配置微信小程序基础信息");
}
try
{
string URL = $"http://127.0.0.1:{developerKitsPort}/v2/login?qr-format=base64&project=&appid={model.AppId}&ext-appid=";
string result = Mall.Common.Plugin.HttpHelper.HttpGet(URL, Encoding.UTF8, "");
JObject parmsJob = JObject.Parse(result);
string imgUrl = parmsJob.GetValue("qrcode").ToString();
if (parmsJob.ContainsKey("code"))
{
return ApiResult.Failed(parmsJob.GetValue("message").ToString());
}
return ApiResult.Success("获取成功", imgUrl);
}
catch (Exception ex)
{
return ApiResult.Failed("获取登录二维码识别");
}
}
/// <summary>
/// 获取项目预览二维码
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetPreviewAppletWeChat()
{
try
{
string URL = $"http://127.0.0.1:{developerKitsPort}/v2/preview?project={Mall.Common.Plugin.StringHelper.UrlEncode(projectUrl)}&qr-format=base64";
string result = Mall.Common.Plugin.HttpHelper.HttpGet(URL, Encoding.UTF8, "");
JObject parmsJob = JObject.Parse(result);
if (parmsJob.ContainsKey("code"))
{
return ApiResult.Failed(parmsJob.GetValue("message").ToString());
}
if (!result.Contains("data:image/png;base64,"))
{
result = "data:image/png;base64," + result;
}
return ApiResult.Success("获取成功", result);
}
catch (Exception ex)
{
return ApiResult.Failed("获取登录二维码识别");
}
}
/// <summary>
/// 获取项目预览二维码
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetPuploadAppletWeChat()
{
var parms = RequestParm;
var query = new RB_AppletWeChat();
query.TenantId = UserInfo.TenantId;
query.MallBaseId = parms.MallBaseId;
var model = appletWeChatModule.GetAppletWeChatList(query).FirstOrDefault();
if (model == null)
{
return ApiResult.Failed("您还未配置微信小程序基础信息");
}
try
{
string URL = $"http://127.0.0.1:{developerKitsPort}/v2/upload?project={Mall.Common.Plugin.StringHelper.UrlEncode(projectUrl)}&version=v1.0.0&desc=微信开发者工具HTTP上传&appid={model.AppId}";
string result = Mall.Common.Plugin.HttpHelper.HttpGet(URL, Encoding.UTF8, "");
JObject parmsJob = JObject.Parse(result);
if (parmsJob.ContainsKey("code"))
{
return ApiResult.Failed(parmsJob.GetValue("message").ToString());
}
return ApiResult.Success("上传成功", result);
}
catch (Exception ex)
{
return ApiResult.Failed("上传失败");
}
}
}
}
\ No newline at end of file
......@@ -45,12 +45,12 @@ namespace Mall.WebApi.Controllers.MarketingCenter
x.Name,
x.HeXiao,
x.CouponIco,
x.StartDate,
StartDate = x.StartDate.HasValue ? x.StartDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
x.IndateType,
x.IndateDay,
x.EndDate,
EndDate = x.EndDate.HasValue ? x.EndDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
CreateDate = x.CreateDate.ToString("yyyy-MM-dd HH:mm:ss")
});
}); ;
return ApiResult.Success("", pagelist);
}
......@@ -114,7 +114,7 @@ namespace Mall.WebApi.Controllers.MarketingCenter
{
return ApiResult.Failed("开始日期或结束日期必填");
}
if (query.StartDate < query.EndDate)
if (query.StartDate > query.EndDate)
{
return ApiResult.Failed("开始日期必须小于结束日期");
}
......@@ -194,15 +194,15 @@ namespace Mall.WebApi.Controllers.MarketingCenter
x.Name,
x.MinConsumePrice,
x.DiscountsPrice,
x.UseType,
UseTypeStr = Mall.Common.Plugin.EnumHelper.GetEnumName(x.UseType),
x.CouponType,
x.StartDate,
StartDate = x.StartDate.HasValue ? x.StartDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
x.IndateType,
x.IndateDay,
x.EndDate,
EndDate=x.EndDate.HasValue ? x.EndDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
x.TotalNum,
ResidueNum = x.TotalNum - x.ReceiveNum,
x.PickupType
x.PickupCenter
});
return ApiResult.Success("", pagelist);
}
......@@ -225,6 +225,10 @@ namespace Mall.WebApi.Controllers.MarketingCenter
oldLogisticsModel = new RB_DiscountCoupon_Extend();
oldLogisticsModel.IndateType = Common.Enum.MarketingCenter.IndateTypeEnum.DayHorizon;
}
if (!string.IsNullOrWhiteSpace(oldLogisticsModel.MemberLevel))
{
oldLogisticsModel.MemberLevelList = JsonConvert.DeserializeObject<List<int>>(oldLogisticsModel.MemberLevel).ToArray();
}
return ApiResult.Success("", oldLogisticsModel);
}
......@@ -263,7 +267,7 @@ namespace Mall.WebApi.Controllers.MarketingCenter
{
return ApiResult.Failed("开始日期或结束日期必填");
}
if (query.StartDate < query.EndDate)
if (query.StartDate > query.EndDate)
{
return ApiResult.Failed("开始日期必须小于结束日期");
}
......@@ -290,6 +294,10 @@ namespace Mall.WebApi.Controllers.MarketingCenter
{
query.CreateDate = System.DateTime.Now;
}
if (query.MemberLevelList != null && query.MemberLevelList.Length > 0)
{
query.MemberLevel = JsonConvert.SerializeObject(query.MemberLevelList);
}
query.UpdateDate = System.DateTime.Now;
bool result = IntegralModule.AddOrUpdateDiscountCoupon(query);
if (result)
......
......@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Mall.Common.API;
using Mall.Common.Enum.MarketingCenter;
using Mall.Common.Plugin;
using Mall.Model.Entity.MarketingCenter;
using Mall.Model.Extend.MarketingCenter;
......@@ -112,6 +113,102 @@ namespace Mall.WebApi.Controllers.MarketingCenter
return ApiResult.Success("", pagelist);
}
[HttpPost]
public FileContentResult GetDistributorRemitListToExcel()
{
var parms = RequestParm;
RB_Member_Integral_Extend demodel = JsonConvert.DeserializeObject<RB_Member_Integral_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(IntegralExportEnum));
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 = IntegralModule.GetIntegralRecordExport(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() + (item.Integral ?? 0).ToString()) { }); break;
case 6:
datarow.ExcelRows.Add(new ExcelColumn(value: item.CreateDate.Value.ToString("yyyy-MM-dd")) { }); break;
case 7:
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);
}
}
/// <summary>
/// 获取积分记录下载枚举列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetIntegralExportEnumList()
{
var list = EnumHelper.GetEnumList(typeof(IntegralExportEnum));
return ApiResult.Success("", list.Select(x => new
{
Name = x.Key,
Id = Convert.ToInt32(x.Value)
}));
}
#endregion
......
......@@ -316,6 +316,22 @@ namespace Mall.WebApi.Controllers.MarketingCenter
}
/// <summary>
/// 获取余额收支下载枚举列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetBalanceExportEnumList()
{
var list = EnumHelper.GetEnumList(typeof(BalanceExportEnum));
return ApiResult.Success("", list.Select(x => new
{
Name = x.Key,
Id = Convert.ToInt32(x.Value)
}));
}
#endregion
}
}
\ No newline at end of file
......@@ -21,6 +21,8 @@
"ImSecret": "66000451fb72",
"Mongo": "mongodb://192.168.2.214:27017",
"MongoDBName": "Mall",
"ProjectUrl": "D:/project/GitProject/tripfriend",
"DeveloperKitsPort": "54333",
"RedisSetting": {
"RedisServer": "192.168.2.214",
"RedisPort": "6379",
......
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