From ea929fd1063dbe7550ce1b51275bd1228168079b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Sun, 21 Aug 2022 21:12:07 +0800 Subject: [PATCH] =?UTF-8?q?feat(report):=E5=AE=8C=E6=88=90=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=8C=87=E5=AE=9A=E5=BE=85=E6=91=8A=E8=96=84=E8=B4=B9?= =?UTF-8?q?=E7=94=A8=E4=BF=A1=E6=81=AF=E7=9A=84=E5=8A=9F=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/report.go | 25 +++++++++++++++++++++++++ service/report.go | 5 +++++ 2 files changed, 30 insertions(+) diff --git a/controller/report.go b/controller/report.go index ce13aa3..00a2165 100644 --- a/controller/report.go +++ b/controller/report.go @@ -29,6 +29,7 @@ func InitializeReportController(router *gin.Engine) { router.GET("/report/:rid/maintenance", security.EnterpriseAuthorize, fetchWillDilutedFees) router.POST("/report/:rid/maintenance", security.EnterpriseAuthorize, createTemporaryWillDilutedFee) router.POST("/report/:rid/maintenance/import", security.EnterpriseAuthorize, importPredefinedMaintenanceFees) + router.PUT("/report/:rid/maintenance/:mid", security.EnterpriseAuthorize, modifyWillDilutedFee) } func ensureReportBelongs(c *gin.Context, result *response.Result, requestReportId string) bool { @@ -297,3 +298,27 @@ func importPredefinedMaintenanceFees(c *gin.Context) { } result.Created("预定义的配电维护费已经导入。") } + +type DilutedFeeModificationFormData struct { + Name *string `json:"name,omitempty" form:"name"` + Fee decimal.Decimal `json:"fee" form:"fee"` + Memo *string `json:"memo,omitempty" form:"memo"` +} + +func modifyWillDilutedFee(c *gin.Context) { + result := response.NewResult(c) + requestReportId := c.Param("rid") + if !ensureReportBelongs(c, result, requestReportId) { + return + } + requestFeeId := c.Param("mid") + formData := new(DilutedFeeModificationFormData) + c.BindJSON(formData) + updateValues := tools.ConvertStructToMap(formData) + err := service.ReportService.UpdateMaintenanceFee(requestFeeId, updateValues) + if err != nil { + result.Error(http.StatusInternalServerError, err.Error()) + return + } + result.Updated("指定待摊薄费用信息已经更新。") +} diff --git a/service/report.go b/service/report.go index b39d1d2..00d823e 100644 --- a/service/report.go +++ b/service/report.go @@ -237,3 +237,8 @@ func (_ReportService) BatchSaveMaintenanceFee(fees []model.WillDilutedFee) error } return nil } + +func (_ReportService) UpdateMaintenanceFee(feeId string, updates map[string]interface{}) (err error) { + _, err = global.DBConn.Table(new(model.WillDilutedFee)).ID(feeId).Update(updates) + return +}