From 92935185b90eb7002fe9780d87ad055d58df07f1 Mon Sep 17 00:00:00 2001
From: haoyanbin <605649647@qq.com>
Date: Sat, 29 Jan 2022 12:50:03 +0800
Subject: [PATCH] 1

---
 app/operate/apis/org_team_match.go        | 26 +++++++++++++++++------
 app/operate/apis/org_team_user.go         |  8 +++----
 app/operate/service/dto/org_team_match.go |  2 +-
 app/operate/service/org_team.go           | 12 ++++-------
 common/dto/match.go                       |  4 ++--
 5 files changed, 30 insertions(+), 22 deletions(-)

diff --git a/app/operate/apis/org_team_match.go b/app/operate/apis/org_team_match.go
index a2ceb14..307d0c5 100755
--- a/app/operate/apis/org_team_match.go
+++ b/app/operate/apis/org_team_match.go
@@ -20,7 +20,7 @@ type OrgTeamMatch struct {
 	api.Api
 }
 
-func (e OrgTeamMatch) getTeamIds(c *gin.Context, clubId string) string {
+func (e OrgTeamMatch) getTeamIds(c *gin.Context, clubId string) []int {
 	sOrgTeam := service.OrgTeam{}
 	e.MakeContext(c).MakeOrm().MakeService(&sOrgTeam.Service)
 	_, teamId := sOrgTeam.GetTeamIds(clubId)
@@ -77,7 +77,7 @@ func (e OrgTeamMatch) GetPage(c *gin.Context) {
 			return
 		}
 		req.TeamIds = e.getTeamIds(c, req.ClubId)
-		if req.TeamIds == "" {
+		if len(req.TeamIds) == 0 {
 			e.Error(111, err, "数据有误")
 			return
 		}
@@ -90,12 +90,24 @@ func (e OrgTeamMatch) GetPage(c *gin.Context) {
 	}
 
 	for k, v := range list {
-		if v.TeamAId == req.TeamId {
-			list[k].OwnTeam = "a"
-		}
-		if v.TeamBId == req.TeamId {
-			list[k].OwnTeam = "b"
+		if req.TeamId != "" {
+			if v.TeamAId == req.TeamId {
+				list[k].OwnTeam = "a"
+			}
+			if v.TeamBId == req.TeamId {
+				list[k].OwnTeam = "b"
+			}
+		} else {
+			for _, val := range req.TeamIds {
+				if v.TeamAId == strconv.Itoa(val) {
+					list[k].OwnTeam = "a"
+				}
+				if v.TeamBId == strconv.Itoa(val) {
+					list[k].OwnTeam = "b"
+				}
+			}
 		}
+
 	}
 
 	e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
diff --git a/app/operate/apis/org_team_user.go b/app/operate/apis/org_team_user.go
index ffb54fa..8210ad8 100755
--- a/app/operate/apis/org_team_user.go
+++ b/app/operate/apis/org_team_user.go
@@ -20,10 +20,10 @@ 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)
+func (e OrgTeamUser) getTeamId(c *gin.Context) string {
+	sOrgTeamUser := service.OrgTeamUser{}
+	e.MakeContext(c).MakeOrm().MakeService(&sOrgTeamUser.Service)
+	_, teamId := sOrgTeamUser.GetTeamId(user.GetUserId(c))
 	return teamId
 }
 
diff --git a/app/operate/service/dto/org_team_match.go b/app/operate/service/dto/org_team_match.go
index 3796e9a..3c01b75 100755
--- a/app/operate/service/dto/org_team_match.go
+++ b/app/operate/service/dto/org_team_match.go
@@ -9,7 +9,7 @@ import (
 type OrgTeamMatchGetPageReq struct {
 	dto.Pagination `search:"-"`
 	ClubId         string `form:"clubId" search:"-"`
-	TeamIds        string `form:"teamIds" search:"-"`
+	TeamIds        []int  `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:""`
diff --git a/app/operate/service/org_team.go b/app/operate/service/org_team.go
index 86d653a..ef0d1ff 100755
--- a/app/operate/service/org_team.go
+++ b/app/operate/service/org_team.go
@@ -2,9 +2,6 @@ package service
 
 import (
 	"errors"
-	"strconv"
-	"strings"
-
 	"github.com/go-admin-team/go-admin-core/sdk/service"
 	"gorm.io/gorm"
 
@@ -163,7 +160,7 @@ func (e *OrgTeam) InsertTeamDept(teamId int, deptId int) error {
 }
 
 // 根据userId获取teamId
-func (e *OrgTeam) GetTeamIds(clubId string) (error, string) {
+func (e *OrgTeam) GetTeamIds(clubId string) (error, []int) {
 	data := make([]models.OrgTeam, 0)
 
 	err := e.Orm.Table("org_team").
@@ -172,12 +169,11 @@ func (e *OrgTeam) GetTeamIds(clubId string) (error, string) {
 		Find(&data).Error
 	if err != nil {
 		e.Log.Errorf("db error:%s", err)
-		return err, ""
+		return err, nil
 	}
-	teamIds := ""
+	teamIds := make([]int, 0)
 	for _, v := range data {
-		teamIds += strconv.Itoa(v.Id) + ","
+		teamIds = append(teamIds, v.Id)
 	}
-	teamIds = strings.Trim(teamIds, ",")
 	return nil, teamIds
 }
diff --git a/common/dto/match.go b/common/dto/match.go
index dbb8f98..0bca22e 100755
--- a/common/dto/match.go
+++ b/common/dto/match.go
@@ -107,9 +107,9 @@ func SetWhereNotIn(tableName string, fieldName string, fieldValue string) func(d
 	}
 }
 
-func SetWhereForMatch(teamId string, teamIds string) func(db *gorm.DB) *gorm.DB {
+func SetWhereForMatch(teamId string, teamIds []int) func(db *gorm.DB) *gorm.DB {
 	return func(db *gorm.DB) *gorm.DB {
-		if teamIds == "" && teamId == "" {
+		if len(teamIds) == 0 && teamId == "" {
 			return db
 		}
 		if teamId == "" {
-- 
2.18.1