diff --git a/src/Fengling.Member.Domain/Repositories/IPointsRuleConditionRepository.cs b/src/Fengling.Member.Domain/Repositories/IPointsRuleConditionRepository.cs new file mode 100644 index 0000000..9317aa3 --- /dev/null +++ b/src/Fengling.Member.Domain/Repositories/IPointsRuleConditionRepository.cs @@ -0,0 +1,10 @@ +using Fengling.Member.Domain.Aggregates.PointsRuleModel; + +namespace Fengling.Member.Domain.Repositories; + +public interface IPointsRuleConditionRepository +{ + Task> GetByRuleIdAsync(PointsRuleId ruleId); + Task AddAsync(PointsRuleCondition condition); + Task DeleteByRuleIdAsync(PointsRuleId ruleId); +} diff --git a/src/Fengling.Member.Domain/Repositories/IPointsRuleRepository.cs b/src/Fengling.Member.Domain/Repositories/IPointsRuleRepository.cs new file mode 100644 index 0000000..5af3632 --- /dev/null +++ b/src/Fengling.Member.Domain/Repositories/IPointsRuleRepository.cs @@ -0,0 +1,15 @@ +using Fengling.Member.Domain.Aggregates.PointsRuleModel; +using Fengling.Member.Domain.Aggregates.PointsRuleModel.Enums; + +namespace Fengling.Member.Domain.Repositories; + +public interface IPointsRuleRepository +{ + Task GetByIdAsync(PointsRuleId id); + Task GetByCodeAsync(string code); + Task> GetActiveRulesAsync(); + Task> GetActiveRulesByDimensionAsync(DimensionType dimensionType, string dimensionValue); + Task AddAsync(PointsRule rule); + Task UpdateAsync(PointsRule rule); + Task DeleteAsync(PointsRuleId id); +}