|
@@ -40,6 +40,7 @@ using Hotline.Repository.SqlSugar.Snapshot;
|
|
|
using Hotline.Settings.Hotspots;
|
|
|
using Microsoft.Extensions.Options;
|
|
|
using XF.Utility.MQ;
|
|
|
+using System.Threading;
|
|
|
|
|
|
namespace Hotline.Application.Snapshot;
|
|
|
|
|
@@ -58,7 +59,7 @@ public abstract class SnapshotApplicationBase
|
|
|
private readonly IIndustryRepository _industryRepository;
|
|
|
private readonly IThirdIdentiyService _thirdLoginService;
|
|
|
private readonly ISessionContext _sessionContext;
|
|
|
- private readonly IRepository<RedPackRecord> _redPackRecordRepository;
|
|
|
+ private readonly IRedPackRecordRepository _redPackRecordRepository;
|
|
|
private readonly IOrderSnapshotRepository _orderSnapshotRepository;
|
|
|
private readonly ISystemSettingCacheManager _sysSetting;
|
|
|
private readonly ISystemAreaDomainService _systemAreaDomainService;
|
|
@@ -86,7 +87,7 @@ public abstract class SnapshotApplicationBase
|
|
|
private readonly ISnapshotPointsRecordRepository _pointsRecordRepository;
|
|
|
private readonly IOptionsSnapshot<MqConfiguration> _mqConfiguration;
|
|
|
|
|
|
- public SnapshotApplicationBase(IThirdIdentiyService thirdLoginService, IIndustryRepository industryRepository, ISnapshotBulletinRepository bulletinRepository, ISessionContext sessionContext, IRepository<RedPackRecord> redPackRecordRepository, IRepository<Order> orderRepository, IThirdAccountRepository thirdAccountRepository, IOrderSnapshotRepository orderSnapshotRepository, ISystemSettingCacheManager systemSettingCacheManager, ISystemAreaDomainService systemAreaDomainService, IFileRepository fileRepository, ISystemDicDataCacheManager systemDicDataCacheManager, ISnapshotOrderPublishRepository snapshotOrderPublishRepository, IRepository<WorkflowTrace> workflowTraceRepository, IPractitionerRepository practitionerRepository, IRepository<SystemArea> systemAreaRepository, IVolunteerRepository volunteerRepository, IVolunteerReportRepository volunteerReportRepository, ISystemLogRepository systemLog, IGuiderSystemService guiderSystemService, ICapPublisher capPublisher, Publisher publisher, IFileDomainService fileDomainService, ICommunityInfoRepository communityInfoRepository, IRedPackAuditRepository redPackAuditRepository, IOrderVisitRepository orderVisitRepository, IOrderVisitDetailRepository orderVisitDetailRepository, IRedPackGuiderAuditRepository redPackGuiderAuditRepository, IInviteCodeRecordRepository inviteCodeRecordRepository, IInviteCodeRepository inviteCodeRepository, ICitizenRepository citizenRepository, ISnapshotPointsRecordRepository snapshotPointsRecordRepository, IOptionsSnapshot<MqConfiguration> mqConfiguration)
|
|
|
+ public SnapshotApplicationBase(IThirdIdentiyService thirdLoginService, IIndustryRepository industryRepository, ISnapshotBulletinRepository bulletinRepository, ISessionContext sessionContext, IRedPackRecordRepository redPackRecordRepository, IRepository<Order> orderRepository, IThirdAccountRepository thirdAccountRepository, IOrderSnapshotRepository orderSnapshotRepository, ISystemSettingCacheManager systemSettingCacheManager, ISystemAreaDomainService systemAreaDomainService, IFileRepository fileRepository, ISystemDicDataCacheManager systemDicDataCacheManager, ISnapshotOrderPublishRepository snapshotOrderPublishRepository, IRepository<WorkflowTrace> workflowTraceRepository, IPractitionerRepository practitionerRepository, IRepository<SystemArea> systemAreaRepository, IVolunteerRepository volunteerRepository, IVolunteerReportRepository volunteerReportRepository, ISystemLogRepository systemLog, IGuiderSystemService guiderSystemService, ICapPublisher capPublisher, Publisher publisher, IFileDomainService fileDomainService, ICommunityInfoRepository communityInfoRepository, IRedPackAuditRepository redPackAuditRepository, IOrderVisitRepository orderVisitRepository, IOrderVisitDetailRepository orderVisitDetailRepository, IRedPackGuiderAuditRepository redPackGuiderAuditRepository, IInviteCodeRecordRepository inviteCodeRecordRepository, IInviteCodeRepository inviteCodeRepository, ICitizenRepository citizenRepository, ISnapshotPointsRecordRepository snapshotPointsRecordRepository, IOptionsSnapshot<MqConfiguration> mqConfiguration)
|
|
|
{
|
|
|
_thirdLoginService = thirdLoginService;
|
|
|
_industryRepository = industryRepository;
|
|
@@ -305,16 +306,19 @@ public abstract class SnapshotApplicationBase
|
|
|
/// 获取个人中心数据
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
- public async Task<SnapshotUserInfoOutDto> GetSnapshotUserInfoAsync()
|
|
|
+ public async Task<SnapshotUserInfoOutDto> GetSnapshotUserInfoAsync(CancellationToken token)
|
|
|
{
|
|
|
var userInfo = await _citizenRepository.GetAsync(_sessionContext.UserId);
|
|
|
|
|
|
var dayTime = DateTime.Now;
|
|
|
- var readPack = await _redPackRecordRepository.Queryable()
|
|
|
+ var query = _redPackRecordRepository.Queryable()
|
|
|
.Where(m => m.WXOpenId == _sessionContext.OpenId && m.PickupStatus == ERedPackPickupStatus.Received)
|
|
|
.Where(m => m.CreationTime.Date == dayTime.Date)
|
|
|
- .Select(m => SqlFunc.AggregateSum(m.Amount))
|
|
|
- .FirstAsync();
|
|
|
+ .Select(m => SqlFunc.AggregateSum(m.Amount));
|
|
|
+#if DEBUG
|
|
|
+ var sql = query.ToSqlString();
|
|
|
+#endif
|
|
|
+ var redPack = await query.FirstAsync(token);
|
|
|
|
|
|
var outDto = await _orderRepository.Queryable()
|
|
|
.Where(m => m.Contact == userInfo.PhoneNumber && m.CreatorId == _sessionContext.UserId)
|
|
@@ -323,10 +327,10 @@ public abstract class SnapshotApplicationBase
|
|
|
NoReplyCount = SqlFunc.AggregateSum(SqlFunc.IIF(m.Status < EOrderStatus.Filed, 1, 0)),
|
|
|
ReplyCount = SqlFunc.AggregateSum(SqlFunc.IIF(m.Status >= EOrderStatus.Filed, 1, 0)),
|
|
|
AppraiseCount = SqlFunc.AggregateSum(SqlFunc.IIF(m.Status == EOrderStatus.Visited, 1, 0)),
|
|
|
- }).FirstAsync();
|
|
|
+ }).FirstAsync(token);
|
|
|
|
|
|
- outDto.DayAmount = readPack;
|
|
|
- outDto.TotalAmount = userInfo.TotalAmount ?? 0;
|
|
|
+ outDto.DayAmount = redPack;
|
|
|
+ outDto.TotalAmount = await _redPackRecordRepository.GetReceivedTotalAmountAsync(_sessionContext.OpenId, token);
|
|
|
outDto.PhoneNumber = userInfo.PhoneNumber;
|
|
|
return outDto;
|
|
|
}
|
|
@@ -510,11 +514,7 @@ public abstract class SnapshotApplicationBase
|
|
|
/// <returns></returns>
|
|
|
public async Task<string> GetRedPackReceivedTotalAsync(CancellationToken cancellationToken)
|
|
|
{
|
|
|
- var totalAmount = await _redPackRecordRepository.Queryable()
|
|
|
- .Where(m => m.WXOpenId == _sessionContext.OpenId && m.PickupStatus == ERedPackPickupStatus.Received)
|
|
|
- .Select(m => SqlFunc.AggregateSum(m.Amount))
|
|
|
- .FirstAsync(cancellationToken);
|
|
|
- return totalAmount.ToYuanFinance();
|
|
|
+ return (await _redPackRecordRepository.GetReceivedTotalAmountAsync(_sessionContext.OpenId, cancellationToken)).ToYuanFinance();
|
|
|
}
|
|
|
|
|
|
/// <summary>
|