feat(expiry): 完成 #20 模块目录与健康路由
This commit is contained in:
@@ -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",
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -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"`
|
||||
}
|
||||
@@ -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}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package expiry
|
||||
|
||||
// Service 封装保质期模块业务逻辑。
|
||||
type Service struct {
|
||||
repo *Repository
|
||||
}
|
||||
|
||||
func NewService(repo *Repository) *Service {
|
||||
return &Service{repo: repo}
|
||||
}
|
||||
Reference in New Issue
Block a user