Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
A
antai-sport-http-server
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
antai-sport
antai-sport-http-server
Commits
19752753
Commit
19752753
authored
Jun 07, 2022
by
liming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
初始化团长管理端
parent
137aa752
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
377 additions
and
0 deletions
+377
-0
TeamTrainingController.java
...iness/teamtraining/controller/TeamTrainingController.java
+62
-0
TeamTrainingConverter.java
...usiness/teamtraining/converter/TeamTrainingConverter.java
+12
-0
TeamTrainingListRequestDTO.java
...business/teamtraining/dto/TeamTrainingListRequestDTO.java
+25
-0
TeamTrainingListResponseDTO.java
...usiness/teamtraining/dto/TeamTrainingListResponseDTO.java
+13
-0
TeamTrainingResponseDTO.java
...pi/business/teamtraining/dto/TeamTrainingResponseDTO.java
+13
-0
MapPathVO.java
...ng/leader/api/business/teamtraining/dto/vo/MapPathVO.java
+13
-0
TeamTrainingListVO.java
.../api/business/teamtraining/dto/vo/TeamTrainingListVO.java
+17
-0
TeamTrainingVO.java
...ader/api/business/teamtraining/dto/vo/TeamTrainingVO.java
+26
-0
TeamTrainingBusinessMapper.java
...iness/teamtraining/mapper/TeamTrainingBusinessMapper.java
+12
-0
TeamTrainingChangeNotifyService.java
...teamtraining/service/TeamTrainingChangeNotifyService.java
+30
-0
TeamTrainingService.java
...pi/business/teamtraining/service/TeamTrainingService.java
+133
-0
TeamTrainingBusinessMapper.xml
...ources/mapper/teamtraining/TeamTrainingBusinessMapper.xml
+21
-0
No files found.
team-training-leader-api/src/main/java/com/antai/sport/http/server/team/training/leader/api/business/teamtraining/controller/TeamTrainingController.java
0 → 100644
View file @
19752753
package
com
.
antai
.
sport
.
http
.
server
.
team
.
training
.
leader
.
api
.
business
.
teamtraining
.
controller
;
import
com.antai.sport.http.server.common.base.Result
;
import
com.antai.sport.http.server.repository.teamtraining.entity.TeamTrainingLeader
;
import
com.antai.sport.http.server.team.training.leader.api.annotation.LoginUser
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.TeamTrainingListRequestDTO
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.TeamTrainingListResponseDTO
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.TeamTrainingResponseDTO
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.vo.TeamTrainingVO
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.service.TeamTrainingService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
static
com
.
antai
.
sport
.
http
.
server
.
common
.
util
.
ResultUtil
.
success
;
@RestController
@RequestMapping
(
"/team/training"
)
@Api
(
tags
=
{
"日常赛"
})
public
class
TeamTrainingController
{
@Resource
private
TeamTrainingService
teamTrainingService
;
@ApiOperation
(
"加载团练列表"
)
@PostMapping
(
"list"
)
public
ResponseEntity
<
Result
<
TeamTrainingListResponseDTO
>>
getMatchList
(
@RequestBody
TeamTrainingListRequestDTO
param
,
@LoginUser
TeamTrainingLeader
loginUser
)
{
return
success
(
teamTrainingService
.
getTrainingList
(
param
,
loginUser
));
}
@ApiOperation
(
"删除"
)
@DeleteMapping
(
"/{trainingId}"
)
public
ResponseEntity
<
Result
>
deleteMatch
(
@PathVariable
(
"trainingId"
)
Long
trainingId
)
{
teamTrainingService
.
delete
(
trainingId
);
return
success
();
}
@ApiOperation
(
"更改发布状态"
)
@PutMapping
(
"/{trainingId}"
)
public
ResponseEntity
<
Result
>
publish
(
@PathVariable
(
"trainingId"
)
Long
trainingId
)
{
teamTrainingService
.
publish
(
trainingId
);
return
success
();
}
@ApiOperation
(
"获取团练数据"
)
@GetMapping
(
"/{trainingId}"
)
public
ResponseEntity
<
Result
<
TeamTrainingResponseDTO
>>
getSimpleMatch
(
@PathVariable
(
"trainingId"
)
Long
trainingId
)
{
return
success
(
teamTrainingService
.
getTraining
(
trainingId
));
}
@ApiOperation
(
"创建团练"
)
@PostMapping
public
ResponseEntity
<
Result
>
save
(
@RequestBody
TeamTrainingVO
teamTrainingVO
,
@LoginUser
TeamTrainingLeader
loginUser
)
{
teamTrainingService
.
save
(
teamTrainingVO
,
loginUser
);
return
success
();
}
}
team-training-leader-api/src/main/java/com/antai/sport/http/server/team/training/leader/api/business/teamtraining/converter/TeamTrainingConverter.java
0 → 100644
View file @
19752753
package
com
.
antai
.
sport
.
http
.
server
.
team
.
training
.
leader
.
api
.
business
.
teamtraining
.
converter
;
import
com.antai.sport.http.server.repository.teamtraining.entity.TeamTraining
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.vo.TeamTrainingVO
;
import
org.mapstruct.Mapper
;
@Mapper
(
componentModel
=
"spring"
)
public
interface
TeamTrainingConverter
{
TeamTrainingVO
toTeamTrainingVO
(
TeamTraining
source
);
TeamTraining
toTeamTraining
(
TeamTrainingVO
source
);
}
team-training-leader-api/src/main/java/com/antai/sport/http/server/team/training/leader/api/business/teamtraining/dto/TeamTrainingListRequestDTO.java
0 → 100644
View file @
19752753
package
com
.
antai
.
sport
.
http
.
server
.
team
.
training
.
leader
.
api
.
business
.
teamtraining
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.time.LocalDate
;
@Data
@ApiModel
(
"日常赛列表查询条件"
)
public
class
TeamTrainingListRequestDTO
{
private
Integer
pageNo
;
private
Integer
pageSize
;
private
String
sortField
;
private
String
sortOrder
;
@ApiModelProperty
(
"比赛名称"
)
private
String
name
;
@ApiModelProperty
(
"比赛开始时间查询:开始时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
LocalDate
beginDate
;
@ApiModelProperty
(
"比赛开始时间查询:结束时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
LocalDate
endDate
;
}
team-training-leader-api/src/main/java/com/antai/sport/http/server/team/training/leader/api/business/teamtraining/dto/TeamTrainingListResponseDTO.java
0 → 100644
View file @
19752753
package
com
.
antai
.
sport
.
http
.
server
.
team
.
training
.
leader
.
api
.
business
.
teamtraining
.
dto
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.vo.TeamTrainingListVO
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
TeamTrainingListResponseDTO
{
private
List
<
TeamTrainingListVO
>
data
;
private
Integer
pageNo
;
private
Long
totalCount
;
}
team-training-leader-api/src/main/java/com/antai/sport/http/server/team/training/leader/api/business/teamtraining/dto/TeamTrainingResponseDTO.java
0 → 100644
View file @
19752753
package
com
.
antai
.
sport
.
http
.
server
.
team
.
training
.
leader
.
api
.
business
.
teamtraining
.
dto
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.vo.MapPathVO
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.vo.TeamTrainingVO
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
TeamTrainingResponseDTO
{
private
TeamTrainingVO
training
;
private
List
<
MapPathVO
>
mapList
;
}
team-training-leader-api/src/main/java/com/antai/sport/http/server/team/training/leader/api/business/teamtraining/dto/vo/MapPathVO.java
0 → 100644
View file @
19752753
package
com
.
antai
.
sport
.
http
.
server
.
team
.
training
.
leader
.
api
.
business
.
teamtraining
.
dto
.
vo
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
MapPathVO
{
private
Integer
id
;
private
String
key
;
private
String
name
;
List
<
MapPathVO
>
pathList
;
}
team-training-leader-api/src/main/java/com/antai/sport/http/server/team/training/leader/api/business/teamtraining/dto/vo/TeamTrainingListVO.java
0 → 100644
View file @
19752753
package
com
.
antai
.
sport
.
http
.
server
.
team
.
training
.
leader
.
api
.
business
.
teamtraining
.
dto
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
@Data
public
class
TeamTrainingListVO
{
private
Long
id
;
private
String
name
;
private
String
mapName
;
private
String
pathName
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
startTime
;
private
Integer
status
;
}
team-training-leader-api/src/main/java/com/antai/sport/http/server/team/training/leader/api/business/teamtraining/dto/vo/TeamTrainingVO.java
0 → 100644
View file @
19752753
package
com
.
antai
.
sport
.
http
.
server
.
team
.
training
.
leader
.
api
.
business
.
teamtraining
.
dto
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
@Data
public
class
TeamTrainingVO
{
private
Long
id
;
private
String
name
;
private
Integer
trainingMinute
;
private
String
map
;
private
String
path
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
entryTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
startTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
endTime
;
private
BigDecimal
distance
;
private
BigDecimal
climbDistance
;
private
String
description
;
private
Integer
status
;
}
team-training-leader-api/src/main/java/com/antai/sport/http/server/team/training/leader/api/business/teamtraining/mapper/TeamTrainingBusinessMapper.java
0 → 100644
View file @
19752753
package
com
.
antai
.
sport
.
http
.
server
.
team
.
training
.
leader
.
api
.
business
.
teamtraining
.
mapper
;
import
com.antai.sport.http.server.repository.simplematch.entity.SimpleMatch
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.TeamTrainingListRequestDTO
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.vo.TeamTrainingListVO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
org.apache.ibatis.annotations.Param
;
public
interface
TeamTrainingBusinessMapper
extends
BaseMapper
<
SimpleMatch
>
{
IPage
<
TeamTrainingListVO
>
getTrainingList
(
IPage
<
TeamTrainingListVO
>
page
,
@Param
(
"param"
)
TeamTrainingListRequestDTO
param
,
@Param
(
"userId"
)
Long
userId
);
}
team-training-leader-api/src/main/java/com/antai/sport/http/server/team/training/leader/api/business/teamtraining/service/TeamTrainingChangeNotifyService.java
0 → 100644
View file @
19752753
package
com
.
antai
.
sport
.
http
.
server
.
team
.
training
.
leader
.
api
.
business
.
teamtraining
.
service
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.client.RestTemplate
;
import
javax.annotation.Resource
;
@Service
@Slf4j
public
class
TeamTrainingChangeNotifyService
{
@Value
(
"${simple-match-change-notify-url}"
)
private
String
simpleMatchChangeNotifyUrl
;
@Resource
private
RestTemplate
restTemplate
;
@Async
(
"asyncTaskExecutor"
)
public
void
notifyGameServerSimpleMatchChange
()
{
log
.
info
(
"异步通知比赛列表变更"
);
String
result
=
"执行失败"
;
try
{
result
=
restTemplate
.
getForObject
(
simpleMatchChangeNotifyUrl
,
String
.
class
);
}
catch
(
Exception
ex
)
{
log
.
error
(
ex
.
getMessage
());
}
log
.
info
(
"比赛变更结果:"
+
result
);
}
}
team-training-leader-api/src/main/java/com/antai/sport/http/server/team/training/leader/api/business/teamtraining/service/TeamTrainingService.java
0 → 100644
View file @
19752753
package
com
.
antai
.
sport
.
http
.
server
.
team
.
training
.
leader
.
api
.
business
.
teamtraining
.
service
;
import
com.antai.sport.http.server.common.exception.BusinessException
;
import
com.antai.sport.http.server.constants.DeleteStatus
;
import
com.antai.sport.http.server.repository.map.entity.Map
;
import
com.antai.sport.http.server.repository.map.entity.MapPath
;
import
com.antai.sport.http.server.repository.map.mapper.MapMapper
;
import
com.antai.sport.http.server.repository.map.mapper.MapPathMapper
;
import
com.antai.sport.http.server.repository.teamtraining.entity.TeamTraining
;
import
com.antai.sport.http.server.repository.teamtraining.entity.TeamTrainingLeader
;
import
com.antai.sport.http.server.repository.teamtraining.mapper.TeamTrainingMapper
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.converter.TeamTrainingConverter
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.TeamTrainingListRequestDTO
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.TeamTrainingListResponseDTO
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.TeamTrainingResponseDTO
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.vo.MapPathVO
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.vo.TeamTrainingListVO
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.vo.TeamTrainingVO
;
import
com.antai.sport.http.server.team.training.leader.api.business.teamtraining.mapper.TeamTrainingBusinessMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.OrderItem
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
@Service
public
class
TeamTrainingService
{
@Resource
private
TeamTrainingMapper
teamTrainingMapper
;
@Resource
private
TeamTrainingBusinessMapper
teamTrainingBusinessMapper
;
@Resource
private
MapMapper
mapMapper
;
@Resource
private
MapPathMapper
mapPathMapper
;
@Resource
private
TeamTrainingConverter
teamTrainingConverter
;
@Resource
private
TeamTrainingChangeNotifyService
teamTrainingChangeNotifyService
;
public
TeamTrainingListResponseDTO
getTrainingList
(
TeamTrainingListRequestDTO
param
,
TeamTrainingLeader
loginUser
)
{
Page
<
TeamTrainingListVO
>
pageParam
=
new
Page
<>(
param
.
getPageNo
(),
param
.
getPageSize
());
if
(
StringUtils
.
isNotEmpty
(
param
.
getSortOrder
()))
{
pageParam
.
addOrder
(
new
OrderItem
(
"start_time"
,
"asc"
.
equals
(
param
.
getSortOrder
())));
}
pageParam
.
addOrder
(
new
OrderItem
(
"id"
,
false
));
IPage
<
TeamTrainingListVO
>
result
=
teamTrainingBusinessMapper
.
getTrainingList
(
pageParam
,
param
,
loginUser
.
getId
());
TeamTrainingListResponseDTO
dto
=
new
TeamTrainingListResponseDTO
();
dto
.
setData
(
result
.
getRecords
());
dto
.
setPageNo
(
param
.
getPageNo
());
dto
.
setTotalCount
(
result
.
getTotal
());
return
dto
;
}
public
void
delete
(
Long
trainingId
)
{
TeamTraining
teamTraining
=
teamTrainingMapper
.
selectById
(
trainingId
);
if
(
teamTraining
.
getStatus
()
!=
null
&&
teamTraining
.
getStatus
().
equals
(
20
))
{
throw
new
BusinessException
(
"已发布比赛不能删除"
);
}
teamTraining
.
setDeleted
(
Integer
.
valueOf
(
DeleteStatus
.
DELETED
));
teamTrainingMapper
.
updateById
(
teamTraining
);
}
public
void
publish
(
Long
trainingId
)
{
TeamTraining
teamTraining
=
teamTrainingMapper
.
selectById
(
trainingId
);
if
(
teamTraining
.
getStatus
()
==
null
||
teamTraining
.
getStatus
().
equals
(
10
))
{
teamTraining
.
setStatus
(
20
);
}
else
{
teamTraining
.
setStatus
(
10
);
}
teamTrainingMapper
.
updateById
(
teamTraining
);
// simpleMatchChangeNotifyService.notifyGameServerSimpleMatchChange();
}
public
TeamTrainingResponseDTO
getTraining
(
Long
trainingId
)
{
TeamTrainingResponseDTO
result
=
new
TeamTrainingResponseDTO
();
TeamTraining
training
;
if
(
trainingId
==
null
||
trainingId
==
0
)
{
training
=
new
TeamTraining
();
training
.
setStatus
(
10
);
}
else
{
training
=
teamTrainingMapper
.
selectById
(
trainingId
);
if
(
training
==
null
)
{
throw
new
BusinessException
(
"您查询的比赛不存在"
);
}
}
TeamTrainingVO
teamTrainingVO
=
teamTrainingConverter
.
toTeamTrainingVO
(
training
);
result
.
setTraining
(
teamTrainingVO
);
List
<
Map
>
mapList
=
mapMapper
.
selectList
(
null
);
List
<
MapPath
>
mapPathList
=
mapPathMapper
.
selectList
(
null
);
HashMap
<
String
,
MapPathVO
>
mapPathVOHashMap
=
new
HashMap
<>();
List
<
MapPathVO
>
mapPathVOList
=
new
ArrayList
<>(
mapList
.
size
());
mapList
.
forEach
(
item
->
{
MapPathVO
mapVO
=
new
MapPathVO
();
mapVO
.
setId
(
item
.
getId
());
mapVO
.
setKey
(
item
.
getMapKey
());
mapVO
.
setName
(
item
.
getMapName
());
mapVO
.
setPathList
(
new
ArrayList
<>());
mapPathVOList
.
add
(
mapVO
);
mapPathVOHashMap
.
put
(
item
.
getMapKey
(),
mapVO
);
});
mapPathList
.
forEach
(
item
->
{
MapPathVO
mapPathVO
=
new
MapPathVO
();
mapPathVO
.
setId
(
item
.
getId
());
mapPathVO
.
setKey
(
item
.
getPathKey
());
mapPathVO
.
setName
(
item
.
getPathName
());
if
(
mapPathVOHashMap
.
containsKey
(
item
.
getMapKey
()))
{
mapPathVOHashMap
.
get
(
item
.
getMapKey
()).
getPathList
().
add
(
mapPathVO
);
}
});
result
.
setMapList
(
mapPathVOList
);
return
result
;
}
public
void
save
(
TeamTrainingVO
teamTrainingVO
,
TeamTrainingLeader
loginUser
)
{
TeamTraining
training
=
teamTrainingConverter
.
toTeamTraining
(
teamTrainingVO
);
if
(
training
.
getId
()
!=
null
&&
training
.
getId
()
>
0
)
{
teamTrainingMapper
.
updateById
(
training
);
}
else
{
training
.
setStatus
(
10
);
training
.
setLeaderId
(
loginUser
.
getId
());
teamTrainingMapper
.
insert
(
training
);
}
// teamTrainingChangeNotifyService.notifyGameServerSimpleMatchChange();
}
}
team-training-leader-api/src/main/resources/mapper/teamtraining/TeamTrainingBusinessMapper.xml
0 → 100644
View file @
19752753
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.antai.sport.http.server.team.training.leader.api.business.teamtraining.mapper.TeamTrainingBusinessMapper"
>
<select
id=
"getTrainingList"
resultType=
"com.antai.sport.http.server.team.training.leader.api.business.teamtraining.dto.vo.TeamTrainingListVO"
>
select t1.*,t2.map_name,t3.path_name
from team_training t1
left join map t2 on t1.map = t2.map_key
left join map_path t3 on t1.path = t3.path_key
where t1.deleted = 0
and t1.leader_id = #{userId}
<if
test=
"param.name != null and param.name != ''"
>
and t1.name like concat('%',#{param.name},'%')
</if>
<if
test=
"param.beginDate != null"
>
and t1.start_time
>
= #{param.beginDate}
</if>
<if
test=
"param.endDate != null"
>
and t1.start_time
<
date_add(#{param.endDate}, interval 1 day)
</if>
</select>
</mapper>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment