org_player.go 7.21 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 6 7 8
	"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
haoyanbin committed
9
	"strconv"
haoyanbin's avatar
1  
haoyanbin committed
10

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

type OrgPlayer struct {
	api.Api
}

haoyanbin's avatar
1  
haoyanbin committed
20 21 22 23 24 25 26
func (e OrgPlayer) getTeamId(c *gin.Context) string {
	sOrgTeamUser := service.OrgTeamUser{}
	e.MakeContext(c).MakeOrm().MakeService(&sOrgTeamUser.Service)
	_, teamId := sOrgTeamUser.GetTeamId(user.GetUserId(c))
	return teamId
}

haoyanbin's avatar
haoyanbin committed
27 28 29 30 31 32 33
func (e OrgPlayer) getClubId(c *gin.Context) string {
	sOrgTeamUser := service.OrgClubUser{}
	e.MakeContext(c).MakeOrm().MakeService(&sOrgTeamUser.Service)
	_, teamId := sOrgTeamUser.GetClubId(user.GetUserId(c))
	return teamId
}

haoyanbin's avatar
haoyanbin committed
34 35 36 37
// GetPage <球队>获取球员列表
// @Summary <球队>获取球员列表
// @Description <球队>获取球员列表
// @Tags <球队>球员
haoyanbin's avatar
1  
haoyanbin committed
38 39
// @Param pageSize query int false "页条数"
// @Param pageIndex query int false "页码"
haoyanbin's avatar
haoyanbin committed
40
// @Param data body dto.OrgPlayerGetPageReq true "body"
haoyanbin's avatar
haoyanbin committed
41
// @Success 200 {string} string  "{"code": 200, "data": [...]}"
haoyanbin's avatar
1  
haoyanbin committed
42 43 44
// @Router /api/v1/org-player [get]
// @Security Bearer
func (e OrgPlayer) GetPage(c *gin.Context) {
haoyanbin's avatar
haoyanbin committed
45 46 47 48 49 50 51 52 53 54 55 56
	req := dto.OrgPlayerGetPageReq{}
	s := service.OrgPlayer{}
	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
57 58

	p := actions.GetPermissionFromContext(c)
haoyanbin's avatar
haoyanbin committed
59
	list := make([]dto.OrgPlayerGetPageReply, 0)
haoyanbin's avatar
1  
haoyanbin committed
60 61
	var count int64

haoyanbin's avatar
1  
haoyanbin committed
62
	req.TeamId = e.getTeamId(c)
haoyanbin's avatar
haoyanbin committed
63
	req.ClubId = e.getClubId(c)
haoyanbin's avatar
1  
haoyanbin committed
64

haoyanbin's avatar
1  
haoyanbin committed
65 66 67
	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
68
		return
haoyanbin's avatar
1  
haoyanbin committed
69 70 71 72 73
	}

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

haoyanbin's avatar
haoyanbin committed
74 75 76 77
// Get <球队>获取球员
// @Summary <球队>获取球员
// @Description <球队>获取球员
// @Tags <球队>球员
haoyanbin's avatar
1  
haoyanbin committed
78
// @Param id path string false "id"
haoyanbin's avatar
haoyanbin committed
79
// @Success 200 {string} string  "{"code": 200, "data": [...]}"
haoyanbin's avatar
1  
haoyanbin committed
80 81 82 83 84
// @Router /api/v1/org-player/{id} [get]
// @Security Bearer
func (e OrgPlayer) Get(c *gin.Context) {
	req := dto.OrgPlayerGetReq{}
	s := service.OrgPlayer{}
haoyanbin's avatar
haoyanbin committed
85
	err := e.MakeContext(c).
haoyanbin's avatar
1  
haoyanbin committed
86 87 88 89 90 91 92 93 94
		MakeOrm().
		Bind(&req).
		MakeService(&s.Service).
		Errors
	if err != nil {
		e.Logger.Error(err)
		e.Error(500, err, err.Error())
		return
	}
haoyanbin's avatar
haoyanbin committed
95
	var object dto.OrgPlayerGetReply
haoyanbin's avatar
1  
haoyanbin committed
96 97 98 99 100

	p := actions.GetPermissionFromContext(c)
	err = s.Get(&req, p, &object)
	if err != nil {
		e.Error(500, err, fmt.Sprintf("获取球员失败,\r\n失败信息 %s", err.Error()))
haoyanbin's avatar
haoyanbin committed
101
		return
haoyanbin's avatar
1  
haoyanbin committed
102 103
	}

haoyanbin's avatar
haoyanbin committed
104
	e.OK(object, "查询成功")
haoyanbin's avatar
1  
haoyanbin committed
105 106
}

haoyanbin's avatar
haoyanbin committed
107 108 109 110
// Insert <球队>创建球员
// @Summary <球队>创建球员
// @Description <球队>创建球员
// @Tags <球队>球员
haoyanbin's avatar
1  
haoyanbin committed
111 112 113
// @Accept application/json
// @Product application/json
// @Param data body dto.OrgPlayerInsertReq true "data"
haoyanbin's avatar
haoyanbin committed
114
// @Success 200 {string} string  	"{"code": 200, "message": "添加成功"}"
haoyanbin's avatar
1  
haoyanbin committed
115 116 117
// @Router /api/v1/org-player [post]
// @Security Bearer
func (e OrgPlayer) Insert(c *gin.Context) {
haoyanbin's avatar
haoyanbin committed
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
	req := dto.OrgPlayerInsertReq{}
	s := service.OrgPlayer{}
	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
	}

	reqUser := dto.OrgPlayerUserInsertReq{}
	sUser := service.OrgPlayerUser{}
	e.MakeContext(c).MakeOrm().MakeService(&sUser.Service)
	_, userId := sUser.IsBeing(req.Username)
	if userId > 0 {
		req.PlayerUserId = strconv.Itoa(userId)
	} else {
		// 设置创建人
		reqUser.SetCreateBy(user.GetUserId(c))
		reqUser.Username = req.Username
		reqUser.Password = dto.Pwd("123456")

		err = sUser.Insert(&reqUser)
		req.PlayerUserId = strconv.Itoa(reqUser.Id)
	}

haoyanbin's avatar
1  
haoyanbin committed
147
	// 设置创建人
haoyanbin's avatar
haoyanbin committed
148
	req.CreateBy = user.GetUserId(c)
haoyanbin's avatar
1  
haoyanbin committed
149 150 151 152

	err = s.Insert(&req)
	if err != nil {
		e.Error(500, err, fmt.Sprintf("创建球员  失败,\r\n失败信息 %s", err.Error()))
haoyanbin's avatar
haoyanbin committed
153
		return
haoyanbin's avatar
1  
haoyanbin committed
154 155 156 157 158
	}

	e.OK(req.GetId(), "创建成功")
}

haoyanbin's avatar
haoyanbin committed
159 160 161 162
// Update <球队>修改球员
// @Summary <球队>修改球员
// @Description <球队>修改球员
// @Tags <球队>球员
haoyanbin's avatar
1  
haoyanbin committed
163 164 165
// @Accept application/json
// @Product application/json
// @Param data body dto.OrgPlayerUpdateReq true "body"
haoyanbin's avatar
haoyanbin committed
166
// @Success 200 {string} string  	"{"code": 200, "message": "修改成功"}"
haoyanbin's avatar
1  
haoyanbin committed
167 168 169
// @Router /api/v1/org-player/{id} [put]
// @Security Bearer
func (e OrgPlayer) Update(c *gin.Context) {
haoyanbin's avatar
haoyanbin committed
170 171 172 173 174 175 176 177 178 179 180 181
	req := dto.OrgPlayerUpdateReq{}
	s := service.OrgPlayer{}
	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
haoyanbin committed
182
	req.UpdateBy = user.GetUserId(c)
haoyanbin's avatar
1  
haoyanbin committed
183 184
	p := actions.GetPermissionFromContext(c)

haoyanbin's avatar
haoyanbin committed
185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
	reqUser := dto.OrgPlayerUserInsertReq{}
	sUser := service.OrgPlayerUser{}
	e.MakeContext(c).MakeOrm().MakeService(&sUser.Service)
	_, userId := sUser.IsBeing(req.Username)
	if userId > 0 {
		req.PlayerUserId = strconv.Itoa(userId)
	} else {
		// 设置创建人
		reqUser.SetCreateBy(user.GetUserId(c))
		reqUser.Username = req.Username
		reqUser.Password = dto.Pwd("123456")

		err = sUser.Insert(&reqUser)
		req.PlayerUserId = strconv.Itoa(reqUser.Id)
	}

haoyanbin's avatar
1  
haoyanbin committed
201 202 203
	err = s.Update(&req, p)
	if err != nil {
		e.Error(500, err, fmt.Sprintf("修改球员 失败,\r\n失败信息 %s", err.Error()))
haoyanbin's avatar
haoyanbin committed
204
		return
haoyanbin's avatar
1  
haoyanbin committed
205
	}
haoyanbin's avatar
haoyanbin committed
206
	e.OK(req.GetId(), "修改成功")
haoyanbin's avatar
1  
haoyanbin committed
207 208
}

haoyanbin's avatar
haoyanbin committed
209 210 211 212
// Delete <球队>删除球员
// @Summary <球队>删除球员
// @Description <球队>删除球员
// @Tags <球队>球员
haoyanbin's avatar
1  
haoyanbin committed
213
// @Param ids body []int false "ids"
haoyanbin's avatar
haoyanbin committed
214
// @Success 200 {string} string  	"{"code": 200, "message": "删除成功"}"
haoyanbin's avatar
1  
haoyanbin committed
215 216 217
// @Router /api/v1/org-player [delete]
// @Security Bearer
func (e OrgPlayer) Delete(c *gin.Context) {
haoyanbin's avatar
haoyanbin committed
218 219 220 221 222 223 224 225 226 227 228 229
	s := service.OrgPlayer{}
	req := dto.OrgPlayerDeleteReq{}
	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
230

haoyanbin's avatar
haoyanbin committed
231
	// req.UpdateBy = user.GetUserId(c)
haoyanbin's avatar
1  
haoyanbin committed
232 233 234 235 236
	p := actions.GetPermissionFromContext(c)

	err = s.Remove(&req, p)
	if err != nil {
		e.Error(500, err, fmt.Sprintf("删除球员失败,\r\n失败信息 %s", err.Error()))
haoyanbin's avatar
haoyanbin committed
237
		return
haoyanbin's avatar
1  
haoyanbin committed
238
	}
haoyanbin's avatar
haoyanbin committed
239 240
	e.OK(req.GetId(), "删除成功")
}
haoyanbin's avatar
haoyanbin committed
241 242 243 244 245 246 247

// Update <球队>修改球员状态
// @Summary <球队>修改球员状态
// @Description <球队>修改球员状态
// @Tags <球队>工作人员
// @Accept application/json
// @Product application/json
haoyanbin's avatar
1  
haoyanbin committed
248
// @Param data body dto.OrgPlayerUpdateStatusReq true "body"
haoyanbin's avatar
haoyanbin committed
249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
// @Success 200 {string} string  	"{"code": 200, "message": "修改成功"}"
// @Router /api/v1/org-player/update-status [put]
// @Security Bearer
func (e OrgPlayer) UpdateStatus(c *gin.Context) {
	req := dto.OrgPlayerUpdateStatusReq{}
	s := service.OrgPlayer{}
	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
haoyanbin committed
265
	req.UpdateBy = user.GetUserId(c)
haoyanbin's avatar
haoyanbin committed
266 267 268 269 270 271 272 273 274 275 276 277 278
	p := actions.GetPermissionFromContext(c)

	reqUpdate := dto.OrgPlayerUpdateReq{}
	reqUpdate.Id = req.Id
	reqUpdate.Status = req.Status
	err = s.Update(&reqUpdate, p)
	if err != nil {
		e.Error(500, err, fmt.Sprintf("修改球队人员账户信息 失败,\r\n失败信息 %s", err.Error()))
		return
	}

	e.OK(req.Id, "修改成功")
}