[天神模式]删除符合条件表计公摊关系完成

This commit is contained in:
ZiHangQin 2023-07-31 09:50:41 +08:00
parent c36bfff05a
commit 9b899be33d
2 changed files with 36 additions and 0 deletions

View File

@ -19,6 +19,7 @@ func InitializeGmController(router *fiber.App) {
router.Delete("/gm/report", security.SingularityAuthorize, deleteReports) router.Delete("/gm/report", security.SingularityAuthorize, deleteReports)
router.Delete("/gm/tenement/meter", security.SingularityAuthorize, deleteTenementMeterRelations) router.Delete("/gm/tenement/meter", security.SingularityAuthorize, deleteTenementMeterRelations)
router.Delete("/gm/enterprise", security.SingularityAuthorize, deleteEnterprise) 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("删除成功") 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("指定表计公摊关系已经删除。")
}

View File

@ -175,3 +175,25 @@ func (gm _GMService) DeleteEnterprises(uid string) error {
} }
return nil 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
}