wxd 5 months ago
parent
commit
e3f3ce7cda
  1. 9
      src/Shentun.Peis.Application/ChargePays/ChargePayAppService.cs
  2. 47
      src/Shentun.Peis.Application/RegisterCheckAsbitems/RegisterCheckAsbitemAppService.cs
  3. 2
      src/Shentun.Peis.Domain/CardBills/CardBillManager.cs
  4. 6
      src/Shentun.Peis.Domain/ChargeBackPays/ChargeBackPay.cs
  5. 11
      src/Shentun.Peis.Domain/ChargeBacks/ChargeBack.cs

9
src/Shentun.Peis.Application/ChargePays/ChargePayAppService.cs

@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Shentun.Peis.ChargeAsbitems; using Shentun.Peis.ChargeAsbitems;
using Shentun.Peis.Models; using Shentun.Peis.Models;
using System; using System;
@ -48,7 +49,7 @@ namespace Shentun.Peis.ChargePays
Guid? guidNull = null; Guid? guidNull = null;
var chargePayList = from chargePay in await _chargePayRepository.GetQueryableAsync() var chargePayList = from chargePay in await _chargePayRepository.GetQueryableAsync()
join cardBill in (await _cardBillRepository.GetQueryableAsync()) on chargePay.CardBillId equals cardBill.Id into cardBillTemp
join cardBill in await _cardBillRepository.GetQueryableAsync() on chargePay.CardBillId equals cardBill.Id into cardBillTemp
from cardBillEmpty in cardBillTemp.DefaultIfEmpty() from cardBillEmpty in cardBillTemp.DefaultIfEmpty()
join cardRegister in await _cardRegisterRepository.GetQueryableAsync() on cardBillEmpty.CardRegisterId equals cardRegister.Id into cardRegisterTemp join cardRegister in await _cardRegisterRepository.GetQueryableAsync() on cardBillEmpty.CardRegisterId equals cardRegister.Id into cardRegisterTemp
from cardRegisterEmpty in cardRegisterTemp.DefaultIfEmpty() from cardRegisterEmpty in cardRegisterTemp.DefaultIfEmpty()
@ -59,10 +60,12 @@ namespace Shentun.Peis.ChargePays
CardBillId = chargePay.CardBillId, CardBillId = chargePay.CardBillId,
ChargeMoney = chargePay.ChargeMoney, ChargeMoney = chargePay.ChargeMoney,
PayModeId = chargePay.PayModeId, PayModeId = chargePay.PayModeId,
CardRegisterId = cardBillEmpty.CardRegisterId,
CardRegisterId = cardBillEmpty != null ? cardBillEmpty.CardRegisterId : guidNull,
cardNo = cardRegisterEmpty.CardNo cardNo = cardRegisterEmpty.CardNo
}; };
var entlistdto = chargePayList.Select(s => new ChargePayDto var entlistdto = chargePayList.Select(s => new ChargePayDto
{ {
ChargeId = s.ChargeId, ChargeId = s.ChargeId,
@ -71,7 +74,7 @@ namespace Shentun.Peis.ChargePays
PayModeId = s.PayModeId, PayModeId = s.PayModeId,
CardRegisterId = s.CardRegisterId, CardRegisterId = s.CardRegisterId,
CardNo = s.cardNo CardNo = s.cardNo
}).ToList();
}).OrderBy(o => o.PayModeId).ToList();
return entlistdto; return entlistdto;
} }

47
src/Shentun.Peis.Application/RegisterCheckAsbitems/RegisterCheckAsbitemAppService.cs

@ -745,13 +745,14 @@ namespace Shentun.Peis.RegisterAsbitems
List<RegisterCheckAsbitem> registerAsbitems = await _registerCheckAsbitemRepository.GetListAsync(m => chargeAsbitemList.Select(s => s.RegisterAsbitemId).Contains(m.Id)); List<RegisterCheckAsbitem> registerAsbitems = await _registerCheckAsbitemRepository.GetListAsync(m => chargeAsbitemList.Select(s => s.RegisterAsbitemId).Contains(m.Id));
registerAsbitems.ForEach(f => f.IsCharge = 'N'); registerAsbitems.ForEach(f => f.IsCharge = 'N');
#region 插入主表Charge #region 插入主表Charge
Guid chargeBackId = GuidGenerator.Create();
ChargeBack chargeBack = new ChargeBack
ChargeBack chargeBack = new ChargeBack(chargeBackId)
{ {
ChargeId = input.ChargeId ChargeId = input.ChargeId
}; };
var chargeBack_new = await _chargeBackRepository.InsertAsync(chargeBack); //退费主表
await _chargeBackRepository.InsertAsync(chargeBack); //退费主表
#region 退费方式 #region 退费方式
@ -761,8 +762,9 @@ namespace Shentun.Peis.RegisterAsbitems
{ {
if (item.PayModeId == "05") if (item.PayModeId == "05")
{ {
Guid cardBillId = GuidGenerator.Create();
//会员卡 //会员卡
CardBill cardBill = new CardBill(GuidGenerator.Create())
CardBill cardBill = new CardBill(cardBillId)
{ {
PayModeId = item.PayModeId, PayModeId = item.PayModeId,
BillFlag = CardBillFlag.Refund, BillFlag = CardBillFlag.Refund,
@ -770,27 +772,26 @@ namespace Shentun.Peis.RegisterAsbitems
CardRegisterId = item.CardRegisterId.Value CardRegisterId = item.CardRegisterId.Value
}; };
cardBill = _cardBillManager.CreateAsync(cardBill); cardBill = _cardBillManager.CreateAsync(cardBill);
var cardBill_new = await _cardBillRepository.InsertAsync(cardBill);
if (cardBill_new != null)
await _cardBillRepository.InsertAsync(cardBill);
#region 回退会员卡余额
var cardRegisterEnt = await _cardRegisterRepository.FirstOrDefaultAsync(f => f.Id == item.CardRegisterId.Value);
if (cardRegisterEnt != null)
{ {
#region 回退会员卡余额
var cardRegisterEnt = await _cardRegisterRepository.FirstOrDefaultAsync(f => f.Id == item.CardRegisterId.Value);
if (cardRegisterEnt != null)
{
cardRegisterEnt.CardBalance += item.BackMoeny;
await _cardRegisterRepository.UpdateAsync(cardRegisterEnt);
}
#endregion
chargeBackPays.Add(new ChargeBackPay
{
BackMoeny = item.BackMoeny,
PayModeId = item.PayModeId,
ChargeBackId = chargeBack_new.Id,
CardBillId = cardBill_new.Id
});
cardRegisterEnt.CardBalance += item.BackMoeny;
await _cardRegisterRepository.UpdateAsync(cardRegisterEnt);
} }
#endregion
chargeBackPays.Add(new ChargeBackPay
{
BackMoeny = item.BackMoeny,
PayModeId = item.PayModeId,
ChargeBackId = chargeBackId,
CardBillId = cardBillId
});
} }
else else
{ {
@ -798,7 +799,7 @@ namespace Shentun.Peis.RegisterAsbitems
{ {
BackMoeny = item.BackMoeny, BackMoeny = item.BackMoeny,
PayModeId = item.PayModeId, PayModeId = item.PayModeId,
ChargeBackId = chargeBack_new.Id
ChargeBackId = chargeBackId
}); });
} }

2
src/Shentun.Peis.Domain/CardBills/CardBillManager.cs

@ -38,7 +38,7 @@ namespace Shentun.Peis.CardBills
DataHelper.CheckStringIsNull(entity.PayModeId, "支付方式"); DataHelper.CheckStringIsNull(entity.PayModeId, "支付方式");
DataHelper.CheckDecimalIsGeaterThanZero(entity.BillMoney, "记账金额"); DataHelper.CheckDecimalIsGeaterThanZero(entity.BillMoney, "记账金额");
return new CardBill(GuidGenerator.Create())
return new CardBill(entity.Id)
{ {
BillFlag = entity.BillFlag, BillFlag = entity.BillFlag,
BillMoney = entity.BillMoney, BillMoney = entity.BillMoney,

6
src/Shentun.Peis.Domain/ChargeBackPays/ChargeBackPay.cs

@ -11,8 +11,8 @@ namespace Shentun.Peis.Models
/// 退费支付方式 /// 退费支付方式
/// </summary> /// </summary>
[Table("charge_back_pay")] [Table("charge_back_pay")]
[Index(nameof(ChargeBackId), nameof(PayModeId), Name = "IX_charge_back_pay_pay_mode_id")]
public class ChargeBackPay : Entity<Guid>, IHasConcurrencyStamp
[Index(nameof(ChargeBackId), nameof(PayModeId), Name = "IX_charge_back_pay_pay_mode_id", IsUnique = true)]
public class ChargeBackPay : Entity<Guid>, IHasConcurrencyStamp
{ {
[Column("charge_back_id")] [Column("charge_back_id")]
@ -53,6 +53,6 @@ namespace Shentun.Peis.Models
[InverseProperty("ChargeBackPays")] [InverseProperty("ChargeBackPays")]
public virtual PayMode PayMode { get; set; } = null!; public virtual PayMode PayMode { get; set; } = null!;
} }
} }

11
src/Shentun.Peis.Domain/ChargeBacks/ChargeBack.cs

@ -14,13 +14,20 @@ namespace Shentun.Peis.Models
[Table("charge_back")] [Table("charge_back")]
public class ChargeBack : AuditedEntity<Guid>, IHasConcurrencyStamp public class ChargeBack : AuditedEntity<Guid>, IHasConcurrencyStamp
{ {
public ChargeBack(Guid id) : base(id)
{
ChargeBackPays = new HashSet<ChargeBackPay>();
ChargeBackAsbitems = new HashSet<ChargeBackAsbitem>();
}
public ChargeBack() public ChargeBack()
{ {
ChargeBackPays = new HashSet<ChargeBackPay>(); ChargeBackPays = new HashSet<ChargeBackPay>();
ChargeBackAsbitems=new HashSet<ChargeBackAsbitem>();
ChargeBackAsbitems = new HashSet<ChargeBackAsbitem>();
} }
/// <summary> /// <summary>
/// 收据号 /// 收据号
/// </summary> /// </summary>

Loading…
Cancel
Save