fix(#5):修复为前端下列表记提供的接口

This commit is contained in:
2023-08-08 15:21:12 +08:00
parent a593666542
commit ed5a3f6c0a
5 changed files with 97 additions and 2 deletions

View File

@@ -41,6 +41,7 @@ func InitializeMeterHandlers(router *fiber.App) {
router.Get("/reading/:pid/template", security.EnterpriseAuthorize, downloadMeterReadingsTemplate)
router.Post("/reading/:pid/batch", security.EnterpriseAuthorize, uploadMeterReadings)
router.Post("/reading/:pid/:code", security.EnterpriseAuthorize, recordMeterReading)
router.Get("/reading/:pid/choice", security.EnterpriseAuthorize, listReadableMeters)
}
// 查询指定园区下的表计信息
@@ -500,3 +501,31 @@ func uploadMeterReadings(c *fiber.Ctx) error {
}
return result.Success("表计档案已经导入完成。", fiber.Map{"errors": errs})
}
// 列出可以作为抄表目标的表计,主要用于创建抄表记录时的下拉选择。
func listReadableMeters(c *fiber.Ctx) error {
parkId := c.Params("pid")
meterLog.Info("列出可以作为抄表目标的表计", zap.String("parkId", parkId))
result := response.NewResult(c)
if len(parkId) == 0 {
meterLog.Error("无法列出指定园区中尚未绑定商户的表计未指定要访问的园区ID")
return result.NotAccept("未指定要访问的园区。")
}
if pass, err := checkParkBelongs(parkId, meterLog, c, &result); !pass {
return err
}
limit := c.QueryInt("limit", 10)
keyword := tools.EmptyToNil(c.Query("keyword"))
meters, err := repository.MeterRepository.ListReadableMeters(parkId, keyword, uint(limit))
if err != nil {
meterLog.Error(
"无法列出可以作为抄表目标的表计,无法获取表计列表", zap.Error(err))
return result.Error(http.StatusInternalServerError, err.Error())
}
var simplifiedMeters = make([]*vo.ReadableMeterQueryResponse, 0)
copier.Copy(&simplifiedMeters, &meters)
return result.Success(
"指定园区中的可作为抄表目标的表计已经列出。",
fiber.Map{"meters": simplifiedMeters},
)
}