Exemple #1
0
        /// <summary>
        /// 删除文件
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public NGPResponse DeleteFiles(NGPSingleRequest <List <string> > request)
        {
            // 参数验证
            if (request == null || request.RequestData.IsNullOrEmpty())
            {
                return(new NGPResponse
                {
                    ErrorCode = ErrorCode.ParamEmpty,
                    Message = CommonResource.ParameterError,
                    Status = OperateStatus.Error
                });
            }

            // 查询id对应的文件列表
            var fileList = _unitRepository.All <Sys_File_Info>(s => request.RequestData.Contains(s.Id)).ToList();

            // 删除文件
            foreach (var file in fileList)
            {
                var fullPath = Path.Combine(_fileProvider.MapPath(file.FilePath), file.FileName);

                _fileProvider.DeleteFile(fullPath);

                _unitRepository.Delete(file);
            }
            return(new NGPResponse
            {
                AffectedRows = fileList.Count,
                Message = CommonResource.OperatorSuccess,
                Status = OperateStatus.Success,
            });
        }
Exemple #2
0
        /// <summary>
        /// 通过id查询文件
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public NGPResponse <SingleFileResponse> QueryFileById(NGPSingleRequest request)
        {
            // 参数验证
            if (request == null || string.IsNullOrWhiteSpace(request.RequestData))
            {
                return(new NGPResponse <SingleFileResponse>
                {
                    ErrorCode = ErrorCode.ParamEmpty,
                    Message = CommonResource.ParameterError,
                    Status = OperateStatus.Error
                });
            }

            var file = _unitRepository.FindById <Sys_File_Info>(request.RequestData);

            return(new NGPResponse <SingleFileResponse>
            {
                Message = CommonResource.OperatorSuccess,
                Status = OperateStatus.Success,
                Data = new SingleFileResponse
                {
                    FileId = file.Id,
                    FileName = file.FileName,
                    FilePath = file.FilePath,
                    Extension = file.ExtensionName,
                    Size = file.Size,
                    Url = NGPFileExtend.FileUrl(file.FilePath, file.FileName)
                }
            });
        }
        public ActionResult <NGPResponse> SendVerificationCode([FromBody] NGPSingleRequest userName)
        {
            // 数据库查询
            var employee = _repository.FirstOrDefault <SysOrg_Employee>(s => s.LoginName == userName.RequestData);

            // 用户不存在
            if (employee == null)
            {
                return(NGPResponse.Create(Framework.Core.StatusCode.NotExistErrorOne, userName.RequestData));
            }
            // 用户被删除
            if (employee.IsDelete)
            {
                return(NGPResponse.Create(Framework.Core.StatusCode.HasBeenDeletedError, userName.RequestData));
            }
            //判断当前用户是否填写手机号
            if (string.IsNullOrWhiteSpace(employee.PhoneNumber))
            {
                return(NGPResponse.Create(Framework.Core.StatusCode.UserPhoneEmpty));
            }
            var randomItem       = new Random();
            var verificationCode = Convert.ToString(randomItem.Next(100000, 999999));
            // TODO 短信发送单列
            var messageSend = Singleton <IEngine> .Instance.Resolve <IMobileMessageSend>();

            messageSend.SendMessage(new MobileSendContext {
                Mobiles = new List <string> {
                    employee.PhoneNumber
                }, Content = string.Format("您本次登录的验证码为【{0}】。", verificationCode)
            });
            var insertItem = new SysOrg_EmpVerification
            {
                Id               = CommonHelper.NewGuid(),
                EmpId            = employee.Id,
                SendTime         = DateTime.Now,
                VerificationCode = verificationCode,
            };

            insertItem.CreatedBy      = "System";
            insertItem.CreatedTime    = DateTime.Now;
            insertItem.CreatedArea    = "32";
            insertItem.CreatedCompany = "System";
            insertItem.OrderIndex     = 0;
            insertItem.UpdatedBy      = "System";
            insertItem.UpdatedTime    = DateTime.Now;
            insertItem.UpdatedArea    = "System";
            insertItem.UpdatedCompany = "System";
            insertItem.IsDelete       = false;
            _repository.Insert(insertItem);
            _repository.SaveChanges();

            return(Ok(NGPResponse.Create()));
        }
        public async Task <IActionResult> DownloadFile(NGPSingleRequest request)
        {
            var file = _nGPFileService.QueryFileById(request);

            var fullPath = Path.Combine(_fileProvider.MapPath(file.Data.FilePath), file.Data.FileName);

            var memory = new MemoryStream();

            using (var stream = new FileStream(fullPath, FileMode.Open))
            {
                await stream.CopyToAsync(memory);
            }
            memory.Position = 0;
            return(File(memory, "application/octet-stream", file.Data.FileName));
        }
 public ActionResult <NGPResponse> DeleteFiles(NGPSingleRequest <List <string> > request)
 {
     return(Ok(_nGPFileService.DeleteFiles(request)));
 }