feat: 新增宠物进化分组接口、OSS图片搬运功能及配置更新
1. 新增皮肤按进化阶段分组的输出DTO 2. 新增宠物相关便捷查询接口并实现对应控制器 3. 新增OSS图片搬运辅助类,实现临时文件迁移逻辑 4. 为商品、宠物相关服务添加OSS图片自动迁移功能 5. 调整微信授权同步逻辑移除异步等待 6. 更新配置文件中的微信密钥和OSS存储信息 7. 注册SDK服务到DI容器
This commit is contained in:
@ -491,4 +491,75 @@ public class PetManageController : BaseController
|
||||
return BaseResponse<List<PetSkinImageOutput>>.Fail("获取皮肤图片列表失败,请稍后重试");
|
||||
}
|
||||
}
|
||||
|
||||
// ==================== 便捷查询接口 ====================
|
||||
|
||||
/// <summary>
|
||||
/// 根据模板Id获取进化链列表(非分页)
|
||||
/// </summary>
|
||||
[HttpGet("evolutions/{templateId}")]
|
||||
public async Task<BaseResponse<List<PetEvolutionOutput>>> GetEvolutionsByTemplateIdAsync(long templateId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _petService.GetEvolutionsByTemplateIdAsync(templateId);
|
||||
return Success(result);
|
||||
}
|
||||
catch (BusinessException ex)
|
||||
{
|
||||
_logger.LogWarning(ex, "获取进化链列表业务异常: {Message}", ex.Message);
|
||||
return BaseResponse<List<PetEvolutionOutput>>.Fail(ex.Message);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "获取进化链列表系统异常,TemplateId:{TemplateId}", templateId);
|
||||
return BaseResponse<List<PetEvolutionOutput>>.Fail("获取进化链列表失败,请稍后重试");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据模板Id获取皮肤列表(非分页)
|
||||
/// </summary>
|
||||
[HttpGet("skins/{templateId}")]
|
||||
public async Task<BaseResponse<List<PetSkinOutput>>> GetSkinsByTemplateIdAsync(long templateId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _petService.GetSkinsByTemplateIdAsync(templateId);
|
||||
return Success(result);
|
||||
}
|
||||
catch (BusinessException ex)
|
||||
{
|
||||
_logger.LogWarning(ex, "获取皮肤列表业务异常: {Message}", ex.Message);
|
||||
return BaseResponse<List<PetSkinOutput>>.Fail(ex.Message);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "获取皮肤列表系统异常,TemplateId:{TemplateId}", templateId);
|
||||
return BaseResponse<List<PetSkinOutput>>.Fail("获取皮肤列表失败,请稍后重试");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据皮肤Id获取各阶段图片列表(按进化阶段分组,含阶段基本信息)
|
||||
/// </summary>
|
||||
[HttpGet("skin-images-grouped/{skinId}")]
|
||||
public async Task<BaseResponse<List<SkinEvolutionStageOutput>>> GetSkinImagesGroupedBySkinIdAsync(long skinId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _petService.GetSkinImagesGroupedBySkinIdAsync(skinId);
|
||||
return Success(result);
|
||||
}
|
||||
catch (BusinessException ex)
|
||||
{
|
||||
_logger.LogWarning(ex, "获取分组皮肤图片业务异常: {Message}", ex.Message);
|
||||
return BaseResponse<List<SkinEvolutionStageOutput>>.Fail(ex.Message);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "获取分组皮肤图片系统异常,SkinId:{SkinId}", skinId);
|
||||
return BaseResponse<List<SkinEvolutionStageOutput>>.Fail("获取分组皮肤图片失败,请稍后重试");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -13,6 +13,7 @@ using QYZH.InteractiveMagazine.Infrastructure.Context;
|
||||
using QYZH.InteractiveMagazine.Infrastructure.Extensions;
|
||||
using QYZH.InteractiveMagazine.Infrastructure.Middleware;
|
||||
using QYZH.InteractiveMagazine.Infrastructure.Redis;
|
||||
using QYZH.InteractiveMagazine.Infrastructure.SDK;
|
||||
using QYZH.InteractiveMagazine.Models.Entity;
|
||||
using QYZH.InteractiveMagazine.Models.Enum;
|
||||
using QYZH.InteractiveMagazine.Models.Settings;
|
||||
@ -162,6 +163,7 @@ builder.Services.AddCors(options =>
|
||||
.AllowAnyHeader();
|
||||
});
|
||||
});
|
||||
builder.Services.AddSDKService(builder.Configuration);
|
||||
|
||||
#region 配置数据压缩选项
|
||||
|
||||
|
||||
@ -21,8 +21,8 @@
|
||||
"VirtualHost": "InteractiveMagazine"
|
||||
},
|
||||
"WeChatSettings": {
|
||||
"AppId": "your-wechat-appid",
|
||||
"AppSecret": "your-wechat-appsecret"
|
||||
"AppId": "wx7922cc9b6023f3ac",
|
||||
"AppSecret": "95a1d61b7be03d1dab81fe19b7483dcf"
|
||||
},
|
||||
"Serilog": {
|
||||
"MinimumLevel": {
|
||||
@ -50,12 +50,12 @@
|
||||
"AccessKeyID": "LTAI5tEBXGewpHSLiSxyx6Bf",
|
||||
"AccessKeySecret": "w29b8wkw6XQVL8GWXgp3ZesgYeDKvf",
|
||||
"VodBucketName": "outin-5277bbb52bec11f08dbd00163e169e2b.oss-cn-beijing.aliyuncs.com",
|
||||
"BucketName": "qyzh-qb",
|
||||
"BucketName": "qyzh2025test",
|
||||
"Region": "beijing",
|
||||
"RoleArn": "acs:ram::1064745380176636:role/aliyunosstokengeneratorrole",
|
||||
"DurationSeconds": 3600, //过期时间(秒)
|
||||
"Endpoint": "oss-cn-beijing.aliyuncs.com",
|
||||
"ProjectName": "QuestionBank",
|
||||
"Domain": "https://qyzh-qb.oss-cn-beijing.aliyuncs.com/"
|
||||
"ProjectName": "InteractiveMagazine",
|
||||
"Domain": "https://oss.test.qyzhjy.com/"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user