refactor: 统一业务异常处理,标准化结果码和错误响应
1. 新增并完善ResultCode枚举,补充标准HTTP状态码对应的业务状态码 2. 重构BusinessException,新增基于ResultCode的构造函数和ThrowIf扩展方法 3. 替换所有硬编码的HTTP状态码为统一的ResultCode枚举 4. 优化全局异常中间件,根据业务状态码映射对应HTTP状态码并规范化JSON响应 5. 修复OssImageHelper和AutoDotCodeConsumer中的OSS文件处理逻辑 6. 新增用户答题快照实体类 7. 清理废弃的宠物模块迁移脚本
This commit is contained in:
@ -395,15 +395,15 @@ namespace QYZH.InteractiveMagazine.WebApi.Controllers
|
||||
{
|
||||
var entity = await JournalService.GetFirstAsync(x => x.Id == JournalId);
|
||||
if (entity == null)
|
||||
throw new BusinessException("书籍不存在");
|
||||
throw new BusinessException("书籍不存在", ResultCode.NOT_FOUND);
|
||||
|
||||
var downloadUrl = entity.DownloadJournalPagePdfName;
|
||||
if (string.IsNullOrWhiteSpace(downloadUrl))
|
||||
throw new BusinessException("下载点阵码PDF文件为空,请先铺码");
|
||||
throw new BusinessException("下载点阵码PDF文件为空,请先铺码", ResultCode.BAD_REQUEST);
|
||||
|
||||
var stream = await httpClientFactory.CreateClient().GetStreamAsync(downloadUrl); //创建文件流
|
||||
if (stream == null)
|
||||
throw new BusinessException("下载点阵码PDF文件失败");
|
||||
throw new BusinessException("下载点阵码PDF文件失败", ResultCode.GLOBAL_ERROR);
|
||||
|
||||
Response.Headers.Append("Access-Control-Expose-Headers", "Content-Disposition");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user