org_player.go 9.09 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
1  
haoyanbin committed
71 72
	//err := c.Bind(&req)
	err := e.MakeContext(c).
haoyanbin's avatar
haoyanbin committed
73
		MakeOrm().
haoyanbin's avatar
1  
haoyanbin committed
74
		Bind(&req).
haoyanbin's avatar
haoyanbin committed
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
		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
91 92 93
	//总分
	var reqTotalScoringGetData dto.OrgPlayerDataGetReq
	reqTotalScoringGetData.PlayerId = strconv.Itoa(object.Id)
haoyanbin's avatar
haoyanbin committed
94

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

haoyanbin's avatar
haoyanbin committed
103 104 105 106 107 108 109 110 111 112 113 114
	//参加赛季
	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
115 116 117 118 119 120 121

	//出赛次数
	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
122
	if err != nil {
haoyanbin's avatar
haoyanbin committed
123
		e.Error(500, err, fmt.Sprintf("获取球员失败,\r\n失败信息 %s", err.Error()))
haoyanbin's avatar
haoyanbin committed
124 125
		return
	}
haoyanbin's avatar
haoyanbin committed
126
	object.CountMatch = replyMatchGetData.CountMatch
haoyanbin's avatar
haoyanbin committed
127

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

// Get <手机端>获取球员赛季数据
// @Summary <手机端>获取球员赛季数据
// @Description <手机端>获取球员赛季数据
haoyanbin's avatar
haoyanbin committed
134
// @Tags <手机端>球员数据
haoyanbin's avatar
haoyanbin committed
135
// @Param playerId path string false "playerId"
haoyanbin's avatar
haoyanbin committed
136
// @Success 200 {string} string  "{"code": 200, "data": [...]}"
haoyanbin's avatar
1  
haoyanbin committed
137
// @Router /mobile/v1/org-player/info/{id} [get]
haoyanbin's avatar
haoyanbin committed
138 139 140 141
// @Security Bearer
func (e OrgPlayer) GetInfo(c *gin.Context) {
	req := dto.OrgPlayerGetReq{}
	s := service.OrgPlayer{}
haoyanbin's avatar
1  
haoyanbin committed
142
	err := e.MakeContext(c).
haoyanbin's avatar
haoyanbin committed
143
		MakeOrm().
haoyanbin's avatar
1  
haoyanbin committed
144
		Bind(&req).
haoyanbin's avatar
haoyanbin committed
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
		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
	}

haoyanbin's avatar
haoyanbin committed
162
	//获取当前时间范围的赛季id
haoyanbin's avatar
haoyanbin committed
163
	seasonId := s.GetNowSeasonId()
haoyanbin's avatar
haoyanbin committed
164

haoyanbin's avatar
haoyanbin committed
165
	reply := new(dto.OrgPlayerGetInfoReply)
haoyanbin's avatar
haoyanbin committed
166 167 168
	reply.OrgPlayerInfo = object

	replyOrgMatchInfo := new(dto.OrgMatchInfo)
haoyanbin's avatar
haoyanbin committed
169
	err = s.StatisticsScoringAvg(strconv.Itoa(req.PlayerId), seasonId, "avg", replyOrgMatchInfo)
haoyanbin's avatar
haoyanbin committed
170 171 172 173 174 175
	if err != nil {
		e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
		return
	}
	reply.OrgMatchInfo = *replyOrgMatchInfo

haoyanbin's avatar
haoyanbin committed
176
	err, matchId := s.GetMatchId(strconv.Itoa(req.PlayerId), seasonId)
haoyanbin's avatar
haoyanbin committed
177 178

	replyGetRoundsScoring := make([]dto.OrgPlayerRoundsScoring, 0)
haoyanbin's avatar
haoyanbin committed
179
	err = s.GetRoundsScoring(strconv.Itoa(req.PlayerId), matchId, &replyGetRoundsScoring)
haoyanbin's avatar
haoyanbin committed
180 181 182 183 184 185
	if err != nil {
		e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
		return
	}
	reply.RoundsScoring = replyGetRoundsScoring

haoyanbin's avatar
haoyanbin committed
186 187 188 189 190 191 192
	e.OK(reply, "查询成功")
}

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

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

// Get <手机端>获取球员精彩时刻
// @Summary <手机端>获取球员精彩时刻
// @Description <手机端>获取球员精彩时刻
haoyanbin's avatar
haoyanbin committed
225 226 227 228 229 230
// @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
231 232 233 234 235 236
// @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
237 238
	err := c.Bind(&req)
	err = e.MakeContext(c).
haoyanbin's avatar
haoyanbin committed
239 240 241 242 243 244 245 246 247
		MakeOrm().
		MakeService(&s.Service).
		Errors
	if err != nil {
		e.Logger.Error(err)
		e.Error(500, err, err.Error())
		return
	}

haoyanbin's avatar
haoyanbin committed
248
	list := make([]dto.OrgMatchEvaluateList, 0)
haoyanbin's avatar
haoyanbin committed
249 250 251 252 253 254 255 256 257
	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
258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282
	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
283
}
haoyanbin's avatar
haoyanbin committed
284

haoyanbin's avatar
haoyanbin committed
285 286 287
// Get <手机端>精彩时刻比赛轮次列表
// @Summary <手机端>精彩时刻比赛轮次列表
// @Description <手机端>精彩时刻比赛轮次列表
haoyanbin's avatar
haoyanbin committed
288 289 290
// @Tags <手机端>球员数据
// @Param playerId path string false "playerId"
// @Success 200 {string} string  "{"code": 200, "data": [...]}"
haoyanbin's avatar
haoyanbin committed
291
// @Router /mobile/v1/org-player/get-rounds [get]
haoyanbin's avatar
haoyanbin committed
292 293 294 295
// @Security Bearer
func (e OrgPlayer) GetOrgRounds(c *gin.Context) {
	req := dto.GetRoundsReq{}
	s := service.OrgPlayer{}
haoyanbin's avatar
haoyanbin committed
296 297
	err := c.Bind(&req)
	err = e.MakeContext(c).
haoyanbin's avatar
haoyanbin committed
298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318
		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, "查询成功")
}