From 10496309bfe3a0d65ed012c5598732f5bfac2efd Mon Sep 17 00:00:00 2001
From: lingling <kety1122@163.com>
Date: 星期三, 16 四月 2025 17:44:09 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/LifePaymentApi
---
LifePayment/LifePayment.Application/LifePay/LifePayService.cs | 141 ++++++++++++++++++++--------------------------
1 files changed, 62 insertions(+), 79 deletions(-)
diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
index d4016e9..7155429 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -1,4 +1,5 @@
-锘縰sing LifePayment.Application.Contracts;
+锘縰sing Alipay.EasySDK.Payment.Common.Models;
+using LifePayment.Application.Contracts;
using LifePayment.Domain;
using LifePayment.Domain.LifePay;
using LifePayment.Domain.Models;
@@ -19,18 +20,7 @@
using Volo.Abp.EventBus.Distributed;
using Z.EntityFramework.Plus;
using ZeroD.Util;
-using Alipay.EasySDK.Payment.Common.Models;
using static LifePayment.Domain.Shared.LifePaymentConstant;
-using ZeroD.Util.Fadd;
-using Nest;
-using Volo.Abp.Domain.Entities;
-using Volo.Abp.ObjectMapping;
-using NPOI.SS.Formula.Functions;
-using StackExchange.Redis;
-using static Volo.Abp.Identity.Settings.IdentitySettingNames;
-using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
-using LifePayment.Application.LifePay;
-using Alipay.AopSdk.Core.Domain;
namespace LifePayment.Application;
@@ -160,7 +150,7 @@
/// <returns></returns>
public async Task<List<LifePayRateListOutput>> GetRate()
{
- return await _lifePayRateRepository.Where(x => x.IsDeleted == false).Select(x => new LifePayRateListOutput() { Id = x.Id, Rate = x.Rate, RateType = x.RateType })
+ return await _lifePayRateRepository.Select(x => new LifePayRateListOutput() { Id = x.Id, Rate = x.Rate, RateType = x.RateType })
.ToListAsync();
}
@@ -170,7 +160,7 @@
/// <returns></returns>
public async Task<ChannelRateOutput> GetChannelRate(ChannelsBaseInput input)
{
- return _lifePayChannlesRep.Where(x => x.IsDeleted == false && x.ChannlesNum == input.CheckChannelId).Select(x => new ChannelRateOutput() { ChannlesRate = x.ChannlesRate })
+ return _lifePayChannlesRep.Where(x => x.ChannlesNum == input.CheckChannelId).Select(x => new ChannelRateOutput() { ChannlesRate = x.ChannlesRate })
.FirstOrDefault();
}
@@ -180,7 +170,7 @@
/// <returns></returns>
public async Task<List<LifePayPremiumListOutput>> GetPremium()
{
- return await _lifePayPremiumRepository.Where(x => x.IsDeleted == false).Select(x => new LifePayPremiumListOutput() { Id = x.Id, Rate = x.Rate, PremiumType = x.PremiumType })
+ return await _lifePayPremiumRepository.Select(x => new LifePayPremiumListOutput() { Id = x.Id, Rate = x.Rate, PremiumType = x.PremiumType })
.ToListAsync();
}
@@ -190,7 +180,7 @@
/// <returns></returns>
public async Task<List<LifePayIntroInfoOutput>> GetIntroInfo(LifePayOrderTypeEnum lifePayType)
{
- return await _lifePayIntroInfoRepository.Where(x => x.IsDeleted == false && x.LifePayType == lifePayType).OrderBy(x => x.Sequence)
+ return await _lifePayIntroInfoRepository.Where(x => x.LifePayType == lifePayType).OrderBy(x => x.Sequence)
.Select(x => new LifePayIntroInfoOutput() { Type = x.Type, ContentSummary = x.ContentSummary, Content = x.Content, LifePayType = x.LifePayType, Path = x.Path, Sequence = x.Sequence })
.ToListAsync();
}
@@ -202,7 +192,7 @@
/// <returns></returns>
public async Task<PageOutput<UserListOutput>> GetUserPage(QueryUserPageInput input)
{
- return await _channelFilter.GetChannelLifePayUserFilter(_lifePayUserRepository).Where(x => x.IsDeleted == false)
+ return await _channelFilter.GetChannelLifePayUserFilter(_lifePayUserRepository)
.WhereIf(!string.IsNullOrEmpty(input.QueryCondition), x => x.PhoneNumber.Contains(input.QueryCondition) || x.Name.Contains(input.QueryCondition))
.WhereIf(input.CreationTimeBegin.HasValue, x => x.CreationTime >= input.CreationTimeBegin)
.WhereIf(input.CreationTimeEnd.HasValue, x => x.CreationTime <= input.CreationTimeEnd)
@@ -280,16 +270,16 @@
DiscountAmount = a.DiscountAmount ?? 0,
FinishTime = a.FinishTime,
Id = a.Id,
- LifePayOrderStatus = a.LifePayOrderStatus?? 0,
+ LifePayOrderStatus = a.LifePayOrderStatus ?? 0,
LifePayOrderType = a.LifePayOrderType,
LifePayType = a.LifePayType,
OrderNo = a.OrderNo,
PayAmount = a.PayAmount ?? 0,
PhoneNumber = a.PhoneNumber,
- RechargeAmount = a.RechargeAmount??0,
+ RechargeAmount = a.RechargeAmount ?? 0,
UserId = a.UserId,
OutOrderNo = a.OutOrderNo,
- PayStatus = a.PayStatus?? 0,
+ PayStatus = a.PayStatus ?? 0,
PayTime = a.PayTime,
ACOOLYOrderNo = a.ACOOLYOrderNo,
RefundCredentialsImgUrl = a.RefundCredentialsImgUrl.GetOssPath(),
@@ -300,6 +290,7 @@
RefundTime = a.RefundTime,
ChannelName = b.ChannlesName,
ActualRechargeAmount = a.RechargeAmount,
+ ActualReceivedAmount = a.ActualReceivedAmount,
PlatformDeductionAmount = a.PlatformDeductionAmount,
ACOOLYStatus = a.ACOOLYStatus,
LifePayRefundStatus = a.LifePayRefundStatus,
@@ -328,7 +319,7 @@
.WhereIf(input.ACOOLYStatus.HasValue, x => x.ACOOLYStatus == input.ACOOLYStatus.Value)
.WhereIf(input.LifePayOrderType.HasValue, x => x.LifePayOrderType == input.LifePayOrderType.Value)
.WhereIf(input.UserId.HasValue, x => x.UserId == input.UserId.Value)
- .WhereIf(input.KeyWords.IsNotNullOrEmpty(), x => x.PhoneNumber.Contains(input.KeyWords) || x.OrderNo.Contains(input.KeyWords) || x.OutOrderNo.Contains(input.KeyWords) || x.ACOOLYOrderNo.Contains(input.KeyWords))
+ .WhereIf(input.KeyWords.IsNotNullOrEmpty(), x => x.PhoneNumber.Contains(input.KeyWords) || x.RefundOrderNo.Contains(input.KeyWords) || x.OutOrderNo.Contains(input.KeyWords) || x.ACOOLYOrderNo.Contains(input.KeyWords) || x.OrderNo.Contains(input.KeyWords))
join b in _lifePayChannlesRep on a.ChannelId equals b.ChannlesNum into temp
from b in temp.DefaultIfEmpty()
select new LifePayOrderListOutput
@@ -388,8 +379,9 @@
ACOOLYStatus = x.ACOOLYStatus,
RefundApplyRemark = x.RefundApplyRemark,
RechargeAmount = x.RechargeAmount,
- ActualReceivedAmount = x.ActualReceivedAmount.ToString("F2"),
+ ActualReceivedAmount = (x.ActualReceivedAmount ?? 0).ToString("F2"),
LifePayRefundStatus = x.LifePayRefundStatus,
+ OrderNo = x.OrderNo,
}).OrderByDescending(r => r.CreationTime).ToListAsync();
var i = 0;
@@ -467,7 +459,7 @@
var order = await _lifePayOrderRepository.Where(x => x.OrderNo == orderNo).FirstOrDefaultAsync();
var platformRate = await _lifePayRateRepository.FirstOrDefaultAsync(r => r.RateType == LifePayRateTypeEnum.渚涘簲鍟嗘姌鎵d环);
var channle = await _lifePayChannlesRep.FirstOrDefaultAsync(r => r.ChannlesNum == order.ChannelId);
- var premium = await _lifePayPremiumRepository.Where(x => x.IsDeleted == false && x.PremiumType == order.LifePayType).FirstOrDefaultAsync();
+ var premium = await _lifePayPremiumRepository.Where(x => x.PremiumType == order.LifePayType).FirstOrDefaultAsync();
CheckExtensions.IfTrueThrowUserFriendlyException(order == null, "璁㈠崟涓嶅瓨鍦�");
var user = await _lifePayUserRepository.FirstOrDefaultAsync(x => x.Id == order.UserId);
@@ -566,7 +558,7 @@
DiscountAmount = x.DiscountAmount ?? 0,
FinishTime = x.FinishTime,
Id = x.Id,
- LifePayOrderStatus = x.LifePayOrderStatus?? 0 ,
+ LifePayOrderStatus = x.LifePayOrderStatus ?? 0,
LifePayOrderType = x.LifePayOrderType,
LifePayType = x.LifePayType,
OrderNo = x.OrderNo,
@@ -607,9 +599,9 @@
return await GetLifePayChannlesListFilter().GetPageResult(input.PageModel);
}
- public async Task<List<CreateEditPayChannelsInput>> GetLifePayChannlesAllList()
+ public async Task<List<CreateEditPayChannelsInput>> GetLifePayChannlesAllList(QueryLifePayChannlesInput input)
{
- return await GetLifePayChannlesListFilter().Where(x => x.Status == LifePayChannelsStatsEnum.鍚敤).ToListAsync();
+ return await GetLifePayChannlesListFilter().WhereIf(input.Status.HasValue, x => x.Status == input.Status).ToListAsync();
}
public async Task<CreateEditPayChannelsInput> GetLifePayChannlesDto(Guid id)
@@ -669,7 +661,7 @@
return new PageOutput<UserAccountOutput>();
}
- var result = await _lifePayAccount.Where(x => x.UserId == input.UserId && x.IsDeleted == false)
+ var result = await _lifePayAccount.Where(x => x.UserId == input.UserId)
.WhereIf(input.LifePayOrderType.HasValue, x => x.LifePayType == input.LifePayOrderType)
.OrderByDescending(x => x.CreationTime)
.Select(x =>
@@ -696,7 +688,7 @@
return new List<UserAccountOutput>();
}
- var result = await _lifePayAccount.Where(x => x.UserId == input.UserId && x.IsDeleted == false)
+ var result = await _lifePayAccount.Where(x => x.UserId == input.UserId)
.WhereIf(input.LifePayOrderType.HasValue, x => x.LifePayType == input.LifePayOrderType)
.OrderByDescending(x => x.CreationTime)
.Select(x =>
@@ -907,7 +899,7 @@
return await _wxPayApi.WxPayTradeQuery(outTradeNo);
}
-
+
#endregion
@@ -929,14 +921,11 @@
var channle = await GetLifePayChannlesDtoByNum(input.ChannelId);
CheckExtensions.IfTrueThrowUserFriendlyException(channle == null, "娓犻亾涓嶅瓨鍦�");
- var repeatOrder = await _lifePayOrderRepository.Where(x => x.LifePayOrderType == LifePayOrderTypeEnum.PhoneOrder
+ var repeatOrder = await _lifePayOrderRepository.Where(x => x.LifePayOrderType == LifePayOrderTypeEnum.PhoneOrder
&& x.PayStatus == LifePayStatusEnum.宸叉敮浠�
&& x.LifePayOrderStatus == LifePayOrderStatusEnum.鍏呭�间腑
- && x.OrderParamDetailJsonStr.Contains(input.ProductData.Phone)).ToListAsync();
- CheckExtensions.IfTrueThrowUserFriendlyException(repeatOrder.Count() > 0, "鎮ㄦ湁鍚屾埛鍙疯鍗曟鍦ㄥ厖鍊间腑锛岃鍕块噸澶嶅厖鍊�");
-
- //var rate = await GetRate();
- //CheckExtensions.IfTrueThrowUserFriendlyException(rate.IsNullOrEmpty(), "鏈厤缃姌鎵�");
+ && x.OrderParamDetailJsonStr.Contains(input.ProductData.Phone)).AnyAsync();
+ CheckExtensions.IfTrueThrowUserFriendlyException(repeatOrder, "鎮ㄦ湁鍚屾埛鍙疯鍗曟鍦ㄥ厖鍊间腑锛岃鍕块噸澶嶅厖鍊�");
var rate = await GetLifePayRate(channle, LifePayRateTypeEnum.榛樿璇濊垂鎶樻墸);
@@ -963,7 +952,6 @@
PlatformDeductionAmount = amount.RechargeAmount * platformRate.Rate / 100,
ChannleRate = rate,
ChannlesRakeRate = channle.ChannlesRakeRate,
- //ChannlesRakePrice = amount.RechargeAmount * (channle.ChannlesRate - platformRate.Rate) / 100 * channle.ChannlesRakeRate / 100
};
await CreateLifePayOrder(orderInput);
@@ -989,12 +977,10 @@
CheckExtensions.IfTrueThrowUserFriendlyException(channle == null, "娓犻亾涓嶅瓨鍦�");
CheckExtensions.IfTrueThrowUserFriendlyException(channle.Status == LifePayChannelsStatsEnum.绂佺敤, "娓犻亾宸茶绂佺敤");
- //var rate = await GetRate();
- //CheckExtensions.IfTrueThrowUserFriendlyException(rate.IsNullOrEmpty(), "鏈厤缃姌鎵�");
var repeatOrder = await _lifePayOrderRepository.Where(x => x.LifePayOrderType == LifePayOrderTypeEnum.ElectricOrder && x.PayStatus == LifePayStatusEnum.宸叉敮浠�
&& x.LifePayOrderStatus == LifePayOrderStatusEnum.鍏呭�间腑 && x.OrderParamDetailJsonStr.Contains(input.ProductData.ElectricType)
- && x.OrderParamDetailJsonStr.Contains(input.ProductData.ElectricAccount)).ToListAsync();
- CheckExtensions.IfTrueThrowUserFriendlyException(repeatOrder.Count() > 0, "鎮ㄦ湁鍚屾埛鍙疯鍗曟鍦ㄥ厖鍊间腑锛岃鍕块噸澶嶅厖鍊�");
+ && x.OrderParamDetailJsonStr.Contains(input.ProductData.ElectricAccount)).AnyAsync();
+ CheckExtensions.IfTrueThrowUserFriendlyException(repeatOrder, "鎮ㄦ湁鍚屾埛鍙疯鍗曟鍦ㄥ厖鍊间腑锛岃鍕块噸澶嶅厖鍊�");
var rate = await GetLifePayRate(channle, LifePayRateTypeEnum.榛樿鐢佃垂鎶樻墸);
@@ -1006,7 +992,6 @@
OrderNo = channle.ChannlesNum + CreateOrderNo(),
LifePayOrderStatus = LifePayOrderStatusEnum.鍏呭�间腑,
LifePayOrderType = LifePayOrderTypeEnum.ElectricOrder,
- // LifePayType = input.LifePayType,
OrderParamDetailJsonStr = JsonConvert.SerializeObject(input.ProductData),
UserId = user.Id,
PayStatus = LifePayStatusEnum.鏈敮浠�,
@@ -1016,6 +1001,7 @@
RechargeAmount = amount.RechargeAmount,
ChannelId = channle.ChannlesNum,
PlatformRate = platformRate.Rate,
+ PlatformDeductionAmount = amount.RechargeAmount * platformRate.Rate / 100,
ChannleRate = rate,
ChannlesRakeRate = channle.ChannlesRakeRate,
};
@@ -1043,12 +1029,10 @@
CheckExtensions.IfTrueThrowUserFriendlyException(channle == null, "娓犻亾涓嶅瓨鍦�");
CheckExtensions.IfTrueThrowUserFriendlyException(channle.Status == LifePayChannelsStatsEnum.绂佺敤, "娓犻亾宸茶绂佺敤");
- //var rate = await GetRate();
- //CheckExtensions.IfTrueThrowUserFriendlyException(rate.IsNullOrEmpty(), "鏈厤缃姌鎵�");
var repeatOrder = await _lifePayOrderRepository.Where(x => x.LifePayOrderType == LifePayOrderTypeEnum.GasOrder && x.PayStatus == LifePayStatusEnum.宸叉敮浠�
&& x.LifePayOrderStatus == LifePayOrderStatusEnum.鍏呭�间腑 && x.OrderParamDetailJsonStr.Contains(input.ProductData.GasOrgType)
- && x.OrderParamDetailJsonStr.Contains(input.ProductData.GasAccount)).ToListAsync();
- CheckExtensions.IfTrueThrowUserFriendlyException(repeatOrder.Count() > 0, "鎮ㄦ湁鍚屾埛鍙疯鍗曟鍦ㄥ厖鍊间腑锛岃鍕块噸澶嶅厖鍊�");
+ && x.OrderParamDetailJsonStr.Contains(input.ProductData.GasAccount)).AnyAsync();
+ CheckExtensions.IfTrueThrowUserFriendlyException(repeatOrder, "鎮ㄦ湁鍚屾埛鍙疯鍗曟鍦ㄥ厖鍊间腑锛岃鍕块噸澶嶅厖鍊�");
var rate = await GetLifePayRate(channle, LifePayRateTypeEnum.榛樿鐕冩皵鎶樻墸);
@@ -1072,6 +1056,7 @@
RechargeAmount = amount.RechargeAmount,
ChannelId = channle.ChannlesNum,
PlatformRate = platformRate.Rate,
+ PlatformDeductionAmount = amount.RechargeAmount * platformRate.Rate / 100,
ChannleRate = rate,
ChannlesRakeRate = channle.ChannlesRakeRate,
};
@@ -1131,7 +1116,6 @@
CheckExtensions.IfTrueThrowUserFriendlyException(order.ACOOLYStatus != ACOOLYStatusEnum.閮ㄥ垎鍏呭�兼垚鍔�, "璇ヨ鍗曟棤娉曚慨鏀瑰埌璐﹂噾棰�");
order.ActualReceivedAmount = input.ActualReceivedAmount;
-
await _lifePayOrderRepository.UpdateAsync(order);
return Constant.SUCCESS;
@@ -1195,11 +1179,7 @@
OutOrderNo = orderNo
};
var result = await _aCOOLYManager.ConfirmElectricOrder(requestInput);
-#if DEBUG
-
_logger.LogInformation($"CreateACOOLYElectricOrder:{JsonConvert.SerializeObject(result)}");
-
-#endif
CheckExtensions.IfTrueThrowUserFriendlyException(!result.Success || (result.Code != ACOOLYConstant.Code.SUCCESS && result.Code != ACOOLYConstant.Code.PROCESSING),
result.Message);
@@ -1319,6 +1299,7 @@
order.PayStatus = LifePayStatusEnum.宸叉敮浠�;
order.PayTime = DateTime.Now;
order.OutOrderNo = outOrderNo;
+
try
{
var result = (Code: "Fail", RequestNo: "", ACOOLYOrderNo: "");
@@ -1342,14 +1323,21 @@
//SetOrderStatus(order, result.Code);
order.OutRequestNo = result.RequestNo.IsNullOrEmpty() ? null : result.RequestNo;
order.ACOOLYOrderNo = result.ACOOLYOrderNo;
+ order.ACOOLYStatus = ACOOLYStatusEnum.鍏呭�间腑;
+
+ /// 鍒涘缓鐢熸椿缂磋垂娑堣垂璁板綍
+ await _lifePayOrderService.CreatLifePayConsumption(ACOOLYStatusEnum.鍏呭�间腑, order.OrderNo, order.ACOOLYOrderNo,
+ order.PlatformDeductionAmount ?? 0, order.ChannelId, order.CreationTime, order.FinishTime);
}
catch (Exception ex)
{
_logger.LogError(ex, "澶勭悊鐢熸椿缂磋垂鏀粯鎴愬姛鍥炶皟鏃跺紓甯�");
order.LifePayOrderStatus = LifePayOrderStatusEnum.寰呴��娆�;
order.LifePayRefundStatus = LifePayRefundStatusEnum.寰呴��娆�;
+ order.ACOOLYStatus = ACOOLYStatusEnum.鍏呭�煎け璐�;
order.RefundApplyRemark = ex.Message;
}
+
_logger.LogError("鐢熸椿缂磋垂璁㈠崟鐘舵�侊細" + order.LifePayOrderStatus.ToString());
await _lifePayOrderRepository.UpdateAsync(order);
}
@@ -1363,10 +1351,11 @@
{
case LifePayRefundStatusEnum.宸查��娆�:
order.LifePayOrderStatus = LifePayOrderStatusEnum.宸查��娆�;
- order.ACOOLYStatus = ACOOLYStatusEnum.宸查��娆�;
+ order.LifePayRefundStatus = LifePayRefundStatusEnum.宸查��娆�;
break;
case LifePayRefundStatusEnum.閫�娆句腑:
order.LifePayOrderStatus = LifePayOrderStatusEnum.閫�娆句腑;
+ order.LifePayRefundStatus = LifePayRefundStatusEnum.閫�娆句腑;
break;
default: break;
}
@@ -1379,17 +1368,18 @@
/// <param name="orderNo"></param>
/// <param name="outOrderNo"></param>
/// <returns></returns>
- public async Task ACOOLYOrderNotifyHandler(string orderNo, string acoolyOrderNo, LifePayOrderStatusEnum status, ACOOLYStatusEnum acoolyStatus, decimal payAmount, string refundApplyRemark)
+ public async Task ACOOLYOrderNotifyHandler(string orderNo, string acoolyOrderNo, LifePayOrderStatusEnum status, ACOOLYStatusEnum acoolyStatus, decimal payAmount, string refundApplyRemark, decimal? parValue = 0, decimal? actualParValue = 0)
{
var order = await _lifePayOrderRepository.Where(x => x.OrderNo == orderNo).FirstOrDefaultAsync();
CheckExtensions.IfTrueThrowUserFriendlyException(order == null, "璁㈠崟涓嶅瓨鍦�");
- if (order.LifePayOrderStatus >= LifePayOrderStatusEnum.宸插畬鎴�)
+ if (order.LifePayOrderStatus == LifePayOrderStatusEnum.宸插畬鎴�)
{
return;
}
- order.PlatformDeductionAmount = payAmount;
+ // order.PlatformDeductionAmount = payAmount;
+
if (acoolyOrderNo.IsNotNullOrEmpty())
{
order.ACOOLYOrderNo = acoolyOrderNo;
@@ -1412,6 +1402,7 @@
if (order.LifePayOrderStatus == LifePayOrderStatusEnum.宸插畬鎴�)
{
+ ///缁撶畻娓犻亾浣i噾
/// 姣涘埄
var grossProfit = order.RechargeAmount * (order.ChannleRate - order.PlatformRate) / 100;
/// 娓犻亾浣i噾 锛�(鍏呭�奸潰棰� * 娓犻亾鎶樻墸姣斾緥)-(鍏呭�奸潰棰� * 骞冲彴鎶樻墸姣斾緥)锛�* 浣i噾姣斾緥
@@ -1421,15 +1412,19 @@
LifePayChannlesRake lifePayChannlesRake = new LifePayChannlesRake()
{
OrderNo = order.OrderNo,
- PayAmount = order.PayAmount.Value,
- ChannlesRakeRate = order.ChannlesRakeRate.Value,
- ChannlesRakePrice = channlesRakePrice.Value,
+ PayAmount = order.RechargeAmount ?? 0,
+ ChannlesRakeRate = order.ChannlesRakeRate ?? 0,
+ ChannlesRakePrice = channlesRakePrice ?? 0,
FinishTime = order.FinishTime.Value,
ChannelId = order.ChannelId,
};
await _lifePayChannlesRakeRepository.InsertAsync(lifePayChannlesRake);
}
}
+
+ /// 鍒涘缓鐢熸椿缂磋垂娑堣垂璁板綍
+ await _lifePayOrderService.CreatLifePayConsumption(acoolyStatus, order.OrderNo, order.ACOOLYOrderNo,
+ order.PlatformDeductionAmount ?? 0, order.ChannelId, order.CreationTime, order.FinishTime, order.ChannleRate, parValue, actualParValue);
}
/// <summary>
@@ -1606,9 +1601,9 @@
var userAccount = await _lifePayAccount.Where(x => x.UserId == input.UserId && x.Id == input.Id)
.FirstOrDefaultAsync();
CheckExtensions.IfTrueThrowUserFriendlyException(userAccount == null, "鎴峰彿涓嶅瓨鍦�");
- var repeatAccountContent = await _lifePayAccount.Where(x => x.UserId == input.UserId && x.LifePayType == input.LifePayType && x.Content == input.Content && x.Id != input.Id && x.IsDeleted == false)
- .FirstOrDefaultAsync();
- CheckExtensions.IfTrueThrowUserFriendlyException(repeatAccountContent != null, "鎴峰彿宸插瓨鍦�");
+ var repeatAccountContent = await _lifePayAccount.Where(x => x.UserId == input.UserId && x.LifePayType == input.LifePayType && x.Content == input.Content && x.Id != input.Id)
+ .AnyAsync();
+ CheckExtensions.IfTrueThrowUserFriendlyException(repeatAccountContent, "鎴峰彿宸插瓨鍦�");
userAccount.LifePayType = input.LifePayType;
userAccount.Content = input.Content;
@@ -1621,8 +1616,8 @@
else
{
var repeatAccountContent = await _lifePayAccount.Where(x => x.UserId == input.UserId && x.LifePayType == input.LifePayType && x.Content == input.Content && x.IsDeleted == false)
- .FirstOrDefaultAsync();
- CheckExtensions.IfTrueThrowUserFriendlyException(repeatAccountContent != null, "鎴峰彿宸插瓨鍦�");
+ .AnyAsync();
+ CheckExtensions.IfTrueThrowUserFriendlyException(repeatAccountContent, "鎴峰彿宸插瓨鍦�");
var userAccount = new LifePayAccount
{
Id = Guid.NewGuid(),
@@ -1665,17 +1660,6 @@
userAccount.DeletionTime = DateTime.Now;
userAccount.IsDeleted = true;
- /// 娓呴櫎鎴峰彿瀵瑰簲鐨勭敤鎴峰鍚�
- if (userAccount.LifePayType == LifePayOrderTypeEnum.PhoneOrder || userAccount.LifePayType == LifePayOrderTypeEnum.ElectricOrder)
- {
- var user = await _lifePayUserRepository.Where(r => r.Id == userAccount.UserId && !r.IsDeleted).FirstOrDefaultAsync();
- CheckExtensions.IfTrueThrowUserFriendlyException(user == null, "鐢ㄦ埛涓嶅瓨鍦�");
- var extraProperties = JsonConvert.DeserializeObject<Model_UserAccountExtraProperties>(userAccount.ExtraProperties);
- if (!string.IsNullOrEmpty(extraProperties.Name) && extraProperties.Phone == user.PhoneNumber)
- {
- user.Name = string.Empty;
- }
- }
return Constant.SUCCESS;
}
@@ -1709,8 +1693,7 @@
await _lifePayOrderRepository.UpdateAsync(order);
#region 璁板綍鏃ュ織
-
- await LifePayOrderHistory("閫�娆鹃┏鍥�", "閫�娆�", order.Id, (int)OperateHistoryTypeEnum.LifePayRefund);
+ await LifePayOrderHistory("閫�娆鹃┏鍥�", "閫�娆鹃┏鍥�", order.Id, (int)OperateHistoryTypeEnum.LifePayRefund);
#endregion
}
else
@@ -2226,7 +2209,7 @@
var channlesRakePrice = grossProfit * (channlesRakeRate) / 100;
/// 鍒╂鼎
- var profit = grossProfit - channlesRakePrice - (premiumRate);
+ var profit = grossProfit - channlesRakePrice - premiumPrice;
return new OrderPriceReturn()
{
@@ -2260,7 +2243,7 @@
CheckExtensions.IfTrueThrowUserFriendlyException(order.LifePayType.HasValue, "褰撳墠璁㈠崟宸查�夋嫨鏀粯绫诲瀷");
order.LifePayType = lifePayType;
- var premium = await _lifePayPremiumRepository.Where(x => x.IsDeleted == false && x.PremiumType == order.LifePayType).FirstOrDefaultAsync();
+ var premium = await _lifePayPremiumRepository.Where(x => x.PremiumType == order.LifePayType).FirstOrDefaultAsync();
order.PremiumRate = premium == null ? 0 : premium.Rate;
await _lifePayOrderRepository.UpdateAsync(order);
@@ -2279,12 +2262,12 @@
default:
break;
}
-
+
return new SetPayTypeReturn()
{
Desc = desc,
OrderNo = order.OrderNo,
- PayAmount = order.PayAmount.HasValue? order.PayAmount.Value : 0,
+ PayAmount = order.PayAmount.HasValue ? order.PayAmount.Value : 0,
LifePayType = lifePayType,
};
}
--
Gitblit v1.9.1