[天神模式]删除符合条件的商户绑定的表计关系

This commit is contained in:
ZiHangQin 2023-07-28 17:29:41 +08:00
parent 18d48c7fea
commit 1dd5f1049d
2 changed files with 50 additions and 6 deletions

View File

@ -14,9 +14,10 @@ import (
var GmLog = logger.Named("Handler", "GM")
func InitializeGmController(router *fiber.App) {
router.Delete("/gm/tenement", security.SingularityAuthorize, DeleteTenement)
router.Delete("/gm/park", security.SingularityAuthorize, DeletePark)
router.Delete("/gm/report", security.SingularityAuthorize, DeleteReports)
router.Delete("/gm/tenement", security.SingularityAuthorize, deleteTenement)
router.Delete("/gm/park", security.SingularityAuthorize, deletePark)
router.Delete("/gm/report", security.SingularityAuthorize, DeleteEnterprise)
router.Delete("/gm/tenement/meter",security.SingularityAuthorize, deleteTenementMeterRelations)
}
//用于将参数转化为切片
@ -29,7 +30,7 @@ func getQueryValues(c *fiber.Ctx, paramName string) []string {
return result
}
func DeleteTenement(c *fiber.Ctx) error {
func deleteTenement(c *fiber.Ctx) error {
park := c.Query("park", "")
tenements := getQueryValues(c, "tenements")
result := response.NewResult(c)
@ -44,7 +45,7 @@ func DeleteTenement(c *fiber.Ctx) error {
return result.Success("指定商户已经删除。")
}
func DeletePark(c *fiber.Ctx) error {
func deletePark(c *fiber.Ctx) error {
parks := getQueryValues(c, "parks")
result := response.NewResult(c)
GmLog.Info("[天神模式]删除指定园区", zap.Strings("parks", parks))
@ -62,7 +63,7 @@ func DeletePark(c *fiber.Ctx) error {
return result.Success("指定园区已经删除。")
}
func DeleteReports(c *fiber.Ctx) error {
func deleteReports(c *fiber.Ctx) error {
pid := c.Query("park")
reports := getQueryValues(c, "reports")
result := response.NewResult(c)
@ -75,3 +76,22 @@ func DeleteReports(c *fiber.Ctx) error {
}
return result.Success("指定报表已经删除。")
}
func DeleteEnterprise(c *fiber.Ctx) error {
return nil
}
func deleteTenementMeterRelations(c *fiber.Ctx) error {
result := response.NewResult(c)
parkId := c.Query("park")
tId := getQueryValues(c,"tenements")
metersId := getQueryValues(c, "meters")
GmLog.Info("删除指定园区中的商户与表计的关联关系", zap.String("park id", parkId))
if err := service.GMService.DeleteTenementMeterRelations(parkId, tId, metersId); err != nil {
meterLog.Error("无法删除指定园区中的商户与表计的关联关系", zap.Error(err))
return result.NotAccept(err.Error())
}
return result.Success("删除成功")
}

View File

@ -104,3 +104,27 @@ func (gm _GMService) DeleteReports(pid string, reports []string) error {
tx.Commit(ctx)
return nil
}
func (gm _GMService) DeleteTenementMeterRelations(pId string, tId []string, mId []string) error {
gm.l.Info("删除商户表记关系", zap.String("tenement", pId))
ctx, cancel := global.TimeoutContext(10)
defer cancel()
tx, err := global.DB.Begin(ctx)
if err != nil {
gm.l.Error("开启数据库事务失败。", zap.Error(err))
return err
}
if err := repository.GMRepository.DeleteMeterBinding(ctx, tx, pId, tId, 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
}