Commit 07506d3a authored by 吴春's avatar 吴春

1

parent 45c8eeb3
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using VT.FW.DB;
namespace Mall.Model.Entity.TradePavilion namespace Mall.Model.Entity.TradePavilion
{ {
/// <summary> /// <summary>
/// 【商载通】访问记录信息 访问载体数,访问楼宇数,访问品牌数,访问企业数 /// 【商载通】访问记录信息 访问载体数,访问楼宇数,访问品牌数,访问企业数
/// </summary> /// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Visit_Log public class RB_Visit_Log
{ {
/// <summary> /// <summary>
...@@ -24,11 +27,6 @@ namespace Mall.Model.Entity.TradePavilion ...@@ -24,11 +27,6 @@ namespace Mall.Model.Entity.TradePavilion
/// </summary> /// </summary>
public int MallBaseId { get; set; } public int MallBaseId { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间
/// </summary> /// </summary>
......
...@@ -34,6 +34,8 @@ namespace Mall.Model.Entity.WeChatStatistics ...@@ -34,6 +34,8 @@ namespace Mall.Model.Entity.WeChatStatistics
/// </summary> /// </summary>
public int Status { get; set; } public int Status { get; set; }
#region 系统统计信息
/// <summary> /// <summary>
/// 新载体数量 /// 新载体数量
/// </summary> /// </summary>
...@@ -98,10 +100,13 @@ namespace Mall.Model.Entity.WeChatStatistics ...@@ -98,10 +100,13 @@ namespace Mall.Model.Entity.WeChatStatistics
/// </summary> /// </summary>
public int EnterpriseVisitNum { get; set; } public int EnterpriseVisitNum { get; set; }
#endregion
/// <summary> /// <summary>
/// 日期 /// 日期
/// </summary> /// </summary>
public string Ref_Date { get; set; } public DateTime CreateTime { get; set; }
#region 用户访问小程序日留存 #region 用户访问小程序日留存
/// <summary> /// <summary>
/// 新增用户留存 /// 新增用户留存
......
...@@ -17,6 +17,11 @@ namespace Mall.Model.Extend.TradePavilion ...@@ -17,6 +17,11 @@ namespace Mall.Model.Extend.TradePavilion
/// 日期 /// 日期
/// </summary> /// </summary>
public string ref_date { get; set; } public string ref_date { get; set; }
/// <summary>
/// 结束日期
/// </summary>
public string endDate { get; set; }
/// <summary> /// <summary>
/// 新增用户留存 /// 新增用户留存
/// </summary> /// </summary>
......
using Mall.Model.Extend.TradePavilion; using Mall.Model.Entity.TradePavilion;
using Mall.Model.Extend.TradePavilion;
using Mall.Repository.TradePavilion; using Mall.Repository.TradePavilion;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
...@@ -10,7 +11,19 @@ namespace Mall.Module.TradePavilion ...@@ -10,7 +11,19 @@ namespace Mall.Module.TradePavilion
{ {
private readonly RB_Wechat_StatisticsRepository wechat_StatisticsRepository = new RB_Wechat_StatisticsRepository(); private readonly RB_Wechat_StatisticsRepository wechat_StatisticsRepository = new RB_Wechat_StatisticsRepository();
private readonly RB_Visit_LogRepository visit_LogRepository = new RB_Visit_LogRepository();
/// <summary>
/// 获取访问记录信息
/// </summary>
/// <param name="query"></param>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
public List<RB_Visit_Log> GetVisit_LogList(RB_Visit_Log query, string startTime = "", string endTime = "")
{
return visit_LogRepository.GetList(query, startTime, endTime);
}
/// <summary> /// <summary>
/// 获取列表 /// 获取列表
/// </summary> /// </summary>
......
...@@ -62,5 +62,51 @@ WHERE 1=1 ...@@ -62,5 +62,51 @@ WHERE 1=1
builder.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_Brand_Enterprise_Extend.ID)); builder.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_Brand_Enterprise_Extend.ID));
return GetPage<RB_Brand_Enterprise_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString(),parameters).ToList(); return GetPage<RB_Brand_Enterprise_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString(),parameters).ToList();
} }
/// <summary>
/// 【商载通】品牌、企业服务仓储层统计专用
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Brand_Enterprise_Extend> GetBrandEnterpriseBriefRepository( RB_Brand_Enterprise_Extend query)
{
DynamicParameters parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" SELECT A.ID,A.CreateDate,A.BrandEnterpriseType FROM rb_brand_Enterprise AS A WHERE 1=1 and A.Status=0 ");
if (query != null)
{
if (query.TenantId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Brand_Enterprise_Extend.TenantId), query.TenantId);
}
if (query.MallBaseId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Brand_Enterprise_Extend.MallBaseId), query.MallBaseId);
}
if (query.BrandEnterpriseType > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Brand_Enterprise_Extend.BrandEnterpriseType), query.BrandEnterpriseType);
}
if (query.CategoryId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Brand_Enterprise_Extend.CategoryId), query.CategoryId);
}
if (query.UserId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Brand_Enterprise_Extend.UserId), query.UserId);
}
if (!string.IsNullOrEmpty(query.BrandName))
{
builder.AppendFormat(" AND A.{0} LIKE @BrandName ", nameof(RB_Brand_Enterprise_Extend.BrandName));
parameters.Add("@BrandName", "%" + query.BrandName + "%");
}
}
return Get<RB_Brand_Enterprise_Extend>( builder.ToString(), parameters).ToList();
}
} }
} }
...@@ -136,5 +136,40 @@ WHERE 1=1 ...@@ -136,5 +136,40 @@ WHERE 1=1
} }
return Get<RB_Building_Carrier_Extend>(builder.ToString(), parameters).ToList(); return Get<RB_Building_Carrier_Extend>(builder.ToString(), parameters).ToList();
} }
/// <summary>
/// 【商载通】获取楼宇、载体列表统计专用
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Building_Carrier_Extend> GetBuildingCarrierBriefListRepository(RB_Building_Carrier_Extend query)
{
DynamicParameters parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" SELECT A.ID,A.CreateDate,A.BuildingCarrierType FROM RB_Building_Carrier AS A WHERE 1=1 ");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Building_Carrier_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.TenantId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Building_Carrier_Extend.TenantId), query.TenantId);
}
if (query.MallBaseId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Building_Carrier_Extend.MallBaseId), query.MallBaseId);
}
if (!string.IsNullOrEmpty(query.CarrierName))
{
builder.AppendFormat(" AND A.{0} LIKE @CarrierName ", nameof(RB_Building_Carrier_Extend.CarrierName));
parameters.Add("@CarrierName", "%" + query.CarrierName.Trim() + "%");
}
if (query.CategoryId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Building_Carrier_Extend.CategoryId), query.CategoryId);
}
}
return Get<RB_Building_Carrier_Extend>(builder.ToString(), parameters).ToList();
}
} }
} }
...@@ -8,7 +8,7 @@ using System.Text; ...@@ -8,7 +8,7 @@ using System.Text;
namespace Mall.Repository.TradePavilion namespace Mall.Repository.TradePavilion
{ {
/// <summary> /// <summary>
/// /// 访问记录仓储层
/// </summary> /// </summary>
public class RB_Visit_LogRepository : BaseRepository<RB_Visit_Log> public class RB_Visit_LogRepository : BaseRepository<RB_Visit_Log>
{ {
...@@ -25,36 +25,52 @@ namespace Mall.Repository.TradePavilion ...@@ -25,36 +25,52 @@ namespace Mall.Repository.TradePavilion
/// <param name="startTime"></param> /// <param name="startTime"></param>
/// <param name="endTime"></param> /// <param name="endTime"></param>
/// <returns></returns> /// <returns></returns>
public List<RB_Visit_Log> GetList(RB_Visit_Log query, string startTime, string endTime) public List<RB_Visit_Log> GetList(RB_Visit_Log query, string startTime = "", string endTime = "")
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} WHERE 1=1"); builder.Append($" SELECT * FROM {TableName} WHERE 1=1");
if (query != null) if (query != null)
{ {
if (query.TenantId > 0) if (query.TenantId > 0)
{ {
builder.Append($" AND {nameof(RB_Prize_Extend.TenantId)}={query.TenantId}"); builder.Append($" AND {nameof(RB_Visit_Log.TenantId)}={query.TenantId}");
} }
if (query.MallBaseId > 0) if (query.MallBaseId > 0)
{ {
builder.Append($" AND {nameof(RB_Prize_Extend.MallBaseId)}={query.MallBaseId}"); builder.Append($" AND {nameof(RB_Visit_Log.MallBaseId)}={query.MallBaseId}");
}
if (!string.IsNullOrWhiteSpace(startTime))
{
builder.Append($" and DATE_FORMAT({nameof(RB_Visit_Log.CreateDate)},'%Y-%m-%d' )>=DATE_FORMAT('{startTime}','%Y-%m-%d' ) ");
}
if (!string.IsNullOrWhiteSpace(endTime))
{
builder.Append($" and DATE_FORMAT({nameof(RB_Visit_Log.CreateDate)},'%Y-%m-%d' )<= DATE_FORMAT('{endTime}','%Y-%m-%d' ) ");
} }
//if (!string.IsNullOrWhiteSpace(startTime))
//{
// builder.Append($" AND {nameof(RB_Prize_Extend.CreateDate)}={query.Id}");
//}
//if (!string.IsNullOrWhiteSpace(endTime))
//{
// builder.Append($" AND {nameof(RB_Prize_Extend.CreateDate)}={query.Id}");
//}
} }
builder.Append($" order by Id desc"); builder.Append($" order by Id desc");
return Get<RB_Visit_Log>(builder.ToString()).ToList(); return Get<RB_Visit_Log>(builder.ToString()).ToList();
} }
/// <summary>
/// 新增访问记录
/// </summary>
/// <param name="TenantId"></param>
/// <param name="MallBaseId"></param>
/// <param name="ProductID">产品id</param>
/// <param name="ProductType">1-访问载体,2-访问楼宇,3-访问品牌,4-访问企业</param>
/// <returns></returns>
public bool AddVisit_Log(int TenantId, int MallBaseId, int ProductID, int ProductType)
{
RB_Visit_Log model = new RB_Visit_Log
{
TenantId = TenantId,
MallBaseId = MallBaseId,
ProductID = ProductID,
ProductType = ProductType,
CreateDate = DateTime.Now,
};
return Insert(model) > 0;
}
} }
} }
using Mall.Model.Entity.WeChatStatistics; using Mall.Model.Entity.TradePavilion;
using Mall.Model.Entity.WeChatStatistics;
using Mall.Model.Extend.Miai; using Mall.Model.Extend.Miai;
using Mall.Model.Extend.TradePavilion; using Mall.Model.Extend.TradePavilion;
using System; using System;
...@@ -29,9 +30,13 @@ namespace Mall.Repository.TradePavilion ...@@ -29,9 +30,13 @@ namespace Mall.Repository.TradePavilion
{ {
where += $@" and {nameof(RB_Wechat_Statistics_Extend.MallBaseId)}={dmodel.MallBaseId}"; where += $@" and {nameof(RB_Wechat_Statistics_Extend.MallBaseId)}={dmodel.MallBaseId}";
} }
if (!string.IsNullOrEmpty(dmodel.Ref_Date)) if (!string.IsNullOrEmpty(dmodel.ref_date))
{ {
where += $@" and {nameof(RB_Wechat_Statistics_Extend.Ref_Date)} ='{dmodel.Ref_Date}'"; where += $@" and DATE_FORMAT({nameof(RB_Wechat_Statistics_Extend.CreateTime)},'%Y-%m-%d' ) >= DATE_FORMAT('{dmodel.ref_date}','%Y-%m-%d' ) ";
}
if (!string.IsNullOrEmpty(dmodel.endDate))
{
where += $@" and DATE_FORMAT({nameof(RB_Wechat_Statistics_Extend.CreateTime)},'%Y-%m-%d' ) <= DATE_FORMAT('{dmodel.endDate}','%Y-%m-%d' ) ";
} }
string sql = $@"select * from RB_Wechat_Statistics where {where}"; string sql = $@"select * from RB_Wechat_Statistics where {where}";
return Get<RB_Wechat_Statistics_Extend>(sql).ToList(); return Get<RB_Wechat_Statistics_Extend>(sql).ToList();
......
...@@ -18,13 +18,14 @@ using Mall.Common.API; ...@@ -18,13 +18,14 @@ using Mall.Common.API;
using Mall.Common.Enum; using Mall.Common.Enum;
using Mall.Common.Enum.TradePavilion; using Mall.Common.Enum.TradePavilion;
using Mall.Common.Plugin; using Mall.Common.Plugin;
using Mall.Model.Extend.TradePavilion; using Mall.Model.Extend.TradePavilion;
using Mall.Module.TradePavilion; using Mall.Module.TradePavilion;
using Mall.WebApi.Filter; using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
...@@ -3668,7 +3669,7 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -3668,7 +3669,7 @@ namespace Mall.WebApi.Controllers.TradePavilion
return ApiResult.Success(data: extModel); return ApiResult.Success(data: extModel);
} }
[HttpPost] [HttpPost]
public ApiResult GetBrandEnterprisePage() public ApiResult GetBrandEnterprisePage()
{ {
...@@ -3735,12 +3736,12 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -3735,12 +3736,12 @@ namespace Mall.WebApi.Controllers.TradePavilion
BrandEnterpriseType = parms.GetInt("BrandEnterpriseType"), BrandEnterpriseType = parms.GetInt("BrandEnterpriseType"),
Introduce = parms.GetStringValue("Introduce"), Introduce = parms.GetStringValue("Introduce"),
DevIntention = parms.GetStringValue("DevIntention"), DevIntention = parms.GetStringValue("DevIntention"),
PropertyDemand=parms.GetStringValue("PropertyDemand"), PropertyDemand = parms.GetStringValue("PropertyDemand"),
Cooperation = parms.GetStringValue("Cooperation"), Cooperation = parms.GetStringValue("Cooperation"),
Complementary = parms.GetStringValue("Complementary"), Complementary = parms.GetStringValue("Complementary"),
}; };
List<string> BannerList = new List<string>(); List<string> BannerList = new List<string>();
string bannerListStr= parms.GetStringValue("BannerList"); string bannerListStr = parms.GetStringValue("BannerList");
if (!string.IsNullOrEmpty(bannerListStr)) if (!string.IsNullOrEmpty(bannerListStr))
{ {
try try
...@@ -3748,8 +3749,8 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -3748,8 +3749,8 @@ namespace Mall.WebApi.Controllers.TradePavilion
BannerList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(bannerListStr); BannerList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(bannerListStr);
} }
catch catch
{ {
} }
} }
model.Banner = Common.Plugin.JsonHelper.Serialize(BannerList); model.Banner = Common.Plugin.JsonHelper.Serialize(BannerList);
...@@ -3791,8 +3792,8 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -3791,8 +3792,8 @@ namespace Mall.WebApi.Controllers.TradePavilion
BannerList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(Banner); BannerList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(Banner);
} }
catch catch
{ {
} }
} }
var dataObj = new var dataObj = new
...@@ -3833,7 +3834,7 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -3833,7 +3834,7 @@ namespace Mall.WebApi.Controllers.TradePavilion
bool flag = buildingCarrierModule.RemoveBrandEnterpriseModule(Id); bool flag = buildingCarrierModule.RemoveBrandEnterpriseModule(Id);
return flag ? ApiResult.Success() : ApiResult.Failed(); return flag ? ApiResult.Success() : ApiResult.Failed();
} }
/// <summary> /// <summary>
/// 获取微信统计信息 /// 获取微信统计信息
/// </summary> /// </summary>
...@@ -3841,20 +3842,76 @@ namespace Mall.WebApi.Controllers.TradePavilion ...@@ -3841,20 +3842,76 @@ namespace Mall.WebApi.Controllers.TradePavilion
public ApiResult WechatStatistics() public ApiResult WechatStatistics()
{ {
JObject parms = JObject.Parse(RequestParm.msg.ToString()); JObject parms = JObject.Parse(RequestParm.msg.ToString());
string DateStr = parms.GetStringValue("StartDate"); string StartDateStr = parms.GetStringValue("StartDate");
if (string.IsNullOrWhiteSpace(DateStr)) string endDateStr = parms.GetStringValue("EndDate");
if (string.IsNullOrWhiteSpace(StartDateStr))
{ {
DateStr = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"); StartDateStr = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
} }
RB_Wechat_Statistics_Extend extModel = new RB_Wechat_Statistics_Extend() RB_Wechat_Statistics_Extend extModel = new RB_Wechat_Statistics_Extend()
{ {
ID = parms.GetInt("ID"), ref_date = StartDateStr,
Ref_Date = Convert.ToDateTime(DateStr).ToString("yyyyMMdd"), endDate = endDateStr,
TenantId = RequestParm.TenantId, TenantId = RequestParm.TenantId,
MallBaseId = RequestParm.MallBaseId, MallBaseId = RequestParm.MallBaseId,
}; };
var model = wechatStatisticsModule.GetList(extModel)?.FirstOrDefault() ?? new RB_Wechat_Statistics_Extend(); var list = wechatStatisticsModule.GetList(extModel);
return ApiResult.Success("", model); var result = new
{
List = list.Select(x => new
{
x.CarrierNum,
x.BuildingCarrierNum,
x.BrandNum,
x.EnterpriseNum,
x.CarrierTotalNum,
x.BuildingCarrierTotalNum,
x.BrandTotalNum,
x.EnterpriseTotalNum,
x.CarrierVisitNum,
x.BuildingCarrierVisitNum,
x.BrandVisitNum,
x.EnterpriseVisitNum,
x.NewVisitUV,
x.VisitUV,
x.Visit_Total,
x.Share_PV,
x.Share_UV,
x.Session_CNT,
x.Visit_PV,
x.Visit_UV,
x.Visit_UV_New,
x.Stay_Time_UV,
x.Stay_Time_Session,
x.Visit_Depth,
CreateTimeStr = x.CreateTime.ToString("yyyy-MM-dd"),
}),
CarrierNum = list?.Sum(x => x.CarrierNum) ?? 0,
BuildingCarrierNum = list?.Sum(x => x.BuildingCarrierNum) ?? 0,
BrandNum = list?.Sum(x => x.BrandNum) ?? 0,
EnterpriseNum = list?.Sum(x => x.EnterpriseNum) ?? 0,
CarrierTotalNum = list?.Sum(x => x.CarrierTotalNum) ?? 0,
BuildingCarrierTotalNum = list?.Sum(x => x.BuildingCarrierTotalNum) ?? 0,
BrandTotalNum = list?.Sum(x => x.BrandTotalNum) ?? 0,
EnterpriseTotalNum = list?.Sum(x => x.EnterpriseTotalNum) ?? 0,
CarrierVisitNum = list?.Sum(x => x.CarrierVisitNum) ?? 0,
BuildingCarrierVisitNum = list?.Sum(x => x.BuildingCarrierVisitNum) ?? 0,
BrandVisitNum = list?.Sum(x => x.BrandVisitNum) ?? 0,
EnterpriseVisitNum = list?.Sum(x => x.EnterpriseVisitNum) ?? 0,
NewVisitUV = list?.Sum(x => x.NewVisitUV) ?? 0,
VisitUV = list?.Sum(x => x.VisitUV) ?? 0,
Visit_Total = list?.Sum(x => x.Visit_Total) ?? 0,
Share_PV = list?.Sum(x => x.Share_PV) ?? 0,
Share_UV = list?.Sum(x => x.Share_UV) ?? 0,
Session_CNT = list?.Sum(x => x.Session_CNT) ?? 0,
Visit_PV = list?.Sum(x => x.Visit_PV) ?? 0,
Visit_UV = list?.Sum(x => x.Visit_UV) ?? 0,
Visit_UV_New = list?.Sum(x => x.Visit_UV_New) ?? 0,
Stay_Time_UV = list?.Sum(x => x.Stay_Time_UV) ?? 0,
Stay_Time_Session = list?.Sum(x => x.Stay_Time_Session) ?? 0,
Visit_Depth = list?.Sum(x => x.Visit_Depth) ?? 0,
};
return ApiResult.Success(data: result);
} }
} }
} }
\ No newline at end of file
...@@ -48,10 +48,6 @@ ...@@ -48,10 +48,6 @@
<ProjectReference Include="..\Mall.ThirdCore\Mall.ThirdCore.csproj" /> <ProjectReference Include="..\Mall.ThirdCore\Mall.ThirdCore.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Folder Include="Controllers\WeChatStatistics\" />
</ItemGroup>
<ProjectExtensions><VisualStudio><UserProperties appsettings_1json__JsonSchema="https://json-schema.org/draft/2019-09/schema" /></VisualStudio></ProjectExtensions> <ProjectExtensions><VisualStudio><UserProperties appsettings_1json__JsonSchema="https://json-schema.org/draft/2019-09/schema" /></VisualStudio></ProjectExtensions>
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
using Mall.CacheManager.DataStatistic; using Mall.CacheManager.DataStatistic;
using Mall.Common; using Mall.Common;
using Mall.Common.Plugin; using Mall.Common.Plugin;
using Mall.Model.Entity.TradePavilion;
using Mall.Model.Entity.WeChatStatistics; using Mall.Model.Entity.WeChatStatistics;
using Mall.Model.Extend.TradePavilion; using Mall.Model.Extend.TradePavilion;
using Mall.Repository.BaseSetUp; using Mall.Repository.BaseSetUp;
...@@ -37,6 +38,19 @@ namespace Mall.WindowsService.Module ...@@ -37,6 +38,19 @@ namespace Mall.WindowsService.Module
/// </summary> /// </summary>
private static RB_MiniProgramRepository miniProgramRepository = new RB_MiniProgramRepository(); private static RB_MiniProgramRepository miniProgramRepository = new RB_MiniProgramRepository();
/// <summary>
/// 访问记录仓储层
/// </summary>
private static RB_Visit_LogRepository _VisitLogRepository = new RB_Visit_LogRepository();
/// <summary>
/// 【商载通】 品牌、企业服务仓储层
/// </summary>
private static RB_Brand_EnterpriseRepository brand_EnterpriseRepository = new RB_Brand_EnterpriseRepository();
/// <summary>
/// 【商载通】【商载通】楼宇、载体服务仓储层
/// </summary>
private static RB_Building_CarrierRepository building_CarrierRepository = new RB_Building_CarrierRepository();
/// <summary> /// <summary>
/// 同步小程序统计信息 /// 同步小程序统计信息
/// </summary> /// </summary>
...@@ -57,20 +71,25 @@ namespace Mall.WindowsService.Module ...@@ -57,20 +71,25 @@ namespace Mall.WindowsService.Module
var miniProgramModel = miniProgramRepository.GetEntity(Convert.ToInt32(item)); var miniProgramModel = miniProgramRepository.GetEntity(Convert.ToInt32(item));
if ((miniProgramModel?.MallBaseId ?? 0) > 0) if ((miniProgramModel?.MallBaseId ?? 0) > 0)
{ {
DateTime dateTime = DateTime.Now.AddDays(-1);
RB_Wechat_Statistics model = new RB_Wechat_Statistics(); RB_Wechat_Statistics model = new RB_Wechat_Statistics();
model.TenantId = miniProgramModel.TenantId ?? 0; model.TenantId = miniProgramModel.TenantId ?? 0;
model.MallBaseId = miniProgramModel.MallBaseId; model.MallBaseId = miniProgramModel.MallBaseId;
model.Status = 0; model.Status = 0;
model.Ref_Date = DateTime.Now.AddDays(-1).ToString("yyyyMMdd"); model.CreateTime = dateTime;
var oldList = wechatStatisticsRepository.GetList(new RB_Wechat_Statistics_Extend { TenantId = model.TenantId, MallBaseId = model.MallBaseId, Ref_Date = model.Ref_Date, Status = 0 });//判断是否已添加信息 string refDate = model.CreateTime.ToString("yyyyMMdd");
string selectDateStr = dateTime.ToString("yyyy-MM-dd");
var oldList = wechatStatisticsRepository.GetList(new RB_Wechat_Statistics_Extend { TenantId = model.TenantId, MallBaseId = model.MallBaseId, ref_date = selectDateStr, Status = 0 });//判断是否已添加信息
if (oldList?.Count() > 0)//已同步则不继续 if (oldList?.Count() > 0)//已同步则不继续
{ {
return false; return false;
} }
#region 微信小程序同步
var postdata = new var postdata = new
{ {
begin_date = model.Ref_Date, begin_date = refDate,
end_date = model.Ref_Date, end_date = refDate,
}; };
string token = WeiXinReidsCache.Get(miniProgramModel.MiniAppId); string token = WeiXinReidsCache.Get(miniProgramModel.MiniAppId);
if (string.IsNullOrEmpty(token)) if (string.IsNullOrEmpty(token))
...@@ -90,7 +109,7 @@ namespace Mall.WindowsService.Module ...@@ -90,7 +109,7 @@ namespace Mall.WindowsService.Module
#region 获取用户访问小程序日留存 https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/data-analysis/visit-retain/getDailyRetain.html #region 获取用户访问小程序日留存 https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/data-analysis/visit-retain/getDailyRetain.html
try try
{ {
wenXinResult = HttpHelper.HttpPost(Url, JsonHelper.Serialize(postdata), ""); wenXinResult = HttpHelper.HttpPost(Url, JsonHelper.Serialize(postdata), "");
JObject jo = (JObject)JsonConvert.DeserializeObject(wenXinResult); JObject jo = (JObject)JsonConvert.DeserializeObject(wenXinResult);
LogHelper.WriteInfo(wenXinResult); LogHelper.WriteInfo(wenXinResult);
...@@ -114,7 +133,7 @@ namespace Mall.WindowsService.Module ...@@ -114,7 +133,7 @@ namespace Mall.WindowsService.Module
#region 获取用户访问小程序数据日趋势 https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/data-analysis/visit-trend/getDailyVisitTrend.html #region 获取用户访问小程序数据日趋势 https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/data-analysis/visit-trend/getDailyVisitTrend.html
try try
{ {
Url = "https://api.weixin.qq.com/datacube/getweanalysisappiddailyvisittrend?access_token=" + token; Url = "https://api.weixin.qq.com/datacube/getweanalysisappiddailyvisittrend?access_token=" + token;
wenXinResult = HttpHelper.HttpPost(Url, JsonHelper.Serialize(postdata), ""); wenXinResult = HttpHelper.HttpPost(Url, JsonHelper.Serialize(postdata), "");
JObject jo = (JObject)JsonConvert.DeserializeObject(wenXinResult); JObject jo = (JObject)JsonConvert.DeserializeObject(wenXinResult);
...@@ -143,7 +162,7 @@ namespace Mall.WindowsService.Module ...@@ -143,7 +162,7 @@ namespace Mall.WindowsService.Module
#region 获取用户访问小程序数据概况 https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/data-analysis/others/getDailySummary.html #region 获取用户访问小程序数据概况 https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/data-analysis/others/getDailySummary.html
try try
{ {
Url = "https://api.weixin.qq.com/datacube/getweanalysisappiddailysummarytrend?access_token=" + token; Url = "https://api.weixin.qq.com/datacube/getweanalysisappiddailysummarytrend?access_token=" + token;
wenXinResult = HttpHelper.HttpPost(Url, JsonHelper.Serialize(postdata), ""); wenXinResult = HttpHelper.HttpPost(Url, JsonHelper.Serialize(postdata), "");
JObject jo = (JObject)JsonConvert.DeserializeObject(wenXinResult); JObject jo = (JObject)JsonConvert.DeserializeObject(wenXinResult);
...@@ -158,7 +177,7 @@ namespace Mall.WindowsService.Module ...@@ -158,7 +177,7 @@ namespace Mall.WindowsService.Module
model.Share_PV = dailyVisitTrendItem.share_pv; model.Share_PV = dailyVisitTrendItem.share_pv;
model.Share_UV = dailyVisitTrendItem.share_uv; model.Share_UV = dailyVisitTrendItem.share_uv;
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
...@@ -167,8 +186,48 @@ namespace Mall.WindowsService.Module ...@@ -167,8 +186,48 @@ namespace Mall.WindowsService.Module
#endregion #endregion
LogHelper.WriteInfo(JsonConvert.SerializeObject(model)); LogHelper.WriteInfo(JsonConvert.SerializeObject(model));
flag = wechatStatisticsRepository.Insert(model) > 0;
} }
#endregion
#region 系统数据统计
#region 访问统计
var visitLogoList = _VisitLogRepository.GetList(new Model.Entity.TradePavilion.RB_Visit_Log { MallBaseId = miniProgramModel.MallBaseId, TenantId = miniProgramModel.TenantId ?? 0 }, startTime: selectDateStr, endTime: selectDateStr);
if (visitLogoList != null && visitLogoList.Any())
{
model.CarrierVisitNum = visitLogoList?.Where(x => x.ProductType == 1)?.Count() ?? 0;
model.BuildingCarrierVisitNum = visitLogoList?.Where(x => x.ProductType == 2)?.Count() ?? 0;
model.BrandVisitNum = visitLogoList?.Where(x => x.ProductType == 3)?.Count() ?? 0;
model.EnterpriseVisitNum = visitLogoList?.Where(x => x.ProductType == 4)?.Count() ?? 0;
}
#endregion
#region 新增/总数统计
//品牌 Or 企业
var brandEnterpriseList = brand_EnterpriseRepository.GetBrandEnterpriseBriefRepository(new RB_Brand_Enterprise_Extend { MallBaseId = miniProgramModel.MallBaseId, TenantId = miniProgramModel.TenantId ?? 0 });
if (brandEnterpriseList != null && brandEnterpriseList.Any())
{
model.BrandNum = brandEnterpriseList?.Where(x => x.CreateDate.ToString("yyyy-MM-dd") == dateTime.ToString("yyyy-MM-dd") && x.BrandEnterpriseType == 1)?.Count() ?? 0;
model.BrandTotalNum = brandEnterpriseList?.Where(x => x.BrandEnterpriseType == 1)?.Count() ?? 0;
model.EnterpriseNum = brandEnterpriseList?.Where(x => x.CreateDate.ToString("yyyy-MM-dd") == dateTime.ToString("yyyy-MM-dd") && x.BrandEnterpriseType == 2)?.Count() ?? 0;
model.EnterpriseTotalNum = brandEnterpriseList?.Where(x => x.BrandEnterpriseType == 2)?.Count() ?? 0;
}
//楼宇 Or 载体信息
var buildingCarrierList = building_CarrierRepository.GetBuildingCarrierBriefListRepository(new RB_Building_Carrier_Extend { MallBaseId = miniProgramModel.MallBaseId, TenantId = miniProgramModel.TenantId ?? 0 });
if (buildingCarrierList != null && buildingCarrierList.Any())
{
model.CarrierNum = buildingCarrierList?.Where(x => x.CreateDate.ToString("yyyy-MM-dd") == dateTime.ToString("yyyy-MM-dd") && x.BuildingCarrierType == 1)?.Count() ?? 0;
model.CarrierTotalNum = buildingCarrierList?.Where(x => x.BuildingCarrierType == 1)?.Count() ?? 0;
model.BuildingCarrierNum = buildingCarrierList?.Where(x => x.CreateDate.ToString("yyyy-MM-dd") == dateTime.ToString("yyyy-MM-dd") && x.BuildingCarrierType == 2)?.Count() ?? 0;
model.BuildingCarrierTotalNum = buildingCarrierList?.Where(x => x.BuildingCarrierType == 2)?.Count() ?? 0;
}
#endregion
#endregion
flag = wechatStatisticsRepository.Insert(model) > 0;
} }
} }
catch (Exception ex) catch (Exception ex)
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
"IncomeFinanceApi": "http://192.168.5.16:8083/api/Mall/InsertFinanceBatchForMallIn", "IncomeFinanceApi": "http://192.168.5.16:8083/api/Mall/InsertFinanceBatchForMallIn",
"PaymentFinanceApi": "http://192.168.5.16:8083/api/Mall/InsertFinanceBatchForMallOut", "PaymentFinanceApi": "http://192.168.5.16:8083/api/Mall/InsertFinanceBatchForMallOut",
"EduUpdateGoodsSpecification": "http://192.168.5.17:8017/api/Order/UpdateGoodsSpecification", "EduUpdateGoodsSpecification": "http://192.168.5.17:8017/api/Order/UpdateGoodsSpecification",
"WechatStatisticsMallBaseId": "1",//20 "WechatStatisticsMallBaseId": "20",//20
"PayCertificateUrl": "D:/project/GitProject/Shopping/Mall.WebApi/", "PayCertificateUrl": "D:/project/GitProject/Shopping/Mall.WebApi/",
"SettlementRate": "0.60", "SettlementRate": "0.60",
//"FinanceKey": "FinanceMallInsertToERPViitto2020", //"FinanceKey": "FinanceMallInsertToERPViitto2020",
......
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