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 { /// /// 会员漏斗 相关 /// public class MemberFunnelController : BaseWechatController { private IMemberFunnelService _memberFunnelService; private IBillKeepingService _billKeepingService; public MemberFunnelController(IMemberFunnelService memberFunnelService, IBillKeepingService billKeepingService) { _memberFunnelService = memberFunnelService; _billKeepingService = billKeepingService; } #region GetMemberFunnel(获取会员的数据漏斗) /// /// 获取会员的数据漏斗 /// /// [HttpPost] public MemberFunnelResp GetMemberFunnel(MemberFunnelQuest req) { return _memberFunnelService.GetMemberFunnel(req, this.CurrentLogin); } #endregion #region GetClerkMemberFunnel(店员的会员漏斗数据) /// /// 店员的会员漏斗数据 /// /// /// [HttpPost] public List GetClerkMemberFunnel(MemberFunnelQuest req) { return _memberFunnelService.GetClerkMemberFunnel(req); } #endregion #region GetClerkMemberFunnel2(店员的会员漏斗数据) /// /// 店员的会员漏斗数据 /// /// /// [HttpPost] public List GetClerkMemberFunnel2(MemberFunnelQuest2 req) { return _memberFunnelService.GetClerkMemberFunnel(req); } #endregion #region GetMemberInfo 获取会员列表 /// /// 获取会员列表 /// /// 搜索条件 /// [HttpPost] public PageResult GetMemberInfoForTuoKe(PagedSearch 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 根据条件获取拓客关系的会员信息统计 /// /// 根据条件获取拓客关系的会员信息统计 /// /// 搜索条件 /// [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(获取会员的数据漏斗) /// /// 获取会员的数据漏斗 /// /// [HttpPost] public MemberFunnelResp GetMemberFunnelReport(MemberFunnelQuest req) { return _memberFunnelService.GetMemberFunnel(req, this.CurrentLogin,1); } #endregion } }