| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- // handler.go - 专门实现接口业务逻辑
- package lc
- import (
- "github.com/gin-gonic/gin"
- "net/http"
- )
- // PlateDeviceHandler 业务处理结构体,持有哨兵服务实例(核心依赖)
- type PlateDeviceHandler struct {
- sentinelServer *SentinelServer // 依赖哨兵服务实例,调用核心方法
- }
- // NewPlateDeviceHandler 创建业务处理实例(注入哨兵服务依赖)
- func NewPlateDeviceHandler(s *SentinelServer) *PlateDeviceHandler {
- return &PlateDeviceHandler{
- sentinelServer: s,
- }
- }
- // 设置屏幕参数
- func (h *PlateDeviceHandler) SetDeviceData(c *gin.Context) {
- var info DeviceData
- err := c.ShouldBindJSON(&info)
- if err != nil {
- c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
- }
- err = h.sentinelServer.SetDeviceDataToRedis(info)
- if err != nil {
- c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
- return
- }
- c.JSON(http.StatusOK, gin.H{})
- }
- // 获取设备参数
- func (h *PlateDeviceHandler) GetDeviceData(c *gin.Context) {
- data, err := h.sentinelServer.GetDeviceDataFromRedis()
- if err != nil {
- c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
- return
- }
- c.JSON(http.StatusOK, gin.H{"data": data})
- }
|