新增签到日历筛选

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-06-16 20:49:21 +08:00
co-authored by Claude
parent d36455ce71
commit 8690265fa0
6 changed files with 275 additions and 5 deletions
+12
View File
@@ -88,6 +88,14 @@ func registerAPIRoutes(r gin.IRouter, store *store, mapTileCacheDir string) {
total, err := store.CountSigns(opts)
writeListResponseWithTotal(c, rows, opts, total, err, signDTO)
})
r.GET("/signs/daily", func(c *gin.Context) {
opts, ok := parseListOptions(c)
if !ok {
return
}
rows, err := store.CountSignsByDay(opts)
writeListResponse(c, rows, opts, err, signDayCountDTO)
})
r.GET("/text-messages", func(c *gin.Context) {
opts, ok := parseListOptions(c)
if !ok {
@@ -617,6 +625,10 @@ func signDTO(row signRecord) gin.H {
return gin.H{"id": row.ID, "node_id": row.NodeID, "long_name": ptrString(row.LongName), "short_name": ptrString(row.ShortName), "sign_text": row.SignText, "sign_time": row.SignTime}
}
func signDayCountDTO(row signDayCount) gin.H {
return gin.H{"date": row.Date, "count": row.Count}
}
func textMessageDTO(row textMessageRecord) gin.H {
return gin.H{"id": row.ID, "from_id": row.FromID, "from_num": row.FromNum, "packet_id": ptrInt64(row.PacketID), "text": ptrString(row.Text), "topic": row.Topic, "channel_id": ptrString(row.ChannelID), "created_at": row.CreatedAt, "mqtt_remote_host": ptrString(row.MQTTRemoteHost), "content_json": row.ContentJSON}
}