Browse Source

Merge remote-tracking branch 'origin/master'

2545307760@qq.com 7 months ago
parent
commit
17fca97e11

+ 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

+ 2 - 2
server/dao/tunnel.go

@@ -30,7 +30,7 @@ func (Tunnel) TableName() string {
 }
 
 func QueryAllTunnels() (tunnels []Tunnel, err error) {
-	err = global.GVA_DB.Find(&tunnels).Preload("Users").Preload("TunnelTime").Preload("Devices").Preload("Devices.DeviceRelays").Preload("Devices.Tunnel").Preload("Region").Preload("EnvData").Preload("OpticalData").Error
+	err = global.GVA_DB.Find(&tunnels).Preload("Users").Preload("TunnelTime").Preload("Devices").Preload("Devices.InductanceDetails").Preload("Devices.DeviceRelays").Preload("Devices.Tunnel").Preload("Region").Preload("EnvData").Preload("OpticalData").Error
 	return tunnels, err
 }
 
@@ -50,7 +50,7 @@ func QueryTunnelList(name string, regionId, userId, limit, offset int) (tunnels
 	if err != nil {
 		return
 	}
-	err = db.Limit(limit).Offset(offset).Preload("Users").Preload("TunnelTime").Preload("Devices").Preload("Devices.DeviceRelays").Preload("Devices.Tunnel").Preload("Region").Preload("EnvData").Preload("OpticalData").Find(&tunnels).Error
+	err = db.Limit(limit).Offset(offset).Preload("Users").Preload("TunnelTime").Preload("Devices").Preload("Devices.InductanceDetails").Preload("Devices.DeviceRelays").Preload("Devices.Tunnel").Preload("Region").Preload("EnvData").Preload("OpticalData").Find(&tunnels).Error
 	return
 }
 

+ 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 {