|
@@ -69,7 +69,6 @@ public abstract class SnapshotApplicationBase
|
|
|
private readonly IGuiderSystemService _guiderSystemService;
|
|
|
private readonly ICapPublisher _capPublisher;
|
|
|
private readonly Publisher _publisher;
|
|
|
- private readonly IGuiderInfoRepository _guiderInfoRepository;
|
|
|
private readonly IFileDomainService _fileDomainService;
|
|
|
private readonly ICommunityInfoRepository _communityInfoRepository;
|
|
|
private readonly IRedPackAuditRepository _redPackAuditRepository;
|
|
@@ -78,8 +77,9 @@ public abstract class SnapshotApplicationBase
|
|
|
private readonly IOrderVisitDetailRepository _orderVisitDetailRepository;
|
|
|
private readonly IInviteCodeRecordRepository _inviteCodeRecordRepository;
|
|
|
private readonly IInviteCodeRepository _inviteCodeRepository;
|
|
|
+ private readonly ISnapshotUserInfoRepository _snapshotUserInfoRepository;
|
|
|
|
|
|
- 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, IGuiderInfoRepository guiderInfoRepository, IFileDomainService fileDomainService, ICommunityInfoRepository communityInfoRepository, IRedPackAuditRepository redPackAuditRepository, IOrderVisitRepository orderVisitRepository, IOrderVisitDetailRepository orderVisitDetailRepository, IRedPackGuiderAuditRepository redPackGuiderAuditRepository, IInviteCodeRecordRepository inviteCodeRecordRepository, IInviteCodeRepository inviteCodeRepository)
|
|
|
+ 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, ISnapshotUserInfoRepository snapshotUserInfoRepository)
|
|
|
{
|
|
|
_thirdLoginService = thirdLoginService;
|
|
|
_industryRepository = industryRepository;
|
|
@@ -103,7 +103,6 @@ public abstract class SnapshotApplicationBase
|
|
|
_guiderSystemService = guiderSystemService;
|
|
|
_capPublisher = capPublisher;
|
|
|
_publisher = publisher;
|
|
|
- _guiderInfoRepository = guiderInfoRepository;
|
|
|
_fileDomainService = fileDomainService;
|
|
|
_communityInfoRepository = communityInfoRepository;
|
|
|
_redPackAuditRepository = redPackAuditRepository;
|
|
@@ -112,6 +111,7 @@ public abstract class SnapshotApplicationBase
|
|
|
_redPackGuiderAuditRepository = redPackGuiderAuditRepository;
|
|
|
_inviteCodeRecordRepository = inviteCodeRecordRepository;
|
|
|
_inviteCodeRepository = inviteCodeRepository;
|
|
|
+ _snapshotUserInfoRepository = snapshotUserInfoRepository;
|
|
|
}
|
|
|
|
|
|
#region 小程序
|
|
@@ -295,20 +295,17 @@ public abstract class SnapshotApplicationBase
|
|
|
/// <returns></returns>
|
|
|
public async Task<SnapshotUserInfoOutDto> GetSnapshotUserInfoAsync()
|
|
|
{
|
|
|
- var openId = _sessionContext.OpenId;
|
|
|
- var thirdAccount = await _thirdAccountRepository.GetByOpenIdAsync(openId);
|
|
|
- if (thirdAccount.PhoneNumber.IsNullOrEmpty() && _sessionContext.Phone.NotNullOrEmpty())
|
|
|
- thirdAccount.PhoneNumber = _sessionContext.Phone;
|
|
|
+ var userInfo = await _snapshotUserInfoRepository.GetAsync(_sessionContext.UserId);
|
|
|
|
|
|
var dayTime = DateTime.Now;
|
|
|
var readPack = await _redPackRecordRepository.Queryable()
|
|
|
- .Where(m => m.WXOpenId == openId && m.PickupStatus == ERedPackPickupStatus.Received)
|
|
|
+ .Where(m => m.WXOpenId == _sessionContext.OpenId && m.PickupStatus == ERedPackPickupStatus.Received)
|
|
|
.Where(m => m.CreationTime.Date == dayTime.Date)
|
|
|
.Select(m => SqlFunc.AggregateSum(m.Amount))
|
|
|
.FirstAsync();
|
|
|
|
|
|
var outDto = await _orderRepository.Queryable()
|
|
|
- .Where(m => m.Contact == thirdAccount.PhoneNumber)
|
|
|
+ .Where(m => m.Contact == userInfo.PhoneNumber)
|
|
|
.Select(m => new SnapshotUserInfoOutDto
|
|
|
{
|
|
|
NoReplyCount = SqlFunc.AggregateSum(SqlFunc.IIF(m.Status < EOrderStatus.Filed, 1, 0)),
|
|
@@ -317,9 +314,8 @@ public abstract class SnapshotApplicationBase
|
|
|
}).FirstAsync();
|
|
|
|
|
|
outDto.DayAmount = readPack;
|
|
|
- throw new NotImplementedException("TotalAmount");
|
|
|
- //outDto.TotalAmount = thirdAccount.TotalAmount;
|
|
|
- outDto.PhoneNumber = thirdAccount.PhoneNumber;
|
|
|
+ outDto.TotalAmount = userInfo.TotalAmount;
|
|
|
+ outDto.PhoneNumber = userInfo.PhoneNumber;
|
|
|
return outDto;
|
|
|
}
|
|
|
|
|
@@ -469,10 +465,9 @@ public abstract class SnapshotApplicationBase
|
|
|
/// <returns></returns>
|
|
|
public async Task<string> GetRedPackReceivedTotalAsync(CancellationToken cancellationToken)
|
|
|
{
|
|
|
- var member = await _thirdAccountRepository.GetAsync(m => m.OpenId == _sessionContext.OpenId || m.PhoneNumber == _sessionContext.Phone, cancellationToken)
|
|
|
+ var member = await _snapshotUserInfoRepository.GetAsync(m => m.Id == _sessionContext.UserId, cancellationToken)
|
|
|
?? throw UserFriendlyException.SameMessage("用户不存在");
|
|
|
- throw new NotImplementedException("TotalAmount");
|
|
|
- //return member.TotalAmount.ToYuanFinance();
|
|
|
+ return member.TotalAmount.ToYuanFinance();
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -531,30 +526,31 @@ public abstract class SnapshotApplicationBase
|
|
|
{
|
|
|
throw new UserFriendlyException(200, "邀请码格式错误");
|
|
|
}
|
|
|
- var third = await _thirdAccountRepository.GetByOpenIdAsync(_sessionContext.OpenId)
|
|
|
+ var userInfo = await _snapshotUserInfoRepository.GetAsync(_sessionContext.UserId)
|
|
|
?? throw UserFriendlyException.SameMessage("用户不存在");
|
|
|
- //if (third.InvitationCode.NotNullOrEmpty())
|
|
|
- //{
|
|
|
- // throw new UserFriendlyException(200, "邀请码已存在");
|
|
|
- //}
|
|
|
+ if (userInfo.InvitationCode.NotNullOrEmpty())
|
|
|
+ {
|
|
|
+ throw new UserFriendlyException(200, "邀请码已存在");
|
|
|
+ }
|
|
|
if (_inviteCodeRecordRepository.Queryable().Where(m => m.InviteCode == dto.InvitationCode).Any())
|
|
|
{
|
|
|
throw new UserFriendlyException(200, "邀请码已经被使用");
|
|
|
}
|
|
|
- //third.InvitationCode = dto.InvitationCode;
|
|
|
+ userInfo.InvitationCode = dto.InvitationCode;
|
|
|
var invite = await _inviteCodeRepository.Queryable()
|
|
|
.Where(m => invitationCode >= m.BeginCode && invitationCode <= m.EndCode)
|
|
|
.FirstAsync() ?? throw new UserFriendlyException(200, "邀请码无效");
|
|
|
+ var thirdInfo = await _thirdAccountRepository.GetAsync(userInfo.ThirdAccountId);
|
|
|
var entity = new InviteCodeRecord
|
|
|
{
|
|
|
OrgId = invite.Id,
|
|
|
OrgName = invite.OrgName,
|
|
|
InviteCode = dto.InvitationCode,
|
|
|
- WXOpenId = third.OpenId,
|
|
|
- PhoneNumber = third.PhoneNumber,
|
|
|
- Name = third.UserName,
|
|
|
+ WXOpenId = thirdInfo.OpenId,
|
|
|
+ PhoneNumber = userInfo.PhoneNumber,
|
|
|
+ Name = userInfo.Name,
|
|
|
};
|
|
|
- await _thirdAccountRepository.UpdateAsync(third);
|
|
|
+ await _snapshotUserInfoRepository.UpdateAsync(userInfo);
|
|
|
await _inviteCodeRecordRepository.AddAsync(entity);
|
|
|
}
|
|
|
|
|
@@ -669,21 +665,18 @@ public abstract class SnapshotApplicationBase
|
|
|
.Where(m => m.Id == orderId)
|
|
|
.Select(m => new { m.MemberName, m.MemberMobile })
|
|
|
.FirstAsync(cancellationToken);
|
|
|
- var guider = await _guiderInfoRepository.GetByPhoneNumberAsync(guiderInfo.MemberMobile);
|
|
|
+ var guider = await _snapshotUserInfoRepository.GetByPhoneNumberAsync(guiderInfo.MemberMobile);
|
|
|
if (guider != null) return;
|
|
|
|
|
|
- var entity = new GuiderInfo
|
|
|
+ var entity = new SnapshotUserInfo
|
|
|
{
|
|
|
Name = guiderInfo.MemberName,
|
|
|
- PhoneNumber = guiderInfo.MemberMobile
|
|
|
+ PhoneNumber = guiderInfo.MemberMobile,
|
|
|
+ CitizenType = EReadPackUserType.Guider
|
|
|
};
|
|
|
- entity.Id = await _guiderInfoRepository.AddAsync(entity, cancellationToken);
|
|
|
var third = await _thirdAccountRepository.GetByPhoneNumberAsync(guiderInfo.MemberMobile);
|
|
|
-
|
|
|
- if (third == null) return;
|
|
|
- third.UserId = entity.Id;
|
|
|
- third.CitizenType = EReadPackUserType.Guider;
|
|
|
- await _thirdAccountRepository.UpdateAsync(third, cancellationToken);
|
|
|
+ entity.ThirdAccountId = third?.Id;
|
|
|
+ entity.Id = await _snapshotUserInfoRepository.AddAsync(entity, cancellationToken);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|