forked from free-lancers/electricity_bill_calc_service
fix(#5):修复为前端下列表记提供的接口
This commit is contained in:
@@ -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},
|
||||
)
|
||||
}
|
||||
|
Reference in New Issue
Block a user