Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hilo-group
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hujiebin
hilo-group
Commits
e4ff5c27
Commit
e4ff5c27
authored
Mar 13, 2023
by
chenweijian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
退出家族
parent
3bcb57cd
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
100 additions
and
8 deletions
+100
-8
groupPower.go
cv/group_power_cv/groupPower.go
+7
-0
family.go
domain/model/groupPower_m/family.go
+23
-5
3.5.0.sql
mysql/3.5.0.sql
+4
-3
group_power.go
route/group_power_r/group_power.go
+65
-0
router.go
route/router.go
+1
-0
No files found.
cv/group_power_cv/groupPower.go
View file @
e4ff5c27
...
...
@@ -681,3 +681,10 @@ type FamilyApplyList struct {
Status
int8
`json:"status"`
// 0未操作,1已接受,2.已拒绝
MgrName
string
`json:"mgrName"`
// 管理员名称
}
type
FamilyQuitList
struct
{
User
*
user_m
.
UserTiny
`json:"user"`
Time
time
.
Time
`json:"time"`
QuitType
int8
`json:"status"`
// 1.主动退出 2.被踢出
MgrName
string
`json:"mgrName"`
// 管理员名称
}
domain/model/groupPower_m/family.go
View file @
e4ff5c27
...
...
@@ -10,16 +10,18 @@ import (
)
type
GroupPowerGrade
struct
{
GroupPowerId
int64
`json:"group_power_id"`
GroupPowerId
uint64
`json:"group_power_id"`
Exp
int64
`json:"exp"`
Grade
int32
`json:"grade"`
ExpireAt
time
.
Time
`json:"expire_at"`
}
type
GroupPowerQuitLog
struct
{
Id
uint64
`json:"id"`
UserId
uint64
`json:"user_id"`
MgrId
uint64
`json:"mgr_id"`
Id
uint64
`json:"id"`
UserId
uint64
`json:"user_id"`
MgrId
uint64
`json:"mgr_id"`
CreatedTime
time
.
Time
`json:"created_time"`
GroupPowerId
uint64
`json:"group_power_id"`
}
func
(
this
*
GroupPower
)
Get
(
model
*
domain
.
Model
)
(
*
GroupPower
,
error
)
{
...
...
@@ -82,6 +84,22 @@ func QuitFamily(model *domain.Model, userId, mgrId, familyId uint64) error {
return
err
}
// log
log
:=
&
GroupPowerQuitLog
{
UserId
:
userId
,
MgrId
:
mgrId
}
log
:=
&
GroupPowerQuitLog
{
UserId
:
userId
,
MgrId
:
mgrId
,
GroupPowerId
:
familyId
}
return
model
.
Db
.
Create
(
log
)
.
Error
}
func
GroupPowerQuitList
(
model
*
domain
.
Model
,
familyId
uint64
,
pageSize
,
pageIndex
int
)
([]
*
GroupPowerQuitLog
,
int
,
bool
,
error
)
{
rows
:=
make
([]
*
GroupPowerQuitLog
,
0
)
db
:=
model
.
Db
.
Model
(
GroupPowerQuitLog
{})
.
Where
(
"group_power_id = ?"
,
familyId
)
.
Order
(
"created_time desc"
)
var
count
int64
err
:=
db
.
Count
(
&
count
)
.
Error
if
err
!=
nil
{
return
nil
,
0
,
false
,
err
}
err
=
db
.
Limit
(
pageSize
)
.
Offset
(
pageIndex
-
1
)
.
Find
(
&
rows
)
.
Error
if
err
!=
nil
{
return
nil
,
0
,
false
,
err
}
nextIdx
,
hasNext
:=
common
.
PageNext
(
count
,
pageIndex
,
pageSize
)
return
rows
,
nextIdx
,
hasNext
,
nil
}
mysql/3.5.0.sql
View file @
e4ff5c27
...
...
@@ -32,11 +32,12 @@ CREATE TABLE `group_power_apply_join` (
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
2
DEFAULT
CHARSET
=
utf8mb4
COLLATE
=
utf8mb4_unicode_ci
COMMENT
=
'申请加入家族'
;
CREATE
TABLE
`group_power_quit_log`
(
`id`
bigint
NOT
NULL
AUTO_INCREMENT
COMMENT
'id'
,
`user_id`
bigint
NOT
NULL
COMMENT
'用户id'
,
`mgr_id`
bigint
NOT
NULL
COMMENT
'操作人id'
,
`id`
bigint
unsigned
NOT
NULL
AUTO_INCREMENT
COMMENT
'id'
,
`user_id`
bigint
unsigned
NOT
NULL
COMMENT
'用户id'
,
`mgr_id`
bigint
unsigned
NOT
NULL
COMMENT
'操作人id'
,
`created_time`
timestamp
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
`updated_time`
timestamp
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
ON
UPDATE
CURRENT_TIMESTAMP
,
`group_power_id`
bigint
unsigned
NOT
NULL
,
PRIMARY
KEY
(
`id`
),
KEY
`user_id`
(
`user_id`
)
USING
BTREE
,
KEY
`created_time`
(
`created_time`
)
USING
BTREE
,
...
...
route/group_power_r/group_power.go
View file @
e4ff5c27
...
...
@@ -1119,3 +1119,68 @@ func GroupPowerQuit(c *gin.Context) (*mycontext.MyContext, error) {
resp
.
ResponseOk
(
c
,
nil
)
return
myContext
,
nil
}
// @Tags 家族
// @Summary 家族退出列表
// @Param pageSize query int true "分页大小 默认:10" default(10)
// @Param pageIndex query int true "第几个分页,从1开始 默认:1" default(1)
// @Success 200
// @Router /v1/groupPower/quit/list [get]
func
GroupPowerQuitList
(
c
*
gin
.
Context
)
(
*
mycontext
.
MyContext
,
error
)
{
myContext
:=
mycontext
.
CreateMyContext
(
c
.
Keys
)
userId
,
err
:=
req
.
GetUserId
(
c
)
if
err
!=
nil
{
return
myContext
,
err
}
pageSize
,
err
:=
strconv
.
Atoi
(
c
.
Query
(
"pageSize"
))
if
err
!=
nil
{
return
myContext
,
err
}
pageIndex
,
err
:=
strconv
.
Atoi
(
c
.
Query
(
"pageIndex"
))
if
err
!=
nil
{
return
myContext
,
err
}
model
:=
domain
.
CreateModelContext
(
myContext
)
// 判断是否加入了家族
gpU
:=
groupPower_m
.
GroupPowerUser
{
UserId
:
userId
}
myGroupPUser
,
err
:=
gpU
.
GetGroupPowerUser
(
model
)
if
err
!=
nil
{
return
myContext
,
err
}
// 操作者是否加入了家族,是否有操作权限
if
myGroupPUser
==
nil
||
myGroupPUser
.
ID
==
0
{
return
myContext
,
bizerr
.
GroupPowerHaveNoJoin
}
if
myGroupPUser
.
Role
==
0
||
myGroupPUser
.
Role
==
groupPower_e
.
GroupPowerUserRoleUser
{
return
myContext
,
bizerr
.
GroupPowerHaveNoPower
}
// 列表
rows
,
nextPageIndex
,
hasNextPage
,
err
:=
groupPower_m
.
GroupPowerQuitList
(
model
,
myGroupPUser
.
GroupPowerId
,
pageSize
,
pageIndex
)
if
err
!=
nil
{
return
myContext
,
err
}
uids
:=
make
([]
uint64
,
0
,
len
(
rows
))
for
_
,
v
:=
range
rows
{
uids
=
append
(
uids
,
v
.
UserId
,
v
.
MgrId
)
}
//查找用户信息
uids
=
common
.
UniqueSliceUInt64
(
uids
)
userMap
,
err
:=
user_c
.
GetUserTinyMap
(
domain
.
CreateModelContext
(
myContext
),
uids
,
true
)
result
:=
make
([]
*
group_power_cv
.
FamilyQuitList
,
0
,
len
(
rows
))
for
_
,
v
:=
range
rows
{
item
:=
&
group_power_cv
.
FamilyQuitList
{
User
:
userMap
[
v
.
UserId
],
Time
:
v
.
CreatedTime
}
if
v
.
UserId
==
v
.
MgrId
{
item
.
QuitType
=
1
// 主动退出
}
else
{
item
.
QuitType
=
2
// 被踢出
item
.
MgrName
=
userMap
[
v
.
MgrId
]
.
Nick
}
result
=
append
(
result
,
item
)
}
resp
.
ResponsePageBaseOk
(
c
,
result
,
nextPageIndex
,
hasNextPage
)
return
myContext
,
nil
}
route/router.go
View file @
e4ff5c27
...
...
@@ -133,6 +133,7 @@ func InitRouter() *gin.Engine {
groupPower
.
POST
(
"/apply/pass"
,
wrapper
(
group_power_r
.
GroupPowerApplyPass
))
groupPower
.
GET
(
"/apply/list"
,
wrapper
(
group_power_r
.
GroupPowerApplyList
))
groupPower
.
POST
(
"/quit"
,
wrapper
(
group_power_r
.
GroupPowerQuit
))
groupPower
.
GET
(
"/quit/list"
,
wrapper
(
group_power_r
.
GroupPowerQuitList
))
}
charge
:=
v1
.
Group
(
"/charge"
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment