Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
nbya
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
haoyanbin
nbya
Commits
3cc2b885
Commit
3cc2b885
authored
Jan 17, 2022
by
haoyanbin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Mobile
parent
99d7680f
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
1402 additions
and
231 deletions
+1402
-231
org_player.go
app/mobile/apis/org_player.go
+261
-0
org_player_rank.go
app/mobile/apis/org_player_rank.go
+1
-1
org_player_user.go
app/mobile/apis/org_player_user.go
+246
-0
org_player.go
app/mobile/router/org_player.go
+27
-0
org_player_user.go
app/mobile/router/org_player_user.go
+35
-0
org_player.go
app/mobile/service/dto/org_player.go
+191
-0
org_player_rank.go
app/mobile/service/dto/org_player_rank.go
+1
-1
org_player_user.go
app/mobile/service/dto/org_player_user.go
+114
-0
org_player.go
app/mobile/service/org_player.go
+121
-0
org_player_rank.go
app/mobile/service/org_player_rank.go
+95
-219
org_player_user.go
app/mobile/service/org_player_user.go
+151
-0
org_team_rank.go
app/mobile/service/org_team_rank.go
+68
-0
org_player.go
app/operate/service/dto/org_player.go
+14
-10
common.go
common/utils/common.go
+5
-0
jwt.go
common/utils/jwt.go
+60
-0
go.mod
go.mod
+3
-0
go.sum
go.sum
+9
-0
No files found.
app/mobile/apis/org_player.go
0 → 100644
View file @
3cc2b885
package
apis
import
(
"fmt"
"github.com/gin-gonic/gin"
"github.com/go-admin-team/go-admin-core/sdk/api"
"github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth/user"
_
"github.com/go-admin-team/go-admin-core/sdk/pkg/response"
"strconv"
"go-admin/app/operate/service"
"go-admin/app/operate/service/dto"
"go-admin/common/actions"
)
type
OrgPlayer
struct
{
api
.
Api
}
// GetPage <球队>获取球员列表
// @Summary <球队>获取球员列表
// @Description <球队>获取球员列表
// @Tags <球队>球员
// @Param pageSize query int false "页条数"
// @Param pageIndex query int false "页码"
// @Param data body dto.OrgPlayerGetPageReq true "body"
// @Success 200 {string} string "{"code": 200, "data": [...]}"
// @Router /api/v1/org-player [get]
// @Security Bearer
func
(
e
OrgPlayer
)
GetPage
(
c
*
gin
.
Context
)
{
req
:=
dto
.
OrgPlayerGetPageReq
{}
s
:=
service
.
OrgPlayer
{}
err
:=
e
.
MakeContext
(
c
)
.
MakeOrm
()
.
Bind
(
&
req
)
.
MakeService
(
&
s
.
Service
)
.
Errors
if
err
!=
nil
{
e
.
Logger
.
Error
(
err
)
e
.
Error
(
500
,
err
,
err
.
Error
())
return
}
p
:=
actions
.
GetPermissionFromContext
(
c
)
list
:=
make
([]
dto
.
OrgPlayerGetPageReply
,
0
)
var
count
int64
err
=
s
.
GetPage
(
&
req
,
p
,
&
list
,
&
count
)
if
err
!=
nil
{
e
.
Error
(
500
,
err
,
fmt
.
Sprintf
(
"获取球员 失败,
\r\n
失败信息 %s"
,
err
.
Error
()))
return
}
e
.
PageOK
(
list
,
int
(
count
),
req
.
GetPageIndex
(),
req
.
GetPageSize
(),
"查询成功"
)
}
// Get <球队>获取球员
// @Summary <球队>获取球员
// @Description <球队>获取球员
// @Tags <球队>球员
// @Param id path string false "id"
// @Success 200 {string} string "{"code": 200, "data": [...]}"
// @Router /api/v1/org-player/{id} [get]
// @Security Bearer
func
(
e
OrgPlayer
)
Get
(
c
*
gin
.
Context
)
{
req
:=
dto
.
OrgPlayerGetReq
{}
s
:=
service
.
OrgPlayer
{}
err
:=
e
.
MakeContext
(
c
)
.
MakeOrm
()
.
Bind
(
&
req
)
.
MakeService
(
&
s
.
Service
)
.
Errors
if
err
!=
nil
{
e
.
Logger
.
Error
(
err
)
e
.
Error
(
500
,
err
,
err
.
Error
())
return
}
var
object
dto
.
OrgPlayerGetReply
p
:=
actions
.
GetPermissionFromContext
(
c
)
err
=
s
.
Get
(
&
req
,
p
,
&
object
)
if
err
!=
nil
{
e
.
Error
(
500
,
err
,
fmt
.
Sprintf
(
"获取球员失败,
\r\n
失败信息 %s"
,
err
.
Error
()))
return
}
e
.
OK
(
object
,
"查询成功"
)
}
// Insert <球队>创建球员
// @Summary <球队>创建球员
// @Description <球队>创建球员
// @Tags <球队>球员
// @Accept application/json
// @Product application/json
// @Param data body dto.OrgPlayerInsertReq true "data"
// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
// @Router /api/v1/org-player [post]
// @Security Bearer
func
(
e
OrgPlayer
)
Insert
(
c
*
gin
.
Context
)
{
req
:=
dto
.
OrgPlayerInsertReq
{}
s
:=
service
.
OrgPlayer
{}
err
:=
e
.
MakeContext
(
c
)
.
MakeOrm
()
.
Bind
(
&
req
)
.
MakeService
(
&
s
.
Service
)
.
Errors
if
err
!=
nil
{
e
.
Logger
.
Error
(
err
)
e
.
Error
(
500
,
err
,
err
.
Error
())
return
}
reqUser
:=
dto
.
OrgPlayerUserInsertReq
{}
sUser
:=
service
.
OrgPlayerUser
{}
e
.
MakeContext
(
c
)
.
MakeOrm
()
.
MakeService
(
&
sUser
.
Service
)
_
,
userId
:=
sUser
.
IsBeing
(
req
.
Username
)
if
userId
>
0
{
req
.
PlayerUserId
=
strconv
.
Itoa
(
userId
)
}
else
{
// 设置创建人
reqUser
.
SetCreateBy
(
user
.
GetUserId
(
c
))
reqUser
.
Username
=
req
.
Username
reqUser
.
Password
=
dto
.
Pwd
(
"123456"
)
err
=
sUser
.
Insert
(
&
reqUser
)
req
.
PlayerUserId
=
strconv
.
Itoa
(
reqUser
.
Id
)
}
// 设置创建人
req
.
SetCreateBy
(
user
.
GetUserId
(
c
))
err
=
s
.
Insert
(
&
req
)
if
err
!=
nil
{
e
.
Error
(
500
,
err
,
fmt
.
Sprintf
(
"创建球员 失败,
\r\n
失败信息 %s"
,
err
.
Error
()))
return
}
e
.
OK
(
req
.
GetId
(),
"创建成功"
)
}
// Update <球队>修改球员
// @Summary <球队>修改球员
// @Description <球队>修改球员
// @Tags <球队>球员
// @Accept application/json
// @Product application/json
// @Param data body dto.OrgPlayerUpdateReq true "body"
// @Success 200 {string} string "{"code": 200, "message": "修改成功"}"
// @Router /api/v1/org-player/{id} [put]
// @Security Bearer
func
(
e
OrgPlayer
)
Update
(
c
*
gin
.
Context
)
{
req
:=
dto
.
OrgPlayerUpdateReq
{}
s
:=
service
.
OrgPlayer
{}
err
:=
e
.
MakeContext
(
c
)
.
MakeOrm
()
.
Bind
(
&
req
)
.
MakeService
(
&
s
.
Service
)
.
Errors
if
err
!=
nil
{
e
.
Logger
.
Error
(
err
)
e
.
Error
(
500
,
err
,
err
.
Error
())
return
}
req
.
SetUpdateBy
(
user
.
GetUserId
(
c
))
p
:=
actions
.
GetPermissionFromContext
(
c
)
reqUser
:=
dto
.
OrgPlayerUserInsertReq
{}
sUser
:=
service
.
OrgPlayerUser
{}
e
.
MakeContext
(
c
)
.
MakeOrm
()
.
MakeService
(
&
sUser
.
Service
)
_
,
userId
:=
sUser
.
IsBeing
(
req
.
Username
)
if
userId
>
0
{
req
.
PlayerUserId
=
strconv
.
Itoa
(
userId
)
}
else
{
// 设置创建人
reqUser
.
SetCreateBy
(
user
.
GetUserId
(
c
))
reqUser
.
Username
=
req
.
Username
reqUser
.
Password
=
dto
.
Pwd
(
"123456"
)
err
=
sUser
.
Insert
(
&
reqUser
)
req
.
PlayerUserId
=
strconv
.
Itoa
(
reqUser
.
Id
)
}
err
=
s
.
Update
(
&
req
,
p
)
if
err
!=
nil
{
e
.
Error
(
500
,
err
,
fmt
.
Sprintf
(
"修改球员 失败,
\r\n
失败信息 %s"
,
err
.
Error
()))
return
}
e
.
OK
(
req
.
GetId
(),
"修改成功"
)
}
// Delete <球队>删除球员
// @Summary <球队>删除球员
// @Description <球队>删除球员
// @Tags <球队>球员
// @Param ids body []int false "ids"
// @Success 200 {string} string "{"code": 200, "message": "删除成功"}"
// @Router /api/v1/org-player [delete]
// @Security Bearer
func
(
e
OrgPlayer
)
Delete
(
c
*
gin
.
Context
)
{
s
:=
service
.
OrgPlayer
{}
req
:=
dto
.
OrgPlayerDeleteReq
{}
err
:=
e
.
MakeContext
(
c
)
.
MakeOrm
()
.
Bind
(
&
req
)
.
MakeService
(
&
s
.
Service
)
.
Errors
if
err
!=
nil
{
e
.
Logger
.
Error
(
err
)
e
.
Error
(
500
,
err
,
err
.
Error
())
return
}
// req.SetUpdateBy(user.GetUserId(c))
p
:=
actions
.
GetPermissionFromContext
(
c
)
err
=
s
.
Remove
(
&
req
,
p
)
if
err
!=
nil
{
e
.
Error
(
500
,
err
,
fmt
.
Sprintf
(
"删除球员失败,
\r\n
失败信息 %s"
,
err
.
Error
()))
return
}
e
.
OK
(
req
.
GetId
(),
"删除成功"
)
}
// Update <球队>修改球员状态
// @Summary <球队>修改球员状态
// @Description <球队>修改球员状态
// @Tags <球队>工作人员
// @Accept application/json
// @Product application/json
// @Param data body dto.OrgPlayerUpdateStatusReq true "body"
// @Success 200 {string} string "{"code": 200, "message": "修改成功"}"
// @Router /api/v1/org-player/update-status [put]
// @Security Bearer
func
(
e
OrgPlayer
)
UpdateStatus
(
c
*
gin
.
Context
)
{
req
:=
dto
.
OrgPlayerUpdateStatusReq
{}
s
:=
service
.
OrgPlayer
{}
err
:=
e
.
MakeContext
(
c
)
.
MakeOrm
()
.
Bind
(
&
req
)
.
MakeService
(
&
s
.
Service
)
.
Errors
if
err
!=
nil
{
e
.
Logger
.
Error
(
err
)
e
.
Error
(
500
,
err
,
err
.
Error
())
return
}
req
.
SetUpdateBy
(
user
.
GetUserId
(
c
))
p
:=
actions
.
GetPermissionFromContext
(
c
)
reqUpdate
:=
dto
.
OrgPlayerUpdateReq
{}
reqUpdate
.
Id
=
req
.
Id
reqUpdate
.
Status
=
req
.
Status
err
=
s
.
Update
(
&
reqUpdate
,
p
)
if
err
!=
nil
{
e
.
Error
(
500
,
err
,
fmt
.
Sprintf
(
"修改球队人员账户信息 失败,
\r\n
失败信息 %s"
,
err
.
Error
()))
return
}
e
.
OK
(
req
.
Id
,
"修改成功"
)
}
app/mobile/apis/org_player_rank.go
View file @
3cc2b885
...
...
@@ -24,7 +24,7 @@ type OrgPlayerRank struct {
// @Param pageIndex query int false "页码"
// @Param data body dto.OrgTeamPlayerGetPageReq true "data"
// @Success 200 {string} string "{"code": 200, "data": [...]}"
// @Router /
api
/v1/org-player-rank [get]
// @Router /
mobile
/v1/org-player-rank [get]
// @Security Bearer
func
(
e
OrgPlayerRank
)
GetPage
(
c
*
gin
.
Context
)
{
req
:=
dto
.
OrgPlayerRankGetPageReq
{}
...
...
app/mobile/apis/org_player_user.go
0 → 100644
View file @
3cc2b885
package
apis
import
(
"fmt"
"github.com/gin-gonic/gin"
"github.com/go-admin-team/go-admin-core/sdk/api"
"github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth/user"
_
"github.com/go-admin-team/go-admin-core/sdk/pkg/response"
"go-admin/app/mobile/service"
"go-admin/app/mobile/service/dto"
"go-admin/app/operate/models"
"go-admin/common/actions"
)
type
OrgPlayerUser
struct
{
api
.
Api
}
// GetPage 获取球员账户信息列表
// @Summary 获取球员账户信息列表
// @Description 获取球员账户信息列表
// @Tags 球员账户信息
// @Param pageSize query int false "页条数"
// @Param pageIndex query int false "页码"
// @Success 200 {string} string {"code": 200, "data": [...]}
// @Router /mobile/v1/org-player-user/login [post]
// @Security Bearer
func
(
e
OrgPlayerUser
)
Login
(
c
*
gin
.
Context
)
{
req
:=
dto
.
LoginReq
{}
s
:=
service
.
OrgPlayerUser
{}
err
:=
e
.
MakeContext
(
c
)
.
MakeOrm
()
.
Bind
(
&
req
)
.
MakeService
(
&
s
.
Service
)
.
Errors
if
err
!=
nil
{
e
.
Logger
.
Error
(
err
)
e
.
Error
(
500
,
err
,
err
.
Error
())
return
}
p
:=
actions
.
GetPermissionFromContext
(
c
)
data
:=
new
(
models
.
OrgPlayerUser
)
req
.
Password
=
dto
.
Pwd
(
req
.
Password
)
err
=
s
.
Login
(
&
req
,
p
,
data
)
if
err
!=
nil
{
e
.
Error
(
500
,
err
,
fmt
.
Sprintf
(
"获取球员账户信息 失败,
\r\n
失败信息 %s"
,
err
.
Error
()))
return
}
//自建token生成
reply
:=
new
(
dto
.
LoginReply
)
//token, _ := utils.GenToken(int64(data.Id))
//
//a,_ := jwt.New(&jwt.GinJWTMiddleware{
// Realm: "test zone",
// Key: []byte(config.JwtConfig.Secret),
// Timeout: time.Duration(876010) * time.Hour,
// MaxRefresh: time.Hour,
// PayloadFunc: handler.PayloadFunc,
// IdentityHandler: handler.IdentityHandler,
// Authenticator: handler.Authenticator,
// Authorizator: handler.Authorizator,
// Unauthorized: handler.Unauthorized,
// TokenLookup: "header: Authorization, query: token, cookie: jwt",
// TokenHeadName: "Bearer",
// TimeFunc: time.Now,
//})
//reply.Token = a.
//reply.PlayerUserId = strconv.Itoa(data.Id)
e
.
OK
(
reply
,
"查询成功"
)
}
// GetPage 获取球员账户信息列表
// @Summary 获取球员账户信息列表
// @Description 获取球员账户信息列表
// @Tags 球员账户信息
// @Param pageSize query int false "页条数"
// @Param pageIndex query int false "页码"
// @Success 200 {string} string {"code": 200, "data": [...]}
// @Router /api/v1/org-player-user [get]
// @Security Bearer
func
(
e
OrgPlayerUser
)
GetPage
(
c
*
gin
.
Context
)
{
req
:=
dto
.
OrgPlayerUserGetPageReq
{}
s
:=
service
.
OrgPlayerUser
{}
err
:=
e
.
MakeContext
(
c
)
.
MakeOrm
()
.
Bind
(
&
req
)
.
MakeService
(
&
s
.
Service
)
.
Errors
if
err
!=
nil
{
e
.
Logger
.
Error
(
err
)
e
.
Error
(
500
,
err
,
err
.
Error
())
return
}
p
:=
actions
.
GetPermissionFromContext
(
c
)
list
:=
make
([]
models
.
OrgPlayerUser
,
0
)
var
count
int64
err
=
s
.
GetPage
(
&
req
,
p
,
&
list
,
&
count
)
if
err
!=
nil
{
e
.
Error
(
500
,
err
,
fmt
.
Sprintf
(
"获取球员账户信息 失败,
\r\n
失败信息 %s"
,
err
.
Error
()))
return
}
e
.
PageOK
(
list
,
int
(
count
),
req
.
GetPageIndex
(),
req
.
GetPageSize
(),
"查询成功"
)
}
// Get 获取球员账户信息
// @Summary 获取球员账户信息
// @Description 获取球员账户信息
// @Tags 球员账户信息
// @Param id path string false "id"
// @Success 200 {string} string "{"code": 200,"msg":"更新成功","data":{}}"
// @Router /api/v1/org-player-user/{id} [get]
// @Security Bearer
func
(
e
OrgPlayerUser
)
Get
(
c
*
gin
.
Context
)
{
req
:=
dto
.
OrgPlayerUserGetReq
{}
s
:=
service
.
OrgPlayerUser
{}
err
:=
e
.
MakeContext
(
c
)
.
MakeOrm
()
.
Bind
(
&
req
)
.
MakeService
(
&
s
.
Service
)
.
Errors
if
err
!=
nil
{
e
.
Logger
.
Error
(
err
)
e
.
Error
(
500
,
err
,
err
.
Error
())
return
}
var
object
models
.
OrgPlayerUser
p
:=
actions
.
GetPermissionFromContext
(
c
)
err
=
s
.
Get
(
&
req
,
p
,
&
object
)
if
err
!=
nil
{
e
.
Error
(
500
,
err
,
fmt
.
Sprintf
(
"获取球员账户信息失败,
\r\n
失败信息 %s"
,
err
.
Error
()))
return
}
e
.
OK
(
object
,
"查询成功"
)
}
// Insert 创建球员账户信息
// @Summary 创建球员账户信息
// @Description 创建球员账户信息
// @Tags 球员账户信息
// @Accept application/json
// @Product application/json
// @Param data body dto.OrgPlayerUserInsertReq true "data"
// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
// @Router /api/v1/org-player-user [post]
// @Security Bearer
func
(
e
OrgPlayerUser
)
Insert
(
c
*
gin
.
Context
)
{
req
:=
dto
.
OrgPlayerUserInsertReq
{}
s
:=
service
.
OrgPlayerUser
{}
err
:=
e
.
MakeContext
(
c
)
.
MakeOrm
()
.
Bind
(
&
req
)
.
MakeService
(
&
s
.
Service
)
.
Errors
if
err
!=
nil
{
e
.
Logger
.
Error
(
err
)
e
.
Error
(
500
,
err
,
err
.
Error
())
return
}
// 设置创建人
req
.
SetCreateBy
(
user
.
GetUserId
(
c
))
err
=
s
.
Insert
(
&
req
)
if
err
!=
nil
{
e
.
Error
(
500
,
err
,
fmt
.
Sprintf
(
"创建球员账户信息 失败,
\r\n
失败信息 %s"
,
err
.
Error
()))
return
}
e
.
OK
(
req
.
GetId
(),
"创建成功"
)
}
// Update 修改球员账户信息
// @Summary 修改球员账户信息
// @Description 修改球员账户信息
// @Tags 球员账户信息
// @Accept application/json
// @Product application/json
// @Param data body dto.OrgPlayerUserUpdateReq true "body"
// @Success 200 {string} string "{"code": 200, "message": "修改成功"}"
// @Router /api/v1/org-player-user/{id} [put]
// @Security Bearer
func
(
e
OrgPlayerUser
)
Update
(
c
*
gin
.
Context
)
{
req
:=
dto
.
OrgPlayerUserUpdateReq
{}
s
:=
service
.
OrgPlayerUser
{}
err
:=
e
.
MakeContext
(
c
)
.
MakeOrm
()
.
Bind
(
&
req
)
.
MakeService
(
&
s
.
Service
)
.
Errors
if
err
!=
nil
{
e
.
Logger
.
Error
(
err
)
e
.
Error
(
500
,
err
,
err
.
Error
())
return
}
req
.
SetUpdateBy
(
user
.
GetUserId
(
c
))
p
:=
actions
.
GetPermissionFromContext
(
c
)
err
=
s
.
Update
(
&
req
,
p
)
if
err
!=
nil
{
e
.
Error
(
500
,
err
,
fmt
.
Sprintf
(
"修改球员账户信息 失败,
\r\n
失败信息 %s"
,
err
.
Error
()))
return
}
e
.
OK
(
req
.
GetId
(),
"修改成功"
)
}
// Delete 删除球员账户信息
// @Summary 删除球员账户信息
// @Description 删除球员账户信息
// @Tags 球员账户信息
// @Param ids body []int false "ids"
// @Success 200 {string} string "{"code": 200, "message": "删除成功"}"
// @Router /api/v1/org-player-user [delete]
// @Security Bearer
func
(
e
OrgPlayerUser
)
Delete
(
c
*
gin
.
Context
)
{
s
:=
service
.
OrgPlayerUser
{}
req
:=
dto
.
OrgPlayerUserDeleteReq
{}
err
:=
e
.
MakeContext
(
c
)
.
MakeOrm
()
.
Bind
(
&
req
)
.
MakeService
(
&
s
.
Service
)
.
Errors
if
err
!=
nil
{
e
.
Logger
.
Error
(
err
)
e
.
Error
(
500
,
err
,
err
.
Error
())
return
}
// req.SetUpdateBy(user.GetUserId(c))
p
:=
actions
.
GetPermissionFromContext
(
c
)
err
=
s
.
Remove
(
&
req
,
p
)
if
err
!=
nil
{
e
.
Error
(
500
,
err
,
fmt
.
Sprintf
(
"删除球员账户信息失败,
\r\n
失败信息 %s"
,
err
.
Error
()))
return
}
e
.
OK
(
req
.
GetId
(),
"删除成功"
)
}
app/mobile/router/org_player.go
0 → 100644
View file @
3cc2b885
package
router
import
(
"github.com/gin-gonic/gin"
jwt
"github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
"go-admin/app/operate/apis"
"go-admin/common/middleware"
)
func
init
()
{
routerCheckRole
=
append
(
routerCheckRole
,
registerOrgPlayerRouter
)
}
// registerOrgPlayerRouter
func
registerOrgPlayerRouter
(
v1
*
gin
.
RouterGroup
,
authMiddleware
*
jwt
.
GinJWTMiddleware
)
{
api
:=
apis
.
OrgPlayer
{}
r
:=
v1
.
Group
(
"/org-player"
)
.
Use
(
authMiddleware
.
MiddlewareFunc
())
.
Use
(
middleware
.
AuthCheckRole
())
{
r
.
GET
(
""
,
api
.
GetPage
)
r
.
GET
(
"/:id"
,
api
.
Get
)
r
.
POST
(
""
,
api
.
Insert
)
r
.
PUT
(
"/:id"
,
api
.
Update
)
r
.
PUT
(
"/update-status"
,
api
.
UpdateStatus
)
r
.
DELETE
(
""
,
api
.
Delete
)
}
}
app/mobile/router/org_player_user.go
0 → 100644
View file @
3cc2b885
package
router
import
(
"github.com/gin-gonic/gin"
jwt
"github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
"go-admin/app/mobile/apis"
"go-admin/common/middleware"
)
func
init
()
{
routerCheckRole
=
append
(
routerCheckRole
,
registerOrgPlayerUserRouter
)
routerNoCheckRole
=
append
(
routerNoCheckRole
,
registerNoCheckOrgPlayerUserRouter
)
}
// registerOrgPlayerUserRouter
func
registerOrgPlayerUserRouter
(
v1
*
gin
.
RouterGroup
,
authMiddleware
*
jwt
.
GinJWTMiddleware
)
{
api
:=
apis
.
OrgPlayerUser
{}
r
:=
v1
.
Group
(
"/org-player-user"
)
.
Use
(
authMiddleware
.
MiddlewareFunc
())
.
Use
(
middleware
.
AuthCheckRole
())
{
r
.
GET
(
""
,
api
.
GetPage
)
r
.
GET
(
"/:id"
,
api
.
Get
)
r
.
POST
(
""
,
api
.
Insert
)
r
.
PUT
(
"/:id"
,
api
.
Update
)
r
.
DELETE
(
""
,
api
.
Delete
)
}
}
func
registerNoCheckOrgPlayerUserRouter
(
v1
*
gin
.
RouterGroup
)
{
api
:=
apis
.
OrgPlayerUser
{}
r
:=
v1
.
Group
(
"/org-player-user"
)
{
r
.
POST
(
"/login"
,
api
.
Login
)
}
}
app/mobile/service/dto/org_player.go
0 → 100644
View file @
3cc2b885
package
dto
import
(
"crypto/md5"
"encoding/hex"
"go-admin/app/operate/models"
"go-admin/common/dto"
common
"go-admin/common/models"
"time"
)
type
OrgPlayerGetPageReq
struct
{
dto
.
Pagination
`search:"-"`
TeamId
string
`form:"teamId" search:"-"`
TeamName
string
`form:"teamName" search:"type:contains;column:team_name;table:ot" comment:""`
PlayerName
string
`form:"playerName" search:"type:contains;column:player_name;table:op" comment:""`
Status
string
`form:"status" search:"type:exact;column:status;table:op" comment:""`
}
type
OrgPlayerGetPageReply
struct
{
Id
string
`json:"id" comment:"球队id"`
//球队id
ClubId
string
`json:"clubId" comment:"俱乐部id"`
ClubName
string
`json:"clubName" comment:"俱乐部名称"`
TeamId
string
`json:"teamId" comment:"球队id"`
TeamName
string
`json:"teamName" comment:"球队名称"`
PlayerName
string
`json:"playerName" comment:"球员名称"`
PlayerNameEn
string
`json:"playerNameEn" comment:"球员名称英文"`
PlayerNumber
string
`json:"playerNumber" comment:"球衣号"`
Position
string
`json:"position" comment:"场上位置"`
Sex
string
`json:"sex" comment:"性别"`
Status
string
`json:"status" comment:"状态"`
}
type
OrgPlayerOrder
struct
{
Id
int
`form:"idOrder" search:"type:order;column:id;table:org_player"`
ClubId
string
`form:"clubIdOrder" search:"type:order;column:club_id;table:org_player"`
TeamId
string
`form:"teamIdOrder" search:"type:order;column:team_id;table:org_player"`
PlayerName
string
`form:"playerNameOrder" search:"type:order;column:player_name;table:org_player"`
IdCard
string
`form:"idCardOrder" search:"type:order;column:id_card;table:org_player"`
Sex
string
`form:"sexOrder" search:"type:order;column:sex;table:org_player"`
PlayerNumber
string
`form:"playerNumberOrder" search:"type:order;column:player_number;table:org_player"`
Position
string
`form:"positionOrder" search:"type:order;column:position;table:org_player"`
PlayerImg
string
`form:"playerImgOrder" search:"type:order;column:player_img;table:org_player"`
PlayerUserId
string
`form:"playerUserIdOrder" search:"type:order;column:player_user_id;table:org_player"`
ShareConf
string
`form:"shareConfOrder" search:"type:order;column:share_conf;table:org_player"`
CreateBy
string
`form:"createByOrder" search:"type:order;column:create_by;table:org_player"`
UpdateBy
string
`form:"updateByOrder" search:"type:order;column:update_by;table:org_player"`
CreatedAt
time
.
Time
`form:"createdAtOrder" search:"type:order;column:created_at;table:org_player"`
UpdatedAt
time
.
Time
`form:"updatedAtOrder" search:"type:order;column:updated_at;table:org_player"`
DeletedAt
time
.
Time
`form:"deletedAtOrder" search:"type:order;column:deleted_at;table:org_player"`
}
func
(
m
*
OrgPlayerGetPageReq
)
GetNeedSearch
()
interface
{}
{
return
*
m
}
type
OrgPlayerInsertReq
struct
{
Id
int
`json:"-" comment:""`
//
ClubId
string
`json:"clubId" comment:"org_club表id"`
TeamId
string
`json:"teamId" comment:"org_team表id"`
PlayerName
string
`json:"playerName" comment:"球员姓名"`
IdCard
string
`json:"idCard" comment:"身份证号"`
Sex
string
`json:"sex" comment:"性别"`
PlayerNumber
string
`json:"playerNumber" comment:"球衣号码"`
Position
string
`json:"position" comment:"场上位置"`
PlayerImg
string
`json:"playerImg" comment:"球员照片"`
PlayerUserId
string
`json:"playerUserId" comment:"org_player_user表id"`
ShareConf
string
`json:"shareConf" comment:"分享功能 1 开启 2 关闭" default:"1"`
PlayerNameEn
string
`json:"playerNameEn" comment:"球员名称英文"`
Username
string
`json:"username" comment:"账号"`
common
.
ControlBy
}
func
(
s
*
OrgPlayerInsertReq
)
Generate
(
model
*
models
.
OrgPlayer
)
{
if
s
.
Id
==
0
{
model
.
Model
=
common
.
Model
{
Id
:
s
.
Id
}
}
model
.
ClubId
=
s
.
ClubId
model
.
TeamId
=
s
.
TeamId
model
.
PlayerName
=
s
.
PlayerName
model
.
PlayerNameEn
=
s
.
PlayerNameEn
model
.
IdCard
=
s
.
IdCard
model
.
Sex
=
s
.
Sex
model
.
PlayerNumber
=
s
.
PlayerNumber
model
.
Position
=
s
.
Position
model
.
PlayerImg
=
s
.
PlayerImg
model
.
PlayerUserId
=
s
.
PlayerUserId
model
.
ShareConf
=
s
.
ShareConf
}
func
(
s
*
OrgPlayerInsertReq
)
GetId
()
interface
{}
{
return
s
.
Id
}
type
OrgPlayerUpdateReq
struct
{
Id
int
`uri:"id" comment:""`
//
ClubId
string
`json:"clubId" comment:"org_club表id"`
TeamId
string
`json:"teamId" comment:"org_team表id"`
PlayerName
string
`json:"playerName" comment:"球员姓名"`
IdCard
string
`json:"idCard" comment:"身份证号"`
Sex
string
`json:"sex" comment:"性别"`
PlayerNumber
string
`json:"playerNumber" comment:"球衣号码"`
Position
string
`json:"position" comment:"场上位置"`
PlayerImg
string
`json:"playerImg" comment:"球员照片"`
PlayerUserId
string
`json:"playerUserId" comment:"org_player_user表id"`
ShareConf
string
`json:"shareConf" comment:"分享功能 1 开启 2 关闭" default:"1"`
PlayerNameEn
string
`json:"playerNameEn" comment:"球员名称英文"`
Username
string
`json:"username" comment:"账号"`
Status
string
`json:"status" comment:"状态 1 离队 2 在队" default:"2"`
//状态 1 离队 2 在队
common
.
ControlBy
}
type
OrgPlayerUpdateStatusReq
struct
{
Id
int
`json:"id" comment:""`
//
Status
string
`json:"status" comment:"状态 1 离队 2 在队"`
//状态 1 离队 2 在队
common
.
ControlBy
}
func
(
s
*
OrgPlayerUpdateReq
)
Generate
(
model
*
models
.
OrgPlayer
)
{
if
s
.
Id
==
0
{
model
.
Model
=
common
.
Model
{
Id
:
s
.
Id
}
}
model
.
ClubId
=
s
.
ClubId
model
.
TeamId
=
s
.
TeamId
model
.
PlayerName
=
s
.
PlayerName
model
.
PlayerNameEn
=
s
.
PlayerNameEn
model
.
IdCard
=
s
.
IdCard
model
.
Sex
=
s
.
Sex
model
.
PlayerNumber
=
s
.
PlayerNumber
model
.
Position
=
s
.
Position
model
.
PlayerImg
=
s
.
PlayerImg
model
.
PlayerUserId
=
s
.
PlayerUserId
model
.
ShareConf
=
s
.
ShareConf
model
.
Status
=
s
.
Status
}
func
(
s
*
OrgPlayerUpdateReq
)
GetId
()
interface
{}
{
return
s
.
Id
}
// OrgPlayerGetReq 功能获取请求参数
type
OrgPlayerGetReq
struct
{
Id
int
`uri:"id"`
}
type
OrgPlayerGetReply
struct
{
Id
int
`json:"id" comment:"球员id"`
ClubId
string
`json:"clubId" comment:"俱乐部id"`
ClubName
string
`json:"clubName" comment:"俱乐部名称"`
TeamId
string
`json:"teamId" comment:"球队id"`
TeamName
string
`json:"teamName" comment:"球队名称"`
PlayerName
string
`json:"playerName" comment:"球员名称"`
PlayerNameEn
string
`json:"playerNameEn" comment:"球员名称英文"`
IdCard
string
`json:"idCard" comment:"身份证号"`
Sex
string
`json:"sex" comment:"性别"`
PlayerNumber
string
`json:"playerNumber" comment:"球衣号"`
Position
string
`json:"position" comment:"场上位置"`
PlayerImg
string
`json:"playerImg" comment:"球员照片"`
Username
string
`json:"username" comment:"账号"`
ShareConf
string
`json:"shareConf" comment:"分享功能 1 开启 2 关闭"`
Status
string
`json:"status" comment:"状态 1 离队 2 在队"`
//1 离队 2 在队
}
func
(
s
*
OrgPlayerGetReq
)
GetId
()
interface
{}
{
return
s
.
Id
}
// OrgPlayerDeleteReq 功能删除请求参数
type
OrgPlayerDeleteReq
struct
{
Ids
[]
int
`json:"ids"`
}
func
(
s
*
OrgPlayerDeleteReq
)
GetId
()
interface
{}
{
return
s
.
Ids
}
func
Pwd
(
password
string
)
string
{
if
password
==
""
{
return
""
}
// 改为md5 修改时需同时修改创建的加密
h
:=
md5
.
New
()
h
.
Write
([]
byte
(
password
))
return
hex
.
EncodeToString
(
h
.
Sum
(
nil
))
//var hash []byte
//var err error
//if hash, err = bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost); err != nil {
// return ""
//} else {
// return string(hash)
//
//}
}
app/mobile/service/dto/org_player_rank.go
View file @
3cc2b885
...
...
@@ -7,7 +7,7 @@ import (
type
OrgPlayerRankGetPageReq
struct
{
dto
.
Pagination
`search:"-"`
LeagueId
string
`form:"leagueId" search:"type:exact;column:league_id;table:om" comment:"联赛级别id"`
//联赛级别id
TypeName
string
`form:"typeName" search:"
type:exact;column:rounds;table:omtp" comment:"轮次"`
//轮次
TypeName
string
`form:"typeName" search:"
-"`
//
}
type
OrgPlayerRankGetPageReply
struct
{
...
...
app/mobile/service/dto/org_player_user.go
0 → 100644
View file @
3cc2b885
package
dto
import
(
"go-admin/app/operate/models"
"go-admin/common/dto"
common
"go-admin/common/models"
"time"
)
type
LoginReq
struct
{
Username
string
`json:"username"`
Password
string
`json:"password"`
}
type
LoginReply
struct
{
Token
string
`json:"token"`
PlayerUserId
string
`json:"playerUserId"`
}
type
OrgPlayerUserGetPageReq
struct
{
dto
.
Pagination
`search:"-"`
OrgPlayerUserOrder
}
type
OrgPlayerUserOrder
struct
{
Id
int
`form:"idOrder" search:"type:order;column:id;table:org_player_user"`
Username
string
`form:"usernameOrder" search:"type:order;column:username;table:org_player_user"`
Password
string
`form:"passwordOrder" search:"type:order;column:password;table:org_player_user"`
Nickname
string
`form:"nicknameOrder" search:"type:order;column:nickname;table:org_player_user"`
Headimg
string
`form:"headimgOrder" search:"type:order;column:headimg;table:org_player_user"`
OpenId
string
`form:"openIdOrder" search:"type:order;column:open_id;table:org_player_user"`
Phone
string
`form:"phoneOrder" search:"type:order;column:phone;table:org_player_user"`
CreateBy
string
`form:"createByOrder" search:"type:order;column:create_by;table:org_player_user"`
UpdateBy
string
`form:"updateByOrder" search:"type:order;column:update_by;table:org_player_user"`
CreatedAt
time
.
Time
`form:"createdAtOrder" search:"type:order;column:created_at;table:org_player_user"`
UpdatedAt
time
.
Time
`form:"updatedAtOrder" search:"type:order;column:updated_at;table:org_player_user"`
DeletedAt
time
.
Time
`form:"deletedAtOrder" search:"type:order;column:deleted_at;table:org_player_user"`
}
func
(
m
*
OrgPlayerUserGetPageReq
)
GetNeedSearch
()
interface
{}
{
return
*
m
}
type
OrgPlayerUserInsertReq
struct
{
Id
int
`json:"-" comment:""`
//
Username
string
`json:"username" comment:"登录账号(手机号)"`
Password
string
`json:"password" comment:"密码"`
Nickname
string
`json:"nickname" comment:"昵称"`
Headimg
string
`json:"headimg" comment:"头像"`
OpenId
string
`json:"openId" comment:"小程序唯一id"`
Phone
string
`json:"phone" comment:"小程序手机号"`
common
.
ControlBy
}
func
(
s
*
OrgPlayerUserInsertReq
)
Generate
(
model
*
models
.
OrgPlayerUser
)
{
if
s
.
Id
==
0
{
model
.
Model
=
common
.
Model
{
Id
:
s
.
Id
}
}
model
.
Username
=
s
.
Username
model
.
Password
=
s
.
Password
model
.
Nickname
=
s
.
Nickname
model
.
Headimg
=
s
.
Headimg
model
.
OpenId
=
s
.
OpenId
model
.
Phone
=
s
.
Phone
}
func
(
s
*
OrgPlayerUserInsertReq
)
GetId
()
interface
{}
{
return
s
.
Id
}
type
OrgPlayerUserUpdateReq
struct
{
Id
int
`uri:"id" comment:""`
//
Username
string
`json:"username" comment:"登录账号(手机号)"`
Password
string
`json:"password" comment:"密码"`
Nickname
string
`json:"nickname" comment:"昵称"`
Headimg
string
`json:"headimg" comment:"头像"`
OpenId
string
`json:"openId" comment:"小程序唯一id"`
Phone
string
`json:"phone" comment:"小程序手机号"`
common
.
ControlBy
}
func
(
s
*
OrgPlayerUserUpdateReq
)
Generate
(
model
*
models
.
OrgPlayerUser
)
{
if
s
.
Id
==
0
{
model
.
Model
=
common
.
Model
{
Id
:
s
.
Id
}
}
model
.
Username
=
s
.
Username
model
.
Password
=
s
.
Password
model
.
Nickname
=
s
.
Nickname
model
.
Headimg
=
s
.
Headimg
model
.
OpenId
=
s
.
OpenId
model
.
Phone
=
s
.
Phone
}
func
(
s
*
OrgPlayerUserUpdateReq
)
GetId
()
interface
{}
{
return
s
.
Id
}
// OrgPlayerUserGetReq 功能获取请求参数
type
OrgPlayerUserGetReq
struct
{
Id
int
`uri:"id"`
}
func
(
s
*
OrgPlayerUserGetReq
)
GetId
()
interface
{}
{
return
s
.
Id
}
// OrgPlayerUserDeleteReq 功能删除请求参数
type
OrgPlayerUserDeleteReq
struct
{
Ids
[]
int
`json:"ids"`
}
func
(
s
*
OrgPlayerUserDeleteReq
)
GetId
()
interface
{}
{
return
s
.
Ids
}
app/mobile/service/org_player.go
0 → 100644
View file @
3cc2b885
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
OrgPlayer
struct
{
service
.
Service
}
// GetPage 获取OrgPlayer列表
func
(
e
*
OrgPlayer
)
GetPage
(
c
*
dto
.
OrgPlayerGetPageReq
,
p
*
actions
.
DataPermission
,
list
*
[]
dto
.
OrgPlayerGetPageReply
,
count
*
int64
)
error
{
var
err
error
var
data
models
.
OrgPlayer
err
=
e
.
Orm
.
Table
(
"org_player as op"
)
.
Select
(
"op.id,op.club_id,oc.club_name,op.team_id,ot.team_name,"
+
"op.player_name,op.player_number,op.position,op.sex,op.status"
)
.
Joins
(
"left join org_club as oc on op.club_id=oc.id"
)
.
Joins
(
"left join org_team as ot on op.team_id=ot.id"
)
.
Joins
(
"left join org_player_user as opu on op.player_user_id=opu.id"
)
.
Scopes
(
cDto
.
MakeCondition
(
c
.
GetNeedSearch
()),
cDto
.
Paginate
(
c
.
GetPageSize
(),
c
.
GetPageIndex
()),
actions
.
Permission
(
data
.
TableName
(),
p
),
cDto
.
SetWhere
(
"op"
,
"team_id"
,
c
.
TeamId
),
cDto
.
PassDel
(
"op"
),
)
.
Find
(
list
)
.
Limit
(
-
1
)
.
Offset
(
-
1
)
.
Count
(
count
)
.
Error
if
err
!=
nil
{
e
.
Log
.
Errorf
(
"OrgPlayerService GetPage error:%s
\r\n
"
,
err
)
return
err
}
return
nil
}
// Get 获取OrgPlayer对象
func
(
e
*
OrgPlayer
)
Get
(
d
*
dto
.
OrgPlayerGetReq
,
p
*
actions
.
DataPermission
,
model
*
dto
.
OrgPlayerGetReply
)
error
{
var
data
models
.
OrgPlayer
err
:=
e
.
Orm
.
Table
(
"org_player as op"
)
.
Select
(
"op.id,op.club_id,oc.club_name,op.team_id,ot.team_name,"
+
"op.player_name,op.player_name_en,op.id_card,op.player_number,"
+
"op.position,op.sex,op.player_img,opu.username,op.share_conf,op.status"
)
.
Joins
(
"left join org_club as oc on op.club_id=oc.id"
)
.
Joins
(
"left join org_team as ot on op.team_id=ot.id"
)
.
Joins
(
"left join org_player_user as opu on op.player_user_id=opu.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 GetOrgPlayer error:%s
\r\n
"
,
err
)
return
err
}
if
err
!=
nil
{
e
.
Log
.
Errorf
(
"db error:%s"
,
err
)
return
err
}
return
nil
}
// Insert 创建OrgPlayer对象
func
(
e
*
OrgPlayer
)
Insert
(
c
*
dto
.
OrgPlayerInsertReq
)
error
{
var
err
error
var
data
models
.
OrgPlayer
c
.
Generate
(
&
data
)
err
=
e
.
Orm
.
Create
(
&
data
)
.
Error
if
err
!=
nil
{
e
.
Log
.
Errorf
(
"OrgPlayerService Insert error:%s
\r\n
"
,
err
)
return
err
}
return
nil
}
// Update 修改OrgPlayer对象
func
(
e
*
OrgPlayer
)
Update
(
c
*
dto
.
OrgPlayerUpdateReq
,
p
*
actions
.
DataPermission
)
error
{
var
err
error
var
data
=
models
.
OrgPlayer
{}
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
(
"OrgPlayerService Save error:%s
\r\n
"
,
err
)
return
err
}
if
db
.
RowsAffected
==
0
{
return
errors
.
New
(
"无权更新该数据"
)
}
return
nil
}
// Remove 删除OrgPlayer
func
(
e
*
OrgPlayer
)
Remove
(
d
*
dto
.
OrgPlayerDeleteReq
,
p
*
actions
.
DataPermission
)
error
{
var
data
models
.
OrgPlayer
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 RemoveOrgPlayer error:%s
\r\n
"
,
err
)
return
err
}
if
db
.
RowsAffected
==
0
{
return
errors
.
New
(
"无权删除该数据"
)
}
return
nil
}
app/mobile/service/org_player_rank.go
View file @
3cc2b885
...
...
@@ -3,11 +3,11 @@ package service
import
(
"github.com/go-admin-team/go-admin-core/sdk/service"
cDto
"go-admin/common/dto"
"go-admin/common/utils"
"sort"
"strconv"
"go-admin/app/mobile/service/dto"
"go-admin/app/operate/models"
"go-admin/common/actions"
)
...
...
@@ -20,7 +20,7 @@ func (e *OrgPlayerRank) GetPage(c *dto.OrgPlayerRankGetPageReq, p *actions.DataP
var
err
error
err
=
e
.
Orm
.
Table
(
"org_match_team_player as omtp"
)
.
Select
(
"ol.league_name, omtp.player_name, omtp.player_id, omtp.player_number,"
+
Select
(
"ol.league_name, omtp.player_name, omtp.player_id
as id
, omtp.player_number,"
+
"sum(omtp.scoring)as scoring,"
+
"sum(omtp.rebound)as rebound,"
+
"sum(omtp.assist)as assist,"
+
...
...
@@ -30,7 +30,7 @@ func (e *OrgPlayerRank) GetPage(c *dto.OrgPlayerRankGetPageReq, p *actions.DataP
"sum(omtp.foul)as foul,"
+
"sum(omtp.two_point_shot)as two_point_shot,"
+
"sum(omtp.three_point_shot)as three_point_shot"
)
.
Joins
(
"left join org_team as o
l
on ot.id = omtp.team_id"
)
.
Joins
(
"left join org_team as o
t
on ot.id = omtp.team_id"
)
.
Joins
(
"left join org_player as op on op.id = omtp.player_id"
)
.
Joins
(
"left join org_match as om on omtp.match_id = om.id and omtp.rounds = om.rounds"
)
.
Joins
(
"left join org_league as ol on ol.id = om.league_id"
)
.
...
...
@@ -39,6 +39,7 @@ func (e *OrgPlayerRank) GetPage(c *dto.OrgPlayerRankGetPageReq, p *actions.DataP
cDto
.
Paginate
(
c
.
GetPageSize
(),
c
.
GetPageIndex
()),
actions
.
Permission
(
"omtp"
,
p
),
cDto
.
PassDel
(
"omtp"
),
cDto
.
SetWhere
(
"omtp"
,
"league_id"
,
c
.
LeagueId
),
)
.
Group
(
"omtp.player_id"
)
.
Find
(
list
)
.
Limit
(
-
1
)
.
Offset
(
-
1
)
.
...
...
@@ -47,258 +48,133 @@ func (e *OrgPlayerRank) GetPage(c *dto.OrgPlayerRankGetPageReq, p *actions.DataP
e
.
Log
.
Errorf
(
"OrgClubPlayer GetPage error:%s
\r\n
"
,
err
)
return
err
}
return
nil
}
// GetPage 获取OrgMatchEvaluate列表
func
(
e
*
OrgPlayerRank
)
GetMatchInfo
(
id
string
,
p
*
actions
.
DataPermission
,
data
*
cDto
.
PageMatchInfo
)
error
{
var
err
error
err
=
e
.
Orm
.
Table
(
"org_match_team_player as omtp"
)
.
Select
(
"omtp.id, omtp.match_id, omtp.team_id, ol.league_name, os.season_name,"
+
"oc.club_name, ot.team_name, omtp.player_name, omtp.player_number, omtp.position,"
+
"omtp.player_id, om.rounds, om.season_id"
)
.
Joins
(
"left join org_club as oc on omtp.club_id = oc.id"
)
.
Joins
(
"left join org_team as ot on omtp.team_id = ot.id"
)
.
Joins
(
"left join org_match as om on omtp.match_id = om.id and omtp.rounds = om.rounds"
)
.
Joins
(
"left join org_league as ol on ol.id = om.league_id"
)
.
Joins
(
"left join org_season as os on os.id = om.season_id"
)
.
Scopes
(
actions
.
Permission
(
"omtp"
,
p
),
)
.
First
(
data
,
id
)
.
Error
if
err
!=
nil
{
e
.
Log
.
Errorf
(
"OrgMatchService GetMatchInfo error:%s
\r\n
"
,
err
)
return
err
if
c
.
TypeName
==
"scoring"
{
e
.
rankingScoring
(
list
)
}
return
nil
}
func
(
e
*
OrgPlayerRank
)
GetRoundsScoring
(
playerId
string
,
rounds
string
,
teamPlayerId
string
,
data
*
[]
cDto
.
RoundsScoring
)
error
{
var
err
error
err
=
e
.
Orm
.
Table
(
"org_match_team_player as omtp"
)
.
Select
(
"omtp.id, om.match_start_time, om.rounds, om.grouping, ot.team_name as other_team, "
+
"omtp.scoring, omtp.scoring, omtp.rebound, omtp.assist, omtp.steal, omtp.free_throw, "
+
"omtp.block_shot, omtp.foul, omtp.two_point_shot, omtp.three_point_shot"
)
.
Joins
(
"left join org_match as om on omtp.match_id = om.id and omtp.rounds = om.rounds"
)
.
Joins
(
"left join org_team as ot on omtp.other_team_id = ot.id"
)
.
Scopes
(
cDto
.
SetWhere
(
"omtp"
,
"player_id"
,
playerId
),
cDto
.
SetWhere
(
"omtp"
,
"rounds"
,
rounds
),
cDto
.
SetWhere
(
"omtp"
,
"id"
,
teamPlayerId
),
)
.
Find
(
data
)
.
Error
if
err
!=
nil
{
e
.
Log
.
Errorf
(
"OrgMatchService GetRoundsScoring error:%s
\r\n
"
,
err
)
return
err
if
c
.
TypeName
==
"rebound"
{
e
.
rankingRebound
(
list
)
}
return
nil
}
func
(
e
*
OrgPlayerRank
)
statisticsScoring
(
playerId
string
,
rounds
string
,
seasonId
string
,
statistics
string
,
data
*
cDto
.
TotalScoring
)
error
{
var
err
error
field
:=
""
if
statistics
==
"sum"
{
field
+=
"sum(omtp.scoring)as scoring,"
+
"sum(omtp.rebound)as rebound,"
+
"sum(omtp.assist)as assist,"
+
"sum(omtp.steal)as steal,"
+
"sum(omtp.free_throw)as free_throw,"
+
"sum(omtp.block_shot)as block_shot,"
+
"sum(omtp.foul)as foul,"
+
"sum(omtp.two_point_shot)as two_point_shot,"
+
"sum(omtp.three_point_shot)as three_point_shot"
if
c
.
TypeName
==
"steal"
{
e
.
rankingSteal
(
list
)
}
if
statistics
==
"avg"
{
field
+=
"avg(omtp.scoring)as scoring,"
+
"avg(omtp.rebound)as rebound,"
+
"avg(omtp.assist)as assist,"
+
"avg(omtp.steal)as steal,"
+
"avg(omtp.free_throw)as free_throw,"
+
"avg(omtp.block_shot)as block_shot,"
+
"avg(omtp.foul)as foul,"
+
"avg(omtp.two_point_shot)as two_point_shot,"
+
"avg(omtp.three_point_shot)as three_point_shot"
if
c
.
TypeName
==
"freeThrow"
{
e
.
rankingFreeThrow
(
list
)
}
err
=
e
.
Orm
.
Table
(
"org_match_team_player as omtp"
)
.
Joins
(
"left join org_match as om on omtp.match_id = om.id and omtp.rounds = om.rounds"
)
.
Select
(
field
)
.
Where
(
"omtp.player_id = ?"
,
playerId
)
.
Where
(
"omtp.rounds = ?"
,
rounds
)
.
Scopes
(
cDto
.
SetWhere
(
"om"
,
"season_id"
,
seasonId
))
.
First
(
data
)
.
Error
if
err
!=
nil
{
e
.
Log
.
Errorf
(
"OrgMatchService GetTotalScoring error:%s
\r\n
"
,
err
)
return
err
if
c
.
TypeName
==
"blockShot"
{
e
.
rankingBlockShot
(
list
)
}
return
nil
}
// Get 获取OrgMatchEvaluate对象
func
(
e
*
OrgPlayerRank
)
GetTotalScoring
(
playerId
string
,
rounds
string
,
seasonId
string
,
data
*
[]
cDto
.
TotalScoring
)
error
{
replyGetTotalScoring1
:=
new
(
cDto
.
TotalScoring
)
e
.
statisticsScoring
(
playerId
,
rounds
,
"0"
,
"sum"
,
replyGetTotalScoring1
)
*
data
=
append
(
*
data
,
*
replyGetTotalScoring1
)
replyGetTotalScoring2
:=
new
(
cDto
.
TotalScoring
)
e
.
statisticsScoring
(
playerId
,
rounds
,
"0"
,
"avg"
,
replyGetTotalScoring2
)
*
data
=
append
(
*
data
,
*
replyGetTotalScoring2
)
replyGetTotalScoring3
:=
new
(
cDto
.
TotalScoring
)
e
.
statisticsScoring
(
playerId
,
rounds
,
seasonId
,
"sum"
,
replyGetTotalScoring3
)
*
data
=
append
(
*
data
,
*
replyGetTotalScoring3
)
replyGetTotalScoring4
:=
new
(
cDto
.
TotalScoring
)
e
.
statisticsScoring
(
playerId
,
rounds
,
seasonId
,
"avg"
,
replyGetTotalScoring4
)
*
data
=
append
(
*
data
,
*
replyGetTotalScoring4
)
replyGetTotalScoring5
:=
new
(
cDto
.
TotalScoring
)
e
.
statisticsRankingList
(
playerId
,
seasonId
,
replyGetTotalScoring5
)
*
data
=
append
(
*
data
,
*
replyGetTotalScoring5
)
return
nil
}
func
(
e
*
OrgPlayerRank
)
statisticsRankingList
(
playerId
string
,
seasonId
string
,
scoring
*
cDto
.
TotalScoring
)
error
{
replyGetPlayerRank
:=
make
([]
models
.
OrgMatchTeamPlayer
,
0
)
err
:=
e
.
statisticsRanking
(
seasonId
,
&
replyGetPlayerRank
)
if
err
!=
nil
{
e
.
Log
.
Errorf
(
"OrgMatchService GetTotalScoring error:%s
\r\n
"
,
err
)
return
err
if
c
.
TypeName
==
"foul"
{
e
.
rankingFoul
(
list
)
}
if
c
.
TypeName
==
"twoPointShot"
{
e
.
rankingTwoPointShot
(
list
)
}
if
c
.
TypeName
==
"threePointShot"
{
e
.
rankingThreePointShot
(
list
)
}
e
.
rankingScoring
(
replyGetPlayerRank
,
playerId
,
scoring
)
e
.
rankingRebound
(
replyGetPlayerRank
,
playerId
,
scoring
)
e
.
rankingAssist
(
replyGetPlayerRank
,
playerId
,
scoring
)
e
.
rankingSteal
(
replyGetPlayerRank
,
playerId
,
scoring
)
e
.
rankingFreeThrow
(
replyGetPlayerRank
,
playerId
,
scoring
)
e
.
rankingBlockShot
(
replyGetPlayerRank
,
playerId
,
scoring
)
e
.
rankingFoul
(
replyGetPlayerRank
,
playerId
,
scoring
)
e
.
rankingTwoPointShot
(
replyGetPlayerRank
,
playerId
,
scoring
)
e
.
rankingThreePointShot
(
replyGetPlayerRank
,
playerId
,
scoring
)
return
nil
}
func
(
e
*
OrgPlayerRank
)
rankingScoring
(
replyGetPlayerRank
[]
models
.
OrgMatchTeamPlayer
,
playerId
string
,
scoring
*
cDto
.
TotalScoring
)
{
sort
.
Slice
(
replyGetPlayerRank
,
func
(
i
,
j
int
)
bool
{
return
replyGetPlayerRank
[
i
]
.
Scoring
>
replyGetPlayerRank
[
j
]
.
Scoring
func
(
e
*
OrgPlayerRank
)
rankingScoring
(
list
*
[]
dto
.
OrgPlayerRankGetPageReply
)
{
listData
:=
*
list
sort
.
Slice
(
listData
,
func
(
i
,
j
int
)
bool
{
return
utils
.
StringToFloat
(
listData
[
i
]
.
Scoring
)
>
utils
.
StringToFloat
(
listData
[
j
]
.
Scoring
)
})
for
k
,
v
:=
range
replyGetPlayerRank
{
if
v
.
PlayerId
==
playerId
{
scoring
.
Scoring
=
strconv
.
Itoa
(
k
+
1
)
}
}
}
func
(
e
*
OrgPlayerRank
)
rankingRebound
(
replyGetPlayerRank
[]
models
.
OrgMatchTeamPlayer
,
playerId
string
,
scoring
*
cDto
.
TotalScoring
)
{
sort
.
Slice
(
replyGetPlayerRank
,
func
(
i
,
j
int
)
bool
{
return
replyGetPlayerRank
[
i
]
.
Rebound
>
replyGetPlayerRank
[
j
]
.
Rebound
})
for
k
,
v
:=
range
replyGetPlayerRank
{
if
v
.
PlayerId
==
playerId
{
scoring
.
Rebound
=
strconv
.
Itoa
(
k
+
1
)
}
//key := 0
for
k
:=
range
listData
{
listData
[
k
]
.
Rank
=
strconv
.
Itoa
(
k
+
1
)
}
//listDataA := append(listData[key:key+1], listData[0:key]...)
//listData = append(listDataA, listData[key+1:]...)
//*list = listData
//fmt.Println(listData)
}
func
(
e
*
OrgPlayerRank
)
rankingAssist
(
replyGetPlayerRank
[]
models
.
OrgMatchTeamPlayer
,
playerId
string
,
scoring
*
cDto
.
TotalScoring
)
{
sort
.
Slice
(
replyGetPlayerRank
,
func
(
i
,
j
int
)
bool
{
return
replyGetPlayerRank
[
i
]
.
Assist
>
replyGetPlayerRank
[
j
]
.
Assist
func
(
e
*
OrgPlayerRank
)
rankingRebound
(
list
*
[]
dto
.
OrgPlayerRankGetPageReply
)
{
listData
:=
*
list
sort
.
Slice
(
listData
,
func
(
i
,
j
int
)
bool
{
return
utils
.
StringToFloat
(
listData
[
i
]
.
Rebound
)
>
utils
.
StringToFloat
(
listData
[
j
]
.
Rebound
)
})
for
k
,
v
:=
range
replyGetPlayerRank
{
if
v
.
PlayerId
==
playerId
{
scoring
.
Assist
=
strconv
.
Itoa
(
k
+
1
)
}
for
k
:=
range
listData
{
listData
[
k
]
.
Rank
=
strconv
.
Itoa
(
k
+
1
)
}
}
func
(
e
*
OrgPlayerRank
)
rankingSteal
(
replyGetPlayerRank
[]
models
.
OrgMatchTeamPlayer
,
playerId
string
,
scoring
*
cDto
.
TotalScoring
)
{
sort
.
Slice
(
replyGetPlayerRank
,
func
(
i
,
j
int
)
bool
{
return
replyGetPlayerRank
[
i
]
.
Steal
>
replyGetPlayerRank
[
j
]
.
Steal
func
(
e
*
OrgPlayerRank
)
rankingAssist
(
list
*
[]
dto
.
OrgPlayerRankGetPageReply
)
{
listData
:=
*
list
sort
.
Slice
(
listData
,
func
(
i
,
j
int
)
bool
{
return
utils
.
StringToFloat
(
listData
[
i
]
.
Assist
)
>
utils
.
StringToFloat
(
listData
[
j
]
.
Assist
)
})
for
k
,
v
:=
range
replyGetPlayerRank
{
if
v
.
PlayerId
==
playerId
{
scoring
.
Steal
=
strconv
.
Itoa
(
k
+
1
)
}
for
k
:=
range
listData
{
listData
[
k
]
.
Rank
=
strconv
.
Itoa
(
k
+
1
)
}
}
func
(
e
*
OrgPlayerRank
)
rankingFreeThrow
(
replyGetPlayerRank
[]
models
.
OrgMatchTeamPlayer
,
playerId
string
,
scoring
*
cDto
.
TotalScoring
)
{
sort
.
Slice
(
replyGetPlayerRank
,
func
(
i
,
j
int
)
bool
{
return
replyGetPlayerRank
[
i
]
.
FreeThrow
>
replyGetPlayerRank
[
j
]
.
FreeThrow
func
(
e
*
OrgPlayerRank
)
rankingSteal
(
list
*
[]
dto
.
OrgPlayerRankGetPageReply
)
{
listData
:=
*
list
sort
.
Slice
(
listData
,
func
(
i
,
j
int
)
bool
{
return
utils
.
StringToFloat
(
listData
[
i
]
.
Steal
)
>
utils
.
StringToFloat
(
listData
[
j
]
.
Steal
)
})
for
k
,
v
:=
range
replyGetPlayerRank
{
if
v
.
PlayerId
==
playerId
{
scoring
.
FreeThrow
=
strconv
.
Itoa
(
k
+
1
)
}
for
k
:=
range
listData
{
listData
[
k
]
.
Rank
=
strconv
.
Itoa
(
k
+
1
)
}
}
func
(
e
*
OrgPlayerRank
)
rankingBlockShot
(
replyGetPlayerRank
[]
models
.
OrgMatchTeamPlayer
,
playerId
string
,
scoring
*
cDto
.
TotalScoring
)
{
sort
.
Slice
(
replyGetPlayerRank
,
func
(
i
,
j
int
)
bool
{
return
replyGetPlayerRank
[
i
]
.
BlockShot
>
replyGetPlayerRank
[
j
]
.
BlockShot
func
(
e
*
OrgPlayerRank
)
rankingFreeThrow
(
list
*
[]
dto
.
OrgPlayerRankGetPageReply
)
{
listData
:=
*
list
sort
.
Slice
(
listData
,
func
(
i
,
j
int
)
bool
{
return
utils
.
StringToFloat
(
listData
[
i
]
.
FreeThrow
)
>
utils
.
StringToFloat
(
listData
[
j
]
.
FreeThrow
)
})
for
k
,
v
:=
range
replyGetPlayerRank
{
if
v
.
PlayerId
==
playerId
{
scoring
.
BlockShot
=
strconv
.
Itoa
(
k
+
1
)
}
for
k
:=
range
listData
{
listData
[
k
]
.
Rank
=
strconv
.
Itoa
(
k
+
1
)
}
}
func
(
e
*
OrgPlayerRank
)
rankingFoul
(
replyGetPlayerRank
[]
models
.
OrgMatchTeamPlayer
,
playerId
string
,
scoring
*
cDto
.
TotalScoring
)
{
sort
.
Slice
(
replyGetPlayerRank
,
func
(
i
,
j
int
)
bool
{
return
replyGetPlayerRank
[
i
]
.
Foul
>
replyGetPlayerRank
[
j
]
.
Foul
func
(
e
*
OrgPlayerRank
)
rankingBlockShot
(
list
*
[]
dto
.
OrgPlayerRankGetPageReply
)
{
listData
:=
*
list
sort
.
Slice
(
listData
,
func
(
i
,
j
int
)
bool
{
return
utils
.
StringToFloat
(
listData
[
i
]
.
BlockShot
)
>
utils
.
StringToFloat
(
listData
[
j
]
.
BlockShot
)
})
for
k
,
v
:=
range
replyGetPlayerRank
{
if
v
.
PlayerId
==
playerId
{
scoring
.
Foul
=
strconv
.
Itoa
(
k
+
1
)
}
for
k
:=
range
listData
{
listData
[
k
]
.
Rank
=
strconv
.
Itoa
(
k
+
1
)
}
}
func
(
e
*
OrgPlayerRank
)
rankingTwoPointShot
(
replyGetPlayerRank
[]
models
.
OrgMatchTeamPlayer
,
playerId
string
,
scoring
*
cDto
.
TotalScoring
)
{
sort
.
Slice
(
replyGetPlayerRank
,
func
(
i
,
j
int
)
bool
{
return
replyGetPlayerRank
[
i
]
.
TwoPointShot
>
replyGetPlayerRank
[
j
]
.
TwoPointShot
func
(
e
*
OrgPlayerRank
)
rankingFoul
(
list
*
[]
dto
.
OrgPlayerRankGetPageReply
)
{
listData
:=
*
list
sort
.
Slice
(
listData
,
func
(
i
,
j
int
)
bool
{
return
utils
.
StringToFloat
(
listData
[
i
]
.
Foul
)
>
utils
.
StringToFloat
(
listData
[
j
]
.
Foul
)
})
for
k
,
v
:=
range
replyGetPlayerRank
{
if
v
.
PlayerId
==
playerId
{
scoring
.
TwoPointShot
=
strconv
.
Itoa
(
k
+
1
)
}
for
k
:=
range
listData
{
listData
[
k
]
.
Rank
=
strconv
.
Itoa
(
k
+
1
)
}
}
func
(
e
*
OrgPlayerRank
)
rankingThreePointShot
(
replyGetPlayerRank
[]
models
.
OrgMatchTeamPlayer
,
playerId
string
,
scoring
*
cDto
.
TotalScoring
)
{
sort
.
Slice
(
replyGetPlayerRank
,
func
(
i
,
j
int
)
bool
{
return
replyGetPlayerRank
[
i
]
.
ThreePointShot
>
replyGetPlayerRank
[
j
]
.
ThreePointShot
func
(
e
*
OrgPlayerRank
)
rankingTwoPointShot
(
list
*
[]
dto
.
OrgPlayerRankGetPageReply
)
{
listData
:=
*
list
sort
.
Slice
(
listData
,
func
(
i
,
j
int
)
bool
{
return
utils
.
StringToFloat
(
listData
[
i
]
.
TwoPointShot
)
>
utils
.
StringToFloat
(
listData
[
j
]
.
TwoPointShot
)
})
for
k
,
v
:=
range
replyGetPlayerRank
{
if
v
.
PlayerId
==
playerId
{
scoring
.
ThreePointShot
=
strconv
.
Itoa
(
k
+
1
)
}
for
k
:=
range
listData
{
listData
[
k
]
.
Rank
=
strconv
.
Itoa
(
k
+
1
)
}
}
func
(
e
*
OrgPlayerRank
)
statisticsRanking
(
seasonId
string
,
data
*
[]
models
.
OrgMatchTeamPlayer
)
error
{
var
err
error
field
:=
"player_id,"
+
"sum(omtp.scoring)as scoring,"
+
"sum(omtp.rebound)as rebound,"
+
"sum(omtp.assist)as assist,"
+
"sum(omtp.steal)as steal,"
+
"sum(omtp.free_throw)as free_throw,"
+
"sum(omtp.block_shot)as block_shot,"
+
"sum(omtp.foul)as foul,"
+
"sum(omtp.two_point_shot)as two_point_shot,"
+
"sum(omtp.three_point_shot)as three_point_shot"
err
=
e
.
Orm
.
Table
(
"org_match_team_player as omtp"
)
.
Select
(
field
)
.
Joins
(
"left join org_match as om on omtp.match_id = om.id"
)
.
Where
(
"om.season_id = ?"
,
seasonId
)
.
Order
(
"player_id asc"
)
.
Group
(
"player_id"
)
.
Find
(
&
data
)
.
Error
func
(
e
*
OrgPlayerRank
)
rankingThreePointShot
(
list
*
[]
dto
.
OrgPlayerRankGetPageReply
)
{
listData
:=
*
list
sort
.
Slice
(
listData
,
func
(
i
,
j
int
)
bool
{
return
utils
.
StringToFloat
(
listData
[
i
]
.
ThreePointShot
)
>
utils
.
StringToFloat
(
listData
[
j
]
.
ThreePointShot
)
})
if
err
!=
nil
{
e
.
Log
.
Errorf
(
"OrgMatchService GetTotalScoring error:%s
\r\n
"
,
err
)
return
err
for
k
:=
range
listData
{
listData
[
k
]
.
Rank
=
strconv
.
Itoa
(
k
+
1
)
}
return
nil
}
app/mobile/service/org_player_user.go
0 → 100644
View file @
3cc2b885
package
service
import
(
"errors"
"github.com/go-admin-team/go-admin-core/sdk/service"
"gorm.io/gorm"
"go-admin/app/mobile/service/dto"
"go-admin/app/operate/models"
"go-admin/common/actions"
cDto
"go-admin/common/dto"
)
type
OrgPlayerUser
struct
{
service
.
Service
}
// GetPage 获取OrgPlayerUser列表
func
(
e
*
OrgPlayerUser
)
GetPage
(
c
*
dto
.
OrgPlayerUserGetPageReq
,
p
*
actions
.
DataPermission
,
list
*
[]
models
.
OrgPlayerUser
,
count
*
int64
)
error
{
var
err
error
var
data
models
.
OrgPlayerUser
err
=
e
.
Orm
.
Model
(
&
data
)
.
Scopes
(
cDto
.
MakeCondition
(
c
.
GetNeedSearch
()),
cDto
.
Paginate
(
c
.
GetPageSize
(),
c
.
GetPageIndex
()),
actions
.
Permission
(
data
.
TableName
(),
p
),
)
.
Find
(
list
)
.
Limit
(
-
1
)
.
Offset
(
-
1
)
.
Count
(
count
)
.
Error
if
err
!=
nil
{
e
.
Log
.
Errorf
(
"OrgPlayerUserService GetPage error:%s
\r\n
"
,
err
)
return
err
}
return
nil
}
// Get 获取OrgPlayerUser对象
func
(
e
*
OrgPlayerUser
)
Get
(
d
*
dto
.
OrgPlayerUserGetReq
,
p
*
actions
.
DataPermission
,
model
*
models
.
OrgPlayerUser
)
error
{
var
data
models
.
OrgPlayerUser
err
:=
e
.
Orm
.
Model
(
&
data
)
.
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 GetOrgPlayerUser error:%s
\r\n
"
,
err
)
return
err
}
if
err
!=
nil
{
e
.
Log
.
Errorf
(
"db error:%s"
,
err
)
return
err
}
return
nil
}
// Insert 创建OrgPlayerUser对象
func
(
e
*
OrgPlayerUser
)
Insert
(
c
*
dto
.
OrgPlayerUserInsertReq
)
error
{
var
err
error
var
data
models
.
OrgPlayerUser
c
.
Generate
(
&
data
)
err
=
e
.
Orm
.
Create
(
&
data
)
.
Error
if
err
!=
nil
{
e
.
Log
.
Errorf
(
"OrgPlayerUserService Insert error:%s
\r\n
"
,
err
)
return
err
}
c
.
Id
=
data
.
Id
return
nil
}
// Update 修改OrgPlayerUser对象
func
(
e
*
OrgPlayerUser
)
Update
(
c
*
dto
.
OrgPlayerUserUpdateReq
,
p
*
actions
.
DataPermission
)
error
{
var
err
error
var
data
=
models
.
OrgPlayerUser
{}
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
(
"OrgPlayerUserService Save error:%s
\r\n
"
,
err
)
return
err
}
if
db
.
RowsAffected
==
0
{
return
errors
.
New
(
"无权更新该数据"
)
}
return
nil
}
// Remove 删除OrgPlayerUser
func
(
e
*
OrgPlayerUser
)
Remove
(
d
*
dto
.
OrgPlayerUserDeleteReq
,
p
*
actions
.
DataPermission
)
error
{
var
data
models
.
OrgPlayerUser
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 RemoveOrgPlayerUser error:%s
\r\n
"
,
err
)
return
err
}
if
db
.
RowsAffected
==
0
{
return
errors
.
New
(
"无权删除该数据"
)
}
return
nil
}
func
(
e
*
OrgPlayerUser
)
IsBeing
(
username
string
)
(
error
,
int
)
{
var
data
models
.
OrgPlayerUser
err
:=
e
.
Orm
.
Model
(
&
data
)
.
Where
(
"username=?"
,
username
)
.
First
(
&
data
)
.
Error
if
err
!=
nil
&&
errors
.
Is
(
err
,
gorm
.
ErrRecordNotFound
)
{
err
=
errors
.
New
(
"查看对象不存在或无权查看"
)
e
.
Log
.
Errorf
(
"Service GetOrgMatchTeamPlayer error:%s
\r\n
"
,
err
)
return
err
,
0
}
if
err
!=
nil
{
e
.
Log
.
Errorf
(
"db error:%s"
,
err
)
return
err
,
0
}
return
nil
,
data
.
Id
}
// Get 获取OrgPlayerUser对象
func
(
e
*
OrgPlayerUser
)
Login
(
d
*
dto
.
LoginReq
,
p
*
actions
.
DataPermission
,
model
*
models
.
OrgPlayerUser
)
error
{
var
data
models
.
OrgPlayerUser
err
:=
e
.
Orm
.
Model
(
&
data
)
.
Scopes
(
actions
.
Permission
(
data
.
TableName
(),
p
),
)
.
Where
(
"username=?"
,
d
.
Username
)
.
Where
(
"password=?"
,
d
.
Password
)
.
First
(
model
)
.
Error
if
err
!=
nil
&&
errors
.
Is
(
err
,
gorm
.
ErrRecordNotFound
)
{
err
=
errors
.
New
(
"查看对象不存在或无权查看"
)
e
.
Log
.
Errorf
(
"Service GetOrgPlayerUser error:%s
\r\n
"
,
err
)
return
err
}
if
err
!=
nil
{
e
.
Log
.
Errorf
(
"db error:%s"
,
err
)
return
err
}
return
nil
}
app/mobile/service/org_team_rank.go
0 → 100644
View file @
3cc2b885
package
service
import
(
"github.com/go-admin-team/go-admin-core/sdk/service"
cDto
"go-admin/common/dto"
"go-admin/common/utils"
"sort"
"strconv"
"go-admin/app/mobile/service/dto"
"go-admin/common/actions"
)
type
OrgTeamRank
struct
{
service
.
Service
}
// GetPage 获取OrgMatchEvaluate列表
func
(
e
*
OrgTeamRank
)
GetPage
(
c
*
dto
.
OrgPlayerRankGetPageReq
,
p
*
actions
.
DataPermission
,
list
*
[]
dto
.
OrgPlayerRankGetPageReply
,
count
*
int64
)
error
{
var
err
error
err
=
e
.
Orm
.
Table
(
"org_match_team_player as omtp"
)
.
Select
(
"ol.league_name, omtp.player_name, omtp.player_id as id, omtp.player_number,"
+
"sum(omtp.scoring)as scoring,"
+
"sum(omtp.rebound)as rebound,"
+
"sum(omtp.assist)as assist,"
+
"sum(omtp.steal)as steal,"
+
"sum(omtp.free_throw)as free_throw,"
+
"sum(omtp.block_shot)as block_shot,"
+
"sum(omtp.foul)as foul,"
+
"sum(omtp.two_point_shot)as two_point_shot,"
+
"sum(omtp.three_point_shot)as three_point_shot"
)
.
Joins
(
"left join org_team as ot on ot.id = omtp.team_id"
)
.
Joins
(
"left join org_player as op on op.id = omtp.player_id"
)
.
Joins
(
"left join org_match as om on omtp.match_id = om.id and omtp.rounds = om.rounds"
)
.
Joins
(
"left join org_league as ol on ol.id = om.league_id"
)
.
Scopes
(
cDto
.
MakeCondition
(
c
.
GetNeedSearch
()),
cDto
.
Paginate
(
c
.
GetPageSize
(),
c
.
GetPageIndex
()),
actions
.
Permission
(
"omtp"
,
p
),
cDto
.
PassDel
(
"omtp"
),
cDto
.
SetWhere
(
"omtp"
,
"league_id"
,
c
.
LeagueId
),
)
.
Group
(
"omtp.player_id"
)
.
Find
(
list
)
.
Limit
(
-
1
)
.
Offset
(
-
1
)
.
Count
(
count
)
.
Error
if
err
!=
nil
{
e
.
Log
.
Errorf
(
"OrgClubPlayer GetPage error:%s
\r\n
"
,
err
)
return
err
}
if
c
.
TypeName
==
"scoring"
{
e
.
rankingScoring
(
list
)
}
return
nil
}
func
(
e
*
OrgTeamRank
)
rankingScoring
(
list
*
[]
dto
.
OrgPlayerRankGetPageReply
)
{
listData
:=
*
list
sort
.
Slice
(
listData
,
func
(
i
,
j
int
)
bool
{
return
utils
.
StringToFloat
(
listData
[
i
]
.
Scoring
)
>
utils
.
StringToFloat
(
listData
[
j
]
.
Scoring
)
})
for
k
:=
range
listData
{
listData
[
k
]
.
Rank
=
strconv
.
Itoa
(
k
+
1
)
}
}
app/operate/service/dto/org_player.go
View file @
3cc2b885
package
dto
import
(
"crypto/md5"
"encoding/hex"
"go-admin/app/operate/models"
"go-admin/common/dto"
common
"go-admin/common/models"
"golang.org/x/crypto/bcrypt"
"time"
)
...
...
@@ -175,13 +176,16 @@ func Pwd(password string) string {
if
password
==
""
{
return
""
}
var
hash
[]
byte
var
err
error
if
hash
,
err
=
bcrypt
.
GenerateFromPassword
([]
byte
(
password
),
bcrypt
.
DefaultCost
);
err
!=
nil
{
return
""
}
else
{
return
string
(
hash
)
}
// 改为md5 修改时需同时修改登录的加密
h
:=
md5
.
New
()
h
.
Write
([]
byte
(
password
))
return
hex
.
EncodeToString
(
h
.
Sum
(
nil
))
//var hash []byte
//var err error
//if hash, err = bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost); err != nil {
// return ""
//} else {
// return string(hash)
//}
}
common/utils/common.go
View file @
3cc2b885
...
...
@@ -15,3 +15,8 @@ func GetAvg(data string, count int64) string {
res
:=
fmt
.
Sprintf
(
"%.2f"
,
floatData
/
float64
(
count
))
return
res
}
func
StringToFloat
(
data
string
)
float64
{
reply
,
_
:=
strconv
.
ParseFloat
(
data
,
64
)
return
reply
}
common/utils/jwt.go
0 → 100644
View file @
3cc2b885
package
utils
import
(
"errors"
"github.com/dgrijalva/jwt-go"
"github.com/spf13/viper"
"time"
)
type
MemberInfo
struct
{
UserName
string
`json:"user_name"`
UserId
string
`json:"user_id"`
CityId
string
`json:"city_id"`
}
type
UserInfo
struct
{
UserId
int64
`json:"user_id"`
}
// MyClaims 自定义声明结构体并内嵌jwt.StandardClaims
// jwt包自带的jwt.StandardClaims只包含了官方字段
// 我们这里需要额外记录一个UserID字段,所以要自定义结构体
// 如果想要保存更多信息,都可以添加到这个结构体中
type
MyClaims
struct
{
UserId
int64
`json:"user_id"`
//Username string `json:"username"`
jwt
.
StandardClaims
}
// GenToken 生成JWT
func
GenToken
(
userID
int64
)
(
string
,
error
)
{
// 创建一个我们自己的声明
//
c
:=
MyClaims
{
userID
,
// 自定义字段
jwt
.
StandardClaims
{
ExpiresAt
:
time
.
Now
()
.
Add
(
time
.
Hour
*
time
.
Duration
(
viper
.
GetInt
(
"jwt.expire_hours"
)))
.
Unix
(),
// 过期时间
Issuer
:
viper
.
GetString
(
"app.name"
),
// 签发人
},
}
// 使用指定的签名方法创建签名对象
token
:=
jwt
.
NewWithClaims
(
jwt
.
SigningMethodHS256
,
c
)
// 使用指定的secret签名并获得完整的编码后的字符串token
return
token
.
SignedString
([]
byte
(
viper
.
GetString
(
"jwt.secret"
)))
}
// ParseToken 解析JWT
func
ParseToken
(
tokenString
string
)
(
*
MyClaims
,
error
)
{
// 解析token
token
,
err
:=
jwt
.
ParseWithClaims
(
tokenString
,
&
MyClaims
{},
func
(
token
*
jwt
.
Token
)
(
i
interface
{},
err
error
)
{
return
[]
byte
(
viper
.
GetString
(
"jwt.secret"
)),
nil
})
if
err
!=
nil
{
return
nil
,
err
}
if
claims
,
ok
:=
token
.
Claims
.
(
*
MyClaims
);
ok
&&
token
.
Valid
{
// 校验token
return
claims
,
nil
}
return
nil
,
errors
.
New
(
"invalid token"
)
}
go.mod
View file @
3cc2b885
...
...
@@ -9,6 +9,8 @@ require (
github.com/bitly/go-simplejson v0.5.0
github.com/bytedance/go-tagexpr/v2 v2.7.12
github.com/casbin/casbin/v2 v2.25.1
github.com/dgrijalva/jwt-go v3.2.0+incompatible
github.com/forgoer/openssl v1.1.1
github.com/gin-gonic/gin v1.7.3
github.com/go-admin-team/go-admin-core v1.3.8
github.com/go-admin-team/go-admin-core/sdk v1.3.9
...
...
@@ -21,6 +23,7 @@ require (
github.com/shirou/gopsutil v3.21.5+incompatible
github.com/spf13/cast v1.3.1
github.com/spf13/cobra v1.0.0
github.com/spf13/viper v1.4.0
github.com/swaggo/gin-swagger v1.2.0
github.com/swaggo/swag v1.6.7
github.com/tklauser/go-sysconf v0.3.6 // indirect
...
...
go.sum
View file @
3cc2b885
...
...
@@ -175,6 +175,8 @@ github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL
github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
github.com/forestgiant/sliceutil v0.0.0-20160425183142-94783f95db6c/go.mod h1:pFdJbAhRf7rh6YYMUdIQGyzne6zYL1tCUW8QV2B3UfY=
github.com/forgoer/openssl v1.1.1 h1:eM5ohpXPVQPK8hRjstf1uHBUu9LMG/oObkSpq8wIw/o=
github.com/forgoer/openssl v1.1.1/go.mod h1:NMVFOzYeLVR7UiGTxsa+A21nrERTZ3Rv2JHDPcJpDyI=
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsouza/go-dockerclient v1.6.0/go.mod h1:YWwtNPuL4XTX1SKJQk86cWPmmqwx+4np9qfPbb+znGc=
...
...
@@ -366,6 +368,7 @@ github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
...
...
@@ -508,6 +511,7 @@ github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/linode/linodego v0.10.0/go.mod h1:cziNP7pbvE3mXIPneHj0oRY8L1WtGEIKlZ8LANE4eXA=
github.com/liquidweb/liquidweb-go v1.6.0/go.mod h1:UDcVnAMDkZxpw4Y7NOHkqoeiGacVLEIG/i5J9cyixzQ=
github.com/lucas-clemente/quic-go v0.14.1/go.mod h1:Vn3/Fb0/77b02SGhQk36KzOUmXgVpFfizUfW5WMaqyU=
github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY=
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
...
...
@@ -559,6 +563,7 @@ github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS4
github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ=
github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
...
...
@@ -619,6 +624,7 @@ github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FI
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g=
github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc=
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
...
...
@@ -707,15 +713,18 @@ github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIK
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI=
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng=
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cobra v1.0.0 h1:6m/oheQuQ13N9ks4hubMG6BnvwOeaJrqSPLahSnczz8=
github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=
github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk=
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/viper v1.4.0 h1:yXHLWeravcrgGyFSyCgdYpXQ9dR9c/WED3pg1RhxqEU=
github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
...
...
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