438 lines
25 KiB
C#
438 lines
25 KiB
C#
using MyCode.Project.Domain.Config;
|
||
using MyCode.Project.Domain.Message.Request.Bfy;
|
||
using MyCode.Project.Domain.Message.Request.LxmZHMDReport;
|
||
using MyCode.Project.Domain.Message.Response.LxmZHMDReport;
|
||
using MyCode.Project.Domain.Model;
|
||
using MyCode.Project.Infrastructure.Common;
|
||
using MyCode.Project.Infrastructure.Extensions;
|
||
using MyCode.Project.OutSideService;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace MyCode.Project.Services.BLL
|
||
{
|
||
public class ReportBLL
|
||
{
|
||
#region 初始化
|
||
private readonly IBfyService _bfyService;
|
||
|
||
|
||
public ReportBLL(IBfyService bfyService)
|
||
{
|
||
_bfyService = bfyService;
|
||
}
|
||
#endregion
|
||
|
||
#region GetSingleShopOperate 单店运营核心指标数据转换
|
||
/// <summary>
|
||
/// 单店运营核心指标数据转换
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
/// <returns></returns>
|
||
public SingleShopOperateResp GetSingleShopOperate(RpShopZhenduansibiaoYejiData model)
|
||
{
|
||
SingleShopOperateResp resp = new SingleShopOperateResp();
|
||
if (model == null) { return resp; }
|
||
resp.TotalCollection = model.ZongShouKuan.SafeValue();
|
||
resp.TotalPerformance = model.ZongYeJi.SafeValue();
|
||
resp.OrnamentsPercent = model.ShiPinBiLi.SafeValue().ToString()+"%";
|
||
resp.CosmeticsPercent = model.HuaZhuangPinBiLi.SafeValue().ToString() + "%";
|
||
resp.SkinCarePercent = model.HuFuPinBiLi.SafeValue().ToString() + "%";
|
||
resp.ServicePerformancePercent = model.FuWuYeJiBiLi.SafeValue().ToString() + "%";
|
||
resp.OtherPerformancePercent = model.QiTaYeJiBiLi.SafeValue().ToString() + "%";
|
||
resp.MonthExpandCustomerQty = model.YueTuoKeTiYan.SafeValue();
|
||
resp.MonthNewCustomerFirstQty = model.YueXinKeShouDan.SafeValue();
|
||
resp.MonthNewCustomerFirstQty2 = model.YueXinKeShouDan2.SafeValue();
|
||
resp.MonthNewCustomerFirstQty3 = model.YueXinKeShouDan3.SafeValue();
|
||
resp.FirstOrderAvg = model.ShouDanKeDan.SafeValue();
|
||
resp.MonthUpgradeRepurchaseQty = model.YueShengDanRenShu.SafeValue();
|
||
resp.MonthUpgradeRepurchaseQty2 = model.YueShengDanRenShu2.SafeValue();
|
||
resp.MonthUpgradeRepurchaseQty3 = model.YueShengDanRenShu3.SafeValue();
|
||
resp.RepurchaseOrderAvg = model.FuGouKeDan.SafeValue();
|
||
resp.Total = model.TaoCanZongRenShu.SafeValue();
|
||
resp.OneSets = model.TaoCan1taoRenShu.SafeValue();
|
||
resp.TwoSets = model.TaoCan2taoRenShu.SafeValue();
|
||
resp.MoreThanTwoSets = model.TaoCan3taoRenShu.SafeValue();
|
||
resp.SetMealTotal = model.TaoCanZongShu.SafeValue();
|
||
resp.NewAddSetMeal = model.TaoCanXinZengShu.SafeValue();
|
||
resp.MoreThanTwiceMonth = model.TaoCanHuoYue1m2.SafeValue();
|
||
resp.OnceMonth = model.TaoCanHuoYue1m1.SafeValue();
|
||
resp.OnceInFebruary = model.TaoCanHuoYue2m1;
|
||
resp.OnceInMarch = model.TaoCanHuoYue3m2;
|
||
resp.Personal = model.HeXiaoRenShu.SafeValue();
|
||
resp.Frequency = model.HeXiaoCiShu.SafeValue();
|
||
return resp;
|
||
}
|
||
#endregion
|
||
|
||
#region GetSingleShopOperateSummary 单店运营核心指标列表数据转换
|
||
/// <summary>
|
||
/// 单店运营核心指标列表数据转换
|
||
/// </summary>
|
||
/// <param name="modelList"></param>
|
||
/// <param name="searchList"></param>
|
||
/// <returns></returns>
|
||
public List<SingleShopOperateSummaryResp> GetSingleShopOperateSummary(List<RpShopZhenduansibiaoYejiData> modelList,List<ShopDiagnosisSearchResp> searchList
|
||
, List<SingleShopOperateSummaryResp> yangbangdianList, List<SingleShopOperateSummaryResp> tuoKeList)
|
||
{
|
||
List<SingleShopOperateSummaryResp> respList = new List<SingleShopOperateSummaryResp>();
|
||
//searchList.ForEach(x => {
|
||
// var model = modelList.Where(p => p.Id == x.Id).FirstOrDefault();
|
||
// SingleShopOperateSummaryResp resp = new SingleShopOperateSummaryResp();
|
||
// resp.Id = x.Id;
|
||
// resp.ShopId = x.ShopId;
|
||
// resp.DisplayTimeStr = x.DisplayTimeStr;
|
||
// resp.UseDays = x.UseDays.SafeValue();
|
||
// resp.Code = x.Code;
|
||
// resp.ShopName = x.ShopName;
|
||
// resp.CustomerName = x.CustomerName;
|
||
// resp.ProvinceName = x.ProvinceName;
|
||
// resp.CityName = x.CityName;
|
||
// resp.ZoneName = x.ZoneName;
|
||
// resp.TotalCollection = model.ZongShouKuan.SafeValue();
|
||
// resp.TotalPerformance = model.ZongYeJi.SafeValue();
|
||
// resp.OrnamentsPercent = model.ShiPinBiLi.SafeValue().ToString() + "%";
|
||
// resp.CosmeticsPercent = model.HuaZhuangPinBiLi.SafeValue().ToString() + "%";
|
||
// resp.SkinCarePercent = model.HuFuPinBiLi.SafeValue().ToString() + "%";
|
||
// resp.ServicePerformancePercent = model.FuWuYeJiBiLi.SafeValue().ToString() + "%";
|
||
// resp.OtherPerformancePercent = model.QiTaYeJiBiLi.SafeValue().ToString() + "%";
|
||
// resp.MonthExpandCustomerQty = model.YueTuoKeTiYan.SafeValue();
|
||
// resp.MonthNewCustomerFirstQty = model.YueXinKeShouDan.SafeValue();
|
||
// resp.MonthNewCustomerFirstQty2 = model.YueXinKeShouDan2.SafeValue();
|
||
// resp.MonthNewCustomerFirstQty3 = model.YueXinKeShouDan3.SafeValue();
|
||
// resp.FirstOrderAvg = model.ShouDanKeDan.SafeValue();
|
||
// resp.MonthUpgradeRepurchaseQty = model.YueShengDanRenShu.SafeValue();
|
||
// resp.MonthUpgradeRepurchaseQty2 = model.YueShengDanRenShu2.SafeValue();
|
||
// resp.MonthUpgradeRepurchaseQty3 = model.YueShengDanRenShu3.SafeValue();
|
||
// resp.RepurchaseOrderAvg = model.FuGouKeDan.SafeValue();
|
||
// resp.Total = model.TaoCanZongRenShu.SafeValue();
|
||
// resp.OneSets = model.TaoCan1taoRenShu.SafeValue();
|
||
// resp.TwoSets = model.TaoCan2taoRenShu.SafeValue();
|
||
// resp.MoreThanTwoSets = model.TaoCan3taoRenShu.SafeValue();
|
||
// resp.SetMealTotal = model.TaoCanZongShu.SafeValue();
|
||
// resp.NewAddSetMeal = model.TaoCanXinZengShu.SafeValue();
|
||
// resp.MoreThanTwiceMonth = model.TaoCanHuoYue1m2.SafeValue();
|
||
// resp.OnceMonth = model.TaoCanHuoYue1m1.SafeValue();
|
||
// resp.OnceInFebruary = model.TaoCanHuoYue2m1;
|
||
// resp.OnceInMarch = model.TaoCanHuoYue3m2;
|
||
// resp.Personal = model.HeXiaoRenShu.SafeValue();
|
||
// resp.Frequency = model.HeXiaoCiShu.SafeValue();
|
||
// respList.Add(resp);
|
||
//});
|
||
respList = (from x in searchList
|
||
join model in modelList on x.Id equals model.Id
|
||
join n in yangbangdianList.DefaultIfEmpty() on new { x.ShopId, x.Days } equals new { n?.ShopId, n?.Days } into ngroup
|
||
from nitem in ngroup.DefaultIfEmpty()
|
||
join k in tuoKeList.DefaultIfEmpty() on new { x.ShopId, x.Days } equals new { k?.ShopId, k?.Days } into kgroup
|
||
from kItem in kgroup.DefaultIfEmpty()
|
||
select new SingleShopOperateSummaryResp
|
||
{
|
||
Id = x.Id,
|
||
ShopId = x.ShopId,
|
||
DisplayTimeStr = x.DisplayTimeStr,
|
||
UseDays = x.UseDays.SafeValue(),
|
||
Code = x.Code,
|
||
ShopName = x.ShopName,
|
||
CustomerName = x.CustomerName,
|
||
ProvinceName = x.ProvinceName,
|
||
CityName = x.CityName,
|
||
ZoneName = x.ZoneName,
|
||
TotalCollection = model.ZongShouKuan.SafeValue(),
|
||
TotalPerformance = model.ZongYeJi.SafeValue(),
|
||
OrnamentsPercent = model.ShiPinBiLi.SafeValue().ToString() + "%",
|
||
CosmeticsPercent = model.HuaZhuangPinBiLi.SafeValue().ToString() + "%",
|
||
SkinCarePercent = model.HuFuPinBiLi.SafeValue().ToString() + "%",
|
||
ServicePerformancePercent = model.FuWuYeJiBiLi.SafeValue().ToString() + "%",
|
||
OtherPerformancePercent = model.QiTaYeJiBiLi.SafeValue().ToString() + "%",
|
||
MonthExpandCustomerQty = model.YueTuoKeTiYan.SafeValue(),
|
||
MonthNewCustomerFirstQty = model.YueXinKeShouDan.SafeValue(),
|
||
MonthNewCustomerFirstQty2 = model.YueXinKeShouDan2.SafeValue(),
|
||
MonthNewCustomerFirstQty3 = model.YueXinKeShouDan3.SafeValue(),
|
||
FirstOrderAvg = model.ShouDanKeDan.SafeValue(),
|
||
MonthUpgradeRepurchaseQty = model.YueShengDanRenShu.SafeValue(),
|
||
MonthUpgradeRepurchaseQty2 = model.YueShengDanRenShu2.SafeValue(),
|
||
MonthUpgradeRepurchaseQty3 = model.YueShengDanRenShu3.SafeValue(),
|
||
RepurchaseOrderAvg = model.FuGouKeDan.SafeValue(),
|
||
Total = model.TaoCanZongRenShu.SafeValue(),
|
||
OneSets = model.TaoCan1taoRenShu.SafeValue(),
|
||
TwoSets = model.TaoCan2taoRenShu.SafeValue(),
|
||
MoreThanTwoSets = model.TaoCan3taoRenShu.SafeValue(),
|
||
SetMealTotal = model.TaoCanZongShu.SafeValue(),
|
||
NewAddSetMeal = model.TaoCanXinZengShu.SafeValue(),
|
||
MoreThanTwiceMonth = model.TaoCanHuoYue1m2.SafeValue(),
|
||
OnceMonth = model.TaoCanHuoYue1m1.SafeValue(),
|
||
OnceInFebruary = model.TaoCanHuoYue2m1,
|
||
OnceInMarch = model.TaoCanHuoYue3m2,
|
||
Personal = model.HeXiaoRenShu.SafeValue(),
|
||
Frequency = model.HeXiaoCiShu.SafeValue(),
|
||
LaoKeYeJi = nitem?.LaoKeYeJi ?? 0,
|
||
XinKeYeJi = nitem?.XinKeYeJi ?? 0,
|
||
LaoKeZhanBi = nitem?.LaoKeZhanBi ?? "--%",
|
||
XinKeZhanBi = nitem?.XinKeZhanBi ?? "--%",
|
||
TuoKeRenShu = kItem?.TuoKeRenShu ?? 0,
|
||
XinTuoKeRenShu = kItem?.XinTuoKeRenShu ?? 0,
|
||
LaoTuoKeRenShu = kItem?.LaoTuoKeRenShu ?? 0,
|
||
XinTuoKeZhanBi = kItem?.XinTuoKeZhanBi ?? "--%",
|
||
LaoTuoKeZhanBi = kItem?.LaoTuoKeZhanBi ?? "--%",
|
||
|
||
TiYanRenShu = kItem?.TiYanRenShu ?? 0,
|
||
LiuKeRenShu = kItem?.LiuKeRenShu ?? 0,
|
||
SuoKeRenShu = kItem?.SuoKeRenShu ?? 0,
|
||
TuoLiuZhuanHuaLv = kItem?.TuoLiuZhuanHuaLv ?? "--%",
|
||
}).ToList();
|
||
|
||
|
||
return respList;
|
||
}
|
||
#endregion
|
||
|
||
#region GetProductItemAnalysis 产品品项分析
|
||
/// <summary>
|
||
/// 产品品项分析数据转换
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
/// <returns></returns>
|
||
public ProductItemAnalysisResp GetProductItemAnalysis(RpShopZhenduansibiaoKucunData model)
|
||
{
|
||
ProductItemAnalysisResp resp = new ProductItemAnalysisResp();
|
||
if (model == null) { return resp; }
|
||
resp.TotalStock = model.ZongKuCun.SafeValue();
|
||
resp.ExpandCustomerSetsStock = model.TuoKeTaoShu.SafeValue();
|
||
resp.FirstOrderSetsStock = model.ShouDanTaoShu.SafeValue();
|
||
resp.OneDimensionSetsStock = model.YiWeiTaoShu.SafeValue();
|
||
resp.TwoDimensionSetsStock = model.ErWeiTaoShu.SafeValue();
|
||
resp.ThreeDimensionSetsStock = model.SanWeiTaoShu.SafeValue();
|
||
resp.FourDimensionSetsStock = model.SiWeiTaoShu.SafeValue();
|
||
resp.StackedSetsStock = model.DieJiaTaoShu.SafeValue();
|
||
resp.OrnamentsStock = model.ShiPinKuCun.SafeValue();
|
||
resp.CosmeticsStock = model.HuaZhuangPinKuCun.SafeValue();
|
||
resp.HomeCareStock = model.JiaHuKuCun.SafeValue();
|
||
resp.OtherStock = model.QiTaHuFuKuCun.SafeValue();
|
||
resp.OneName = model.Top1Name;
|
||
resp.OneQty = model.Top1Qty.SafeValue();
|
||
resp.TwoName = model.Top2Name;
|
||
resp.TwoQty = model.Top2Qty.SafeValue();
|
||
resp.ThreeName = model.Top3Name;
|
||
resp.ThreeQty = model.Top3Qty.SafeValue();
|
||
resp.FourName = model.Top4Name;
|
||
resp.FourQty = model.Top4Qty.SafeValue();
|
||
resp.FiveName = model.Top5Name;
|
||
resp.FiveQty = model.Top5Qty.SafeValue();
|
||
resp.One = string.IsNullOrWhiteSpace(resp.OneName)? "" : (resp.OneName + ":" + resp.OneQty.ToString());
|
||
resp.Two =string.IsNullOrWhiteSpace(resp.TwoName)? "" : (resp.TwoName + ":" + resp.TwoQty.ToString());
|
||
resp.Three =string.IsNullOrWhiteSpace(resp.ThreeName)? "" : (resp.ThreeName + ":" + resp.ThreeQty.ToString());
|
||
resp.Four = string.IsNullOrWhiteSpace(resp.FourName) ? "" : (resp.FourName + ":" + resp.FourQty.ToString());
|
||
resp.Five =string.IsNullOrWhiteSpace(resp.FiveName)? "" : (resp.FiveName + ":" + resp.FiveQty.ToString());
|
||
return resp;
|
||
}
|
||
|
||
public MonthProductItemAnalysisResp GetMonthProductItemAnalysis(RpShopZhenduansibiaoKucunData model)
|
||
{
|
||
MonthProductItemAnalysisResp resp = new MonthProductItemAnalysisResp();
|
||
if (model == null) { return resp; }
|
||
resp.TotalStock = model.ZongKuCun.SafeValue();
|
||
resp.ExpandCustomerSetsStock = model.TuoKeTaoShu.SafeValue();
|
||
resp.FirstOrderSetsStock = model.ShouDanTaoShu.SafeValue();
|
||
resp.OneDimensionSetsStock = model.YiWeiTaoShu.SafeValue();
|
||
resp.TwoDimensionSetsStock = model.ErWeiTaoShu.SafeValue();
|
||
resp.ThreeDimensionSetsStock = model.SanWeiTaoShu.SafeValue();
|
||
resp.FourDimensionSetsStock = model.SiWeiTaoShu.SafeValue();
|
||
resp.StackedSetsStock = model.DieJiaTaoShu.SafeValue();
|
||
resp.OrnamentsStock = model.ShiPinKuCun.SafeValue();
|
||
resp.CosmeticsStock = model.HuaZhuangPinKuCun.SafeValue();
|
||
resp.HomeCareStock = model.JiaHuKuCun.SafeValue();
|
||
resp.OtherStock = model.QiTaHuFuKuCun.SafeValue();
|
||
resp.OneName = model.Top1Name;
|
||
resp.OneQty = model.Top1Qty.SafeValue();
|
||
resp.TwoName = model.Top2Name;
|
||
resp.TwoQty = model.Top2Qty.SafeValue();
|
||
resp.ThreeName = model.Top3Name;
|
||
resp.ThreeQty = model.Top3Qty.SafeValue();
|
||
resp.FourName = model.Top4Name;
|
||
resp.FourQty = model.Top4Qty.SafeValue();
|
||
resp.FiveName = model.Top5Name;
|
||
resp.FiveQty = model.Top5Qty.SafeValue();
|
||
resp.One = resp.OneName + " " + resp.OneQty.ToString();
|
||
resp.Two = resp.TwoName + " " + resp.TwoQty.ToString();
|
||
resp.Three = resp.ThreeName + " " + resp.ThreeQty.ToString();
|
||
resp.Four = resp.FourName + " " + resp.FourQty.ToString();
|
||
resp.Five = resp.FiveName + " " + resp.FiveQty.ToString();
|
||
return resp;
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region GetProductItemAnalysisSummary 产品品项分析列表数据转换
|
||
/// <summary>
|
||
/// 产品品项分析列表数据转换
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
/// <returns></returns>
|
||
public List<ProductItemAnalysisSummaryResp> GetProductItemAnalysisSummary(List<RpShopZhenduansibiaoKucunData> modelList, List<ShopDiagnosisSearchResp> searchList)
|
||
{
|
||
List<ProductItemAnalysisSummaryResp> respList = new List<ProductItemAnalysisSummaryResp>();
|
||
searchList.ForEach(x =>
|
||
{
|
||
var model = modelList.Where(p => p.Id == x.Id).FirstOrDefault();
|
||
ProductItemAnalysisSummaryResp resp = new ProductItemAnalysisSummaryResp();
|
||
resp.Id = x.Id;
|
||
resp.ShopId = x.ShopId;
|
||
resp.DisplayTimeStr = x.DisplayTimeStr;
|
||
resp.UseDays = x.UseDays.SafeValue();
|
||
resp.Code = x.Code;
|
||
resp.ShopName = x.ShopName;
|
||
resp.CustomerName = x.CustomerName;
|
||
resp.ProvinceName = x.ProvinceName;
|
||
resp.CityName = x.CityName;
|
||
resp.ZoneName = x.ZoneName;
|
||
resp.TotalStock = model.ZongKuCun.SafeValue();
|
||
resp.ExpandCustomerSetsStock = model.TuoKeTaoShu.SafeValue();
|
||
resp.FirstOrderSetsStock = model.ShouDanTaoShu.SafeValue();
|
||
resp.OneDimensionSetsStock = model.YiWeiTaoShu.SafeValue();
|
||
resp.TwoDimensionSetsStock = model.ErWeiTaoShu.SafeValue();
|
||
resp.ThreeDimensionSetsStock = model.SanWeiTaoShu.SafeValue();
|
||
resp.FourDimensionSetsStock = model.SiWeiTaoShu.SafeValue();
|
||
resp.StackedSetsStock = model.DieJiaTaoShu.SafeValue();
|
||
resp.OrnamentsStock = model.ShiPinKuCun.SafeValue();
|
||
resp.CosmeticsStock = model.HuaZhuangPinKuCun.SafeValue();
|
||
resp.HomeCareStock = model.JiaHuKuCun.SafeValue();
|
||
resp.OtherStock = model.QiTaHuFuKuCun.SafeValue();
|
||
resp.OneName = model.Top1Name;
|
||
resp.OneQty = model.Top1Qty.SafeValue();
|
||
resp.TwoName = model.Top2Name;
|
||
resp.TwoQty = model.Top2Qty.SafeValue();
|
||
resp.ThreeName = model.Top3Name;
|
||
resp.ThreeQty = model.Top3Qty.SafeValue();
|
||
resp.FourName = model.Top4Name;
|
||
resp.FourQty = model.Top4Qty.SafeValue();
|
||
resp.FiveName = model.Top5Name;
|
||
resp.FiveQty = model.Top5Qty.SafeValue();
|
||
resp.One = string.IsNullOrWhiteSpace(resp.OneName) ? "" : (resp.OneName + ":" + resp.OneQty.ToString());
|
||
resp.Two = string.IsNullOrWhiteSpace(resp.TwoName) ? "" : (resp.TwoName + ":" + resp.TwoQty.ToString());
|
||
resp.Three = string.IsNullOrWhiteSpace(resp.ThreeName) ? "" : (resp.ThreeName + ":" + resp.ThreeQty.ToString());
|
||
resp.Four = string.IsNullOrWhiteSpace(resp.FourName) ? "" : (resp.FourName + ":" + resp.FourQty.ToString());
|
||
resp.Five = string.IsNullOrWhiteSpace(resp.FiveName) ? "" : (resp.FiveName + ":" + resp.FiveQty.ToString());
|
||
respList.Add(resp);
|
||
});
|
||
return respList;
|
||
}
|
||
#endregion
|
||
|
||
#region GetShopDiagnosisReportExport 门店诊断报表导出数据转换
|
||
/// <summary>
|
||
/// 门店诊断报表导出数据转换
|
||
/// </summary>
|
||
/// <param name="shop"></param>
|
||
/// <param name="model"></param>
|
||
/// <param name="model2"></param>
|
||
/// <returns></returns>
|
||
public ShopDiagnosisReportExportResp GetShopDiagnosisReportExport(ShopDiagnosisReportResp shop, RpShopZhenduansibiaoYejiData model, RpShopZhenduansibiaoKucunData model2)
|
||
{
|
||
ShopDiagnosisReportExportResp resp = new ShopDiagnosisReportExportResp();
|
||
resp.Id = shop.Id;
|
||
resp.DisplayTimeStr = shop.DisplayTimeStr;
|
||
resp.DisplayTime = shop.DisplayTime;
|
||
resp.ShopId = shop.ShopId;
|
||
resp.Code = shop.Code;
|
||
resp.ShopName = shop.ShopName;
|
||
resp.CustomerName = shop.CustomerName;
|
||
//单店运营核心指标
|
||
if (model != null)
|
||
{
|
||
resp.TotalCollection = model.ZongShouKuan.SafeValue();
|
||
resp.TotalPerformance = model.ZongYeJi.SafeValue();
|
||
resp.OrnamentsPercent = model.ShiPinBiLi.SafeValue().ToString() + "%";
|
||
resp.CosmeticsPercent = model.HuaZhuangPinBiLi.SafeValue().ToString() + "%";
|
||
resp.SkinCarePercent = model.HuFuPinBiLi.SafeValue().ToString() + "%";
|
||
resp.ServicePerformancePercent = model.FuWuYeJiBiLi.SafeValue().ToString() + "%";
|
||
resp.OtherPerformancePercent = model.QiTaYeJiBiLi.SafeValue().ToString() + "%";
|
||
resp.MonthExpandCustomerQty = model.YueTuoKeTiYan.SafeValue();
|
||
resp.MonthNewCustomerFirstQty = model.YueXinKeShouDan.SafeValue();
|
||
resp.MonthNewCustomerFirstQty2 = model.YueXinKeShouDan2.SafeValue();
|
||
resp.MonthNewCustomerFirstQty3 = model.YueXinKeShouDan3.SafeValue();
|
||
resp.FirstOrderAvg = model.ShouDanKeDan.SafeValue();
|
||
resp.MonthUpgradeRepurchaseQty = model.YueShengDanRenShu.SafeValue();
|
||
resp.MonthUpgradeRepurchaseQty2 = model.YueShengDanRenShu2.SafeValue();
|
||
resp.MonthUpgradeRepurchaseQty3 = model.YueShengDanRenShu3.SafeValue();
|
||
resp.RepurchaseOrderAvg = model.FuGouKeDan.SafeValue();
|
||
resp.Total = model.TaoCanZongRenShu.SafeValue();
|
||
resp.OneSets = model.TaoCan1taoRenShu.SafeValue();
|
||
resp.TwoSets = model.TaoCan2taoRenShu.SafeValue();
|
||
resp.MoreThanTwoSets = model.TaoCan3taoRenShu.SafeValue();
|
||
resp.SetMealTotal = model.TaoCanZongShu.SafeValue();
|
||
resp.NewAddSetMeal = model.TaoCanXinZengShu.SafeValue();
|
||
resp.MoreThanTwiceMonth = model.TaoCanHuoYue1m2.SafeValue();
|
||
resp.OnceMonth = model.TaoCanHuoYue1m1.SafeValue();
|
||
resp.OnceInFebruary = model.TaoCanHuoYue2m1;
|
||
resp.OnceInMarch = model.TaoCanHuoYue3m2;
|
||
resp.Personal = model.HeXiaoRenShu.SafeValue();
|
||
resp.Frequency = model.HeXiaoCiShu.SafeValue();
|
||
}
|
||
//产品品项分析
|
||
if (model2 != null)
|
||
{
|
||
resp.TotalStock = model2.ZongKuCun.SafeValue();
|
||
resp.ExpandCustomerSetsStock = model2.TuoKeTaoShu.SafeValue();
|
||
resp.FirstOrderSetsStock = model2.ShouDanTaoShu.SafeValue();
|
||
resp.OneDimensionSetsStock = model2.YiWeiTaoShu.SafeValue();
|
||
resp.TwoDimensionSetsStock = model2.ErWeiTaoShu.SafeValue();
|
||
resp.ThreeDimensionSetsStock = model2.SanWeiTaoShu.SafeValue();
|
||
resp.FourDimensionSetsStock = model2.SiWeiTaoShu.SafeValue();
|
||
resp.StackedSetsStock = model2.DieJiaTaoShu.SafeValue();
|
||
resp.OrnamentsStock = model2.ShiPinKuCun.SafeValue();
|
||
resp.CosmeticsStock = model2.HuaZhuangPinKuCun.SafeValue();
|
||
resp.HomeCareStock = model2.JiaHuKuCun.SafeValue();
|
||
resp.OtherStock = model2.QiTaHuFuKuCun.SafeValue();
|
||
resp.OneName = model2.Top1Name;
|
||
resp.OneQty = model2.Top1Qty.SafeValue();
|
||
resp.TwoName = model2.Top2Name;
|
||
resp.TwoQty = model2.Top2Qty.SafeValue();
|
||
resp.ThreeName = model2.Top3Name;
|
||
resp.ThreeQty = model2.Top3Qty.SafeValue();
|
||
resp.FourName = model2.Top4Name;
|
||
resp.FourQty = model2.Top4Qty.SafeValue();
|
||
resp.FiveName = model2.Top5Name;
|
||
resp.FiveQty = model2.Top5Qty.SafeValue();
|
||
resp.One = string.IsNullOrWhiteSpace(resp.OneName) ? "" : (resp.OneName + ":" + resp.OneQty.ToString());
|
||
resp.Two = string.IsNullOrWhiteSpace(resp.TwoName) ? "" : (resp.TwoName + ":" + resp.TwoQty.ToString());
|
||
resp.Three = string.IsNullOrWhiteSpace(resp.ThreeName) ? "" : (resp.ThreeName + ":" + resp.ThreeQty.ToString());
|
||
resp.Four = string.IsNullOrWhiteSpace(resp.FourName) ? "" : (resp.FourName + ":" + resp.FourQty.ToString());
|
||
resp.Five = string.IsNullOrWhiteSpace(resp.FiveName) ? "" : (resp.FiveName + ":" + resp.FiveQty.ToString());
|
||
}
|
||
return resp;
|
||
}
|
||
#endregion
|
||
|
||
#region GetPowerShopIds(得到当前账号可以看到的店铺列表)
|
||
/// <summary>
|
||
/// 得到当前账号可以看到的店铺列表,为null是没有权限,而返回[]则为全部权限
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public List<string> GetPowerShopIds(Guid userId)
|
||
{
|
||
return CacheHelper.GetCacheValue<List<string>>($"GetPowerShopIds{userId}",() => {
|
||
|
||
//获取当前用户的店铺id列表
|
||
var bfyReq = new ShopListByLoginIdReq() { Json = userId, LxmZHMDReportKey = SystemConfig.LxmZHMDReportKey };
|
||
|
||
//用户可查看的店铺列表
|
||
var powerIdList = _bfyService.GetShopListByLoginId(bfyReq,1);
|
||
|
||
//没有权限,直接返回空数据
|
||
if (powerIdList == null) { return null; }
|
||
|
||
//店铺权限返回[]则为全部店铺权限
|
||
if (powerIdList.Count == 0) { return new List<string>(); }
|
||
|
||
return powerIdList;
|
||
|
||
},60);
|
||
|
||
}
|
||
#endregion
|
||
}
|
||
}
|