93 lines
3.0 KiB
C#
93 lines
3.0 KiB
C#
using MyCode.Project.Domain.Message.Response.Lxm;
|
|
using MyCode.Project.Domain.Model;
|
|
using MyCode.Project.Domain.Repositories;
|
|
using MyCode.Project.Infrastructure.Exceptions;
|
|
using MyCode.Project.Repositories.Lxm;
|
|
using System;
|
|
|
|
namespace MyCode.Project.Services.BLL
|
|
{
|
|
public class RechargeBLL
|
|
{
|
|
#region 初始化
|
|
private readonly LxmInfraRepository _lxmInfraRepository;
|
|
private readonly IRepository _repository;
|
|
public RechargeBLL(LxmInfraRepository lxmInfraRepository,
|
|
IRepository repository)
|
|
{
|
|
_lxmInfraRepository = lxmInfraRepository;
|
|
_repository = repository;
|
|
}
|
|
#endregion
|
|
|
|
#region HandleRecharge(处理充值)
|
|
/// <summary>
|
|
/// 处理充值
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
public void HandleRecharge(ChangeRecordResp record)
|
|
{
|
|
var rechargeId = record.SheetId.ToString();
|
|
|
|
if (record.Flag != 100)
|
|
{
|
|
//_repository.DeleteQueue<LxmRecharge>(p => p.Id == rechargeId);
|
|
return;
|
|
}
|
|
|
|
var rechargeModel = new LxmRecharge()
|
|
{
|
|
Id = record.SheetId.ToString(),
|
|
Amount = Math.Abs(record.RechargeAmount),
|
|
CustomerId = record.CustomerId?.ToString(),
|
|
CustomerName = record.CustomerName,
|
|
ShopId = record.ShopId.ToString(),
|
|
CreateTime = record.CreateTime,
|
|
UpdateTime = DateTime.Now,
|
|
EditTime = record.EditTime,
|
|
|
|
|
|
};
|
|
|
|
//add by florent 2023-10-30
|
|
rechargeModel.IsNewMemberOrder = record.IsNewMemberOrder;
|
|
rechargeModel.OrderClerkId = record.ClerkId?.ToString();
|
|
|
|
if (record.MemberId != null)
|
|
{
|
|
rechargeModel.MemberId = record.MemberId.ToString();
|
|
rechargeModel.MemberName = record.MemberName;
|
|
rechargeModel.MemberMobile = record.MemberMobile;
|
|
}
|
|
|
|
if (record.ClerkId != null)
|
|
{
|
|
rechargeModel.OrderClerkId = record.ClerkId.ToString();
|
|
rechargeModel.OrderClerkName = record.ClerkName;
|
|
rechargeModel.OrderClerkMobile = record.ClerkMobile;
|
|
}
|
|
if (record.PlatformSource != null) { rechargeModel.PlatformSource = record.PlatformSource; }
|
|
|
|
var mssqlRecharge = _lxmInfraRepository.GetLxmRecharge(record.SheetId);
|
|
|
|
if (mssqlRecharge == null) { throw new BaseException($"充值id={record.SheetId}在流行美MSSQL数据库BasMemberRecharge表中找不到数据"); }
|
|
|
|
rechargeModel.Sheet = mssqlRecharge.Sheet;
|
|
|
|
if (record.RechargeAmount < 0)
|
|
{
|
|
rechargeModel.Direct = -1;
|
|
}
|
|
else
|
|
{
|
|
rechargeModel.Direct = 1;
|
|
}
|
|
|
|
_repository.AddQueue<LxmRecharge>(rechargeModel);
|
|
|
|
|
|
}
|
|
#endregion
|
|
}
|
|
}
|