80 Star 451 Fork 139

Ulric Qin/Nightingale

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
board_payload.go 1.26 KB
一键复制 编辑 原始数据 按行查看 历史
ning 提交于 2023-03-09 17:43 +08:00 . v6 release
package models
import (
"errors"
"github.com/ccfos/nightingale/v6/pkg/ctx"
)
type BoardPayload struct {
Id int64 `json:"id" gorm:"primaryKey"`
Payload string `json:"payload"`
}
func (p *BoardPayload) TableName() string {
return "board_payload"
}
func (p *BoardPayload) Update(ctx *ctx.Context, selectField interface{}, selectFields ...interface{}) error {
return DB(ctx).Model(p).Select(selectField, selectFields...).Updates(p).Error
}
func BoardPayloadGets(ctx *ctx.Context, ids []int64) ([]*BoardPayload, error) {
if len(ids) == 0 {
return nil, errors.New("empty ids")
}
var arr []*BoardPayload
err := DB(ctx).Where("id in ?", ids).Find(&arr).Error
return arr, err
}
func BoardPayloadGet(ctx *ctx.Context, id int64) (string, error) {
payloads, err := BoardPayloadGets(ctx, []int64{id})
if err != nil {
return "", err
}
if len(payloads) == 0 {
return "", nil
}
return payloads[0].Payload, nil
}
func BoardPayloadSave(ctx *ctx.Context, id int64, payload string) error {
var bp BoardPayload
err := DB(ctx).Where("id = ?", id).Find(&bp).Error
if err != nil {
return err
}
if bp.Id > 0 {
// already exists
bp.Payload = payload
return bp.Update(ctx, "payload")
}
return Insert(ctx, &BoardPayload{
Id: id,
Payload: payload,
})
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/cnperl/Nightingale.git
[email protected]:cnperl/Nightingale.git
cnperl
Nightingale
Nightingale
main

搜索帮助