[天神模式]删除指定的园区完成

This commit is contained in:
2023-07-28 16:25:49 +08:00
parent b64929c10a
commit 8ab89bca34
3 changed files with 387 additions and 3 deletions

View File

@@ -44,3 +44,44 @@ func (gm _GMService) DeleteTenements(pid string, tenements []string) error {
tx.Commit(ctx)
return nil
}
func (gm _GMService) DeleteParks(parks []string) error {
var err 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)
}
for _, pid := range parks {
//删除invoices
err = repository.GMRepository.DeleteInvoices(ctx, tx, pid)
//删除meter_binding
err = repository.GMRepository.DeleteMeterBinding(ctx, tx, pid, []string{})
//删除meter_pookings
err = repository.GMRepository.DeleteMeterPookings(ctx, tx, pid)
//删除tenements
err = repository.GMRepository.DeleteTenements(ctx, tx, pid, []string{})
//删除meters
err = repository.GMRepository.DeleteMeters(ctx, tx, pid)
//删除reports
err = repository.GMRepository.DeleteReports(ctx, tx, pid)
//删除buildings
err = repository.GMRepository.DeleteBuildings(ctx, tx, pid)
if err != nil {
gm.l.Error("删除关联表出错。", zap.Error(err))
break
return err
}
}
err = repository.GMRepository.DeleteParks(ctx, tx, parks)
if err != nil {
gm.l.Error("指定园区删除失败。", zap.Error(err))
return err
}
tx.Commit(ctx)
return nil
}