-
Notifications
You must be signed in to change notification settings - Fork 506
/
b_demo.go
73 lines (61 loc) · 1.7 KB
/
b_demo.go
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
package bll
import (
"context"
"time"
"github.com/LyricTian/gin-admin/src/model"
"github.com/LyricTian/gin-admin/src/schema"
"github.com/LyricTian/gin-admin/src/util"
)
// Demo 示例程序
type Demo struct {
DemoModel model.IDemo `inject:"IDemo"`
}
// QueryPage 查询分页数据
func (a *Demo) QueryPage(ctx context.Context, params schema.DemoQueryParam, pageIndex, pageSize uint) (int64, []*schema.DemoQueryResult, error) {
return a.DemoModel.QueryPage(ctx, params, pageIndex, pageSize)
}
// Get 查询指定数据
func (a *Demo) Get(ctx context.Context, recordID string) (*schema.Demo, error) {
item, err := a.DemoModel.Get(ctx, recordID)
if err != nil {
return nil, err
} else if item == nil {
return nil, util.ErrNotFound
}
return item, nil
}
// Create 创建数据
func (a *Demo) Create(ctx context.Context, item *schema.Demo) error {
item.ID = 0
item.RecordID = util.MustUUID()
item.Created = time.Now().Unix()
item.Deleted = 0
return a.DemoModel.Create(ctx, item)
}
// Update 更新数据
func (a *Demo) Update(ctx context.Context, recordID string, item *schema.Demo) error {
exists, err := a.DemoModel.Check(ctx, recordID)
if err != nil {
return err
} else if !exists {
return util.ErrNotFound
}
info := util.StructToMap(item)
delete(info, "id")
delete(info, "record_id")
delete(info, "creator")
delete(info, "created")
delete(info, "updated")
delete(info, "deleted")
return a.DemoModel.Update(ctx, recordID, info)
}
// Delete 删除数据
func (a *Demo) Delete(ctx context.Context, recordID string) error {
exists, err := a.DemoModel.Check(ctx, recordID)
if err != nil {
return err
} else if !exists {
return util.ErrNotFound
}
return a.DemoModel.Delete(ctx, recordID)
}