[天神模式]删除符合条件的报表完成

This commit is contained in:
ZiHangQin 2023-07-28 16:46:52 +08:00
parent 8ab89bca34
commit 18d48c7fea
2 changed files with 36 additions and 2 deletions

View File

@ -16,6 +16,7 @@ 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)
}
//用于将参数转化为切片
@ -55,8 +56,22 @@ func DeletePark(c *fiber.Ctx) error {
err := service.GMService.DeleteParks(parks)
if err != nil {
GmLog.Error("[天神模式]删除指定园区失败",zap.Error(err))
return result.Error(500,err.Error())
GmLog.Error("[天神模式]删除指定园区失败", zap.Error(err))
return result.Error(500, err.Error())
}
return result.Success("指定园区已经删除。")
}
func DeleteReports(c *fiber.Ctx) error {
pid := c.Query("park")
reports := getQueryValues(c, "reports")
result := response.NewResult(c)
GmLog.Info("[天神模式]删除符合条件的报表。", zap.Strings("reports", reports))
err := service.GMService.DeleteReports(pid, reports)
if err != nil {
GmLog.Error("[天神模式]删除指定园区中的报表失败。", zap.Error(err))
return result.Error(500, err.Error())
}
return result.Success("指定报表已经删除。")
}

View File

@ -85,3 +85,22 @@ func (gm _GMService) DeleteParks(parks []string) error {
tx.Commit(ctx)
return nil
}
func (gm _GMService) DeleteReports(pid string, reports []string) error {
ctx, cancel := global.TimeoutContext()
defer cancel()
tx, err := global.DB.Begin(ctx)
if err != nil {
gm.l.Error("未能启动数据库事务", zap.Error(err))
return fmt.Errorf("未能启动数据库事务,%w", err)
}
err = repository.GMRepository.DeleteReports(ctx, tx, pid, reports)
if err != nil {
tx.Rollback(ctx)
return err
}
tx.Commit(ctx)
return nil
}