refactor,feat: 批量代码重构与新增业务模块

1. 重命名枚举项与实体字段,修正类型引用
2. 新增IsNull扩展方法与多项字符串处理扩展
3. 新增大量业务DTO、服务接口与枚举定义
4. 重构RabbitMQ服务实现,替换旧版消息队列组件
5. 优化签到服务的宠物喂养事务逻辑
6. 移除冗余的项目引用与旧版消息队列代码
7. 新增Excel导出、导入模板相关工具方法
This commit is contained in:
glz
2026-06-11 17:01:24 +08:00
parent ae4cd627df
commit e493c85d08
57 changed files with 4477 additions and 399 deletions

View File

@ -0,0 +1,45 @@
using QYZH.InteractiveMagazine.Models;
using QYZH.InteractiveMagazine.Models.Base;
using QYZH.InteractiveMagazine.Models.Dto.Journal;
using QYZH.InteractiveMagazine.Models.Entity;
namespace QYZH.InteractiveMagazine.IService;
public interface IJournalCatalogService : IBaseService<JournalCatalog>
{
Task<List<JournalCatalog>> DetailAsync(long JournalId);
Task<long> InsertAsync(JournalCatalogInput input);
Task<long> ImportAsync(JournalImportDto input);
Task<bool> UpdateAsync(JournalCatalogUpdateInput input);
Task<bool> DeleteAsync(long id);
Task<bool> MoveAsync(MoveInput input);
//Task<bool> CopyAsync(CopyInput input);
/// <summary>
/// 获取书分类及页码
/// </summary>
/// <param name="JournalId"></param>
/// <returns></returns>
Task<List<JournalCatalogTreeListDto>> GetJournalCatalogListAsync(long JournalId);
/// <summary>
/// 获取书分类及页码
/// </summary>
/// <param name="JournalId"></param>
/// <returns></returns>
Task<List<IcrJournalCatalogTreeDto>> GetJournalCataloTreeAsync(long JournalId);
/// <summary>
/// 导入书籍目录
/// </summary>
/// <param name="JournalId"></param>
/// <param name="dtos"></param>
/// <returns></returns>
Task<bool> ImportCatalogAsync(long JournalId, List<JournalCatalogTreeListDto> dtos);
}

View File

@ -0,0 +1,32 @@

using QYZH.InteractiveMagazine.Models.Dto.Journal;
using QYZH.InteractiveMagazine.Models.Entity;
namespace QYZH.InteractiveMagazine.IService;
public interface IJournalPageService: IBaseService<JournalPage>
{
Task<long> InsertAsync(JournalAddV2Input input);
Task<bool> UpdateAsync(PageLayoutInput input);
/// <summary>
/// 修改书页的点阵码
/// </summary>
/// <param name="JournalId"></param>
/// <returns></returns>
Task<bool> UpdatePageNoAsync(long JournalId);
/// <summary>
/// 打印书页(全部)
/// </summary>
/// <param name="JournalId"></param>
/// <returns></returns>
Task<bool> PrintJournalPageAsync(long JournalId);
Task<JournalPageV2Output> DetailAsync(long id);
Task<bool> DeleteAsync(long id);
//Task<List<JournalPageNoArticleOutput>> PageNoArticleAsync(long id);
}

View File

@ -0,0 +1,17 @@

using QYZH.InteractiveMagazine.Models.Dto.Journal;
using QYZH.InteractiveMagazine.Models.Entity;
namespace QYZH.InteractiveMagazine.IService;
public interface IJournalPageTaskService : IBaseService<JournalPageTask>
{
Task<long?> InsertAsync(JournalPageTaskAddInput input);
Task<bool> UpdateAsync(JournalPageTaskUpdateInput input);
Task<bool> KeywordAnalysisAsync(JournalPageTaskKeywordAnalysis input);
Task<JournalPageTaskOutput> DetailAsync(long id);
Task<bool> DeleteAsync(long id);
Task<bool> ComplementAsync(JournalPageTaskComplementInput input);
}

View File

@ -0,0 +1,48 @@

using QYZH.InteractiveMagazine.Models.Dto.Journal;
using QYZH.InteractiveMagazine.Models.Dto.DotMatrix;
using QYZH.InteractiveMagazine.Models.Enum;
using QYZH.InteractiveMagazine.Models.Dto;
using QYZH.InteractiveMagazine.Models.Entity;
namespace QYZH.InteractiveMagazine.IService;
public interface IJournalService : IBaseService<Journal>
{
/// <summary>
/// 查询List
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
Task<List<JournalDto>> GetListAsync(JournalQueryDto dto);
/// <summary>
/// 分页查询
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
Task<PageListModel<JournalDto>> GetPageListAsync(PageQueryModel<JournalQueryDto> search);
/// <summary>
/// 编辑
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<BaseResponse<bool>> EditAsync(JournalEditDto input);
Task<List<JournalTaskOutput>> Tasks(long id);
Task<JournalDto> DetailAsync(long id);
Task<bool> DeleteAsync(List<long> id);
Task<bool> StartPageAsync(long Id, int Index);
Task<bool> StatusAsync(long id, JournalStatusEnum status);
Task<DotMatrixOutput> PrintCodeAsync(long id);
Task<bool> ResultReportAsync(DotMatrixNoteJournalReportInput input);
}

View File

@ -37,6 +37,14 @@ public interface IPetService : IBaseService<UserPet>
/// <returns>喂养结果</returns>
Task<FeedPetOutput> FeedPetAsync(long userId, FeedPetInput input);
/// <summary>
/// 喂养宠物(无事务,需在外部事务中调用)
/// </summary>
/// <param name="userId">用户Id</param>
/// <param name="input">喂养输入</param>
/// <returns>喂养结果</returns>
Task<FeedPetOutput> FeedPetInTranAsync(long userId, FeedPetInput input);
/// <summary>
/// 获取宠物喂养记录列表
/// </summary>