org_match_evaluate.go 8.37 KB
Newer Older
haoyanbin's avatar
1  
haoyanbin committed
1 2 3
package apis

import (
haoyanbin's avatar
haoyanbin committed
4
	"fmt"
haoyanbin's avatar
1  
haoyanbin committed
5
	cDto "go-admin/common/dto"
haoyanbin's avatar
haoyanbin committed
6
	"strconv"
haoyanbin's avatar
1  
haoyanbin committed
7 8 9 10 11 12

	"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"

haoyanbin's avatar
1  
haoyanbin committed
13 14
	"go-admin/app/operate/service"
	"go-admin/app/operate/service/dto"
haoyanbin's avatar
1  
haoyanbin committed
15 16 17 18 19 20 21
	"go-admin/common/actions"
)

type OrgMatchEvaluate struct {
	api.Api
}

haoyanbin's avatar
1  
haoyanbin committed
22 23 24 25
// GetPage <赛事>赛后评价列表
// @Summary <赛事>赛后评价列表
// @Description <赛事>赛后评价列表
// @Tags <赛事>赛后评价
haoyanbin's avatar
haoyanbin committed
26
// @Param data body dto.OrgMatchEvaluateGetPageReq true "body"
haoyanbin's avatar
1  
haoyanbin committed
27 28
// @Param pageSize query int false "页条数"
// @Param pageIndex query int false "页码"
haoyanbin's avatar
haoyanbin committed
29
// @Param data body dto.OrgMatchEvaluateGetPageReq true "data"
haoyanbin's avatar
haoyanbin committed
30
// @Success 200 {string} string  "{"code": 200, "data": [...]}"
haoyanbin's avatar
1  
haoyanbin committed
31 32 33
// @Router /api/v1/org-match-evaluate [get]
// @Security Bearer
func (e OrgMatchEvaluate) GetPage(c *gin.Context) {
haoyanbin's avatar
haoyanbin committed
34 35 36 37 38 39 40 41 42 43 44 45
	req := dto.OrgMatchEvaluateGetPageReq{}
	s := service.OrgMatchEvaluate{}
	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
	}
haoyanbin's avatar
1  
haoyanbin committed
46 47

	p := actions.GetPermissionFromContext(c)
haoyanbin's avatar
haoyanbin committed
48
	list := make([]dto.OrgMatchEvaluateGetPageReply, 0)
haoyanbin's avatar
1  
haoyanbin committed
49 50 51 52 53
	var count int64

	err = s.GetPage(&req, p, &list, &count)
	if err != nil {
		e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
haoyanbin's avatar
haoyanbin committed
54
		return
haoyanbin's avatar
1  
haoyanbin committed
55 56 57 58 59
	}

	e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
}

haoyanbin's avatar
1  
haoyanbin committed
60 61 62 63
// GetPage <赛事>赛后评价比赛列表
// @Summary <赛事>赛后评价比赛列表
// @Description <赛事>赛后评价比赛列表
// @Tags <赛事>赛后评价
haoyanbin's avatar
haoyanbin committed
64
// @Param id path string false "id"
haoyanbin's avatar
1  
haoyanbin committed
65 66 67 68
// @Success 200 {string} string  "{"code": 200, "data": [...]}"
// @Router /api/v1/org-match-evaluate/get-match [get]
// @Security Bearer
func (e OrgMatchEvaluate) GetPageMatch(c *gin.Context) {
haoyanbin's avatar
1  
haoyanbin committed
69
	req := dto.GetPageMatchReq{}
haoyanbin's avatar
1  
haoyanbin committed
70 71 72 73 74 75 76 77 78 79 80 81 82
	s := service.OrgMatchEvaluate{}
	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)
haoyanbin's avatar
1  
haoyanbin committed
83
	reply := new(dto.GetPageMatchReply)
haoyanbin's avatar
1  
haoyanbin committed
84

haoyanbin's avatar
1  
haoyanbin committed
85
	replyGetMatchInfo := new(cDto.PageMatchInfo)
haoyanbin's avatar
haoyanbin committed
86
	err = s.GetMatchInfo(strconv.Itoa(req.Id), p, replyGetMatchInfo)
haoyanbin's avatar
1  
haoyanbin committed
87 88 89 90
	if err != nil {
		e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
		return
	}
haoyanbin's avatar
1  
haoyanbin committed
91
	reply.MatchInfo = *replyGetMatchInfo
haoyanbin's avatar
1  
haoyanbin committed
92

haoyanbin's avatar
haoyanbin committed
93 94 95 96 97 98 99 100 101
	imgList := make([]cDto.Wonderful, 0)
	err = s.GetPageWonderful(replyGetMatchInfo.EvaluateId, &imgList, 1)
	if err != nil {
		e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
		return
	}
	reply.MatchImg = imgList

	mvList := make([]cDto.Wonderful, 0)
haoyanbin's avatar
haoyanbin committed
102
	err = s.GetPageWonderful(replyGetMatchInfo.EvaluateId, &mvList, 2)
haoyanbin's avatar
haoyanbin committed
103 104 105 106 107 108
	if err != nil {
		e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
		return
	}
	reply.MatchMv = mvList

haoyanbin's avatar
haoyanbin committed
109 110 111 112 113 114 115
	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
haoyanbin's avatar
1  
haoyanbin committed
116 117 118 119 120 121 122 123 124 125

	replyGetTotalScoring := make([]cDto.TotalScoring, 0)
	err = s.GetTotalScoring(replyGetMatchInfo.PlayerId, replyGetMatchInfo.Rounds, replyGetMatchInfo.SeasonId, &replyGetTotalScoring)
	if err != nil {
		e.Error(500, err, fmt.Sprintf("获取比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
		return
	}
	reply.TotalScoring = replyGetTotalScoring

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

// Get <赛事>赛后评价比赛详情
// @Summary <赛事>赛后评价比赛详情
// @Description <赛事>赛后评价比赛详情
// @Tags <赛事>赛后评价
haoyanbin's avatar
1  
haoyanbin committed
132
// @Param id path string false "id"
haoyanbin's avatar
haoyanbin committed
133
// @Success 200 {string} string  "{"code": 200, "data": [...]}"
haoyanbin's avatar
1  
haoyanbin committed
134 135 136 137 138
// @Router /api/v1/org-match-evaluate/{id} [get]
// @Security Bearer
func (e OrgMatchEvaluate) Get(c *gin.Context) {
	req := dto.OrgMatchEvaluateGetReq{}
	s := service.OrgMatchEvaluate{}
haoyanbin's avatar
haoyanbin committed
139
	err := e.MakeContext(c).
haoyanbin's avatar
1  
haoyanbin committed
140 141 142 143 144 145 146 147 148 149 150
		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)
haoyanbin's avatar
haoyanbin committed
151 152 153 154 155

	reply := new(dto.OrgMatchEvaluateGetReply)

	replyGetMatchInfo := new(cDto.PageMatchInfo)
	err = s.GetMatchInfo(strconv.Itoa(req.Id), p, replyGetMatchInfo)
haoyanbin's avatar
1  
haoyanbin committed
156
	if err != nil {
haoyanbin's avatar
haoyanbin committed
157 158 159 160 161 162 163 164 165
		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()))
haoyanbin's avatar
haoyanbin committed
166
		return
haoyanbin's avatar
1  
haoyanbin committed
167
	}
haoyanbin's avatar
haoyanbin committed
168
	reply.RoundsScoring = replyGetRoundsScoring
haoyanbin's avatar
1  
haoyanbin committed
169

haoyanbin's avatar
haoyanbin committed
170
	e.OK(reply, "查询成功")
haoyanbin's avatar
1  
haoyanbin committed
171 172
}

haoyanbin's avatar
1  
haoyanbin committed
173 174 175 176
// Update <赛事>赛后评价影像维护
// @Summary <赛事>赛后评价影像维护
// @Description <赛事>赛后评价影像维护
// @Tags <赛事>赛后评价
haoyanbin's avatar
1  
haoyanbin committed
177 178 179
// @Accept application/json
// @Product application/json
// @Param data body dto.OrgMatchEvaluateUpdateReq true "body"
haoyanbin's avatar
haoyanbin committed
180
// @Success 200 {string} string  	"{"code": 200, "message": "修改成功"}"
haoyanbin's avatar
1  
haoyanbin committed
181 182 183
// @Router /api/v1/org-match-evaluate/{id} [put]
// @Security Bearer
func (e OrgMatchEvaluate) Update(c *gin.Context) {
haoyanbin's avatar
haoyanbin committed
184 185 186 187 188 189 190 191 192 193 194 195
	req := dto.OrgMatchEvaluateUpdateReq{}
	s := service.OrgMatchEvaluate{}
	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
	}
haoyanbin's avatar
1  
haoyanbin committed
196 197 198
	req.SetUpdateBy(user.GetUserId(c))
	p := actions.GetPermissionFromContext(c)

haoyanbin's avatar
haoyanbin committed
199
	err, playerId := s.IsBeing(req.MatchId, req.Rounds, req.PlayerId)
haoyanbin's avatar
haoyanbin committed
200
	eId := 0
haoyanbin's avatar
haoyanbin committed
201 202
	if playerId == 0 {
		reqInsertData := dto.OrgMatchEvaluateInsertReq{
haoyanbin's avatar
haoyanbin committed
203 204 205 206 207
			MatchId:  req.MatchId,
			Rounds:   req.Rounds,
			PlayerId: req.PlayerId,
			MvStatus: req.MvStatus,
			Status:   req.Status,
haoyanbin's avatar
haoyanbin committed
208
		}
haoyanbin's avatar
haoyanbin committed
209
		err, eId = s.Insert(&reqInsertData)
haoyanbin's avatar
haoyanbin committed
210
	} else {
haoyanbin's avatar
haoyanbin committed
211
		err, eId = s.Update(&req, p)
haoyanbin's avatar
1  
haoyanbin committed
212
	}
haoyanbin's avatar
1  
haoyanbin committed
213
	if err != nil {
haoyanbin's avatar
1  
haoyanbin committed
214 215
		e.Error(500, err, fmt.Sprintf("修改比赛球员信息 失败,\r\n失败信息 %s", err.Error()))
		return
haoyanbin's avatar
1  
haoyanbin committed
216
	}
haoyanbin's avatar
haoyanbin committed
217 218 219 220 221 222 223 224 225 226 227 228 229

	reqWonderfulInsert := dto.OrgMatchEvaluateWonderfulInsertReq{}
	reqWonderfulUpdate := dto.OrgMatchEvaluateWonderfulUpdateReq{}
	sWonderful := service.OrgMatchEvaluateWonderful{}
	err = e.MakeContext(c).
		MakeOrm().
		MakeService(&sWonderful.Service).
		Errors
	if err != nil {
		e.Logger.Error(err)
		e.Error(500, err, err.Error())
		return
	}
haoyanbin's avatar
1  
haoyanbin committed
230
	delIds := make([]int, 0)
haoyanbin's avatar
haoyanbin committed
231
	for _, v := range req.MatchImg {
haoyanbin's avatar
haoyanbin committed
232 233
		if v.WonderfulId != "" {
			upId, _ := strconv.Atoi(v.WonderfulId)
haoyanbin's avatar
1  
haoyanbin committed
234
			reqWonderfulUpdate.Id = upId
haoyanbin's avatar
haoyanbin committed
235 236 237 238 239
			reqWonderfulUpdate.WonderfulUrl = v.WonderfulUrl
			reqWonderfulUpdate.WonderfulTitle = v.WonderfulTitle

			reqWonderfulUpdate.SetUpdateBy(user.GetUserId(c))
			sWonderful.Update(&reqWonderfulUpdate)
haoyanbin's avatar
1  
haoyanbin committed
240
			delIds = append(delIds, upId)
haoyanbin's avatar
haoyanbin committed
241 242 243 244 245 246 247 248
		} else {
			reqWonderfulInsert.Type = "1"
			reqWonderfulInsert.MatchEvaluateId = strconv.Itoa(eId)
			reqWonderfulInsert.WonderfulUrl = v.WonderfulUrl
			reqWonderfulInsert.WonderfulTitle = v.WonderfulTitle

			reqWonderfulInsert.SetCreateBy(user.GetUserId(c))
			sWonderful.Insert(&reqWonderfulInsert)
haoyanbin's avatar
1  
haoyanbin committed
249
			delIds = append(delIds, reqWonderfulInsert.Id)
haoyanbin's avatar
haoyanbin committed
250 251 252
		}
	}
	for _, vMv := range req.MatchMv {
haoyanbin's avatar
haoyanbin committed
253 254
		if vMv.WonderfulId != "" {
			upId, _ := strconv.Atoi(vMv.WonderfulId)
haoyanbin's avatar
1  
haoyanbin committed
255
			reqWonderfulUpdate.Id = upId
haoyanbin's avatar
haoyanbin committed
256 257 258 259 260
			reqWonderfulUpdate.WonderfulUrl = vMv.WonderfulUrl
			reqWonderfulUpdate.WonderfulTitle = vMv.WonderfulTitle

			reqWonderfulUpdate.SetUpdateBy(user.GetUserId(c))
			sWonderful.Update(&reqWonderfulUpdate)
haoyanbin's avatar
1  
haoyanbin committed
261 262

			delIds = append(delIds, upId)
haoyanbin's avatar
haoyanbin committed
263
		} else {
haoyanbin's avatar
1  
haoyanbin committed
264
			reqWonderfulInsert.Type = "2"
haoyanbin's avatar
haoyanbin committed
265 266 267 268 269 270
			reqWonderfulInsert.MatchEvaluateId = strconv.Itoa(eId)
			reqWonderfulInsert.WonderfulUrl = vMv.WonderfulUrl
			reqWonderfulInsert.WonderfulTitle = vMv.WonderfulTitle

			reqWonderfulInsert.SetCreateBy(user.GetUserId(c))
			sWonderful.Insert(&reqWonderfulInsert)
haoyanbin's avatar
1  
haoyanbin committed
271
			delIds = append(delIds, reqWonderfulInsert.Id)
haoyanbin's avatar
haoyanbin committed
272 273
		}
	}
haoyanbin's avatar
1  
haoyanbin committed
274 275 276
	reqWonderfulDelete := dto.OrgMatchEvaluateWonderfulDeleteReq{}
	reqWonderfulDelete.Ids = delIds
	sWonderful.Remove(&reqWonderfulDelete)
haoyanbin's avatar
haoyanbin committed
277 278
	e.OK(req.GetId(), "修改成功")
}