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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
package service
import (
"errors"
"github.com/go-admin-team/go-admin-core/sdk/service"
"gorm.io/gorm"
"go-admin/app/operate/models"
"go-admin/app/operate/service/dto"
"go-admin/common/actions"
cDto "go-admin/common/dto"
)
type OrgMatch struct {
service.Service
}
// GetPage 获取OrgMatch列表
func (e *OrgMatch) GetPage(c *dto.OrgMatchGetPageReq, p *actions.DataPermission, list *[]dto.OrgMatchGetPageReply, count *int64) error {
var err error
var data models.OrgMatch
err = e.Orm.Table("org_match as om").
Select("om.id, ol.league_name, od.division_name, os.season_name,om.grouping,"+
"om.rounds, om.match_start_time, om.match_end_time, om.status,"+
"ota.team_name as team_a_name, om.team_a_id,om.team_b_id, otb.team_name as team_b_name").
Joins("left join org_league as ol on ol.id = om.league_id").
Joins("left join org_division as od on od.id = om.division_id").
Joins("left join org_season as os on os.id = om.season_id").
Joins("left join org_team as ota on ota.id = om.team_a_id").
Joins("left join org_team as otb on otb.id = om.team_b_id").
Scopes(
cDto.MakeCondition(c.GetNeedSearch()),
cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
actions.Permission(data.TableName(), p),
cDto.PassDel("om"),
).
Find(list).Limit(-1).Offset(-1).
Count(count).Error
if err != nil {
e.Log.Errorf("OrgMatchService GetPage error:%s \r\n", err)
return err
}
return nil
}
// GetPage 获取OrgMatch列表
func (e *OrgMatch) GetPageForTeam(c *dto.OrgMatchGetPageReq, p *actions.DataPermission, list *[]models.OrgMatchTeamPlayer, count *int64) error {
var err error
var data models.OrgMatch
err = e.Orm.Table("org_match as om").
Select("om.id, ol.league_name, od.division_name, os.season_name,om.grouping,"+
"om.rounds, om.match_start_time, om.match_end_time, om.status,"+
"ota.team_name as team_a_name, otb.team_name as team_b_name").
Joins("left join org_league as ol on ol.id = om.league_id").
Joins("left join org_division as od on od.id = om.division_id").
Joins("left join org_season as os on os.id = om.season_id").
Joins("left join org_team as ota on ota.id = om.team_a_id").
Joins("left join org_team as otb on otb.id = om.team_b_id").
Scopes(
cDto.MakeCondition(c.GetNeedSearch()),
cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
cDto.PassDel("om"),
actions.Permission(data.TableName(), p),
).
Find(list).Limit(-1).Offset(-1).
Count(count).Error
if err != nil {
e.Log.Errorf("OrgMatchService GetPage error:%s \r\n", err)
return err
}
return nil
}
// Get 获取OrgMatch对象
func (e *OrgMatch) Get(id string, p *actions.DataPermission, model *models.OrgMatch) error {
var data models.OrgMatch
err := e.Orm.Model(&data).
Scopes(
actions.Permission(data.TableName(), p),
).
First(model, id).Error
if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
err = errors.New("查看对象不存在或无权查看")
e.Log.Errorf("Service GetOrgMatch error:%s \r\n", err)
return err
}
if err != nil {
e.Log.Errorf("db error:%s", err)
return err
}
return nil
}
// Insert 创建OrgMatch对象
func (e *OrgMatch) Insert(c *dto.OrgMatchInsertReq) error {
var err error
var data models.OrgMatch
c.Generate(&data)
err = e.Orm.Create(&data).Error
if err != nil {
e.Log.Errorf("OrgMatchService Insert error:%s \r\n", err)
return err
}
return nil
}
// Update 修改OrgMatch对象
func (e *OrgMatch) Update(c *dto.OrgMatchUpdateReq, p *actions.DataPermission) error {
var err error
var data = models.OrgMatch{}
e.Orm.Scopes(
actions.Permission(data.TableName(), p),
).First(&data, c.GetId())
c.Generate(&data)
db := e.Orm.Updates(&data)
if db.Error != nil {
e.Log.Errorf("OrgMatchService Save error:%s \r\n", err)
return err
}
if db.RowsAffected == 0 {
return errors.New("无权更新该数据")
}
return nil
}
// Remove 删除OrgMatch
func (e *OrgMatch) Remove(d *dto.OrgMatchDeleteReq, p *actions.DataPermission) error {
var data models.OrgMatch
db := e.Orm.Model(&data).
Scopes(
actions.Permission(data.TableName(), p),
).Delete(&data, d.GetId())
if err := db.Error; err != nil {
e.Log.Errorf("Service RemoveOrgMatch error:%s \r\n", err)
return err
}
if db.RowsAffected == 0 {
return errors.New("无权删除该数据")
}
return nil
}