From 2d0b4e9bc0b6d34aeee24939441d94f4bffb3c08 Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 16 Apr 2026 15:56:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=85=85=E5=80=BC=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=8C=89=E5=BD=93=E5=89=8D=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E8=B5=84=E4=BA=A7=E8=BF=87=E6=BB=A4=EF=BC=8C=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E8=B6=8A=E6=9D=83=E6=9F=A5=E7=9C=8B=E5=85=B6=E4=BB=96=E8=B5=84?= =?UTF-8?q?=E4=BA=A7=E6=95=B0=E6=8D=AE=E7=9A=84=E6=BC=8F=E6=B4=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- internal/handler/app/client_recharge_order.go | 6 +++++- .../store/postgres/recharge_order_store.go | 21 ++++++++++++------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/internal/handler/app/client_recharge_order.go b/internal/handler/app/client_recharge_order.go index 182d94d..f565dc7 100644 --- a/internal/handler/app/client_recharge_order.go +++ b/internal/handler/app/client_recharge_order.go @@ -32,7 +32,7 @@ func NewClientRechargeOrderHandler( return &ClientRechargeOrderHandler{ rechargeOrderStore: rechargeOrderStore, paymentStore: paymentStore, - logger: logger, + logger: logger, } } @@ -64,6 +64,10 @@ func (h *ClientRechargeOrderHandler) ListRechargeOrders(c *fiber.Ctx) error { PageSize: req.PageSize, UserID: &customerID, } + if assetType, assetID, ok := middleware.GetCurrentAsset(c); ok { + params.ResourceType = &assetType + params.ResourceID = &assetID + } if req.Status > 0 { params.Status = &req.Status } diff --git a/internal/store/postgres/recharge_order_store.go b/internal/store/postgres/recharge_order_store.go index 81e66a9..f39272c 100644 --- a/internal/store/postgres/recharge_order_store.go +++ b/internal/store/postgres/recharge_order_store.go @@ -131,14 +131,16 @@ func (s *RechargeOrderStore) ListByUserID(ctx context.Context, userID uint, offs } type ListRechargeOrderParams struct { - Page int - PageSize int - UserID *uint - IotCardID *uint - DeviceID *uint - Status *int - StartTime interface{} - EndTime interface{} + Page int + PageSize int + UserID *uint + IotCardID *uint + DeviceID *uint + Status *int + StartTime interface{} + EndTime interface{} + ResourceType *string + ResourceID *uint } func (s *RechargeOrderStore) List(ctx context.Context, params *ListRechargeOrderParams) ([]*model.RechargeOrder, int64, error) { @@ -159,6 +161,9 @@ func (s *RechargeOrderStore) List(ctx context.Context, params *ListRechargeOrder if params.Status != nil { query = query.Where("status = ?", *params.Status) } + if params.ResourceType != nil && params.ResourceID != nil { + query = query.Where("resource_type = ? AND resource_id = ?", *params.ResourceType, *params.ResourceID) + } if params.StartTime != nil { query = query.Where("created_at >= ?", params.StartTime) }