Bläddra i källkod

按设备类型 查询设备数量

xu 7 månader sedan
förälder
incheckning
1eb0435561
3 ändrade filer med 50 tillägg och 3 borttagningar
  1. 14 0
      server/dao/device.go
  2. 7 0
      server/model/common/response/common.go
  3. 29 3
      server/service/admin/device_genre.go

+ 14 - 0
server/dao/device.go

@@ -84,6 +84,20 @@ func QueryDGDeviceByTunnelSn(tunnelSn string) (device Device, err error) {
 	return
 }
 
+type Results struct {
+	Genre int
+	Count int
+}
+
+func QueryDeviceNumberByGenre() (data []Results, err error) {
+
+	err = global.GVA_DB.Model(&Device{}).
+		Select("genre, count(id) as count").
+		Group("genre").
+		Scan(&data).Error
+	return data, err
+}
+
 func (d Device) CreateDevice() error {
 	return global.GVA_DB.Transaction(func(tx *gorm.DB) error {
 		err := tx.Create(&d).Error

+ 7 - 0
server/model/common/response/common.go

@@ -1,5 +1,7 @@
 package response
 
+import "server/dao"
+
 type PageResult struct {
 	List     interface{} `json:"list"`
 	Total    int64       `json:"total"`
@@ -28,3 +30,8 @@ type DeviceFileData struct {
 	EnvDev  []EnvDev  `json:"envDev"`
 	LampDev []LampDev `json:"lampDev"`
 }
+
+type DeviceGenres struct {
+	dao.DeviceGenre
+	Count int
+}

+ 29 - 3
server/service/admin/device_genre.go

@@ -1,11 +1,37 @@
 package admin
 
-import "server/dao"
+import (
+	"server/dao"
+	"server/model/common/response"
+)
 
 type DeviceGenreService struct{}
 
-func (dgs *DeviceGenreService) QueryAllDeviceGenres() ([]dao.DeviceGenre, error) {
-	return dao.QueryAllDeviceGenres()
+func (dgs *DeviceGenreService) QueryAllDeviceGenres() ([]response.DeviceGenres, error) {
+	genres, err := dao.QueryAllDeviceGenres()
+	if err != nil {
+		return nil, err
+	}
+	data, err := dao.QueryDeviceNumberByGenre()
+	if err != nil {
+		return nil, err
+	}
+
+	data1 := []response.DeviceGenres{}
+
+	for _, genre := range genres {
+		for _, i3 := range data {
+			if int(genre.ID) == i3.Genre {
+				deviceGenres := response.DeviceGenres{
+					genre,
+					i3.Count,
+				}
+				data1 = append(data1, deviceGenres)
+			}
+		}
+	}
+
+	return data1, err
 }
 
 func (dgs *DeviceGenreService) CreateDeviceGenre(genre dao.DeviceGenre) error {