Files
YunTongJackYunTask/Reportapi/MyCode.Project.Services/BLL/RechargeBLL.cs
2025-07-04 09:50:02 +08:00

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
}
}