141 lines
4.9 KiB
C#
141 lines
4.9 KiB
C#
using Newtonsoft.Json.Linq;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Web.Http;
|
|
using MyCode.Project.Domain.Message.Response.User;
|
|
using MyCode.Project.Infrastructure.Constant;
|
|
using MyCode.Project.WebApi.Controllers;
|
|
using MyCode.Project.Domain.Config;
|
|
using MyCode.Project.Services;
|
|
using MyCode.Project.Infrastructure.Common;
|
|
using MyCode.Project.Domain.Message.Request.User;
|
|
using MyCode.Project.Infrastructure.Enumeration;
|
|
using MyCode.Project.Domain.Message.Act.User;
|
|
using MyCode.Project.Domain.Message.Response.Goods;
|
|
using MyCode.Project.Domain.Model;
|
|
using MyCode.Project.Infrastructure.Extensions;
|
|
using MyCode.Project.Domain.Message.Response.Common;
|
|
using MyCode.Project.Domain.Message.Response.MaterialWarehouse;
|
|
using MyCode.Project.Domain.Message.Request.MaterialWarehouse;
|
|
using MyCode.Project.Domain.Message.Common;
|
|
using MyCode.Project.Infrastructure.Cache;
|
|
using MyCode.Project.Domain.Message.Response.MemberFunnel;
|
|
using MyCode.Project.Domain.Message.Request.MemberFunnel;
|
|
using MyCode.Project.Services.Implementation;
|
|
using MyCode.Project.Infrastructure.Exceptions;
|
|
|
|
namespace MyCode.Project.WebApi.Areas.Wechat.Controllers
|
|
{
|
|
/// <summary>
|
|
/// 会员漏斗 相关
|
|
/// </summary>
|
|
public class MemberFunnelController : BaseWechatController
|
|
{
|
|
private IMemberFunnelService _memberFunnelService;
|
|
private IBillKeepingService _billKeepingService;
|
|
|
|
public MemberFunnelController(IMemberFunnelService memberFunnelService, IBillKeepingService billKeepingService)
|
|
{
|
|
_memberFunnelService = memberFunnelService;
|
|
_billKeepingService = billKeepingService;
|
|
}
|
|
|
|
#region GetMemberFunnel(获取会员的数据漏斗)
|
|
/// <summary>
|
|
/// 获取会员的数据漏斗
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
|
|
public MemberFunnelResp GetMemberFunnel(MemberFunnelQuest req)
|
|
{
|
|
return _memberFunnelService.GetMemberFunnel(req, this.CurrentLogin);
|
|
}
|
|
#endregion
|
|
|
|
#region GetClerkMemberFunnel(店员的会员漏斗数据)
|
|
/// <summary>
|
|
/// 店员的会员漏斗数据
|
|
/// </summary>
|
|
/// <param name="req"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public List<ClerkMemberFunnel> GetClerkMemberFunnel(MemberFunnelQuest req)
|
|
{
|
|
return _memberFunnelService.GetClerkMemberFunnel(req);
|
|
}
|
|
#endregion
|
|
|
|
#region GetClerkMemberFunnel2(店员的会员漏斗数据)
|
|
/// <summary>
|
|
/// 店员的会员漏斗数据
|
|
/// </summary>
|
|
/// <param name="req"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public List<ClerkMemberFunnel> GetClerkMemberFunnel2(MemberFunnelQuest2 req)
|
|
{
|
|
return _memberFunnelService.GetClerkMemberFunnel(req);
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region GetMemberInfo 获取会员列表
|
|
/// <summary>
|
|
/// 获取会员列表
|
|
/// </summary>
|
|
/// <param name="request">搜索条件</param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public PageResult<MemberCusResp> GetMemberInfoForTuoKe(PagedSearch<TuoKeMemberRequst> request)
|
|
{
|
|
if (!request.Condition.ShopID.HasValue)
|
|
{
|
|
throw new BaseException("请选择一个门店");
|
|
}
|
|
var shopIds = _billKeepingService.GetShopAssetRules(this.CurrentLogin.CustomerId, request.Condition.ShopID.SafeValue());
|
|
return _memberFunnelService.GetMemberInfoForTuoKe(request, this.CurrentLogin, shopIds);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region GetMemberStatisticsForTuoKe 根据条件获取拓客关系的会员信息统计
|
|
/// <summary>
|
|
/// 根据条件获取拓客关系的会员信息统计
|
|
/// </summary>
|
|
/// <param name="request">搜索条件</param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public MemberStatistics GetMemberStatisticsForTuoKe(TuoKeMemberRequst request)
|
|
{
|
|
if (!request.ShopID.HasValue)
|
|
{
|
|
throw new BaseException("请选择一个门店");
|
|
}
|
|
var shopIds = _billKeepingService.GetShopAssetRules(this.CurrentLogin.CustomerId, request.ShopID.SafeValue());
|
|
|
|
return _memberFunnelService.GetMemberStatisticsForTuoKe(request, this.CurrentLogin, shopIds);
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
#region GetMemberFunnel(获取会员的数据漏斗)
|
|
/// <summary>
|
|
/// 获取会员的数据漏斗
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
|
|
public MemberFunnelResp GetMemberFunnelReport(MemberFunnelQuest req)
|
|
{
|
|
return _memberFunnelService.GetMemberFunnel(req, this.CurrentLogin,1);
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
}
|