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
7f406f8a
Commit
7f406f8a
authored
Sep 26, 2022
by
liming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
系列赛轮次编辑
parent
6948a781
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
173 additions
and
10 deletions
+173
-10
SeriesController.java
...ment/api/business/series/controller/SeriesController.java
+13
-4
SeriesConverter.java
...gement/api/business/series/converter/SeriesConverter.java
+5
-0
SeriesRoundSaveDTO.java
...anagement/api/business/series/dto/SeriesRoundSaveDTO.java
+25
-0
SeriesBusinessMapper.java
...ment/api/business/series/mapper/SeriesBusinessMapper.java
+5
-0
SeriesService.java
...management/api/business/series/service/SeriesService.java
+104
-4
SeriesRoundDetailVO.java
...anagement/api/business/series/vo/SeriesRoundDetailVO.java
+13
-0
SimpleMatchController.java
...usiness/simplematch/controller/SimpleMatchController.java
+4
-1
SeriesBusinessMapper.xml
...src/main/resources/mapper/series/SeriesBusinessMapper.xml
+4
-1
No files found.
management-api/src/main/java/com/antai/sport/http/server/management/api/business/series/controller/SeriesController.java
View file @
7f406f8a
...
@@ -2,12 +2,10 @@ package com.antai.sport.http.server.management.api.business.series.controller;
...
@@ -2,12 +2,10 @@ package com.antai.sport.http.server.management.api.business.series.controller;
import
com.antai.sport.http.server.common.base.Result
;
import
com.antai.sport.http.server.common.base.Result
;
import
com.antai.sport.http.server.management.api.annotation.LoginUser
;
import
com.antai.sport.http.server.management.api.annotation.LoginUser
;
import
com.antai.sport.http.server.management.api.business.series.dto.SeriesAreaDTO
;
import
com.antai.sport.http.server.management.api.business.series.dto.*
;
import
com.antai.sport.http.server.management.api.business.series.dto.SeriesAreaSaveDTO
;
import
com.antai.sport.http.server.management.api.business.series.dto.SeriesListQueryDTO
;
import
com.antai.sport.http.server.management.api.business.series.dto.SeriesSaveDTO
;
import
com.antai.sport.http.server.management.api.business.series.service.SeriesService
;
import
com.antai.sport.http.server.management.api.business.series.service.SeriesService
;
import
com.antai.sport.http.server.management.api.business.series.vo.SeriesListPageVO
;
import
com.antai.sport.http.server.management.api.business.series.vo.SeriesListPageVO
;
import
com.antai.sport.http.server.management.api.business.series.vo.SeriesRoundDetailVO
;
import
com.antai.sport.http.server.repository.series.entity.Series
;
import
com.antai.sport.http.server.repository.series.entity.Series
;
import
com.antai.sport.http.server.repository.sys.entity.SysUser
;
import
com.antai.sport.http.server.repository.sys.entity.SysUser
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
...
@@ -81,4 +79,15 @@ public class SeriesController {
...
@@ -81,4 +79,15 @@ public class SeriesController {
return
success
();
return
success
();
}
}
@GetMapping
(
"round/{roundId}"
)
public
ResponseEntity
<
Result
<
SeriesRoundDetailVO
>>
getSeriesRoundDetail
(
@PathVariable
(
"roundId"
)
Long
roundId
)
{
return
success
(
seriesService
.
getSeriesRoundDetail
(
roundId
));
}
@PostMapping
(
"round"
)
public
ResponseEntity
<
Result
>
saveSeriesRound
(
@RequestBody
SeriesRoundSaveDTO
dto
)
{
seriesService
.
saveSeriesRound
(
dto
);
return
success
();
}
}
}
management-api/src/main/java/com/antai/sport/http/server/management/api/business/series/converter/SeriesConverter.java
View file @
7f406f8a
package
com
.
antai
.
sport
.
http
.
server
.
management
.
api
.
business
.
series
.
converter
;
package
com
.
antai
.
sport
.
http
.
server
.
management
.
api
.
business
.
series
.
converter
;
import
com.antai.sport.http.server.management.api.business.series.dto.SeriesAreaDTO
;
import
com.antai.sport.http.server.management.api.business.series.dto.SeriesAreaDTO
;
import
com.antai.sport.http.server.management.api.business.series.dto.SeriesRoundSaveDTO
;
import
com.antai.sport.http.server.management.api.business.series.dto.SeriesSaveDTO
;
import
com.antai.sport.http.server.management.api.business.series.dto.SeriesSaveDTO
;
import
com.antai.sport.http.server.repository.series.entity.Series
;
import
com.antai.sport.http.server.repository.series.entity.Series
;
import
com.antai.sport.http.server.repository.series.entity.SeriesArea
;
import
com.antai.sport.http.server.repository.series.entity.SeriesArea
;
import
com.antai.sport.http.server.repository.series.entity.SeriesRound
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapping
;
import
org.mapstruct.Mapping
;
...
@@ -17,4 +19,7 @@ public interface SeriesConverter {
...
@@ -17,4 +19,7 @@ public interface SeriesConverter {
List
<
SeriesAreaDTO
>
toSeriesAreaDTO
(
List
<
SeriesArea
>
source
);
List
<
SeriesAreaDTO
>
toSeriesAreaDTO
(
List
<
SeriesArea
>
source
);
List
<
SeriesArea
>
toSeriesArea
(
List
<
SeriesAreaDTO
>
source
);
List
<
SeriesArea
>
toSeriesArea
(
List
<
SeriesAreaDTO
>
source
);
@Mapping
(
source
=
"source.roundId"
,
target
=
"id"
)
SeriesRound
toSeriesRound
(
SeriesRoundSaveDTO
source
);
}
}
management-api/src/main/java/com/antai/sport/http/server/management/api/business/series/dto/SeriesRoundSaveDTO.java
0 → 100644
View file @
7f406f8a
package
com
.
antai
.
sport
.
http
.
server
.
management
.
api
.
business
.
series
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
@Data
public
class
SeriesRoundSaveDTO
{
private
Long
roundId
;
private
Long
seriesId
;
private
String
name
;
private
Integer
type
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
startTime
;
private
Integer
chance
;
private
String
map
;
private
String
path
;
private
BigDecimal
distance
;
private
BigDecimal
climbDistance
;
private
Boolean
started
;
private
Boolean
finished
;
private
Boolean
resultConfirm
;
}
management-api/src/main/java/com/antai/sport/http/server/management/api/business/series/mapper/SeriesBusinessMapper.java
View file @
7f406f8a
...
@@ -2,10 +2,15 @@ package com.antai.sport.http.server.management.api.business.series.mapper;
...
@@ -2,10 +2,15 @@ package com.antai.sport.http.server.management.api.business.series.mapper;
import
com.antai.sport.http.server.management.api.business.series.dto.SeriesListQueryDTO
;
import
com.antai.sport.http.server.management.api.business.series.dto.SeriesListQueryDTO
;
import
com.antai.sport.http.server.management.api.business.series.vo.SeriesListVO
;
import
com.antai.sport.http.server.management.api.business.series.vo.SeriesListVO
;
import
com.antai.sport.http.server.repository.series.entity.SeriesRound
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
public
interface
SeriesBusinessMapper
{
public
interface
SeriesBusinessMapper
{
IPage
<
SeriesListVO
>
getSeriesList
(
IPage
<
SeriesListVO
>
pageParam
,
@Param
(
"param"
)
SeriesListQueryDTO
param
);
IPage
<
SeriesListVO
>
getSeriesList
(
IPage
<
SeriesListVO
>
pageParam
,
@Param
(
"param"
)
SeriesListQueryDTO
param
);
List
<
SeriesRound
>
getRoundBySeriesId
(
@Param
(
"seriesId"
)
Long
SeriesId
);
}
}
management-api/src/main/java/com/antai/sport/http/server/management/api/business/series/service/SeriesService.java
View file @
7f406f8a
...
@@ -2,27 +2,37 @@ package com.antai.sport.http.server.management.api.business.series.service;
...
@@ -2,27 +2,37 @@ package com.antai.sport.http.server.management.api.business.series.service;
import
com.antai.sport.http.server.common.exception.BusinessException
;
import
com.antai.sport.http.server.common.exception.BusinessException
;
import
com.antai.sport.http.server.management.api.business.series.converter.SeriesConverter
;
import
com.antai.sport.http.server.management.api.business.series.converter.SeriesConverter
;
import
com.antai.sport.http.server.management.api.business.series.dto.SeriesAreaDTO
;
import
com.antai.sport.http.server.management.api.business.series.dto.*
;
import
com.antai.sport.http.server.management.api.business.series.dto.SeriesAreaSaveDTO
;
import
com.antai.sport.http.server.management.api.business.series.dto.SeriesListQueryDTO
;
import
com.antai.sport.http.server.management.api.business.series.dto.SeriesSaveDTO
;
import
com.antai.sport.http.server.management.api.business.series.mapper.SeriesBusinessMapper
;
import
com.antai.sport.http.server.management.api.business.series.mapper.SeriesBusinessMapper
;
import
com.antai.sport.http.server.management.api.business.series.vo.SeriesListPageVO
;
import
com.antai.sport.http.server.management.api.business.series.vo.SeriesListPageVO
;
import
com.antai.sport.http.server.management.api.business.series.vo.SeriesListVO
;
import
com.antai.sport.http.server.management.api.business.series.vo.SeriesListVO
;
import
com.antai.sport.http.server.management.api.business.series.vo.SeriesRoundDetailVO
;
import
com.antai.sport.http.server.management.api.business.simplematch.dto.vo.MapPathVO
;
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.series.entity.Series
;
import
com.antai.sport.http.server.repository.series.entity.Series
;
import
com.antai.sport.http.server.repository.series.entity.SeriesArea
;
import
com.antai.sport.http.server.repository.series.entity.SeriesArea
;
import
com.antai.sport.http.server.repository.series.entity.SeriesMatch
;
import
com.antai.sport.http.server.repository.series.entity.SeriesRound
;
import
com.antai.sport.http.server.repository.series.mapper.SeriesAreaMapper
;
import
com.antai.sport.http.server.repository.series.mapper.SeriesAreaMapper
;
import
com.antai.sport.http.server.repository.series.mapper.SeriesMapper
;
import
com.antai.sport.http.server.repository.series.mapper.SeriesMapper
;
import
com.antai.sport.http.server.repository.series.mapper.SeriesMatchMapper
;
import
com.antai.sport.http.server.repository.series.mapper.SeriesRoundMapper
;
import
com.antai.sport.http.server.repository.sys.entity.SysUser
;
import
com.antai.sport.http.server.repository.sys.entity.SysUser
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.OrderItem
;
import
com.baomidou.mybatisplus.core.metadata.OrderItem
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.google.common.collect.Iterables
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
@Service
@Service
...
@@ -33,6 +43,14 @@ public class SeriesService {
...
@@ -33,6 +43,14 @@ public class SeriesService {
private
SeriesMapper
seriesMapper
;
private
SeriesMapper
seriesMapper
;
@Resource
@Resource
private
SeriesAreaMapper
seriesAreaMapper
;
private
SeriesAreaMapper
seriesAreaMapper
;
@Resource
private
SeriesRoundMapper
seriesRoundMapper
;
@Resource
private
MapMapper
mapMapper
;
@Resource
private
MapPathMapper
mapPathMapper
;
@Resource
private
SeriesMatchMapper
seriesMatchMapper
;
@Resource
@Resource
private
SeriesConverter
seriesConverter
;
private
SeriesConverter
seriesConverter
;
...
@@ -137,4 +155,86 @@ public class SeriesService {
...
@@ -137,4 +155,86 @@ public class SeriesService {
}
}
}
}
}
}
public
SeriesRoundDetailVO
getSeriesRoundDetail
(
Long
roundId
)
{
SeriesRoundDetailVO
result
=
new
SeriesRoundDetailVO
();
SeriesRound
round
;
if
(
roundId
==
null
||
roundId
==
0
)
{
round
=
new
SeriesRound
();
round
.
setStatus
(
10
);
round
.
setFinished
(
false
);
round
.
setStarted
(
false
);
round
.
setResultConfirm
(
false
);
}
else
{
round
=
seriesRoundMapper
.
selectById
(
roundId
);
if
(
round
==
null
)
{
throw
new
BusinessException
(
"您查询的系列赛不存在"
);
}
}
result
.
setSeriesRound
(
round
);
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
;
}
@Transactional
public
void
saveSeriesRound
(
SeriesRoundSaveDTO
dto
)
{
SeriesRound
seriesRound
=
seriesConverter
.
toSeriesRound
(
dto
);
List
<
SeriesRound
>
roundList
=
seriesBusinessMapper
.
getRoundBySeriesId
(
dto
.
getSeriesId
());
if
(
seriesRound
.
getId
()
==
null
||
seriesRound
.
getId
()
==
0
)
{
seriesRound
.
setFinalRound
(
true
);
seriesRound
.
setShowOrder
(
1
);
seriesRound
.
setStatus
(
10
);
if
(!
roundList
.
isEmpty
())
{
if
(
seriesRound
.
getType
().
equals
(
10
))
{
throw
new
BusinessException
(
"只有第一轮可以配置为预选赛"
);
}
SeriesRound
lastRound
=
Iterables
.
getLast
(
roundList
);
lastRound
.
setFinalRound
(
false
);
seriesRoundMapper
.
updateById
(
lastRound
);
seriesRound
.
setPreRoundId
(
lastRound
.
getId
());
seriesRound
.
setShowOrder
(
lastRound
.
getShowOrder
()
+
1
);
}
seriesRoundMapper
.
insert
(
seriesRound
);
}
else
{
if
(
seriesRound
.
getType
().
equals
(
10
)
&&
!
roundList
.
get
(
0
).
getId
().
equals
(
seriesRound
.
getId
()))
{
throw
new
BusinessException
(
"只有第一轮可以配置为预选赛"
);
}
seriesRoundMapper
.
updateById
(
seriesRound
);
QueryWrapper
<
SeriesMatch
>
matchQuery
=
new
QueryWrapper
<>();
matchQuery
.
lambda
().
eq
(
SeriesMatch:
:
getRoundId
,
seriesRound
.
getId
()).
eq
(
SeriesMatch:
:
getDeleted
,
0
);
List
<
SeriesMatch
>
matchList
=
seriesMatchMapper
.
selectList
(
matchQuery
);
for
(
SeriesMatch
item
:
matchList
)
{
item
.
setMap
(
seriesRound
.
getMap
());
item
.
setPath
(
seriesRound
.
getPath
());
item
.
setDistance
(
seriesRound
.
getDistance
());
item
.
setClimbDistance
(
seriesRound
.
getClimbDistance
());
item
.
setType
(
seriesRound
.
getType
());
seriesMatchMapper
.
updateById
(
item
);
}
}
}
}
}
management-api/src/main/java/com/antai/sport/http/server/management/api/business/series/vo/SeriesRoundDetailVO.java
0 → 100644
View file @
7f406f8a
package
com
.
antai
.
sport
.
http
.
server
.
management
.
api
.
business
.
series
.
vo
;
import
com.antai.sport.http.server.management.api.business.simplematch.dto.vo.MapPathVO
;
import
com.antai.sport.http.server.repository.series.entity.SeriesRound
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
SeriesRoundDetailVO
{
private
SeriesRound
seriesRound
;
private
List
<
MapPathVO
>
mapList
;
}
management-api/src/main/java/com/antai/sport/http/server/management/api/business/simplematch/controller/SimpleMatchController.java
View file @
7f406f8a
...
@@ -43,7 +43,7 @@ public class SimpleMatchController {
...
@@ -43,7 +43,7 @@ public class SimpleMatchController {
return
success
();
return
success
();
}
}
@ApiOperation
(
"获取
用户
数据"
)
@ApiOperation
(
"获取
比赛
数据"
)
@GetMapping
(
"/{matchId}"
)
@GetMapping
(
"/{matchId}"
)
public
ResponseEntity
<
Result
<
SimpleMatchResponseDTO
>>
getSimpleMatch
(
@PathVariable
(
"matchId"
)
Long
matchId
)
{
public
ResponseEntity
<
Result
<
SimpleMatchResponseDTO
>>
getSimpleMatch
(
@PathVariable
(
"matchId"
)
Long
matchId
)
{
return
success
(
simpleMatchService
.
getSimpleMatch
(
matchId
));
return
success
(
simpleMatchService
.
getSimpleMatch
(
matchId
));
...
@@ -57,4 +57,7 @@ public class SimpleMatchController {
...
@@ -57,4 +57,7 @@ public class SimpleMatchController {
}
}
}
}
management-api/src/main/resources/mapper/series/SeriesBusinessMapper.xml
View file @
7f406f8a
...
@@ -12,5 +12,8 @@
...
@@ -12,5 +12,8 @@
and t1.name like concat('%',#{param.name},'%')
and t1.name like concat('%',#{param.name},'%')
</if>
</if>
</select>
</select>
<select
id=
"getRoundBySeriesId"
resultType=
"com.antai.sport.http.server.repository.series.entity.SeriesRound"
>
select * from series_round where deleted = 0 and series_id = #{seriesId} order by show_order,id
</select>
</mapper>
</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