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
148
149
150
151
152
153
154
155
156
157
158
159
160
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 OrgTeam struct {
service.Service
}
// GetPage 获取OrgTeam列表
func (e *OrgTeam) GetPage(c *dto.OrgTeamGetPageReq, p *actions.DataPermission, list *[]dto.OrgTeamGetPageReply, count *int64) error {
var err error
var data models.OrgTeam
err = e.Orm.Table("org_team as ot").
Select("ot.id,oc.id as club_id,oc.club_name,ot.team_name,ot.created_at").
Joins("left join org_club as oc on ot.club_id=oc.id").
Scopes(
cDto.MakeCondition(c.GetNeedSearch()),
cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
actions.Permission(data.TableName(), p),
cDto.PassDel("ot"),
).
Find(list).Limit(-1).Offset(-1).
Count(count).Error
if err != nil {
e.Log.Errorf("OrgTeamService GetPage error:%s \r\n", err)
return err
}
return nil
}
// Get 获取OrgTeam对象
func (e *OrgTeam) Get(d *dto.OrgTeamGetReq, p *actions.DataPermission, model *dto.OrgTeamGetPageReply) error {
var data models.OrgTeam
err := e.Orm.Table("org_team as ot").
Select("ot.id,oc.id as club_id,oc.club_name,ot.team_name,ot.created_at").
Joins("left join org_club as oc on ot.club_id=oc.id").
Scopes(
actions.Permission(data.TableName(), p),
).
First(model, d.GetId()).Error
if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
err = errors.New("查看对象不存在或无权查看")
e.Log.Errorf("Service GetOrgTeam error:%s \r\n", err)
return err
}
if err != nil {
e.Log.Errorf("db error:%s", err)
return err
}
return nil
}
// Insert 创建OrgTeam对象
func (e *OrgTeam) Insert(c *dto.OrgTeamInsertReq) error {
var err error
var data models.OrgTeam
c.Generate(&data)
err = e.Orm.Create(&data).Error
if err != nil {
e.Log.Errorf("OrgTeamService Insert error:%s \r\n", err)
return err
}
c.Id = data.Id
return nil
}
// Update 修改OrgTeam对象
func (e *OrgTeam) Update(c *dto.OrgTeamUpdateReq, p *actions.DataPermission) error {
var err error
var data = models.OrgTeam{}
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("OrgTeamService Save error:%s \r\n", err)
return err
}
if db.RowsAffected == 0 {
return errors.New("无权更新该数据")
}
c.Id = data.Id
return nil
}
// Remove 删除OrgTeam
func (e *OrgTeam) Remove(d *dto.OrgTeamDeleteReq, p *actions.DataPermission) error {
var data models.OrgTeam
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 RemoveOrgTeam error:%s \r\n", err)
return err
}
if db.RowsAffected == 0 {
return errors.New("无权删除该数据")
}
return nil
}
// 根据工作人员id获取userId
func (e *OrgTeam) GetTeamName(teamId int) (error, string) {
data := new(models.OrgTeam)
err := e.Orm.Table("org_team").
Select("team_name").
Where("id=?", teamId).
First(&data).Error
if err != nil {
e.Log.Errorf("db error:%s", err)
return err, ""
}
return nil, data.TeamName
}
func (e *OrgTeam) GetParentDeptId(clubId string) (error, int) {
data := dto.Dept{}
err := e.Orm.Table("org_club_user as ocu").
Select("ocu.id, su.dept_id").
Joins("left join sys_user as su on su.user_id=ocu.user_id").
Where("id=?", clubId).
First(&data).Error
if err != nil {
e.Log.Errorf("db error:%s", err)
return err, 0
}
return nil, data.DeptId
}
// Insert 创建OrgTeam对象
func (e *OrgTeam) InsertTeamDept(teamId int, deptId int) error {
var err error
var data models.OrgTeamDept
data.TeamId = teamId
data.DeptId = deptId
err = e.Orm.Table("org_team_dept").Create(&data).Error
if err != nil {
e.Log.Errorf("OrgTeamService Insert error:%s \r\n", err)
return err
}
return nil
}