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
97942240
Commit
97942240
authored
Sep 18, 2022
by
liming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
预选赛查主页查询接口
parent
1cb03dfd
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
118 additions
and
11 deletions
+118
-11
SeriesRound.java
...ort/http/server/repository/series/entity/SeriesRound.java
+5
-0
BaseBusinessMapper.java
...r/server/api/business/base/mapper/BaseBusinessMapper.java
+2
-0
SeriesController.java
...rver/api/business/series/controller/SeriesController.java
+11
-1
SeriesBusinessMapper.java
...rver/api/business/series/mapper/SeriesBusinessMapper.java
+14
-4
SeriesService.java
...ver/server/api/business/series/service/SeriesService.java
+38
-4
SeriesQualifyingMatchHomeVO.java
...r/api/business/series/vo/SeriesQualifyingMatchHomeVO.java
+0
-2
BaseBusinessMapper.xml
...api/src/main/resources/mapper/base/BaseBusinessMapper.xml
+7
-0
SeriesBusinessMapper.xml
...src/main/resources/mapper/series/SeriesBusinessMapper.xml
+41
-0
No files found.
repository/src/main/java/com/antai/sport/http/server/repository/series/entity/SeriesRound.java
View file @
97942240
...
@@ -29,6 +29,11 @@ public class SeriesRound implements Serializable {
...
@@ -29,6 +29,11 @@ public class SeriesRound implements Serializable {
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
private
Long
id
;
/**
* 系列赛id
*/
private
Long
seriesId
;
/**
/**
* 轮次名称
* 轮次名称
*/
*/
...
...
server-api/src/main/java/com/antai/sport/http/server/server/api/business/base/mapper/BaseBusinessMapper.java
View file @
97942240
...
@@ -13,5 +13,7 @@ public interface BaseBusinessMapper {
...
@@ -13,5 +13,7 @@ public interface BaseBusinessMapper {
String
getMapPath
(
@Param
(
"pathKey"
)
String
pathKey
);
String
getMapPath
(
@Param
(
"pathKey"
)
String
pathKey
);
String
getMapPathName
(
@Param
(
"pathKey"
)
String
pathKey
);
AppLatestVersionVO
getAppLatestVersion
(
@Param
(
"clientType"
)
Integer
clientType
);
AppLatestVersionVO
getAppLatestVersion
(
@Param
(
"clientType"
)
Integer
clientType
);
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/series/controller/SeriesController.java
View file @
97942240
...
@@ -6,6 +6,7 @@ import com.antai.sport.http.server.server.api.business.series.service.SeriesServ
...
@@ -6,6 +6,7 @@ import com.antai.sport.http.server.server.api.business.series.service.SeriesServ
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesApplyPreLoadVO
;
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesApplyPreLoadVO
;
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesDetailsVO
;
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesDetailsVO
;
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesListVO
;
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesListVO
;
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesQualifyingMatchHomeVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
...
@@ -47,9 +48,18 @@ public class SeriesController {
...
@@ -47,9 +48,18 @@ public class SeriesController {
@PostMapping
(
"apply"
)
@PostMapping
(
"apply"
)
@ApiOperation
(
value
=
"报名方法"
)
@ApiOperation
(
value
=
"报名方法"
)
public
ResponseEntity
<
Result
>
seriesApply
(
@RequestBody
SeriesApplyDTO
dto
){
public
ResponseEntity
<
Result
>
seriesApply
(
@RequestBody
SeriesApplyDTO
dto
)
{
seriesService
.
seriesApply
(
dto
);
seriesService
.
seriesApply
(
dto
);
return
success
();
return
success
();
}
}
@GetMapping
(
"qualifying/{roundId}/{areaId}/{sportUserId}"
)
@ApiOperation
(
value
=
"查询预选赛轮次主页数据"
)
public
ResponseEntity
<
Result
<
SeriesQualifyingMatchHomeVO
>>
getSeriesQualifyingMatchHomeData
(
@PathVariable
(
"roundId"
)
Long
roundId
,
@PathVariable
(
"areaId"
)
Long
areaId
,
@PathVariable
(
"sportUserId"
)
Long
sportUserId
)
{
return
success
(
seriesService
.
getSeriesQualifyingMatchHomeData
(
roundId
,
areaId
,
sportUserId
));
}
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/series/mapper/SeriesBusinessMapper.java
View file @
97942240
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
series
.
mapper
;
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
series
.
mapper
;
import
com.antai.sport.http.server.repository.series.entity.SeriesApply
;
import
com.antai.sport.http.server.repository.series.entity.SeriesApply
;
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesAreaVO
;
import
com.antai.sport.http.server.server.api.business.series.vo.*
;
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesListVO
;
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesNoticeVO
;
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesRoundVO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
java.time.LocalDate
;
import
java.util.List
;
import
java.util.List
;
public
interface
SeriesBusinessMapper
{
public
interface
SeriesBusinessMapper
{
...
@@ -22,4 +20,16 @@ public interface SeriesBusinessMapper {
...
@@ -22,4 +20,16 @@ public interface SeriesBusinessMapper {
List
<
SeriesAreaVO
>
getSeriesAreaList
(
@Param
(
"seriesId"
)
Long
seriesId
);
List
<
SeriesAreaVO
>
getSeriesAreaList
(
@Param
(
"seriesId"
)
Long
seriesId
);
SeriesApply
getLatestUserSeriesApplyInfo
(
@Param
(
"sportUserId"
)
Long
sportUserId
);
SeriesApply
getLatestUserSeriesApplyInfo
(
@Param
(
"sportUserId"
)
Long
sportUserId
);
Integer
getBestResult
(
@Param
(
"roundId"
)
Long
roundId
,
@Param
(
"sportUserId"
)
Long
sportUserId
);
Integer
getSeriesQualifyingMatchLeftChance
(
@Param
(
"roundId"
)
Long
roundId
,
@Param
(
"sportUserId"
)
Long
sportUserId
);
SeriesApply
getSeriesApply
(
@Param
(
"seriesId"
)
Long
seriesId
,
@Param
(
"sportUserId"
)
Long
sportUserId
);
List
<
SeriesQualifyingMatchVO
>
getSeriesQualifyingMatchList
(
@Param
(
"roundId"
)
Long
roundId
,
@Param
(
"areaId"
)
Long
areaId
,
@Param
(
"sportUserId"
)
Long
sportUserId
,
@Param
(
"today"
)
LocalDate
today
,
@Param
(
"tomorrow"
)
LocalDate
tomorrow
);
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/series/service/SeriesService.java
View file @
97942240
...
@@ -3,10 +3,13 @@ package com.antai.sport.http.server.server.api.business.series.service;
...
@@ -3,10 +3,13 @@ package com.antai.sport.http.server.server.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.repository.series.entity.Series
;
import
com.antai.sport.http.server.repository.series.entity.Series
;
import
com.antai.sport.http.server.repository.series.entity.SeriesApply
;
import
com.antai.sport.http.server.repository.series.entity.SeriesApply
;
import
com.antai.sport.http.server.repository.series.entity.SeriesRound
;
import
com.antai.sport.http.server.repository.series.mapper.SeriesApplyMapper
;
import
com.antai.sport.http.server.repository.series.mapper.SeriesApplyMapper
;
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.SeriesRoundMapper
;
import
com.antai.sport.http.server.repository.sport.entity.SportUser
;
import
com.antai.sport.http.server.repository.sport.entity.SportUser
;
import
com.antai.sport.http.server.repository.sport.mapper.SportUserMapper
;
import
com.antai.sport.http.server.repository.sport.mapper.SportUserMapper
;
import
com.antai.sport.http.server.server.api.business.base.mapper.BaseBusinessMapper
;
import
com.antai.sport.http.server.server.api.business.series.converter.SeriesConverter
;
import
com.antai.sport.http.server.server.api.business.series.converter.SeriesConverter
;
import
com.antai.sport.http.server.server.api.business.series.dto.SeriesApplyDTO
;
import
com.antai.sport.http.server.server.api.business.series.dto.SeriesApplyDTO
;
import
com.antai.sport.http.server.server.api.business.series.mapper.SeriesBusinessMapper
;
import
com.antai.sport.http.server.server.api.business.series.mapper.SeriesBusinessMapper
;
...
@@ -14,10 +17,10 @@ import com.antai.sport.http.server.server.api.business.series.vo.SeriesApplyPreL
...
@@ -14,10 +17,10 @@ import com.antai.sport.http.server.server.api.business.series.vo.SeriesApplyPreL
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesDetailsVO
;
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesDetailsVO
;
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesListVO
;
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesListVO
;
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesQualifyingMatchHomeVO
;
import
com.antai.sport.http.server.server.api.business.series.vo.SeriesQualifyingMatchHomeVO
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
...
@@ -29,6 +32,8 @@ public class SeriesService {
...
@@ -29,6 +32,8 @@ public class SeriesService {
@Resource
@Resource
private
SeriesApplyMapper
seriesApplyMapper
;
private
SeriesApplyMapper
seriesApplyMapper
;
@Resource
@Resource
private
SeriesRoundMapper
seriesRoundMapper
;
@Resource
private
SportUserMapper
sportUserMapper
;
private
SportUserMapper
sportUserMapper
;
@Resource
@Resource
...
@@ -36,6 +41,8 @@ public class SeriesService {
...
@@ -36,6 +41,8 @@ public class SeriesService {
@Resource
@Resource
private
SeriesBusinessMapper
seriesBusinessMapper
;
private
SeriesBusinessMapper
seriesBusinessMapper
;
@Resource
private
BaseBusinessMapper
baseBusinessMapper
;
public
List
<
SeriesListVO
>
getSeriesList
()
{
public
List
<
SeriesListVO
>
getSeriesList
()
{
return
seriesBusinessMapper
.
getSeriesList
();
return
seriesBusinessMapper
.
getSeriesList
();
...
@@ -70,7 +77,7 @@ public class SeriesService {
...
@@ -70,7 +77,7 @@ public class SeriesService {
SeriesApplyPreLoadVO
result
=
seriesConverter
.
toSeriesApplyPreLoadVO
(
sportUser
);
SeriesApplyPreLoadVO
result
=
seriesConverter
.
toSeriesApplyPreLoadVO
(
sportUser
);
result
.
setAreaList
(
seriesBusinessMapper
.
getSeriesAreaList
(
seriesId
));
result
.
setAreaList
(
seriesBusinessMapper
.
getSeriesAreaList
(
seriesId
));
SeriesApply
seriesApply
=
seriesBusinessMapper
.
getLatestUserSeriesApplyInfo
(
sportUserId
);
SeriesApply
seriesApply
=
seriesBusinessMapper
.
getLatestUserSeriesApplyInfo
(
sportUserId
);
if
(
seriesApply
!=
null
)
{
if
(
seriesApply
!=
null
)
{
result
.
setRealName
(
seriesApply
.
getName
());
result
.
setRealName
(
seriesApply
.
getName
());
result
.
setIdCard
(
seriesApply
.
getIdCard
());
result
.
setIdCard
(
seriesApply
.
getIdCard
());
}
}
...
@@ -79,7 +86,7 @@ public class SeriesService {
...
@@ -79,7 +86,7 @@ public class SeriesService {
}
}
public
void
seriesApply
(
SeriesApplyDTO
dto
)
{
public
void
seriesApply
(
SeriesApplyDTO
dto
)
{
if
(
seriesBusinessMapper
.
checkExistUserSeriesApply
(
dto
.
getSeriesId
(),
dto
.
getSportUserId
()))
{
if
(
seriesBusinessMapper
.
checkExistUserSeriesApply
(
dto
.
getSeriesId
(),
dto
.
getSportUserId
()))
{
throw
new
BusinessException
(
"您已经报名当前比赛,无需重复报名"
);
throw
new
BusinessException
(
"您已经报名当前比赛,无需重复报名"
);
}
}
...
@@ -88,8 +95,35 @@ public class SeriesService {
...
@@ -88,8 +95,35 @@ public class SeriesService {
seriesApplyMapper
.
insert
(
seriesApply
);
seriesApplyMapper
.
insert
(
seriesApply
);
}
}
public
SeriesQualifyingMatchHomeVO
getSeriesQualifyingMatchHomeData
(
)
{
public
SeriesQualifyingMatchHomeVO
getSeriesQualifyingMatchHomeData
(
Long
roundId
,
Long
areaId
,
Long
sportUserId
)
{
SeriesQualifyingMatchHomeVO
result
=
new
SeriesQualifyingMatchHomeVO
();
SeriesQualifyingMatchHomeVO
result
=
new
SeriesQualifyingMatchHomeVO
();
SeriesRound
seriesRound
=
seriesRoundMapper
.
selectById
(
roundId
);
if
(
seriesRound
==
null
)
{
throw
new
BusinessException
(
"当前轮次比赛不存在,请后退,重新打开当亲你赛事"
);
}
result
.
setChance
(
0
);
result
.
setLeftChance
(
0
);
result
.
setPath
(
seriesRound
.
getPath
());
result
.
setMap
(
seriesRound
.
getMap
());
result
.
setDistance
(
seriesRound
.
getDistance
());
result
.
setClimbDistance
(
seriesRound
.
getClimbDistance
());
result
.
setPathName
(
baseBusinessMapper
.
getMapPathName
(
seriesRound
.
getPath
()));
LocalDate
today
=
LocalDate
.
now
();
LocalDate
tomorrow
=
today
.
plusDays
(
1
);
result
.
setMatchList
(
seriesBusinessMapper
.
getSeriesQualifyingMatchList
(
roundId
,
areaId
,
sportUserId
,
today
,
tomorrow
));
SeriesApply
apply
=
seriesBusinessMapper
.
getSeriesApply
(
seriesRound
.
getSeriesId
(),
sportUserId
);
if
(
apply
!=
null
)
{
result
.
setAreaId
(
apply
.
getAreaId
());
if
(
areaId
.
equals
(
apply
.
getAreaId
()))
{
result
.
setChance
(
seriesRound
.
getChance
());
result
.
setLeftChance
(
seriesRound
.
getChance
()
-
seriesBusinessMapper
.
getSeriesQualifyingMatchLeftChance
(
roundId
,
sportUserId
));
result
.
setBestResult
(
seriesBusinessMapper
.
getBestResult
(
roundId
,
sportUserId
));
}
}
return
result
;
return
result
;
}
}
...
...
server-api/src/main/java/com/antai/sport/http/server/server/api/business/series/vo/SeriesQualifyingMatchHomeVO.java
View file @
97942240
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
series
.
vo
;
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
series
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
@ApiModel
(
"预选赛主页VO"
)
@ApiModel
(
"预选赛主页VO"
)
...
...
server-api/src/main/resources/mapper/base/BaseBusinessMapper.xml
View file @
97942240
...
@@ -22,6 +22,13 @@
...
@@ -22,6 +22,13 @@
select path_name from map_path where path_key = #{pathKey}
select path_name from map_path where path_key = #{pathKey}
</select>
</select>
<select
id=
"getMapPathName"
resultType=
"java.lang.String"
>
select concat(t2.map_name,t1.path_name)
from map_path t1
left join map t2 on t1.map_key = t2.map_key
where t1.path_key = #{pathKey}
</select>
<select
id=
"getAppLatestVersion"
resultType=
"com.antai.sport.http.server.server.api.business.base.dto.AppLatestVersionVO"
>
<select
id=
"getAppLatestVersion"
resultType=
"com.antai.sport.http.server.server.api.business.base.dto.AppLatestVersionVO"
>
select version,content,download_page_url,force_update
select version,content,download_page_url,force_update
from app_version
from app_version
...
...
server-api/src/main/resources/mapper/series/SeriesBusinessMapper.xml
View file @
97942240
...
@@ -40,4 +40,45 @@
...
@@ -40,4 +40,45 @@
<select
id=
"getLatestUserSeriesApplyInfo"
resultType=
"com.antai.sport.http.server.repository.series.entity.SeriesApply"
>
<select
id=
"getLatestUserSeriesApplyInfo"
resultType=
"com.antai.sport.http.server.repository.series.entity.SeriesApply"
>
select * from series_apply where sport_user_id = #{sportUserId} order by id desc limit 1
select * from series_apply where sport_user_id = #{sportUserId} order by id desc limit 1
</select>
</select>
<select
id=
"getBestResult"
resultType=
"java.lang.Integer"
>
select min(duration)
from series_match_player_record t1
where t1.round_id = #{roundId} and t1.player_id = #{sportUserId} and t1.status = 20
</select>
<select
id=
"getSeriesQualifyingMatchLeftChance"
resultType=
"java.lang.Integer"
>
select count(1)
from series_match_player_record t1
where t1.round_id = #{roundId} and t1.player_id = #{sportUserId}
</select>
<select
id=
"getSeriesApply"
resultType=
"com.antai.sport.http.server.repository.series.entity.SeriesApply"
>
select * from series_apply where series_id = #{seriesId} and sport_user_id = #{sportUserId}
</select>
<select
id=
"getSeriesQualifyingMatchList"
resultType=
"com.antai.sport.http.server.server.api.business.series.vo.SeriesQualifyingMatchVO"
>
(select t1.id,t1.name,t1.entry_time,t1.start_time,t1.end_time,0 as result
from (
select timestampdiff(SECOND,now(),t1.start_time) as timediff,t1.*
from series_match t1
where t1.deleted = 0 and t1.status = 20 and t1.round_id = #{roundId} and t1.area_id = #{areaId}
and t1.start_time
>
= #{today}
and t1.start_time
<
#{tomorrow} and end_time
>
= now()
) t1 order by timediff
)
union all (
select t1.id,t1.name,t1.entry_time,t1.start_time,t1.end_time,t2.duration as result
from series_match t1
left join (
select j1.match_id,j1.duration
from series_match_player_record j1
where j1.round_id = #{roundId}
and j1.status = 20 and j1.player_id = #{sportUserId}
) t2 on t1.id = t2.match_id
where t1.deleted = 0 and t1.status = 20 and t1.round_id = #{roundId} and t1.area_id = #{areaId}
and (t1.start_time
<
#{today} or t1.start_time
>
= #{tomorrow} or t1.end_time
<
now() )
order by t1.start_time desc
)
</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