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
1cb03dfd
Commit
1cb03dfd
authored
Sep 16, 2022
by
liming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
预选赛查看接口
parent
210e5703
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
281 additions
and
17 deletions
+281
-17
antai-sport.ndm2
doc/antai-sport.ndm2
+133
-1
SeriesRound.java
...ort/http/server/repository/series/entity/SeriesRound.java
+22
-0
SeriesService.java
...ver/server/api/business/series/service/SeriesService.java
+9
-12
SeriesDetailsVO.java
...server/server/api/business/series/vo/SeriesDetailsVO.java
+0
-2
SeriesQualifyingMatchHomeVO.java
...r/api/business/series/vo/SeriesQualifyingMatchHomeVO.java
+35
-0
SeriesQualifyingMatchRankVO.java
...r/api/business/series/vo/SeriesQualifyingMatchRankVO.java
+62
-0
SeriesQualifyingMatchVO.java
...erver/api/business/series/vo/SeriesQualifyingMatchVO.java
+20
-2
No files found.
doc/antai-sport.ndm2
View file @
1cb03dfd
...
...
@@ -27295,6 +27295,110 @@
"virtualType": "",
"oldName": "start_time"
},
{
"objectType": "TableField_MYSQL",
"name": "map",
"type": "varchar",
"length": 255,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Others",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "地图key",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "map"
},
{
"objectType": "TableField_MYSQL",
"name": "path",
"type": "varchar",
"length": 255,
"decimals": 0,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Others",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "赛道key",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "path"
},
{
"objectType": "TableField_MYSQL",
"name": "distance",
"type": "decimal",
"length": 18,
"decimals": 2,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Null",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "总长度",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "distance"
},
{
"objectType": "TableField_MYSQL",
"name": "climb_distance",
"type": "decimal",
"length": 18,
"decimals": 2,
"isUnsigned": false,
"isZeroFill": false,
"setEnumValues": "",
"isBinary": false,
"charset": "",
"collation": "",
"isNullable": true,
"defaultType": "Others",
"defaultValue": "",
"isOnUpdateCurrentTimestamp": false,
"isAutoInc": false,
"comment": "爬坡高度",
"columnFormat": "",
"storage": "",
"isVirtual": false,
"isGeneratedAlways": false,
"virtualExpr": "",
"virtualType": "",
"oldName": "climb_distance"
},
{
"objectType": "TableField_MYSQL",
"name": "chance",
...
...
@@ -27776,6 +27880,34 @@
"order": "",
"oldName": ""
},
{
"objectType": "IndexField_MYSQL",
"name": "",
"keyLength": 0,
"order": "",
"oldName": ""
},
{
"objectType": "IndexField_MYSQL",
"name": "",
"keyLength": 0,
"order": "",
"oldName": ""
},
{
"objectType": "IndexField_MYSQL",
"name": "",
"keyLength": 0,
"order": "",
"oldName": ""
},
{
"objectType": "IndexField_MYSQL",
"name": "",
"keyLength": 0,
"order": "",
"oldName": ""
},
{
"objectType": "IndexField_MYSQL",
"name": "",
...
...
@@ -28698,7 +28830,7 @@
"x": 3492,
"y": 668,
"width": 235,
"height":
576
,
"height":
618
,
"isBold": false,
"titleColor": {
"r": 55,
repository/src/main/java/com/antai/sport/http/server/repository/series/entity/SeriesRound.java
View file @
1cb03dfd
...
...
@@ -2,6 +2,8 @@ package com.antai.sport.http.server.repository.series.entity;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.io.Serializable
;
import
lombok.Data
;
...
...
@@ -42,6 +44,26 @@ public class SeriesRound implements Serializable {
*/
private
LocalDateTime
startTime
;
/**
* 地图key
*/
private
String
map
;
/**
* 赛道key
*/
private
String
path
;
/**
* 总长度
*/
private
BigDecimal
distance
;
/**
* 爬坡高度
*/
private
BigDecimal
climbDistance
;
/**
* 机会次数
*/
...
...
server-api/src/main/java/com/antai/sport/http/server/server/api/business/series/service/SeriesService.java
View file @
1cb03dfd
...
...
@@ -13,6 +13,7 @@ import com.antai.sport.http.server.server.api.business.series.mapper.SeriesBusin
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.SeriesListVO
;
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
;
...
...
@@ -58,18 +59,9 @@ public class SeriesService {
}
SeriesDetailsVO
result
=
seriesConverter
.
toSeriesDetailVO
(
series
,
status
);
result
.
setNoticeList
(
seriesBusinessMapper
.
getSeriesNotice
(
id
));
result
.
setApplied
(
seriesBusinessMapper
.
checkExistUserSeriesApply
(
id
,
sportUserId
));
result
.
setRoundList
(
seriesBusinessMapper
.
getSeriesRound
(
id
));
result
.
setAreaList
(
seriesBusinessMapper
.
getSeriesAreaList
(
id
));
QueryWrapper
<
SeriesApply
>
seriesApplyQuery
=
new
QueryWrapper
<>();
seriesApplyQuery
.
lambda
().
eq
(
SeriesApply:
:
getSeriesId
,
id
).
eq
(
SeriesApply:
:
getSportUserId
,
sportUserId
);
SeriesApply
seriesApply
=
seriesApplyMapper
.
selectOne
(
seriesApplyQuery
);
if
(
seriesApply
==
null
){
result
.
setApplied
(
false
);
}
else
{
result
.
setApplied
(
true
);
result
.
setAreaId
(
seriesApply
.
getAreaId
());
}
return
result
;
}
...
...
@@ -78,7 +70,7 @@ public class SeriesService {
SeriesApplyPreLoadVO
result
=
seriesConverter
.
toSeriesApplyPreLoadVO
(
sportUser
);
result
.
setAreaList
(
seriesBusinessMapper
.
getSeriesAreaList
(
seriesId
));
SeriesApply
seriesApply
=
seriesBusinessMapper
.
getLatestUserSeriesApplyInfo
(
sportUserId
);
if
(
seriesApply
!=
null
)
{
if
(
seriesApply
!=
null
)
{
result
.
setRealName
(
seriesApply
.
getName
());
result
.
setIdCard
(
seriesApply
.
getIdCard
());
}
...
...
@@ -87,7 +79,7 @@ public class SeriesService {
}
public
void
seriesApply
(
SeriesApplyDTO
dto
)
{
if
(
seriesBusinessMapper
.
checkExistUserSeriesApply
(
dto
.
getSeriesId
(),
dto
.
getSportUserId
()))
{
if
(
seriesBusinessMapper
.
checkExistUserSeriesApply
(
dto
.
getSeriesId
(),
dto
.
getSportUserId
()))
{
throw
new
BusinessException
(
"您已经报名当前比赛,无需重复报名"
);
}
...
...
@@ -96,5 +88,10 @@ public class SeriesService {
seriesApplyMapper
.
insert
(
seriesApply
);
}
public
SeriesQualifyingMatchHomeVO
getSeriesQualifyingMatchHomeData
(){
SeriesQualifyingMatchHomeVO
result
=
new
SeriesQualifyingMatchHomeVO
();
return
result
;
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/series/vo/SeriesDetailsVO.java
View file @
1cb03dfd
...
...
@@ -31,8 +31,6 @@ public class SeriesDetailsVO {
private
Integer
applyNum
;
@ApiModelProperty
(
"是否已报名 true 报名 false 未报名"
)
private
Boolean
applied
;
@ApiModelProperty
(
"赛区id"
)
private
Long
areaId
;
@ApiModelProperty
(
"通知列表"
)
List
<
SeriesNoticeVO
>
noticeList
;
@ApiModelProperty
(
"轮次列表"
)
...
...
server-api/src/main/java/com/antai/sport/http/server/server/api/business/series/vo/SeriesQualifyingMatchHomeVO.java
0 → 100644
View file @
1cb03dfd
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.ApiModelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.List
;
@ApiModel
(
"预选赛主页VO"
)
@Data
public
class
SeriesQualifyingMatchHomeVO
{
@ApiModelProperty
(
"总比赛机会次数"
)
private
Integer
chance
;
@ApiModelProperty
(
"剩余机会次数"
)
private
Integer
leftChance
;
@ApiModelProperty
(
"最好成绩"
)
private
Integer
bestResult
;
@ApiModelProperty
(
"用户赛区id,如果没有赛区id表示未报名"
)
private
Long
areaId
;
@ApiModelProperty
(
"地图名称"
)
private
String
pathName
;
@ApiModelProperty
(
"地图"
)
private
String
map
;
@ApiModelProperty
(
"赛道"
)
private
String
path
;
@ApiModelProperty
(
"长度"
)
private
BigDecimal
distance
;
@ApiModelProperty
(
"爬坡高度"
)
private
BigDecimal
climbDistance
;
@ApiModelProperty
(
"比赛列表"
)
List
<
SeriesQualifyingMatchVO
>
matchList
;
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/series/vo/SeriesQualifyingMatchRankVO.java
0 → 100644
View file @
1cb03dfd
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.ApiModelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
@Data
@ApiModel
(
"用户训练详情关联排名"
)
public
class
SeriesQualifyingMatchRankVO
{
@ApiModelProperty
(
"用户Id"
)
private
Long
playerId
;
@ApiModelProperty
(
"昵称"
)
private
String
nickname
;
@ApiModelProperty
(
"头像"
)
private
String
avatar
;
@ApiModelProperty
(
"比赛名次"
)
private
Integer
gameRank
;
@ApiModelProperty
(
"用时(秒)"
)
private
Integer
duration
;
@ApiModelProperty
(
"骑行总长度"
)
private
BigDecimal
distance
;
@ApiModelProperty
(
"爬坡高度"
)
private
BigDecimal
climbDistance
;
@ApiModelProperty
(
"平均功率"
)
private
BigDecimal
avgFtp
;
@ApiModelProperty
(
"平均速度"
)
private
BigDecimal
avgSpeed
;
@ApiModelProperty
(
"完成时间 yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
public
LocalDateTime
finishTime
;
@ApiModelProperty
(
"体重"
)
private
BigDecimal
weight
;
@ApiModelProperty
(
"玩家当时ftp"
)
private
Integer
ftp
;
@ApiModelProperty
(
"玩家当时身高"
)
private
BigDecimal
height
;
@ApiModelProperty
(
"玩家当时设置最大心率"
)
private
Integer
heartRate
;
@ApiModelProperty
(
"玩家平均心率"
)
private
Integer
avgHeartRate
;
@ApiModelProperty
(
"1分钟平均最佳FTP"
)
private
BigDecimal
oneMinutesFtp
;
@ApiModelProperty
(
"5分钟平均最佳FTP"
)
private
BigDecimal
fiveMinutesFtp
;
@ApiModelProperty
(
"20分钟平均最佳FTP"
)
private
BigDecimal
twentyMinutesFtp
;
@ApiModelProperty
(
"1分钟平均最佳功体比"
)
private
BigDecimal
oneMinutesWkg
;
@ApiModelProperty
(
"5分钟平均最佳功体比"
)
private
BigDecimal
fiveMinutesWkg
;
@ApiModelProperty
(
"20分钟平均最佳功体比"
)
private
BigDecimal
twentyMinutesWkg
;
@ApiModelProperty
(
"得分"
)
private
BigDecimal
score
;
@ApiModelProperty
(
"比赛状态10:未完成比赛 20:完成比赛"
)
private
Integer
status
;
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/series/vo/SeriesQualifyingMatchVO.java
View file @
1cb03dfd
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.ApiModelProperty
;
import
lombok.Data
;
@ApiModel
(
"预选赛VO"
)
import
java.time.LocalDateTime
;
@ApiModel
(
"预算赛VO"
)
@Data
public
class
SeriesQualifyingMatchVO
{
@ApiModelProperty
(
"id"
)
private
Long
id
;
@ApiModelProperty
(
"比赛名称"
)
private
String
name
;
@ApiModelProperty
(
"允许进入时间 yyyy-MM-dd HH:mm"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
entryTime
;
@ApiModelProperty
(
"开始比赛时间 yyyy-MM-dd HH:mm"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
startTime
;
@ApiModelProperty
(
"比赛结束时间 yyyy-MM-dd HH:mm"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
endTime
;
@ApiModelProperty
(
"玩家成绩"
)
private
Integer
result
;
}
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