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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
package service
import (
"errors"
"strconv"
"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 OrgTeamUser struct {
service.Service
}
// GetPage 获取OrgTeamUser列表
func (e *OrgTeamUser) GetPage(c *dto.OrgTeamUserGetPageReq, p *actions.DataPermission, list *[]dto.OrgTeamUserGetPageReply, count *int64) error {
var err error
var data models.OrgTeamUser
field := "otu.id, oc.club_name, ot.team_name, otu.name, otu.sex, sr.role_name, su.status"
err = e.Orm.Table("org_team_user as otu").
Select(field).
Joins("left join org_team as ot on otu.team_id=ot.id").
Joins("left join org_club as oc on otu.club_id=oc.id").
Joins("left join sys_user as su on otu.user_id=su.user_id").
Joins("left join sys_role as sr on su.role_id=sr.role_id").
Scopes(
cDto.MakeCondition(c.GetNeedSearch()),
cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
actions.Permission(data.TableName(), p),
cDto.PassDel("otu"),
).
Find(list).Limit(-1).Offset(-1).
Count(count).Error
if err != nil {
e.Log.Errorf("OrgTeamUserService GetPage error:%s \r\n", err)
return err
}
return nil
}
// Get 获取OrgTeamUser对象
func (e *OrgTeamUser) Get(d *dto.OrgTeamUserGetReq, p *actions.DataPermission, model *dto.OrgTeamUserGetReply) error {
field := "otu.id,oc.club_name, otu.team_id, ot.team_name, otu.name, otu.sex, otu.user_img, otu.sign_img, sr.role_id, sr.role_name, su.username, su.status"
err := e.Orm.Table("org_team_user as otu").
Select(field).
Joins("left join org_team as ot on otu.team_id=ot.id").
Joins("left join org_club as oc on otu.club_id=oc.id").
Joins("left join sys_user as su on otu.user_id=su.user_id").
Joins("left join sys_role as sr on su.role_id=sr.role_id").
First(model, d.GetId()).Error
if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
err = errors.New("查看对象不存在或无权查看")
e.Log.Errorf("Service GetOrgTeamUser error:%s \r\n", err)
return err
}
if err != nil {
e.Log.Errorf("db error:%s", err)
return err
}
return nil
}
// Insert 创建OrgTeamUser对象
func (e *OrgTeamUser) Insert(c *dto.OrgTeamUserInsertReq) error {
var err error
var data models.OrgTeamUser
c.Generate(&data)
err = e.Orm.Create(&data).Error
if err != nil {
e.Log.Errorf("OrgTeamUserService Insert error:%s \r\n", err)
return err
}
c.Id = data.Id
return nil
}
// Update 修改OrgTeamUser对象
func (e *OrgTeamUser) Update(c *dto.OrgTeamUserUpdateReq, p *actions.DataPermission) error {
var err error
var data = models.OrgTeamUser{}
e.Orm.Scopes(
actions.Permission(data.TableName(), p),
).First(&data, c.GetId())
userId := data.UserId
c.Generate(&data)
db := e.Orm.Updates(&data)
if db.Error != nil {
e.Log.Errorf("OrgTeamUserService Save error:%s \r\n", err)
return err
}
if db.RowsAffected == 0 {
return errors.New("无权更新该数据")
}
c.UserId = userId
return nil
}
// Remove 删除OrgTeamUser
func (e *OrgTeamUser) Remove(d *dto.OrgTeamUserDeleteReq, p *actions.DataPermission) error {
var data models.OrgTeamUser
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 RemoveOrgTeamUser error:%s \r\n", err)
return err
}
if db.RowsAffected == 0 {
return errors.New("无权删除该数据")
}
return nil
}
// GetPage 获取OrgTeamUser列表
func (e *OrgTeamUser) GetUserIds(ids []int) (error, []int) {
list := make([]models.OrgTeamUser, 0)
field := "user_id"
e.Orm.Select(field).Where("id IN(?)", ids).Find(&list)
userIds := make([]int, 0)
userid := 0
for _, v := range list {
userid, _ = strconv.Atoi(v.UserId)
userIds = append(userIds, userid)
}
return nil, userIds
}
// 根据teamId获取userId
func (e *OrgTeamUser) GetClubId(teamId string) (error, string) {
data := new(models.OrgTeam)
err := e.Orm.Table("org_team").
Select("club_id").
Where("id=?", teamId).
First(&data).Error
if err != nil {
e.Log.Errorf("db error:%s", err)
return err, ""
}
return nil, data.ClubId
}
// 根据userId获取teamId
func (e *OrgTeamUser) GetTeamId(userId int) (error, string) {
data := new(models.OrgTeamUser)
err := e.Orm.Table("org_team_user").
Select("team_id").
Where("user_id=?", userId).
First(&data).Error
if err != nil {
e.Log.Errorf("db error:%s", err)
return err, ""
}
return nil, data.TeamId
}
// 根据工作人员id获取userId
func (e *OrgTeamUser) GetUserId(teamUserId int) (error, string) {
data := new(models.OrgTeamUser)
err := e.Orm.Table("org_team_user").
Select("user_id").
Where("id=?", teamUserId).
First(&data).Error
if err != nil {
e.Log.Errorf("db error:%s", err)
return err, ""
}
return nil, data.UserId
}
func (e *OrgTeamUser) GetParentDeptId(teamId string) (error, int) {
data := dto.Dept{}
err := e.Orm.Table("org_team_dept").
Select("dept_id").
Where("team_id=?", teamId).
First(&data).Error
if err != nil {
e.Log.Errorf("db error:%s", err)
return err, 0
}
return nil, data.DeptId
}