org_player.go 8.95 KB
Newer Older
haoyanbin's avatar
haoyanbin committed
1 2 3 4 5 6 7
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/response"
haoyanbin's avatar
haoyanbin committed
8 9
	"go-admin/app/mobile/service"
	"go-admin/app/mobile/service/dto"
haoyanbin's avatar
haoyanbin committed
10
	"go-admin/common/actions"
haoyanbin's avatar
haoyanbin committed
11
	cDto "go-admin/common/dto"
haoyanbin's avatar
haoyanbin committed
12
	"strconv"
haoyanbin's avatar
haoyanbin committed
13 14 15 16 17 18
)

type OrgPlayer struct {
	api.Api
}

haoyanbin's avatar
haoyanbin committed
19 20 21
// GetPage <手机端>获取球员列表
// @Summary <手机端>获取球员列表
// @Description <手机端>获取球员列表
haoyanbin's avatar
haoyanbin committed
22
// @Tags <手机端>球员数据
haoyanbin's avatar
haoyanbin committed
23 24 25 26
// @Param pageSize query int false "页条数"
// @Param pageIndex query int false "页码"
// @Param data body dto.OrgPlayerGetPageReq true "body"
// @Success 200 {string} string  "{"code": 200, "data": [...]}"
haoyanbin's avatar
haoyanbin committed
27
// @Router /mobile/v1/org-player [get]
haoyanbin's avatar
haoyanbin committed
28 29 30 31
// @Security Bearer
func (e OrgPlayer) GetPage(c *gin.Context) {
	req := dto.OrgPlayerGetPageReq{}
	s := service.OrgPlayer{}
haoyanbin's avatar
haoyanbin committed
32 33 34

	err := c.Bind(&req)
	err = e.MakeContext(c).
haoyanbin's avatar
haoyanbin committed
35 36 37 38 39 40 41 42 43 44 45 46 47
		MakeOrm().
		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

haoyanbin's avatar
haoyanbin committed
48 49 50
	userId := c.GetInt64("userId")
	req.PlayerUserId = strconv.FormatInt(userId, 10)

haoyanbin's avatar
haoyanbin committed
51 52 53 54 55 56 57 58 59
	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(), "查询成功")
}

haoyanbin's avatar
haoyanbin committed
60 61 62
// Get <手机端>获取球员详情
// @Summary <手机端>获取球员详情
// @Description <手机端>获取球员详情
haoyanbin's avatar
haoyanbin committed
63
// @Tags <手机端>球员数据
haoyanbin's avatar
haoyanbin committed
64 65
// @Param id path string false "id"
// @Success 200 {string} string  "{"code": 200, "data": [...]}"
haoyanbin's avatar
haoyanbin committed
66
// @Router /mobile/v1/org-player/{id} [get]
haoyanbin's avatar
haoyanbin committed
67 68 69 70
// @Security Bearer
func (e OrgPlayer) Get(c *gin.Context) {
	req := dto.OrgPlayerGetReq{}
	s := service.OrgPlayer{}
haoyanbin's avatar
haoyanbin committed
71 72
	err := c.Bind(&req)
	err = e.MakeContext(c).
haoyanbin's avatar
haoyanbin committed
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
		MakeOrm().
		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
	}

haoyanbin's avatar
haoyanbin committed
90 91 92
	//总分
	var reqTotalScoringGetData dto.OrgPlayerDataGetReq
	reqTotalScoringGetData.PlayerId = strconv.Itoa(object.Id)
haoyanbin's avatar
haoyanbin committed
93

haoyanbin's avatar
haoyanbin committed
94 95
	var replyTotalScoringGetData dto.OrgPlayerDataGetReply
	err = s.GetData(&reqTotalScoringGetData, p, &replyTotalScoringGetData)
haoyanbin's avatar
haoyanbin committed
96
	if err != nil {
haoyanbin's avatar
haoyanbin committed
97
		e.Error(500, err, fmt.Sprintf("获取球员失败,\r\n失败信息 %s", err.Error()))
haoyanbin's avatar
haoyanbin committed
98 99
		return
	}
haoyanbin's avatar
haoyanbin committed
100 101
	object.TotalScoring = replyTotalScoringGetData.Scoring

haoyanbin's avatar
haoyanbin committed
102 103 104 105 106 107 108 109 110 111 112 113
	//参加赛季
	var reqScoringGetData dto.OrgPlayerDataGetReq
	reqScoringGetData.PlayerId = strconv.Itoa(object.Id)
	reqScoringGetData.SeasonId = object.SeasonId

	var replyScoringGetData dto.OrgPlayerDataGetReply
	err = s.GetDataSeason(&reqScoringGetData, p, &replyScoringGetData)
	if err != nil {
		e.Error(500, err, fmt.Sprintf("获取球员失败,\r\n失败信息 %s", err.Error()))
		return
	}
	object.SeasonScoring = replyScoringGetData.Scoring
haoyanbin's avatar
haoyanbin committed
114 115 116 117 118 119 120

	//出赛次数
	var reqMatchGetData dto.OrgPlayerDataGetReq
	reqMatchGetData.PlayerId = strconv.Itoa(object.Id)

	var replyMatchGetData dto.OrgPlayerDataGetReply
	err = s.GetDataMatch(&reqMatchGetData, p, &replyMatchGetData)
haoyanbin's avatar
haoyanbin committed
121
	if err != nil {
haoyanbin's avatar
haoyanbin committed
122
		e.Error(500, err, fmt.Sprintf("获取球员失败,\r\n失败信息 %s", err.Error()))
haoyanbin's avatar
haoyanbin committed
123 124
		return
	}
haoyanbin's avatar
haoyanbin committed
125
	object.CountMatch = replyMatchGetData.CountMatch
haoyanbin's avatar
haoyanbin committed
126

haoyanbin's avatar
haoyanbin committed
127
	e.OK(object, "查询成功")
haoyanbin's avatar
haoyanbin committed
128
}
haoyanbin's avatar
haoyanbin committed
129 130 131 132

// Get <手机端>获取球员赛季数据
// @Summary <手机端>获取球员赛季数据
// @Description <手机端>获取球员赛季数据
haoyanbin's avatar
haoyanbin committed
133
// @Tags <手机端>球员数据
haoyanbin's avatar
haoyanbin committed
134 135 136 137 138 139 140
// @Param id path string false "id"
// @Success 200 {string} string  "{"code": 200, "data": [...]}"
// @Router /mobile/v1/org-player/info [get]
// @Security Bearer
func (e OrgPlayer) GetInfo(c *gin.Context) {
	req := dto.OrgPlayerGetReq{}
	s := service.OrgPlayer{}
haoyanbin's avatar
haoyanbin committed
141 142
	err := c.Bind(&req)
	err = e.MakeContext(c).
haoyanbin's avatar
haoyanbin committed
143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
		MakeOrm().
		MakeService(&s.Service).
		Errors
	if err != nil {
		e.Logger.Error(err)
		e.Error(500, err, err.Error())
		return
	}
	var object dto.OrgPlayerGetReply
	//reqGet := dto.OrgPlayerGetReq{Id: req.Id}

	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
	}

	seasonId := "4"
	reply := new(dto.OrgPlayerGetInfoReply)

	reply.OrgPlayerInfo = object

	replyOrgMatchInfo := new(dto.OrgMatchInfo)
	err = s.StatisticsScoringAvg(strconv.Itoa(req.Id), seasonId, "avg", replyOrgMatchInfo)
	if err != nil {
		e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
		return
	}
	reply.OrgMatchInfo = *replyOrgMatchInfo

	err, matchId := s.GetMatchId(strconv.Itoa(req.Id), seasonId)

	replyGetRoundsScoring := make([]dto.OrgPlayerRoundsScoring, 0)
	err = s.GetRoundsScoring(strconv.Itoa(req.Id), matchId, &replyGetRoundsScoring)
	if err != nil {
		e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
		return
	}
	reply.RoundsScoring = replyGetRoundsScoring

haoyanbin's avatar
haoyanbin committed
184 185 186 187 188 189 190 191 192 193 194 195 196 197
	e.OK(reply, "查询成功")
}

// Get <手机端>获取球员生涯数据
// @Summary <手机端>获取球员生涯数据
// @Description <手机端>获取球员生涯数据
// @Tags <手机端>球员数据
// @Param id path string false "id"
// @Success 200 {string} string  "{"code": 200, "data": [...]}"
// @Router /mobile/v1/org-player/get-match-season [get]
// @Security Bearer
func (e OrgPlayer) GetOrgMatchSeason(c *gin.Context) {
	req := dto.OrgPlayerGetReq{}
	s := service.OrgPlayer{}
haoyanbin's avatar
haoyanbin committed
198 199
	err := c.Bind(&req)
	err = e.MakeContext(c).
haoyanbin's avatar
haoyanbin committed
200 201 202 203 204 205 206 207
		MakeOrm().
		MakeService(&s.Service).
		Errors
	if err != nil {
		e.Logger.Error(err)
		e.Error(500, err, err.Error())
		return
	}
haoyanbin's avatar
haoyanbin committed
208 209 210
	//生涯数据
	err, matchId2 := s.GetMatchId(strconv.Itoa(req.Id), "")

haoyanbin's avatar
haoyanbin committed
211 212
	replyGetRoundsScoring := make([]dto.OrgPlayerRoundsScoring, 0)
	err = s.GetSeasonRoundsScoring(strconv.Itoa(req.Id), matchId2, &replyGetRoundsScoring)
haoyanbin's avatar
haoyanbin committed
213 214 215 216
	if err != nil {
		e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
		return
	}
haoyanbin's avatar
haoyanbin committed
217
	e.OK(replyGetRoundsScoring, "查询成功")
haoyanbin's avatar
haoyanbin committed
218 219 220 221 222
}

// Get <手机端>获取球员精彩时刻
// @Summary <手机端>获取球员精彩时刻
// @Description <手机端>获取球员精彩时刻
haoyanbin's avatar
haoyanbin committed
223 224 225 226 227 228
// @Tags <手机端>球员数据
// @Param leagueId path string false "leagueId"
// @Param seasonId path string false "seasonId"
// @Param matchId path string false "matchId"
// @Param rounds path string false "rounds"
// @Param playerId path string false "playerId"
haoyanbin's avatar
haoyanbin committed
229 230 231 232 233 234
// @Success 200 {string} string  "{"code": 200, "data": [...]}"
// @Router /mobile/v1/org-player/evaluate [get]
// @Security Bearer
func (e OrgPlayer) GetOrgMatchEvaluate(c *gin.Context) {
	req := dto.OrgPlayerGetOrgMatchEvaluateReq{}
	s := service.OrgPlayer{}
haoyanbin's avatar
haoyanbin committed
235 236
	err := c.Bind(&req)
	err = e.MakeContext(c).
haoyanbin's avatar
haoyanbin committed
237 238 239 240 241 242 243 244 245
		MakeOrm().
		MakeService(&s.Service).
		Errors
	if err != nil {
		e.Logger.Error(err)
		e.Error(500, err, err.Error())
		return
	}

haoyanbin's avatar
haoyanbin committed
246
	list := make([]dto.OrgMatchEvaluateList, 0)
haoyanbin's avatar
haoyanbin committed
247 248 249 250 251 252 253 254 255
	var count int64

	//p := actions.GetPermissionFromContext(c)
	err = s.GetOrgMatchEvaluate(&req, &list, &count)
	if err != nil {
		e.Error(500, err, fmt.Sprintf("获取球员失败,\r\n失败信息 %s", err.Error()))
		return
	}

haoyanbin's avatar
haoyanbin committed
256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280
	reply := make([]dto.OrgMatchEvaluate, 0)

	for _, v := range list {
		replyV := dto.OrgMatchEvaluate{}
		imgList := make([]cDto.Wonderful, 0)
		err = s.GetPageWonderful(v.Id, &imgList, 1)
		if err != nil {
			e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
			return
		}
		replyV.MatchImg = imgList

		mvList := make([]cDto.Wonderful, 0)
		err = s.GetPageWonderful(v.Id, &imgList, 2)
		if err != nil {
			e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
			return
		}
		replyV.MatchMv = mvList
		replyV.Id = v.Id
		replyV.Content = v.Content
		reply = append(reply, replyV)
	}

	e.OK(reply, "查询成功")
haoyanbin's avatar
haoyanbin committed
281
}
haoyanbin's avatar
haoyanbin committed
282 283 284 285 286 287 288

// Get <手机端>获取球员精彩时刻
// @Summary <手机端>获取球员精彩时刻
// @Description <手机端>获取球员精彩时刻
// @Tags <手机端>球员数据
// @Param playerId path string false "playerId"
// @Success 200 {string} string  "{"code": 200, "data": [...]}"
haoyanbin's avatar
haoyanbin committed
289
// @Router /mobile/v1/org-player/get-rounds [get]
haoyanbin's avatar
haoyanbin committed
290 291 292 293
// @Security Bearer
func (e OrgPlayer) GetOrgRounds(c *gin.Context) {
	req := dto.GetRoundsReq{}
	s := service.OrgPlayer{}
haoyanbin's avatar
haoyanbin committed
294 295
	err := c.Bind(&req)
	err = e.MakeContext(c).
haoyanbin's avatar
haoyanbin committed
296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316
		MakeOrm().
		MakeService(&s.Service).
		Errors
	if err != nil {
		e.Logger.Error(err)
		e.Error(500, err, err.Error())
		return
	}

	list := make([]dto.GetRoundsReply, 0)
	var count int64

	//p := actions.GetPermissionFromContext(c)
	err = s.GetOrgRounds(&req, &list, &count)
	if err != nil {
		e.Error(500, err, fmt.Sprintf("获取球员失败,\r\n失败信息 %s", err.Error()))
		return
	}

	e.OK(list, "查询成功")
}