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
be119516
Commit
be119516
authored
Mar 22, 2023
by
hujiebin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:多加一个peroid接口
parent
264eba5b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
81 additions
and
1 deletion
+81
-1
group_star.go
domain/model/groupPower_m/group_star.go
+24
-0
group_rank.go
route/group_power_r/group_rank.go
+56
-0
router.go
route/router.go
+1
-1
No files found.
domain/model/groupPower_m/group_star.go
View file @
be119516
...
...
@@ -3,6 +3,7 @@ package groupPower_m
import
(
"git.hilo.cn/hilo-common/domain"
"git.hilo.cn/hilo-common/resource/mysql"
"github.com/jinzhu/now"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hilo-group/_const/enum/groupPower_e"
...
...
@@ -114,6 +115,29 @@ func GetGroupPowerMonthStarRank(model *domain.Model, groupPowerId mysql.ID, _typ
return
res
,
nil
}
// 获取家族之星排行
func
GetGroupPowerStarRankPeriod
(
model
*
domain
.
Model
,
period
string
,
groupPowerId
mysql
.
ID
,
_type
groupPower_e
.
GroupPowerStarType
,
offset
,
limit
int
)
([]
*
GroupPowerDayStar
,
error
)
{
var
res
[]
*
GroupPowerDayStar
var
startDate
,
endDate
string
switch
period
{
case
"day"
:
startDate
,
endDate
=
time
.
Now
()
.
Format
(
"2006-01-02"
),
time
.
Now
()
.
Format
(
"2006-01-02"
)
case
"week"
:
startDate
=
now
.
BeginningOfWeek
()
.
Format
(
"2006-01-02"
)
endDate
=
now
.
EndOfWeek
()
.
Format
(
"2006-01-02"
)
case
"month"
:
startDate
=
now
.
BeginningOfMonth
()
.
Format
(
"2006-01-02"
)
endDate
=
now
.
EndOfMonth
()
.
Format
(
"2006-01-02"
)
}
if
err
:=
model
.
DB
()
.
Model
(
GroupPowerDayStar
{})
.
Where
(
"date BETWEEN ? AND ? AND group_power_id = ? AND `type` = ?"
,
startDate
,
endDate
,
groupPowerId
,
_type
)
.
Select
(
"user_id,SUM(score) as score"
)
.
Group
(
"user_id"
)
.
Order
(
"score desc"
)
.
Offset
(
offset
)
.
Limit
(
limit
)
.
Find
(
&
res
)
.
Error
;
err
!=
nil
{
model
.
Log
.
Errorf
(
"GetGroupPowerStarRankPeriod fail:%v"
,
err
)
return
res
,
err
}
return
res
,
nil
}
// 获取家族之星三个排行榜的各自第一名
func
GetGroupPowerMonthStartTop1
(
model
*
domain
.
Model
,
groupPowerId
mysql
.
ID
)
([]
*
GroupPowerMonthStar
,
error
)
{
var
res
[]
*
GroupPowerMonthStar
...
...
route/group_power_r/group_rank.go
View file @
be119516
...
...
@@ -230,6 +230,62 @@ func GroupPowerStar(c *gin.Context) (*mycontext.MyContext, error) {
return
myContext
,
nil
}
// @Tags 国家势力
// @Summary 家族之星
// @Param token header string true "token"
// @Param nonce header string true "随机数字"
// @Param period path string true "周期 day|week|month"
// @Param groupPowerId query int true "家族id"
// @Param type query integer true "类型 1:送礼 2:活跃 3:收礼物"
// @Param pageSize query int false "分页大小 默认:30" default(30)
// @Param pageIndex query int false "第几个分页,从1开始 默认:1" default(1)
// @Success 200 {object} []group_power_cv.CvGroupPowerStarData
// @Router /v1/groupPower/star/{period} [get]
func
GroupPowerStarPeriod
(
c
*
gin
.
Context
)
(
*
mycontext
.
MyContext
,
error
)
{
myContext
:=
mycontext
.
CreateMyContext
(
c
.
Keys
)
param
:=
new
(
GroupPowerStarReq
)
if
err
:=
c
.
ShouldBindQuery
(
param
);
err
!=
nil
{
return
myContext
,
err
}
if
param
.
PageIndex
<=
0
{
param
.
PageIndex
=
1
}
if
param
.
PageSize
<=
0
{
param
.
PageSize
=
30
}
period
:=
c
.
Param
(
"period"
)
if
period
!=
"day"
&&
period
!=
"week"
&&
period
!=
"month"
{
return
myContext
,
bizerr
.
InvalidParameter
}
var
model
=
domain
.
CreateModelContext
(
myContext
)
offset
,
limit
:=
(
param
.
PageIndex
-
1
)
*
param
.
PageSize
,
param
.
PageSize
rank
,
err
:=
groupPower_m
.
GetGroupPowerStarRankPeriod
(
model
,
period
,
param
.
GroupPowerId
,
param
.
Type
,
offset
,
limit
)
if
err
!=
nil
{
return
myContext
,
err
}
var
response
[]
group_power_cv
.
CvGroupPowerStarData
var
userIds
[]
mysql
.
ID
for
_
,
row
:=
range
rank
{
userIds
=
append
(
userIds
,
row
.
UserId
)
}
users
,
err
:=
user_m
.
GetUserMapByIds
(
model
,
userIds
)
for
_
,
row
:=
range
rank
{
user
:=
users
[
row
.
UserId
]
response
=
append
(
response
,
group_power_cv
.
CvGroupPowerStarData
{
User
:
user_cv
.
CvUserTiny
{
Id
:
user
.
ID
,
ExternalId
:
user
.
ExternalId
,
Code
:
user
.
Code
,
Nick
:
user
.
Nick
,
Avatar
:
user
.
Avatar
,
},
Score
:
row
.
Score
,
})
}
resp
.
ResponsePageBaseOk
(
c
,
response
,
0
,
false
)
return
myContext
,
nil
}
// @Tags 国家势力
// @Summary 家族等级页
// @Param token header string true "token"
...
...
route/router.go
View file @
be119516
...
...
@@ -139,7 +139,7 @@ func InitRouter() *gin.Engine {
groupPower
.
GET
(
"/rank/:period"
,
wrapper
(
group_power_r
.
GroupPowerRank
))
groupPower
.
GET
(
"/rankTop"
,
wrapper
(
group_power_r
.
GroupPowerRankTop
))
groupPower
.
GET
(
"/star"
,
wrapper
(
group_power_r
.
GroupPowerStar
))
groupPower
.
GET
(
"/star/:period"
,
wrapper
(
group_power_r
.
GroupPowerStar
))
groupPower
.
GET
(
"/star/:period"
,
wrapper
(
group_power_r
.
GroupPowerStar
Period
))
groupPower
.
POST
(
"/info/set"
,
wrapper
(
group_power_r
.
GroupPowerSetInfo
))
}
h5GroupPower
:=
v1
.
Group
(
"/h5/groupPower"
)
...
...
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