From 9b899be33d199865c60c6864730435cd2ab7ed68 Mon Sep 17 00:00:00 2001 From: ZiHangQin <1420014281@qq.com> Date: Mon, 31 Jul 2023 09:50:41 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=A4=A9=E7=A5=9E=E6=A8=A1=E5=BC=8F]=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E7=AC=A6=E5=90=88=E6=9D=A1=E4=BB=B6=E8=A1=A8=E8=AE=A1?= =?UTF-8?q?=E5=85=AC=E6=91=8A=E5=85=B3=E7=B3=BB=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/god_mode.go | 14 ++++++++++++++ service/god_mode.go | 22 ++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/controller/god_mode.go b/controller/god_mode.go index b7b4242..40099cf 100644 --- a/controller/god_mode.go +++ b/controller/god_mode.go @@ -19,6 +19,7 @@ func InitializeGmController(router *fiber.App) { router.Delete("/gm/report", security.SingularityAuthorize, deleteReports) router.Delete("/gm/tenement/meter", security.SingularityAuthorize, deleteTenementMeterRelations) router.Delete("/gm/enterprise", security.SingularityAuthorize, deleteEnterprise) + router.Delete("/gm/meter/pooling", security.SingularityAuthorize, deleteMeterPoolingRelations) } //用于将参数转化为切片 @@ -103,3 +104,16 @@ func deleteTenementMeterRelations(c *fiber.Ctx) error { } return result.Success("删除成功") } + +func deleteMeterPoolingRelations(c *fiber.Ctx) error { + result := response.NewResult(c) + parkId := c.Query("park") + mId := getQueryValues(c, "meters") + GmLog.Info("[天神模式]删除指定园区中的表计公摊关系", zap.String("park id", parkId)) + if err := service.GMService.DeleteMeterPooling(parkId, mId); err != nil { + meterLog.Error("[天神模式]删除指定园区中的表计公摊关系失败", zap.Error(err)) + return result.Error(500, "删除指定园区中的表计公摊关系失败。") + } + return result.Success("指定表计公摊关系已经删除。") + +} diff --git a/service/god_mode.go b/service/god_mode.go index 6c66439..8001b08 100644 --- a/service/god_mode.go +++ b/service/god_mode.go @@ -175,3 +175,25 @@ func (gm _GMService) DeleteEnterprises(uid string) error { } return nil } + +func (gm _GMService) DeleteMeterPooling(pId string, mId []string) error { + ctx, cancel := global.TimeoutContext() + defer cancel() + tx, err := global.DB.Begin(ctx) + if err != nil { + gm.l.Error("开启数据库事务失败。", zap.Error(err)) + return err + } + if err := repository.GMRepository.DeleteMeterPoolings(ctx, tx, pId, mId); err != nil { + gm.l.Error("无法删除指定表记公摊关系。", zap.Error(err)) + tx.Rollback(ctx) + return err + } + err = tx.Commit(ctx) + if err != nil { + gm.l.Error("未能成功提交数据库事务。", zap.Error(err)) + tx.Rollback(ctx) + return err + } + return nil +} \ No newline at end of file