forked from free-lancers/electricity_bill_calc_service
		
	[天神模式]删除符合条件的商户绑定的表计关系
This commit is contained in:
		| @@ -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("删除成功") | ||||
| } | ||||
| @@ -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 | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user