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
package service
import (
"errors"
"github.com/go-admin-team/go-admin-core/sdk/service"
"gorm.io/gorm"
"go-admin/app/admin/models"
"go-admin/app/operate/service/dto"
"go-admin/common/actions"
cDto "go-admin/common/dto"
)
type OrgUser struct {
service.Service
}
// GetPage 获取OrgUser列表
func (e *OrgUser) GetPage(c *dto.OrgUserGetPageReq, p *actions.DataPermission, list *[]dto.OrgUserGetPageReply, count *int64) error {
var err error
var data models.SysUser
field := "su.user_id, su.username, su.nick_name, su.nick_name_en, su.role_id, sr.role_name, su.status"
err = e.Orm.Table("sys_user as su").
Select(field).
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("su"),
).
Where("su.user_type=?", 2).
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 *OrgUser) Get(d *dto.OrgUserGetReq, p *actions.DataPermission, model *dto.OrgUserGetReply) error {
field := "su.user_id, su.username, su.nick_name, su.nick_name_en, su.role_id, su.status"
err := e.Orm.Table("sys_user as su").
Select(field).
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 *OrgUser) Insert(c *dto.OrgUserInsertReq) error {
var err error
var data models.SysUser
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.UserId = data.UserId
return nil
}
// Update 修改OrgTeamUser对象
func (e *OrgUser) Update(c *dto.OrgUserUpdateReq, p *actions.DataPermission) error {
var err error
var data = models.SysUser{}
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 *OrgUser) Remove(d *dto.OrgUserDeleteReq, p *actions.DataPermission) error {
var data models.SysUser
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
}
func (e *OrgUser) IsBing(userId string, username string) (error, int64) {
var err error
var data models.SysUser
var i int64
err = e.Orm.Model(&data).Where("username = ?", username).
Scopes(cDto.SetWhereNE("", "user_id", userId)).
Count(&i).Error
if err != nil {
e.Log.Errorf("db error: %s", err)
return err, 1
}
return nil, i
}