zhangzengfei
2023-09-05 1b34d7bacad94933ad63fc0e199bd32ac49d9fa5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package models
 
type DeviceSdk struct {
    Id                 string         `gorm:"column:id;primary_key;type:varchar(50);unique;not null;" json:"id"`
    DevId             string         `gorm:"column:devId" json:"devId"`
    MachineCode     string         `gorm:"column:machineCode" json:"machineCode"`
    ActivateCode     string         `gorm:"column:activateCode" json:"activateCode"`
    SdkId             string         `gorm:"column:sdkId" json:"sdkId"`
    ExpireTime         string         `gorm:"column:expireTime" json:"expireTime"`
    InstallTime     string         `gorm:"column:installTime" json:"installTime"`   //安装时间
 
    SdkName         string         `gorm:"column:sdkName" json:"sdkName"`
    IconBlob         string         `gorm:"column:iconBlob" json:"iconBlob"`
    Version         string         `gorm:"column:version" json:"version"`
    Upgrade         bool         `gorm:"column:upgrade" json:"upgrade"`
}
 
func (DeviceSdk) TableName() string {
    return "t_device_sdk"
}
 
func (ds *DeviceSdk) Insert() bool {
    result := db.Table(ds.TableName()).Create(&ds)
    if result.Error == nil && result.RowsAffected > 0 {
        return true
    }
    return false
}
 
func (ds *DeviceSdk) SelectById(id string) (int64, error){
    result := db.Table(ds.TableName()).Where("id=?",id).First(&ds)
    if result.Error != nil || result.RowsAffected == 0 {
        return 0, err
    }
    return result.RowsAffected, nil
}
 
func (ds *DeviceSdk) Update() bool {
    result := db.Table(ds.TableName()).Where("id=?", ds.Id).Update(&ds)
    if result.Error ==nil && result.RowsAffected > 0 {
        return true
    }
    return false
}
 
func (ds *DeviceSdk) DeleteById(id string) bool {
    result := db.Exec("delete from "+ds.TableName()+" where id='"+id+"'")
    if result.Error == nil && result.RowsAffected > 0 {
        return true
    }
    return false
}
 
func (ds *DeviceSdk) FindByActivateCode(activateCode string) (list []DeviceSdk, err error) {
    result := db.Table(ds.TableName()).Where("activateCode=?", activateCode).Find(&list)
    if result.Error != nil {
        return []DeviceSdk{},result.Error
    }
    return list, nil
}
 
func (ds *DeviceSdk) FindByMachineCode(machineCode string, serverId string) (list []DeviceSdk, err error) {
    result := db.Table(ds.TableName()).Where("machineCode=? or devId=?", machineCode, serverId).Order("installTime desc").Find(&list)
    if result.Error != nil {
        return []DeviceSdk{},result.Error
    }
    return list, nil
}
 
func (ds *DeviceSdk) FindByMacAndSdk(macCode, serverId, sdkId string) (list []DeviceSdk, err error) {
    result := db.Table(ds.TableName()).Where("(machineCode=? or devId=?) and sdkId=?", macCode, serverId, sdkId).Find(&list)
    if result.Error != nil {
        return []DeviceSdk{},result.Error
    }
    return list, nil
}
 
//按设备id统计算法数量
func (ds *DeviceSdk) CountByDevId(devId string) (int,error) {
    var count int
    if err := db.Raw("select count(1) as count from "+ds.TableName()+" where devId=?",devId).Count(&count).Error; err != nil {
        return 0, err
    }
    return count, nil
}