Commit 16f22790 authored by haoyanbin's avatar haoyanbin

比赛

parent bef2d9de
......@@ -44,7 +44,7 @@ func (e OrgMatch) GetPage(c *gin.Context) {
}
p := actions.GetPermissionFromContext(c)
list := make([]models.OrgMatch, 0)
list := make([]dto.OrgMatchGetPageReply, 0)
var count int64
err = s.GetPage(&req, p, &list, &count)
......@@ -56,16 +56,16 @@ func (e OrgMatch) GetPage(c *gin.Context) {
e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
}
// Get <赛事>获取比赛
// @Summary <赛事>获取比赛
// @Description <赛事>获取比赛
// Get <赛事>获取比赛列表搜索数据
// @Summary <赛事>获取比赛列表搜索数据
// @Description <赛事>获取比赛列表搜索数据
// @Tags <赛事>比赛
// @Param id path string false "id"
// @Success 200 {string} string {data=models.OrgMatch} "{"code": 200, "data": [...]}"
// @Router /api/v1/org-match/{id} [get]
// @Success 200 {string} string {data=models.OrgMatchGetInfoReq} "{"code": 200, "data": [...]}"
// @Router /api/v1/org-match/info/{id} [get]
// @Security Bearer
func (e OrgMatch) Get(c *gin.Context) {
req := dto.OrgMatchGetReq{}
func (e OrgMatch) GetInfo(c *gin.Context) {
req := dto.OrgMatchGetInfoReq{}
s := service.OrgMatch{}
err := e.MakeContext(c).
MakeOrm().
......@@ -77,10 +77,10 @@ func (e OrgMatch) Get(c *gin.Context) {
e.Error(500, err, err.Error())
return
}
var object models.OrgMatch
var match models.OrgMatch
p := actions.GetPermissionFromContext(c)
err = s.Get(&req, p, &object)
err = s.Get(strconv.Itoa(req.Id), p, &match)
if err != nil {
//e.Error(500, err, fmt.Sprintf("获取比赛失败,\r\n失败信息 %s", err.Error()))
//return
......@@ -158,8 +158,8 @@ func (e OrgMatch) Get(c *gin.Context) {
return
}
reply := dto.OrgMatchGetReply{
OrgMatch: object,
reply := dto.OrgMatchGetInfoReply{
OrgMatch: match,
OrgLeagueList: listOrgLeague,
OrgSeasonList: listOrgSeason,
OrgDivisionList: listOrgDivision,
......@@ -169,6 +169,70 @@ func (e OrgMatch) Get(c *gin.Context) {
e.OK(reply, "查询成功")
}
// Get <赛事>获取比赛比分维护数据
// @Summary <赛事>获取比赛比分维护数据
// @Description <赛事>获取比赛比分维护数据
// @Tags <赛事>比赛
// @Param id path string false "id"
// @Success 200 {string} string {data=models.OrgMatch} "{"code": 200, "data": [...]}"
// @Router /api/v1/org-match/{id} [get]
// @Security Bearer
func (e OrgMatch) Get(c *gin.Context) {
req := dto.OrgMatchGetReq{}
s := service.OrgMatch{}
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 match models.OrgMatch
p := actions.GetPermissionFromContext(c)
err = s.Get(strconv.Itoa(req.Id), p, &match)
if err != nil {
}
sOrgMatchTeamPlayer := service.OrgMatchTeamPlayer{}
listOrgMatchTeamAPlayer := make([]models.OrgMatchTeamPlayer, 0)
var countOrgMatchTeamPlayer int64
err = e.MakeContext(c).MakeOrm().MakeService(&sOrgMatchTeamPlayer.Service).Errors
reqOrgTeamPlayer := new(dto.OrgMatchTeamPlayerGetPageReq)
reqOrgTeamPlayer.PageIndex = 1
reqOrgTeamPlayer.PageSize = 999
reqOrgTeamPlayer.TeamId = match.TeamAId
reqOrgTeamPlayer.MatchId = strconv.Itoa(req.Id)
err = sOrgMatchTeamPlayer.GetPage(reqOrgTeamPlayer, p, &listOrgMatchTeamAPlayer, &countOrgMatchTeamPlayer)
if err != nil {
e.Error(500, err, fmt.Sprintf("获取比赛球员数据 失败,\r\n失败信息 %s", err.Error()))
return
}
listOrgMatchTeamBPlayer := make([]models.OrgMatchTeamPlayer, 0)
reqOrgTeamPlayer.TeamId = match.TeamBId
err = sOrgMatchTeamPlayer.GetPage(reqOrgTeamPlayer, p, &listOrgMatchTeamBPlayer, &countOrgMatchTeamPlayer)
if err != nil {
e.Error(500, err, fmt.Sprintf("获取比赛球员数据 失败,\r\n失败信息 %s", err.Error()))
return
}
reply := dto.OrgMatchGetReply{
OrgMatch: match,
OrgMatchTeamAPlayer: listOrgMatchTeamAPlayer,
OrgMatchTeamBPlayer: listOrgMatchTeamBPlayer,
}
e.OK(reply, "查询成功")
}
// Insert <赛事>创建比赛
// @Summary <赛事>创建比赛
// @Description <赛事>创建比赛
......
......@@ -3,13 +3,13 @@ package apis
import (
"fmt"
cDto "go-admin/common/dto"
"strconv"
"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/operate/models"
"go-admin/app/operate/service"
"go-admin/app/operate/service/dto"
"go-admin/common/actions"
......@@ -89,20 +89,15 @@ func (e OrgMatchEvaluate) GetPageMatch(c *gin.Context) {
}
reply.MatchInfo = *replyGetMatchInfo
//replyGetRoundsScoring := make([]cDto.RoundsScoring, 0)
//err = s.GetRoundsScoring(replyGetMatchInfo.PlayerId, replyGetMatchInfo.Rounds, &replyGetRoundsScoring)
//if err != nil {
// e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
// return
//}
//reply.RoundsScoring = replyGetRoundsScoring
replyGetRoundsScoring := make([]cDto.RoundsScoring, 0)
err = s.GetRoundsScoring(replyGetMatchInfo.PlayerId, replyGetMatchInfo.Rounds, "0", &replyGetRoundsScoring)
if err != nil {
e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
return
}
reply.RoundsScoring = replyGetRoundsScoring
replyGetTotalScoring := make([]cDto.TotalScoring, 0)
//replyGetTotalScoring1 := new(cDto.TotalScoring)
//s.StatisticsScoring(replyGetMatchInfo.PlayerId, replyGetMatchInfo.Rounds, "0", "sum", replyGetTotalScoring1)
//replyGetTotalScoring = append(replyGetTotalScoring, *replyGetTotalScoring1)
err = s.GetTotalScoring(replyGetMatchInfo.PlayerId, replyGetMatchInfo.Rounds, replyGetMatchInfo.SeasonId, &replyGetTotalScoring)
if err != nil {
e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
......@@ -134,16 +129,28 @@ func (e OrgMatchEvaluate) Get(c *gin.Context) {
e.Error(500, err, err.Error())
return
}
var object models.OrgMatchEvaluate
p := actions.GetPermissionFromContext(c)
err = s.Get(&req, p, &object)
reply := new(dto.OrgMatchEvaluateGetReply)
replyGetMatchInfo := new(cDto.PageMatchInfo)
err = s.GetMatchInfo(strconv.Itoa(req.Id), p, replyGetMatchInfo)
if err != nil {
e.Error(500, err, fmt.Sprintf("获取比赛球员信息失败,\r\n失败信息 %s", err.Error()))
e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
return
}
reply.MatchInfo = *replyGetMatchInfo
replyGetRoundsScoring := make([]cDto.RoundsScoring, 0)
err = s.GetRoundsScoring(replyGetMatchInfo.PlayerId, replyGetMatchInfo.Rounds, strconv.Itoa(req.Id), &replyGetRoundsScoring)
if err != nil {
e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
return
}
reply.RoundsScoring = replyGetRoundsScoring
e.OK(object, "查询成功")
e.OK(reply, "查询成功")
}
// Update <赛事>赛后评价影像维护
......
package apis
import (
"fmt"
"fmt"
"strconv"
"github.com/gin-gonic/gin"
"github.com/go-admin-team/go-admin-core/sdk/api"
......@@ -28,27 +29,27 @@ type OrgTeamMatch struct {
// @Router /api/v1/org-team-match [get]
// @Security Bearer
func (e OrgTeamMatch) GetPage(c *gin.Context) {
req := dto.OrgMatchGetPageReq{}
s := service.OrgMatch{}
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 := dto.OrgMatchGetPageReq{}
s := service.OrgMatch{}
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.OrgMatch, 0)
list := make([]dto.OrgMatchGetPageReply, 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
return
}
e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
......@@ -65,7 +66,7 @@ func (e OrgTeamMatch) GetPage(c *gin.Context) {
func (e OrgTeamMatch) GetPlayers(c *gin.Context) {
req := dto.OrgMatchGetReq{}
s := service.OrgMatch{}
err := e.MakeContext(c).
err := e.MakeContext(c).
MakeOrm().
Bind(&req).
MakeService(&s.Service).
......@@ -78,13 +79,13 @@ func (e OrgTeamMatch) GetPlayers(c *gin.Context) {
var object models.OrgMatch
p := actions.GetPermissionFromContext(c)
err = s.Get(&req, p, &object)
err = s.Get(strconv.Itoa(req.Id), p, &object)
if err != nil {
e.Error(500, err, fmt.Sprintf("获取比赛失败,\r\n失败信息 %s", err.Error()))
return
return
}
e.OK( object, "查询成功")
e.OK(object, "查询成功")
}
// Get <球队>获取比赛已设置球员
......@@ -111,13 +112,13 @@ func (e OrgTeamMatch) GetPlayersIsSet(c *gin.Context) {
var object models.OrgMatch
p := actions.GetPermissionFromContext(c)
err = s.Get(&req, p, &object)
err = s.Get(strconv.Itoa(req.Id), p, &object)
if err != nil {
e.Error(500, err, fmt.Sprintf("获取比赛失败,\r\n失败信息 %s", err.Error()))
return
}
e.OK( object, "查询成功")
e.OK(object, "查询成功")
}
// Update <球队>修改比赛球员
......@@ -131,25 +132,25 @@ func (e OrgTeamMatch) GetPlayersIsSet(c *gin.Context) {
// @Router /api/v1/org-team-match/update-players/{id} [put]
// @Security Bearer
func (e OrgTeamMatch) UpdatePlayers(c *gin.Context) {
req := dto.OrgMatchUpdateReq{}
s := service.OrgMatch{}
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 := dto.OrgMatchUpdateReq{}
s := service.OrgMatch{}
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
return
}
e.OK( req.GetId(), "修改成功")
e.OK(req.GetId(), "修改成功")
}
......@@ -9,6 +9,7 @@ import (
type OrgMatchTeamPlayer struct {
models.Model
MatchId string `json:"matchId" gorm:"type:bigint(20);comment:MatchId"`
Rounds string `json:"rounds" comment:"轮次"`
ClubId string `json:"clubId" gorm:"type:bigint(20);comment:ClubId"`
TeamId string `json:"teamId" gorm:"type:bigint(20);comment:TeamId"`
PlayerId string `json:"playerId" gorm:"type:bigint(20);comment:PlayerId"`
......@@ -24,6 +25,9 @@ type OrgMatchTeamPlayer struct {
Foul string `json:"foul" gorm:"type:bigint(20);comment:犯规"`
TwoPointShot string `json:"twoPointShot" gorm:"type:bigint(20);comment:2分进球数量"`
ThreePointShot string `json:"threePointShot" gorm:"type:bigint(20);comment:3分进球数量"`
Grouping string `json:"grouping" comment:"分组"`
OtherTeam string `json:"otherTeam" comment:"对方球队"`
models.ModelTime
models.ControlBy
}
......
......@@ -18,6 +18,7 @@ func registerOrgMatchRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddl
r := v1.Group("/org-match").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{
r.GET("", api.GetPage)
r.GET("/info/:id", api.GetInfo)
r.GET("/:id", api.Get)
r.POST("", api.Insert)
r.PUT("/:id", api.Update)
......
......@@ -9,10 +9,36 @@ import (
type OrgMatchGetPageReq struct {
dto.Pagination `search:"-"`
LeagueId string `form:"leagueId" search:"type:exact;column:league_id;table:om" comment:""`
DivisionId string `form:"divisionId" search:"type:exact;column:division_id;table:om" comment:""`
SeasonId string `form:"seasonId" search:"type:exact;column:season_id;table:om" comment:""`
Rounds string `form:"rounds" search:"type:exact;column:rounds;table:om" comment:""`
Grouping string `form:"grouping" search:"type:exact;column:grouping;table:om" comment:""`
Status string `form:"status" search:"type:exact;column:status;table:om" comment:"比赛状态 1 未开始 2 比赛中 3 已结束"`
MatchStartTime string `form:"matchStartTime" search:"type:gte;column:match_start_time;table:om" comment:"比赛开始时间"`
MatchEndTime string `form:"matchEndTime" search:"type:lte;column:match_end_time;table:om" comment:"比赛结束时间"`
OrgMatchOrder
}
type OrgMatchGetReply struct {
type OrgMatchGetPageReply struct {
Id string `json:"id"`
LeagueName string `json:"leagueName"`
DivisionName string `json:"divisionName"`
SeasonName string `json:"seasonName"`
Rounds string `json:"rounds"`
Grouping string `json:"grouping"`
TeamAName string `json:"team_a_name"`
TeamBName string `json:"team_b_name"`
MatchStartTime time.Time `json:"matchStartTimeOrder"`
MatchEndTime time.Time `json:"matchEndTimeOrder"`
Status string `json:"status"`
}
type OrgMatchGetInfoReq struct {
Id int `form:"id" json:"id"`
}
type OrgMatchGetInfoReply struct {
OrgMatch models.OrgMatch `form:"orgMatch"`
OrgLeagueList []models.OrgLeague `form:"orgLeagueList"`
OrgSeasonList []models.OrgSeason `form:"orgSeasonList"`
......@@ -147,6 +173,11 @@ func (s *OrgMatchUpdateReq) GetId() interface{} {
type OrgMatchGetReq struct {
Id int `uri:"id"`
}
type OrgMatchGetReply struct {
OrgMatch models.OrgMatch `form:"orgMatch" json:"orgMatch"`
OrgMatchTeamAPlayer []models.OrgMatchTeamPlayer `form:"orgMatchTeamAPlayer" json:"orgMatchTeamAPlayer"`
OrgMatchTeamBPlayer []models.OrgMatchTeamPlayer `form:"orgMatchTeamBPlayer" json:"orgMatchTeamBPlayer"`
}
func (s *OrgMatchGetReq) GetId() interface{} {
return s.Id
......
......@@ -145,6 +145,11 @@ type OrgMatchEvaluateGetReq struct {
Id int `uri:"id"`
}
type OrgMatchEvaluateGetReply struct {
MatchInfo dto.PageMatchInfo `json:"matchInfo"`
RoundsScoring []dto.RoundsScoring `json:"roundsScoring"`
}
func (s *OrgMatchEvaluateGetReq) GetId() interface{} {
return s.Id
}
......
......@@ -3,7 +3,7 @@ package service
import (
"errors"
"github.com/go-admin-team/go-admin-core/sdk/service"
"github.com/go-admin-team/go-admin-core/sdk/service"
"gorm.io/gorm"
"go-admin/app/operate/models"
......@@ -17,11 +17,47 @@ type OrgMatch struct {
}
// GetPage 获取OrgMatch列表
func (e *OrgMatch) GetPage(c *dto.OrgMatchGetPageReq, p *actions.DataPermission, list *[]models.OrgMatch, count *int64) error {
func (e *OrgMatch) GetPage(c *dto.OrgMatchGetPageReq, p *actions.DataPermission, list *[]dto.OrgMatchGetPageReply, count *int64) error {
var err error
var data models.OrgMatch
err = e.Orm.Model(&data).
err = e.Orm.Table("org_match as om").
Select("om.id, ol.league_name, od.division_name, os.season_name,om.grouping,"+
"om.rounds, om.match_start_time, om.match_end_time, om.status,"+
"ota.team_name as team_a_name, otb.team_name as team_b_name").
Joins("left join org_league as ol on ol.id = om.league_id").
Joins("left join org_division as od on od.id = om.division_id").
Joins("left join org_season as os on os.id = om.season_id").
Joins("left join org_team as ota on ota.id = om.team_a_id").
Joins("left join org_team as otb on otb.id = om.team_b_id").
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("OrgMatchService GetPage error:%s \r\n", err)
return err
}
return nil
}
// GetPage 获取OrgMatch列表
func (e *OrgMatch) GetPageForTeam(c *dto.OrgMatchGetPageReq, p *actions.DataPermission, list *[]models.OrgMatchTeamPlayer, count *int64) error {
var err error
var data models.OrgMatch
err = e.Orm.Table("org_match as om").
Select("om.id, ol.league_name, od.division_name, os.season_name,om.grouping,"+
"om.rounds, om.match_start_time, om.match_end_time, om.status,"+
"ota.team_name as team_a_name, otb.team_name as team_b_name").
Joins("left join org_league as ol on ol.id = om.league_id").
Joins("left join org_division as od on od.id = om.division_id").
Joins("left join org_season as os on os.id = om.season_id").
Joins("left join org_team as ota on ota.id = om.team_a_id").
Joins("left join org_team as otb on otb.id = om.team_b_id").
Scopes(
cDto.MakeCondition(c.GetNeedSearch()),
cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
......@@ -37,14 +73,14 @@ func (e *OrgMatch) GetPage(c *dto.OrgMatchGetPageReq, p *actions.DataPermission,
}
// Get 获取OrgMatch对象
func (e *OrgMatch) Get(d *dto.OrgMatchGetReq, p *actions.DataPermission, model *models.OrgMatch) error {
func (e *OrgMatch) Get(id string, p *actions.DataPermission, model *models.OrgMatch) error {
var data models.OrgMatch
err := e.Orm.Model(&data).
Scopes(
actions.Permission(data.TableName(), p),
).
First(model, d.GetId()).Error
First(model, id).Error
if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
err = errors.New("查看对象不存在或无权查看")
e.Log.Errorf("Service GetOrgMatch error:%s \r\n", err)
......@@ -59,9 +95,9 @@ func (e *OrgMatch) Get(d *dto.OrgMatchGetReq, p *actions.DataPermission, model *
// Insert 创建OrgMatch对象
func (e *OrgMatch) Insert(c *dto.OrgMatchInsertReq) error {
var err error
var data models.OrgMatch
c.Generate(&data)
var err error
var data models.OrgMatch
c.Generate(&data)
err = e.Orm.Create(&data).Error
if err != nil {
e.Log.Errorf("OrgMatchService Insert error:%s \r\n", err)
......@@ -72,22 +108,22 @@ func (e *OrgMatch) Insert(c *dto.OrgMatchInsertReq) error {
// Update 修改OrgMatch对象
func (e *OrgMatch) Update(c *dto.OrgMatchUpdateReq, p *actions.DataPermission) error {
var err error
var data = models.OrgMatch{}
e.Orm.Scopes(
actions.Permission(data.TableName(), p),
).First(&data, c.GetId())
c.Generate(&data)
var err error
var data = models.OrgMatch{}
e.Orm.Scopes(
actions.Permission(data.TableName(), p),
).First(&data, c.GetId())
c.Generate(&data)
db := e.Orm.Save(&data)
if db.Error != nil {
e.Log.Errorf("OrgMatchService Save error:%s \r\n", err)
return err
}
if db.RowsAffected == 0 {
return errors.New("无权更新该数据")
}
return nil
db := e.Orm.Save(&data)
if db.Error != nil {
e.Log.Errorf("OrgMatchService Save error:%s \r\n", err)
return err
}
if db.RowsAffected == 0 {
return errors.New("无权更新该数据")
}
return nil
}
// Remove 删除OrgMatch
......@@ -99,11 +135,11 @@ func (e *OrgMatch) Remove(d *dto.OrgMatchDeleteReq, p *actions.DataPermission) e
actions.Permission(data.TableName(), p),
).Delete(&data, d.GetId())
if err := db.Error; err != nil {
e.Log.Errorf("Service RemoveOrgMatch error:%s \r\n", err)
return err
}
if db.RowsAffected == 0 {
return errors.New("无权删除该数据")
}
e.Log.Errorf("Service RemoveOrgMatch error:%s \r\n", err)
return err
}
if db.RowsAffected == 0 {
return errors.New("无权删除该数据")
}
return nil
}
\ No newline at end of file
}
......@@ -50,7 +50,8 @@ func (e *OrgMatchEvaluate) GetMatchInfo(id string, p *actions.DataPermission, da
Select("omtp.id, ol.league_name, od.division_name, os.season_name, om.rounds,"+
"oc.club_name, ot.team_name, omtp.player_name, omtp.player_number, omtp.position,"+
"ome.wonderful_moment_img, ome.wonderful_moment_mv,ome.wonderful_moment_img_title,"+
"ome.wonderful_moment_mv_title, omtp.player_id, om.season_id").
"ome.wonderful_moment_mv_title, omtp.player_id, om.season_id,"+
"ota.team_name as team_a_name, otb.team_name as team_b_name").
Joins("left join org_match_evaluate as ome on omtp.player_id = ome.player_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").
......@@ -58,6 +59,8 @@ func (e *OrgMatchEvaluate) GetMatchInfo(id string, p *actions.DataPermission, da
Joins("left join org_league as ol on ol.id = om.league_id").
Joins("left join org_division as od on od.id = om.division_id").
Joins("left join org_season as os on os.id = om.season_id").
Joins("left join org_team as ota on ota.id = om.team_a_id").
Joins("left join org_team as otb on otb.id = om.team_b_id").
Scopes(
actions.Permission("omtp", p),
).
......@@ -69,7 +72,7 @@ func (e *OrgMatchEvaluate) GetMatchInfo(id string, p *actions.DataPermission, da
return nil
}
func (e *OrgMatchEvaluate) GetRoundsScoring(playerId string, rounds string, data *[]cDto.RoundsScoring) error {
func (e *OrgMatchEvaluate) GetRoundsScoring(playerId string, rounds string, teamPlayerId string, data *[]cDto.RoundsScoring) error {
var err error
err = e.Orm.Table("org_match_team_player as omtp").
......@@ -78,8 +81,11 @@ func (e *OrgMatchEvaluate) GetRoundsScoring(playerId string, rounds string, data
"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").
Joins("left join org_team as ot on omtp.other_team_id = ot.id").
Where("omtp.player_id = ?", playerId).
Where("omtp.rounds = ?", rounds).
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)
......@@ -121,7 +127,7 @@ func (e *OrgMatchEvaluate) statisticsScoring(playerId string, rounds string, sea
Select(field).
Where("omtp.player_id = ?", playerId).
Where("omtp.rounds = ?", rounds).
Scopes(seasonIdWhere("om", seasonId)).
Scopes(cDto.SetWhere("om", "season_id", seasonId)).
First(data).Error
if err != nil {
......@@ -131,15 +137,6 @@ func (e *OrgMatchEvaluate) statisticsScoring(playerId string, rounds string, sea
return nil
}
func seasonIdWhere(tableName string, seasonId string) func(db *gorm.DB) *gorm.DB {
return func(db *gorm.DB) *gorm.DB {
if seasonId == "0" {
return db
}
return db.Where(tableName+".season_id = ?", seasonId)
}
}
// Get 获取OrgMatchEvaluate对象
func (e *OrgMatchEvaluate) GetTotalScoring(playerId string, rounds string, seasonId string, data *[]cDto.TotalScoring) error {
replyGetTotalScoring1 := new(cDto.TotalScoring)
......@@ -168,7 +165,7 @@ func (e *OrgMatchEvaluate) GetTotalScoring(playerId string, rounds string, seaso
func (e *OrgMatchEvaluate) statisticsRankingList(playerId string, seasonId string, scoring *cDto.TotalScoring) error {
replyGetPlayerRank := make([]models.OrgMatchTeamPlayer, 0)
err := e.statisticsRanking(playerId, seasonId, &replyGetPlayerRank)
err := e.statisticsRanking(seasonId, &replyGetPlayerRank)
if err != nil {
e.Log.Errorf("OrgMatchService GetTotalScoring error:%s \r\n", err)
return err
......@@ -277,7 +274,7 @@ func (e *OrgMatchEvaluate) rankingThreePointShot(replyGetPlayerRank []models.Org
}
}
func (e *OrgMatchEvaluate) statisticsRanking(playerId string, seasonId string, data *[]models.OrgMatchTeamPlayer) error {
func (e *OrgMatchEvaluate) statisticsRanking(seasonId string, data *[]models.OrgMatchTeamPlayer) error {
var err error
field := "player_id," +
"sum(omtp.scoring)as scoring," +
......@@ -347,7 +344,7 @@ func (e *OrgMatchEvaluate) Update(c *dto.OrgMatchEvaluateUpdateReq, p *actions.D
).First(&data, c.GetId())
c.Generate(&data)
db := e.Orm.Save(&data)
db := e.Orm.Updates(&data)
if db.Error != nil {
e.Log.Errorf("OrgMatchEvaluateService Save error:%s \r\n", err)
return err
......
......@@ -26,6 +26,8 @@ func (e *OrgMatchTeamPlayer) GetPage(c *dto.OrgMatchTeamPlayerGetPageReq, p *act
cDto.MakeCondition(c.GetNeedSearch()),
cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
actions.Permission(data.TableName(), p),
cDto.SetWhere("", "team_id", c.TeamId),
cDto.SetWhere("", "match_id", c.MatchId),
).
Find(list).Limit(-1).Offset(-1).
Count(count).Error
......
package dto
import "gorm.io/gorm"
type PageMatchInfo struct {
Id string `json:"id"`
LeagueName string `json:"leagueName"`
......@@ -17,6 +19,8 @@ type PageMatchInfo struct {
WonderfulMomentMv string `json:"wonderfulMomentMv" comment:"精彩时刻视频"`
WonderfulMomentImgTitle string `json:"wonderfulMomentImgTitle" comment:"精彩时刻图标题"`
WonderfulMomentMvTitle string `json:"wonderfulMomentMvTitle" comment:"精彩时刻视频标题"`
TeamAName string `json:"team_a_name" comment:"a队名"`
TeamBName string `json:"team_b_name" comment:"b队名"`
}
type TotalScoring struct {
......@@ -32,6 +36,9 @@ type TotalScoring struct {
}
type RoundsScoring struct {
PlayerName string `json:"player_name" comment:"球员名称"`
PlayerNumber string `json:"player_number" comment:"球员号码"`
Position string `json:"position" comment:"场上位置"`
Rounds string `json:"rounds" comment:"轮次"`
Grouping string `json:"grouping" comment:"分组"`
OtherTeam string `json:"otherTeam" comment:"对方球队"`
......@@ -45,3 +52,15 @@ type RoundsScoring struct {
TwoPointShot string `json:"twoPointShot" comment:"2分进球数量"`
ThreePointShot string `json:"threePointShot" comment:"3分进球数量"`
}
func SetWhere(tableName string, fieldName string, fieldValue string) func(db *gorm.DB) *gorm.DB {
return func(db *gorm.DB) *gorm.DB {
if fieldValue == "0" || fieldValue == "" {
return db
}
if tableName == "" {
return db.Where(fieldName+" = ?", fieldValue)
}
return db.Where(tableName+"."+fieldName+" = ?", fieldValue)
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment