feat(expiry): 完成 #20 模块目录与健康路由

This commit is contained in:
root
2026-03-04 17:06:26 +08:00
parent fe9f64f51d
commit f092019c61
7 changed files with 109 additions and 1 deletions
+28
View File
@@ -0,0 +1,28 @@
package expiry
import (
"net/http"
"github.com/gin-gonic/gin"
)
// Handler 负责 HTTP 层处理。
type Handler struct {
service *Service
}
func NewHandler(service *Service) *Handler {
return &Handler{service: service}
}
// Healthz 用于 expiry 模块健康检查。
func (h *Handler) Healthz(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"code": 0,
"message": "success",
"data": gin.H{
"module": "expiry",
"status": "ok",
},
})
}
+19
View File
@@ -0,0 +1,19 @@
package expiry
import "time"
// ExpiryItem 表示保质期物品。
// 详细字段会在后续 issue 中完善。
type ExpiryItem struct {
ID uint `json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
// ExpiryUserSettings 表示用户提醒设置。
// 详细字段会在后续 issue 中完善。
type ExpiryUserSettings struct {
ID uint `json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
+12
View File
@@ -0,0 +1,12 @@
package expiry
import "gorm.io/gorm"
// Repository 封装保质期模块的数据访问能力。
type Repository struct {
db *gorm.DB
}
func NewRepository(db *gorm.DB) *Repository {
return &Repository{db: db}
}
+10
View File
@@ -0,0 +1,10 @@
package expiry
// Service 封装保质期模块业务逻辑。
type Service struct {
repo *Repository
}
func NewService(repo *Repository) *Service {
return &Service{repo: repo}
}