2025-04-24 18:31:27 +08:00

209 lines
7.7 KiB
C#

using MyCode.Project.Domain.Message.Act.Report2301;
using MyCode.Project.Domain.Message.Act.SalesSheetPay;
using MyCode.Project.Domain.Message.Common;
using MyCode.Project.Domain.Message.Request.Act;
using MyCode.Project.Domain.Message.Request.Member;
using MyCode.Project.Domain.Message.Response.MemberRecharge;
using MyCode.Project.Domain.Message.Response.User;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.Constant;
using MyCode.Project.Services;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
namespace MyCode.Project.WebApi.Areas.Wechat.Controllers
{
/// <summary>
/// 会员API信息相关
/// </summary>
public class MemberInfoForLxmController : BaseWechatController
{
private IReturnVisitLogService _returnVisitLogService;
private IMemberHomePageService _memberHomePageService;
private IMemberTagNewService _memberTagService;
private IMemberService _memberService;
private IPreSalesSheetService _preSalesSheetService;
private IMemberRechargeService _memberRechargeService;
public MemberInfoForLxmController(IReturnVisitLogService returnVisitLogService, IMemberHomePageService memberHomePageService
, IMemberTagNewService memberTagNewService
, IMemberService memberService
, IPreSalesSheetService preSalesSheetService
, IMemberRechargeService memberRechargeService)
{
_returnVisitLogService = returnVisitLogService;
_memberHomePageService = memberHomePageService;
_memberTagService = memberTagNewService;
_memberService = memberService;
_memberRechargeService = memberRechargeService;
_preSalesSheetService = preSalesSheetService;
}
#region GetXiaoFeiFenXi()
/// <summary>
/// 消费分析
/// </summary>
/// <param name="request">查询条件</param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public XiaoFeiFenXi GetXiaoFeiFenXi(BfyApiKeyAct request)
{
if (request.LxmZHMDReportKey.ToLower() == Const.LxmSysTemReportKey.ToLower())
{
return _memberHomePageService.GetXiaoFeiFenXi(Guid.Parse(request.Json));
}
else
return null;
}
#endregion
#region GetMemberAccountBookLog()
/// <summary>
/// 获取会员余额变动明细
/// </summary>
/// <param name="request">查询条件</param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public PageResult<RMemberAccountBookLogResp> GetMemberAccountBookLog(BfyApiKeyAct request)
{
if (request.LxmZHMDReportKey.ToLower() == Const.LxmSysTemReportKey.ToLower())
{
PagedSearch<Guid> search = new PagedSearch<Guid>();
search = JsonHelper.ToObject<PagedSearch<Guid>>(request.Json);
return _memberHomePageService.GetMemberAccountBookLog(search);
}
else
return null;
}
#endregion
#region GetMemberShowTagList(())
/// <summary>
/// 获取会员详情显示的标签数组(包含公共标签和自定义标签)
/// </summary>
/// <param name="request">查询条件</param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public List<string> GetMemberShowTagList(BfyApiKeyAct request)
{
if (request.LxmZHMDReportKey.ToLower() == Const.LxmSysTemReportKey.ToLower())
{
MemberAccountBookLogRequst search = JsonHelper.ToObject<MemberAccountBookLogRequst>(request.Json);
Guid memberId = search.MemberId.Value;
Guid shopId = search.ShopId.Value;
List<string> list = new List<string>();
var result = _memberTagService.GetMemberALLTags(memberId, 1);
list = result[0].MemberTags.Select(t => t.Name).ToList();
var list2 = _memberTagService.GetPrivateTagList(memberId, shopId);
if (list2.Count > 0)
{
if (list == null)
list = new List<string>();
list.AddRange(list2);
}
return list;
}
else
return null;
}
#endregion
#region AddMemberConsultant()
/// <summary>
/// 新增会员营销顾问关系
/// </summary>
/// <param name="request">查询条件</param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public void AddMemberConsultant(BfyApiKeyAct request)
{
if (request.LxmZHMDReportKey.ToLower() == Const.LxmSysTemReportKey.ToLower())
{
AddMemberConsultantAct search = JsonHelper.ToObject<AddMemberConsultantAct>(request.Json);
Guid memberId = search.MemberId.Value;
Guid shopId = search.ShopId.Value;
LoginInfo loginInfo = new LoginInfo();
loginInfo.CustomerId = search.CustomerId;
loginInfo.Name = search.Name;
loginInfo.ClerkId = search.ClerkId;
_memberService.AddMemberConsultant(memberId, shopId, loginInfo);
}
}
#endregion
#region GetOldMemberAccountBookLog()
/// <summary>
/// 获取会员余额初始化流水的明细
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public List<RMemberAccountBookLogResp> GetOldMemberAccountBookLog(BfyApiKeyAct request)
{
if (request.LxmZHMDReportKey.ToLower() == Const.LxmSysTemReportKey.ToLower())
{
Guid bookId = Guid.Parse(request.Json);
return _memberHomePageService.GetOldMemberAccountBookLog(bookId);
}
else
return null;
}
#endregion
#region ReturnPreSheet(退)
/// <summary>
/// 预售单整单退款
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public Guid? ReturnPreSheet(BfyApiKeyAct request)
{
if (request.LxmZHMDReportKey.ToLower() == Const.LxmSysTemReportKey.ToLower())
{
var act = JsonHelper.ToObject<ReturnPreSheetAct>(request.Json);
LoginInfo loginInfo = new LoginInfo();
var id = _preSalesSheetService.ReturnPreSheet(act, loginInfo, 0);
return id;
}
else
{
return null;
}
}
#endregion
#region ReturnRecharge(退)
/// <summary>
/// 充值退款
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public void ReturnRecharge(BfyApiKeyAct request)
{
if (request.LxmZHMDReportKey.ToLower() == Const.LxmSysTemReportKey.ToLower())
{
Guid bookId = Guid.Parse(request.Json);
LoginInfo loginInfo = new LoginInfo();
_memberRechargeService.ReturnRecharge(bookId, loginInfo,0);
}
}
#endregion
}
}