监控时间
							parent
							
								
									84a505bcc4
								
							
						
					
					
						commit
						3de8087fcc
					
				|  | @ -63,7 +63,7 @@ namespace IRaCIS.Core.API | ||||||
| 
 | 
 | ||||||
|             //Autofac 注册拦截器  需要注意的是生成api上服务上的动态代理AOP失效    间接掉用不影响 |             //Autofac 注册拦截器  需要注意的是生成api上服务上的动态代理AOP失效    间接掉用不影响 | ||||||
|             containerBuilder.RegisterType<TrialStatusAutofacAOP>(); |             containerBuilder.RegisterType<TrialStatusAutofacAOP>(); | ||||||
|             containerBuilder.RegisterType<UserAddAOP>(); |             //containerBuilder.RegisterType<UserAddAOP>(); | ||||||
|             //containerBuilder.RegisterType<QANoticeAOP>(); |             //containerBuilder.RegisterType<QANoticeAOP>(); | ||||||
|             //containerBuilder.RegisterType<LogService>().As<ILogService>().SingleInstance(); |             //containerBuilder.RegisterType<LogService>().As<ILogService>().SingleInstance(); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -59,22 +59,7 @@ namespace IRaCIS.Application.Services | ||||||
|         [HttpPost] |         [HttpPost] | ||||||
|         public async Task<IResponseOutput> AddOrUpdateBasicDic(AddOrEditBasicDic addOrEditBasic) |         public async Task<IResponseOutput> AddOrUpdateBasicDic(AddOrEditBasicDic addOrEditBasic) | ||||||
|         { |         { | ||||||
|             //if (addOrEditBasic.Id == null) |  | ||||||
|             //{ |  | ||||||
|             //    var entity = await _dicRepository.InsertDictionaryAsync(addOrEditBasic); |  | ||||||
| 
 | 
 | ||||||
|             //    await  _dicRepository.UpdateFromQueryAsync(t => t.ParentId == Guid.Empty, |  | ||||||
|             //        u => new Dictionary() { ParentId = null }); |  | ||||||
| 
 |  | ||||||
|             //    return ResponseOutput.Ok(entity.Id.ToString()); |  | ||||||
|             //} |  | ||||||
|             //else |  | ||||||
|             //{ |  | ||||||
|             //    var entity = await _dicRepository.InsertOrUpdateAsync(addOrEditBasic, true); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|             //    return ResponseOutput.Ok(entity.Id.ToString()); |  | ||||||
|             //} |  | ||||||
|             var entity = await _dicRepository.InsertOrUpdateAsync(addOrEditBasic, true); |             var entity = await _dicRepository.InsertOrUpdateAsync(addOrEditBasic, true); | ||||||
| 
 | 
 | ||||||
|             return ResponseOutput.Ok(entity.Id.ToString()); |             return ResponseOutput.Ok(entity.Id.ToString()); | ||||||
|  |  | ||||||
|  | @ -187,7 +187,6 @@ namespace IRaCIS.Application.Services | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|         public async Task SendMail(Guid userId, string userName, string emailAddress, int verificationCode) |         public async Task SendMail(Guid userId, string userName, string emailAddress, int verificationCode) | ||||||
|         { |         { | ||||||
| 
 | 
 | ||||||
|  | @ -236,52 +235,7 @@ namespace IRaCIS.Application.Services | ||||||
| 
 | 
 | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         public async Task SendEmailForExternalUser(string emailAddress, string verificationCode) |  | ||||||
|         { |  | ||||||
|             var messageToSend = new MimeMessage(); |  | ||||||
|             //发件地址 |  | ||||||
|             messageToSend.From.Add(new MailboxAddress("GRR", "iracis_grr@163.com")); |  | ||||||
|             //收件地址 |  | ||||||
|             messageToSend.To.Add(new MailboxAddress(String.Empty, emailAddress)); |  | ||||||
|             //主题 |  | ||||||
|             messageToSend.Subject = "GRR External User survey (Verification Code)"; |  | ||||||
| 
 | 
 | ||||||
|             messageToSend.Body = new TextPart("plain") |  | ||||||
|             { |  | ||||||
|                 Text = $@"Hey ,you are login for site survey via email. The verification code is: {verificationCode},  If it is not your own operation, please ignore it! 
 |  | ||||||
| 
 |  | ||||||
|                                                                                                                 -- GRR"
 |  | ||||||
|             }; |  | ||||||
|             using (var smtp = new MailKit.Net.Smtp.SmtpClient()) |  | ||||||
|             { |  | ||||||
|                 smtp.MessageSent += (sender, args) => |  | ||||||
|                { |  | ||||||
|                    // args.Response  |  | ||||||
|                    var code = verificationCode.ToString(); |  | ||||||
|                    _ = _verificationCodeRepository.AddAsync(new VerificationCode() |  | ||||||
|                    { |  | ||||||
|                        CodeType = 0, |  | ||||||
|                        HasSend = true, |  | ||||||
|                        Code = code, |  | ||||||
|                        UserId = Guid.Empty,//此时不知道用户 |  | ||||||
|                        EmailOrPhone = emailAddress, |  | ||||||
|                        ExpirationTime = DateTime.Now.AddMinutes(3) |  | ||||||
|                    }).Result; |  | ||||||
|                    _ = _verificationCodeRepository.SaveChangesAsync().Result; |  | ||||||
| 
 |  | ||||||
|                }; |  | ||||||
| 
 |  | ||||||
|                 smtp.ServerCertificateValidationCallback = (s, c, h, e) => true; |  | ||||||
| 
 |  | ||||||
|                 await smtp.ConnectAsync("smtp.163.com", 25, SecureSocketOptions.StartTls); |  | ||||||
| 
 |  | ||||||
|                 await smtp.AuthenticateAsync("iracis_grr@163.com", "XLWVQKZAEKLDWOAH"); |  | ||||||
| 
 |  | ||||||
|                 await smtp.SendAsync(messageToSend); |  | ||||||
| 
 |  | ||||||
|                 await smtp.DisconnectAsync(true); |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
| 
 | 
 | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | @ -56,6 +56,33 @@ namespace IRaCIS.Core.Application.Contracts | ||||||
|         public string UploadStartTimeStr => UploadStartTime.ToString("yyyy-MM-dd HH:mm:ss.fff"); |         public string UploadStartTimeStr => UploadStartTime.ToString("yyyy-MM-dd HH:mm:ss.fff"); | ||||||
|         public string UploadFinishedTimeStr => UploadFinishedTime.ToString("yyyy-MM-dd HH:mm:ss.fff"); |         public string UploadFinishedTimeStr => UploadFinishedTime.ToString("yyyy-MM-dd HH:mm:ss.fff"); | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  |         public string TimeInterval | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  | 
 | ||||||
|  |                 var tSpan = UploadFinishedTime - UploadStartTime; | ||||||
|  | 
 | ||||||
|  |                 if (tSpan.Seconds == 0 && tSpan.Minutes==0 && tSpan.Hours == 0) | ||||||
|  |                 { | ||||||
|  |                     return $"{tSpan.Milliseconds}毫秒"; | ||||||
|  |                 } | ||||||
|  |                 else if ( tSpan.Minutes == 0 && tSpan.Hours == 0) | ||||||
|  |                 { | ||||||
|  |                     return $"{tSpan.Seconds}秒"; | ||||||
|  |                 } | ||||||
|  |                 else if ( tSpan.Hours == 0) | ||||||
|  |                 { | ||||||
|  |                     return $"{tSpan.Minutes} 分钟 {tSpan.Seconds} 秒"; | ||||||
|  |                 } | ||||||
|  |                 else | ||||||
|  |                 { | ||||||
|  |                     return $" {tSpan.Hours} 小时 {tSpan.Minutes} 分钟 {tSpan.Seconds} 秒"; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         public DateTime UploadStartTime { get; set; } |         public DateTime UploadStartTime { get; set; } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,12 +1,7 @@ | ||||||
| using IRaCIS.Core.Infrastructure.ExpressionExtend; | using IRaCIS.Application.Contracts; | ||||||
| using IRaCIS.Application.Interfaces; |  | ||||||
| using IRaCIS.Application.Contracts; |  | ||||||
| using IRaCIS.Core.Infra.EFCore; |  | ||||||
| using IRaCIS.Core.Domain.Share; | using IRaCIS.Core.Domain.Share; | ||||||
| using IRaCIS.Core.Infrastructure; | using IRaCIS.Core.Infrastructure; | ||||||
| using System.Text.RegularExpressions; | using System.Text.RegularExpressions; | ||||||
| using Autofac.Extras.DynamicProxy; |  | ||||||
| using IRaCIS.Core.API.Utility.AOP; |  | ||||||
| 
 | 
 | ||||||
| using Microsoft.AspNetCore.Mvc; | using Microsoft.AspNetCore.Mvc; | ||||||
| using Panda.DynamicWebApi.Attributes; | using Panda.DynamicWebApi.Attributes; | ||||||
|  | @ -15,7 +10,6 @@ using Microsoft.AspNetCore.Authorization; | ||||||
| namespace IRaCIS.Application.Services | namespace IRaCIS.Application.Services | ||||||
| { | { | ||||||
|     [ApiExplorerSettings(GroupName = "Management")] |     [ApiExplorerSettings(GroupName = "Management")] | ||||||
|     [Intercept(typeof(UserAddAOP))] |  | ||||||
|     public class UserService : BaseService, IUserService |     public class UserService : BaseService, IUserService | ||||||
|     { |     { | ||||||
|         private readonly IRepository<User> _userRepository; |         private readonly IRepository<User> _userRepository; | ||||||
|  |  | ||||||
|  | @ -181,7 +181,7 @@ namespace IRaCIS.Core.Application | ||||||
|         public async Task<IResponseOutput> UpdateTrialState(Guid trialId, string trialStatusStr, Guid signId, string? reason, [FromServices] IEasyCachingProvider _provider) |         public async Task<IResponseOutput> UpdateTrialState(Guid trialId, string trialStatusStr, Guid signId, string? reason, [FromServices] IEasyCachingProvider _provider) | ||||||
|         { |         { | ||||||
| 
 | 
 | ||||||
|             var trial = await _trialRepository.Where(t => t.Id == trialId, true).IgnoreQueryFilters().FirstOrDefaultAsync().IfNullThrowException(); |             var trial = (await _trialRepository.Where(t => t.Id == trialId, true).IgnoreQueryFilters().FirstOrDefaultAsync()).IfNullThrowException(); | ||||||
| 
 | 
 | ||||||
|             if (trialStatusStr == StaticData.TrialOngoing) |             if (trialStatusStr == StaticData.TrialOngoing) | ||||||
|             { |             { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue