feat: enhance consumer and partner middleware with Redis caching

- Added Redis caching to ConsumerMiddleware and PartnerMiddleware to improve performance by reducing database calls for consumer and partner data.
- Implemented logic to check for cached data before querying the database.
- Updated the InvoicesService to include settlement_type in the selected fields.
- Removed unnecessary console logs from CustomersService.
- Modified SalesInvoicesService to optimize query logic and improve performance.
- Updated StatisticsService to streamline data retrieval and processing.
- Created a new migration to add last_attempt_no and last_tsp_status columns to sales_invoices for better tracking of TSP attempts.
This commit is contained in:
2026-06-09 13:31:58 +03:30
parent f61100bf25
commit 47a27fb54f
19 changed files with 482 additions and 134 deletions
@@ -1,4 +1,8 @@
export class ConsumerKeyMaker {
static middleware(token: string): string {
return `consumer:middleware:${token}`
}
static consumerInfo(consumerId: string): string {
return `consumers:${consumerId}:info`
}
+2
View File
@@ -14,6 +14,7 @@ export class RedisKeyMaker extends PartnerKeyMaker {
static pos = PosKeyMaker
static consumerInfo = ConsumerKeyMaker.consumerInfo
static consumerMiddleware = ConsumerKeyMaker.middleware
static consumerBusinessActivitiesList = ConsumerKeyMaker.consumerBusinessActivitiesList
static consumerBusinessActivityInfo = ConsumerKeyMaker.consumerBusinessActivityInfo
@@ -21,6 +22,7 @@ export class RedisKeyMaker extends PartnerKeyMaker {
static guildGoodsList = GuildKeyMaker.guildGoodsList
static posMiddleware = PosKeyMaker.middleware
static partnerMiddleware = PartnerKeyMaker.middleware
static posInfo = PosKeyMaker.info
static posMe = PosKeyMaker.me
static posGoodsList = PosKeyMaker.goodList
@@ -1,4 +1,8 @@
export class PartnerKeyMaker {
static middleware(token): string {
return `partner:middleware:${token}`
}
static partnersList(): string {
return 'partners:list'
}