Bladeren bron

首页数据

huangyan 2 maanden geleden
bovenliggende
commit
88c67be312

+ 3 - 0
cmd/server/wire/wire.go

@@ -24,6 +24,7 @@ var RepositorySet = wire.NewSet(
 	repository.NewAccessControlRepository,
 	repository.NewHikvisionRepository,
 	repository.NewConferenceRepository,
+	repository.NewHomeRepository,
 )
 
 var ServiceSet = wire.NewSet(
@@ -32,6 +33,7 @@ var ServiceSet = wire.NewSet(
 	service.NewAccessControlService,
 	service.NewHikvisionService,
 	service.NewConferenceService,
+	service.NewHomeService,
 )
 
 var HandlerSet = wire.NewSet(
@@ -40,6 +42,7 @@ var HandlerSet = wire.NewSet(
 	handler.NewAccessControlHandler,
 	handler.NewHikvisionHandler,
 	handler.NewConferenceHandler,
+	handler.NewHomeHandler,
 )
 
 func NewWire(*viper.Viper, *log.Logger) (*gin.Engine, func(), error) {

+ 7 - 4
cmd/server/wire/wire_gen.go

@@ -34,7 +34,10 @@ func NewWire(viperViper *viper.Viper, logger *log.Logger) (*gin.Engine, func(),
 	conferenceRepository := repository.NewConferenceRepository(repositoryRepository)
 	conferenceService := service.NewConferenceService(serviceService, conferenceRepository, viperViper)
 	conferenceHandler := handler.NewConferenceHandler(handlerHandler, conferenceService, viperViper)
-	engine := server.NewServerHTTP(logger, accessControlHandler, hikvisionHandler, conferenceHandler)
+	homeRepository := repository.NewHomeRepository(repositoryRepository)
+	homeService := service.NewHomeService(serviceService, homeRepository)
+	homeHandler := handler.NewHomeHandler(handlerHandler, homeService, viperViper)
+	engine := server.NewServerHTTP(logger, accessControlHandler, hikvisionHandler, conferenceHandler, homeHandler)
 	return engine, func() {
 	}, nil
 }
@@ -43,8 +46,8 @@ func NewWire(viperViper *viper.Viper, logger *log.Logger) (*gin.Engine, func(),
 
 var ServerSet = wire.NewSet(server.NewServerHTTP)
 
-var RepositorySet = wire.NewSet(repository.NewDb, repository.NewRedis, repository.NewRepository, repository.NewUserRepository, repository.NewAccessControlRepository, repository.NewHikvisionRepository, repository.NewConferenceRepository)
+var RepositorySet = wire.NewSet(repository.NewDb, repository.NewRedis, repository.NewRepository, repository.NewUserRepository, repository.NewAccessControlRepository, repository.NewHikvisionRepository, repository.NewConferenceRepository, repository.NewHomeRepository)
 
-var ServiceSet = wire.NewSet(service.NewService, service.NewUserService, service.NewAccessControlService, service.NewHikvisionService, service.NewConferenceService)
+var ServiceSet = wire.NewSet(service.NewService, service.NewUserService, service.NewAccessControlService, service.NewHikvisionService, service.NewConferenceService, service.NewHomeService)
 
-var HandlerSet = wire.NewSet(handler.NewHandler, handler.NewUserHandler, handler.NewAccessControlHandler, handler.NewHikvisionHandler, handler.NewConferenceHandler)
+var HandlerSet = wire.NewSet(handler.NewHandler, handler.NewUserHandler, handler.NewAccessControlHandler, handler.NewHikvisionHandler, handler.NewConferenceHandler, handler.NewHomeHandler)

+ 62 - 0
internal/handler/home.go

@@ -0,0 +1,62 @@
+package handler
+
+import (
+	"city_chips/internal/service"
+	"city_chips/pkg/helper/resp"
+	"github.com/gin-gonic/gin"
+	"github.com/spf13/viper"
+)
+
+type HomeHandler struct {
+	*Handler
+	homeService service.HomeService
+	conf        *viper.Viper
+}
+
+func NewHomeHandler(handler *Handler, homeService service.HomeService, conf *viper.Viper) *HomeHandler {
+	return &HomeHandler{
+		Handler:     handler,
+		homeService: homeService,
+		conf:        conf,
+	}
+}
+
+// GetHome 获取首页数据
+func (h *HomeHandler) GetHome(ctx *gin.Context) {
+	m := make(map[string]any)
+	Alarm := make(map[string]any)
+	m["Area"] = 20000                //建筑面积
+	m["FloorSpace"] = 20000          //占地面积
+	m["BuildingHeight"] = 30         //建筑高度
+	m["Storey"] = 30                 //建筑层数
+	m["Device"] = 30                 //设备总数
+	m["Runing"] = 30                 //运行总数
+	m["Fault"] = 30                  //设备故障
+	m["Alarm"] = 30                  //报警数量
+	m["TodayConsumption"] = 9342     //今日电能耗
+	m["WeekConsumption"] = 30        //本周电能耗
+	m["MonthConsumption"] = 432      //本月电能耗
+	m["YearConsumption"] = 133       //本年电能耗
+	m["Impetus"] = 67                //动力能耗
+	m["illuminating"] = 432          //照明能耗
+	m["SpecialElectricity"] = 10     //特殊用电能耗
+	m["AirConditioningSockets"] = 30 //空调插座能耗
+	m["TodaysTicket"] = 30           //今日工单
+	m["ConductedTicket"] = 909       //进行工单
+	m["TimeoutTicket"] = 30          //超时工单
+	m["Demands"] = 30                //诉求总数
+	m["DisposeDemands"] = 30         //已处理诉求
+	m["UnDisposeDemands"] = 30       //未处理诉求
+	m["TodayDisposeDemands"] = 30    //今日新增
+	m["OccupationDriveway"] = 321    //占用车位
+	m["IdleDriveway"] = 30           //空闲车位
+	Alarm["2025-5-1"] = 10
+	Alarm["2025-5-2"] = 2210
+	Alarm["2025-5-3"] = 30
+	Alarm["2025-5-4"] = 40
+	Alarm["2025-5-5"] = 5320
+	Alarm["2025-5-6"] = 60
+	Alarm["2025-5-7"] = 70
+	m["AlarmCount"] = Alarm //报警统计
+	resp.HandleSuccess(ctx, m)
+}

+ 11 - 0
internal/model/home.go

@@ -0,0 +1,11 @@
+package model
+
+import "gorm.io/gorm"
+
+type Home struct {
+	gorm.Model
+}
+
+func (m *Home) TableName() string {
+	return "home"
+}

+ 28 - 0
internal/repository/home.go

@@ -0,0 +1,28 @@
+package repository
+
+import (
+	"city_chips/internal/model"
+	
+)
+
+type HomeRepository interface {
+	GetHome(ctx context.Context, id int64) (*model.Home, error)
+}
+
+func NewHomeRepository(
+	repository *Repository,
+) HomeRepository {
+	return &homeRepository{
+		Repository: repository,
+	}
+}
+
+type homeRepository struct {
+	*Repository
+}
+
+func (r *homeRepository) GetHome(ctx context.Context, id int64) (*model.Home, error) {
+	var home model.Home
+
+	return &home, nil
+}

+ 6 - 1
internal/server/http.go

@@ -7,7 +7,7 @@ import (
 	"github.com/gin-gonic/gin"
 )
 
-func NewServerHTTP(logger *log.Logger, accessHandler *handler.AccessControlHandler, hikvision *handler.HikvisionHandler, conference *handler.ConferenceHandler) *gin.Engine {
+func NewServerHTTP(logger *log.Logger, accessHandler *handler.AccessControlHandler, hikvision *handler.HikvisionHandler, conference *handler.ConferenceHandler, home *handler.HomeHandler) *gin.Engine {
 	gin.SetMode(gin.ReleaseMode)
 	r := gin.Default()
 	r.Use(
@@ -35,5 +35,10 @@ func NewServerHTTP(logger *log.Logger, accessHandler *handler.AccessControlHandl
 		Conference.GET("/meetingRoomById", conference.MeetingRoomById)
 		Conference.GET("/location", conference.Location)
 	}
+	//首页数据
+	h := r.Group("/Home")
+	{
+		h.GET("/count", home.GetHome)
+	}
 	return r
 }

+ 33 - 0
internal/service/home.go

@@ -0,0 +1,33 @@
+package service
+
+import (
+	"city_chips/internal/model"
+	"city_chips/internal/repository"
+	
+)
+
+type HomeService interface {
+	GetHome(ctx context.Context, id int64) (*model.Home, error)
+}
+error)
+}
+	service *Service,
+	homeRepository repository.HomeRepository,
+func NewHomeService(
+    service *Service,
+    homeRepository repository.HomeRepository,
+) HomeService {
+	return &homeService{
+		Service:        service,
+		homeRepository: homeRepository,
+	}
+}
+
+type homeService struct {
+	*Service
+	homeRepository repository.HomeRepository
+}
+
+func (s *homeService) GetHome(ctx context.Context, id int64) (*model.Home, error) {
+	return s.homeRepository.GetHome(ctx, id)
+}