package handler import ( "github.com/gin-gonic/gin" "github.com/go-kratos/kratos/v3/errors" "kra/internal/service/business" "kra/internal/service/dto" ) type Business struct { preference *business.UserPreferenceService } func NewBusiness(preference *business.UserPreferenceService) *Business { return &Business{preference: preference} } func (h *Business) UserPreference(c *gin.Context) { value, err := h.preference.Current(c.Request.Context()) if err != nil { Fail(c, errors.FromError(err).Message) return } OKWithData(c, value) } func (h *Business) UpdateUserPreference(c *gin.Context) { var req dto.UserPreferenceRequest if err := c.ShouldBindJSON(&req); err != nil { Fail(c, "偏好参数格式错误") return } if err := h.preference.UpdateCurrent(c.Request.Context(), &req); err != nil { Fail(c, errors.FromError(err).Message) return } OK(c) }