84 lines
2.0 KiB
Go
84 lines
2.0 KiB
Go
package service
|
|
|
|
import (
|
|
"errors"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
"gorm.io/gorm"
|
|
"myschools.me/tcq/campus-supervision/model"
|
|
"myschools.me/tcq/campus-supervision/mysql"
|
|
)
|
|
|
|
func SuperAdd(data []byte) (*uint, error) {
|
|
db, _ := mysql.NewInstance()
|
|
super := &model.Super{
|
|
Content: data,
|
|
}
|
|
if err := db.Create(&super).Error; err != nil {
|
|
logrus.WithFields(logrus.Fields{
|
|
"func": "SuperAdd",
|
|
}).Warningf("err: %s", err.Error())
|
|
return nil, err
|
|
}
|
|
return &super.ID, nil
|
|
}
|
|
|
|
func SuperList(index, row int) ([]*model.Super, error) {
|
|
db, _ := mysql.NewInstance()
|
|
var count int64
|
|
supers := make([]*model.Super, 0)
|
|
|
|
if err := db.Model(&model.Super{}).Count(&count).Offset((index - 1) * row).Limit(row).Find(&supers).Error; err != nil {
|
|
logrus.WithFields(logrus.Fields{
|
|
"func": "SuperList",
|
|
}).Warningf("err: %s", err.Error())
|
|
return nil, err
|
|
}
|
|
return supers, nil
|
|
}
|
|
|
|
func SuperDetail(id uint) (*[]byte, error) {
|
|
db, _ := mysql.NewInstance()
|
|
super := &model.Super{}
|
|
if err := db.Where("id=?", id).First(super).Error; err != nil {
|
|
if err != gorm.ErrRecordNotFound {
|
|
logrus.WithFields(logrus.Fields{
|
|
"func": "SuperDetail",
|
|
}).Warningf("err: %s", err.Error())
|
|
return nil, err
|
|
}
|
|
}
|
|
if super.ID == 0 {
|
|
return nil, errors.New("无效id")
|
|
}
|
|
return &super.Content, nil
|
|
}
|
|
|
|
func SuperDetele(id uint) (bool, error) {
|
|
db, _ := mysql.NewInstance()
|
|
if err := db.Where("id=?", id).Delete(&model.Super{}).Error; err != nil {
|
|
if err != gorm.ErrRecordNotFound {
|
|
logrus.WithFields(logrus.Fields{
|
|
"func": "SuperDetele",
|
|
}).Warningf("err: %s", err.Error())
|
|
return false, err
|
|
}
|
|
}
|
|
|
|
return true, nil
|
|
}
|
|
|
|
func SuperSave(id uint, data []byte) (bool, error) {
|
|
db, _ := mysql.NewInstance()
|
|
super := &model.Super{
|
|
Content: data,
|
|
}
|
|
if err := db.Where(&model.Super{ID: id}).Select("content").Updates(&super).Error; err != nil {
|
|
logrus.WithFields(logrus.Fields{
|
|
"func": "SuperSave",
|
|
}).Warningf("err: %s", err.Error())
|
|
return false, err
|
|
}
|
|
return true, nil
|
|
}
|