zhangzengfei
2023-11-28 3a706d3378aa3626501370352963883fd2783558
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
package models
 
type SdkChanSet struct {
    SdkType         string         `gorm:"column:sdk_type;primary_key" json:"sdk_type"`
    ChanNum         int         `gorm:"column:chan_num;default:16" json:"chan_num"`
    ConfidenceInc     int          `gorm:"column:confidenceInc;default:5" json:"confidenceInc"`
    MinMovePos         int          `gorm:"column:minMovePos;default:1" json:"minMovePos"`
}
 
func (SdkChanSet) TableName() string {
    return "sdk_chan_set"
}
 
func (scs *SdkChanSet) FindAll() (list []SdkChanSet,err error) {
    if err := db.Table(scs.TableName()).Find(&list).Error; err != nil {
        return []SdkChanSet{}, err
    }
    return list, nil
}
 
func (scs *SdkChanSet) SelectBySdkType(sdkType string) (exist bool,model SdkChanSet){
    dbSelect := db.Table(scs.TableName()).Where("sdk_type=?",sdkType).First(&model)
    if dbSelect.Error != nil || dbSelect.RowsAffected == 0 {
        return false, model
    }
    return dbSelect.RecordNotFound(), model
}
 
func (scs *SdkChanSet) Insert() (err error) {
    tx := db.Table(scs.TableName()).Begin()
    if tx.Error != nil {
        return tx.Error
    }
 
    if err := tx.Create(&scs).Error; err != nil {
        tx.Rollback()
        return err
    }
 
    err =tx.Commit().Error
    if err == nil{
        return nil
    }
    return err
}
 
func (scs *SdkChanSet) Update() (b bool, err error) {
    result :=db.Exec("update ? set chan_num=? where sdk_type=?",scs.TableName(), scs.ChanNum, scs.SdkType)
    if result.Error != nil {
        return false, err
    }
    return result.RowsAffected>0,nil
}
 
func (scs *SdkChanSet) Delete(sdkType string) bool {
    updateResult := db.Exec("delete from ? where sdk_type=?", scs.TableName(),sdkType)
    if updateResult.Error != nil || updateResult.RowsAffected == 0 {
        return false
    }
    return true
}