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

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

haoyanbin's avatar
1  
haoyanbin committed
55 56
	req.TeamId = e.getTeamId(c)

haoyanbin's avatar
1  
haoyanbin committed
57 58 59
	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
60
		return
haoyanbin's avatar
1  
haoyanbin committed
61 62 63 64 65
	}

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

haoyanbin's avatar
haoyanbin committed
66 67 68 69
// Get <球队>获取球员
// @Summary <球队>获取球员
// @Description <球队>获取球员
// @Tags <球队>球员
haoyanbin's avatar
1  
haoyanbin committed
70
// @Param id path string false "id"
haoyanbin's avatar
haoyanbin committed
71
// @Success 200 {string} string  "{"code": 200, "data": [...]}"
haoyanbin's avatar
1  
haoyanbin committed
72 73 74 75 76
// @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
77
	err := e.MakeContext(c).
haoyanbin's avatar
1  
haoyanbin committed
78 79 80 81 82 83 84 85 86
		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
87
	var object dto.OrgPlayerGetReply
haoyanbin's avatar
1  
haoyanbin committed
88 89 90 91 92

	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
93
		return
haoyanbin's avatar
1  
haoyanbin committed
94 95
	}

haoyanbin's avatar
haoyanbin committed
96
	e.OK(object, "查询成功")
haoyanbin's avatar
1  
haoyanbin committed
97 98
}

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

	err = s.Insert(&req)
	if err != nil {
		e.Error(500, err, fmt.Sprintf("创建球员  失败,\r\n失败信息 %s", err.Error()))
haoyanbin's avatar
haoyanbin committed
145
		return
haoyanbin's avatar
1  
haoyanbin committed
146 147 148 149 150
	}

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

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

haoyanbin's avatar
haoyanbin committed
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
	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
193 194 195
	err = s.Update(&req, p)
	if err != nil {
		e.Error(500, err, fmt.Sprintf("修改球员 失败,\r\n失败信息 %s", err.Error()))
haoyanbin's avatar
haoyanbin committed
196
		return
haoyanbin's avatar
1  
haoyanbin committed
197
	}
haoyanbin's avatar
haoyanbin committed
198
	e.OK(req.GetId(), "修改成功")
haoyanbin's avatar
1  
haoyanbin committed
199 200
}

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

	// req.SetUpdateBy(user.GetUserId(c))
	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
229
		return
haoyanbin's avatar
1  
haoyanbin committed
230
	}
haoyanbin's avatar
haoyanbin committed
231 232
	e.OK(req.GetId(), "删除成功")
}
haoyanbin's avatar
haoyanbin committed
233 234 235 236 237 238 239

// Update <球队>修改球员状态
// @Summary <球队>修改球员状态
// @Description <球队>修改球员状态
// @Tags <球队>工作人员
// @Accept application/json
// @Product application/json
haoyanbin's avatar
1  
haoyanbin committed
240
// @Param data body dto.OrgPlayerUpdateStatusReq true "body"
haoyanbin's avatar
haoyanbin committed
241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270
// @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
	}
	req.SetUpdateBy(user.GetUserId(c))
	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, "修改成功")
}