From ed83fbc77cf962ec1340c0be2842b98015acd5d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Mon, 19 Sep 2022 11:54:23 +0800 Subject: [PATCH] =?UTF-8?q?fix(fee):=E5=AE=8C=E6=88=90=E9=85=8D=E7=94=B5?= =?UTF-8?q?=E7=BB=B4=E6=8A=A4=E8=B4=B9=E9=83=A8=E5=88=86=E7=9A=84=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E8=AF=AD=E5=8F=A5=E8=B0=83=E6=95=B4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- service/maintenance_fee.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/service/maintenance_fee.go b/service/maintenance_fee.go index 9fc3eb7..22ea876 100644 --- a/service/maintenance_fee.go +++ b/service/maintenance_fee.go @@ -131,14 +131,22 @@ func (_MaintenanceFeeService) EnsureFeeBelongs(uid, mid string) (bool, error) { ctx, cancel := global.TimeoutContext() defer cancel() - exists, err := global.DB.NewSelect().Model((*model.Park)(nil)). + parks := make([]model.Park, 0) + err := global.DB.NewSelect().Model(&parks). Relation("MaintenanceFees"). Where("p.user_id = ?", uid). - Where("m.id = ?", mid). - Exists(ctx) + Scan(ctx) if err != nil { return false, err } + exists := lo.Reduce(parks, func(acc bool, elem model.Park, _ int) bool { + for _, e := range elem.MaintenanceFees { + if e.Id == mid { + return acc || true + } + } + return acc || false + }, false) if !exists { return false, exceptions.NewNotFoundError("指定维护费所属园区未找到。") }