Merge branch 'Test_IRC_Net8' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing

This commit is contained in:
2024-11-18 17:30:46 +08:00
7 changed files with 18399 additions and 34 deletions
@@ -1,5 +1,6 @@
using IRaCIS.Application.Contracts;
using IRaCIS.Application.Interfaces;
using MassTransit;
using Microsoft.AspNetCore.Mvc;
namespace IRaCIS.Core.Application.Service
@@ -108,7 +109,7 @@ namespace IRaCIS.Core.Application.Service
else
{
// 当前项目没有则复制
if (!(await _trialExperienceRepository.AnyAsync(x => x.TrialId == inDto.TrialId)))
if (!(await _trialExperienceRepository.AnyAsync(x => x.TrialId == inDto.TrialId &&x.ExperienceDataType== ExperienceDataType.Trial)))
{
var trialExperienceList = await _trialExperienceRepository.Where(o => o.DoctorId == inDto.DoctorId)
.Where(x => x.ExperienceDataType == ExperienceDataType.System || x.ExperienceDataType == ExperienceDataType.SystemAuto).ToListAsync();
@@ -117,7 +118,11 @@ namespace IRaCIS.Core.Application.Service
item.Trial = null;
item.TrialId = inDto.TrialId;
item.ExperienceDataType = ExperienceDataType.Trial;
item.Id = NewId.NextGuid();
}
await _trialExperienceRepository.AddRangeAsync(trialExperienceList);
await _trialExperienceRepository.SaveChangesAsync();
}
var doctorClinicalTrialExperienceList = await _trialExperienceRepository
@@ -126,6 +131,8 @@ namespace IRaCIS.Core.Application.Service
.Where(x => x.TrialId == inDto.TrialId.Value)
.OrderBy(t => t.CreateTime)
.ProjectTo<TrialExperienceListDTO>(_mapper.ConfigurationProvider).ToListAsync();
return doctorClinicalTrialExperienceList;
}
@@ -228,6 +228,8 @@ namespace IRaCIS.Core.Application.Contracts
public string VerificationCode { get; set; }
public string EmailOrPhone { get; set; }
public Guid? TrialId { get; set; }
}
/// <summary>
@@ -155,9 +155,21 @@ namespace IRaCIS.Core.Application.Contracts
}
else
{
var isVirtual = true;
if (inDto.TrialId != null)
{
isVirtual = await _trialRepository.Where(x => x.Id == inDto.TrialId).Select(x => x.TrialType != TrialType.OfficialTrial).FirstNotNullAsync();
}
Doctor doctor = new Doctor()
{
EMail = inDto.EmailOrPhone
EMail = inDto.EmailOrPhone,
IsVirtual = isVirtual,
AcceptingNewTrial=false,
ActivelyReading=false,
CooperateStatus= ContractorStatusEnum.Noncooperation,
ReviewStatus= ReviewerInformationConfirmStatus.ConfirmRefuse
};
var info=await _doctorRepository.AddAsync(doctor,true);