Commit 1c1a2b4e authored by haoyanbin's avatar haoyanbin

teammatch

parent ce2dca93
......@@ -20,6 +20,13 @@ type OrgTeamMatch struct {
api.Api
}
func (e OrgTeamMatch) getTeamIds(c *gin.Context, clubId string) string {
sOrgTeam := service.OrgTeam{}
e.MakeContext(c).MakeOrm().MakeService(&sOrgTeam.Service)
_, teamId := sOrgTeam.GetTeamIds(clubId)
return teamId
}
func (e OrgTeamMatch) getTeamId(c *gin.Context) string {
sOrgTeamUser := service.OrgTeamUser{}
e.MakeContext(c).MakeOrm().MakeService(&sOrgTeamUser.Service)
......@@ -27,6 +34,13 @@ func (e OrgTeamMatch) getTeamId(c *gin.Context) string {
return teamId
}
func (e OrgTeamMatch) getClubId(c *gin.Context) string {
sOrgTeamUser := service.OrgClubUser{}
e.MakeContext(c).MakeOrm().MakeService(&sOrgTeamUser.Service)
_, teamId := sOrgTeamUser.GetClubId(user.GetUserId(c))
return teamId
}
// GetPage <球队>获取比赛列表
// @Summary <球队>获取比赛列表
// @Description <球队>获取比赛列表
......@@ -56,6 +70,18 @@ func (e OrgTeamMatch) GetPage(c *gin.Context) {
var count int64
fmt.Println(user.GetUserId(c))
req.TeamId = e.getTeamId(c)
if req.TeamId == "" {
req.ClubId = e.getClubId(c)
if req.ClubId == "" {
e.Error(111, err, "数据有误")
return
}
req.TeamIds = e.getTeamIds(c, req.ClubId)
if req.TeamIds == "" {
e.Error(111, err, "数据有误")
return
}
}
err = s.GetPage(&req, p, &list, &count)
if err != nil {
......
......@@ -20,6 +20,13 @@ type OrgTeamUser struct {
api.Api
}
func (e OrgTeamUser) getTeamIds(c *gin.Context, clubId string) string {
sOrgTeam := service.OrgTeam{}
e.MakeContext(c).MakeOrm().MakeService(&sOrgTeam.Service)
_, teamId := sOrgTeam.GetTeamIds(clubId)
return teamId
}
func (e OrgTeamUser) getClubId(c *gin.Context) string {
sOrgTeamUser := service.OrgClubUser{}
e.MakeContext(c).MakeOrm().MakeService(&sOrgTeamUser.Service)
......
......@@ -8,6 +8,8 @@ import (
type OrgTeamMatchGetPageReq struct {
dto.Pagination `search:"-"`
ClubId string `form:"clubId" search:"-"`
TeamIds string `form:"teamIds" search:"-"`
TeamId string `form:"teamId" 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:""`
......
......@@ -2,6 +2,8 @@ package service
import (
"errors"
"strconv"
"strings"
"github.com/go-admin-team/go-admin-core/sdk/service"
"gorm.io/gorm"
......@@ -159,3 +161,23 @@ func (e *OrgTeam) InsertTeamDept(teamId int, deptId int) error {
}
return nil
}
// 根据userId获取teamId
func (e *OrgTeam) GetTeamIds(clubId string) (error, string) {
data := make([]models.OrgTeam, 0)
err := e.Orm.Table("org_team").
Select("id").
Where("club_id=?", clubId).
Find(&data).Error
if err != nil {
e.Log.Errorf("db error:%s", err)
return err, ""
}
teamIds := ""
for _, v := range data {
teamIds += strconv.Itoa(v.Id) + ","
}
teamIds = strings.Trim(teamIds, ",")
return nil, teamIds
}
......@@ -35,8 +35,8 @@ func (e *OrgTeamMatch) GetPage(c *dto.OrgTeamMatchGetPageReq, p *actions.DataPer
cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
actions.Permission(data.TableName(), p),
cDto.PassDel("om"),
cDto.SetWhereForMatch(c.TeamId, c.TeamIds),
).
Where("team_a_id = ? or team_b_id = ?", c.TeamId, c.TeamId).
Find(list).Limit(-1).Offset(-1).
Count(count).Error
if err != nil {
......
......@@ -106,3 +106,15 @@ func SetWhereNotIn(tableName string, fieldName string, fieldValue string) func(d
return db.Where(tableName + "." + fieldName + " not in (" + fieldValue + ")")
}
}
func SetWhereForMatch(teamId string, teamIds string) func(db *gorm.DB) *gorm.DB {
return func(db *gorm.DB) *gorm.DB {
if teamIds == "" && teamId == "" {
return db
}
if teamId == "" {
return db.Where("team_a_id in (?) or team_b_id in (?)", teamIds, teamIds)
}
return db.Where("team_a_id = ? or team_b_id = ?", teamId, teamId)
}
}
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