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
31a6b897
Commit
31a6b897
authored
Jul 10, 2022
by
liming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
漫游详情记录查询
parent
50fca917
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
213 additions
and
21 deletions
+213
-21
RoomModePlayerRecord.java
...rver/repository/roommode/entity/RoomModePlayerRecord.java
+5
-0
ReqSimpleMatchRecord.java
...er/api/business/simplematch/dto/ReqSimpleMatchRecord.java
+0
-9
TeamTrainingRecordUploadDTO.java
...usiness/teamtraining/dto/TeamTrainingRecordUploadDTO.java
+1
-9
SportUserTrainingLogVO.java
.../api/business/traininglog/dto/SportUserTrainingLogVO.java
+2
-0
TrainingDetailRankVO.java
...er/api/business/traininglog/dto/TrainingDetailRankVO.java
+54
-0
TrainingDetailVO.java
...server/api/business/traininglog/dto/TrainingDetailVO.java
+72
-0
SportUserTrainingLogBusinessMapper.java
...raininglog/mapper/SportUserTrainingLogBusinessMapper.java
+8
-2
SportUserTrainingLogService.java
...ness/traininglog/service/SportUserTrainingLogService.java
+15
-0
SportUserController.java
...ver/api/business/user/controller/SportUserController.java
+7
-0
CyclingDataDTO.java
...ort/http/server/server/api/common/dto/CyclingDataDTO.java
+7
-0
SportUserTrainingLogBusinessMapper.xml
...mapper/traininglog/SportUserTrainingLogBusinessMapper.xml
+42
-1
No files found.
repository/src/main/java/com/antai/sport/http/server/repository/roommode/entity/RoomModePlayerRecord.java
View file @
31a6b897
...
...
@@ -48,6 +48,11 @@ public class RoomModePlayerRecord implements Serializable {
*/
private
Integer
matchRank
;
/**
* 比赛完成时间
*/
private
LocalDateTime
finishTime
;
/**
* 骑行总长度
*/
...
...
server-api/src/main/java/com/antai/sport/http/server/server/api/business/simplematch/dto/ReqSimpleMatchRecord.java
View file @
31a6b897
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
simplematch
.
dto
;
import
com.antai.sport.http.server.server.api.common.dto.CyclingDataDTO
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
@Data
@ApiModel
(
"日常赛玩家记录上传"
)
public
class
ReqSimpleMatchRecord
extends
CyclingDataDTO
{
@ApiModelProperty
(
"状态 10:未完赛 20:已完赛"
)
public
Integer
status
;
@ApiModelProperty
(
"完成时间 yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
public
LocalDateTime
finishTime
;
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/teamtraining/dto/TeamTrainingRecordUploadDTO.java
View file @
31a6b897
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
teamtraining
.
dto
;
import
com.antai.sport.http.server.server.api.common.dto.CyclingDataDTO
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
@Data
@ApiModel
(
"日常赛团练记录上传"
)
public
class
TeamTrainingRecordUploadDTO
extends
CyclingDataDTO
{
@ApiModelProperty
(
"状态 10:未完赛 20:已完赛"
)
public
Integer
status
;
@ApiModelProperty
(
"完成时间 yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
public
LocalDateTime
finishTime
;
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/traininglog/dto/SportUserTrainingLogVO.java
View file @
31a6b897
...
...
@@ -11,6 +11,8 @@ import java.time.LocalDateTime;
@Data
@ApiModel
(
"用户训练记录"
)
public
class
SportUserTrainingLogVO
{
@ApiModelProperty
(
"训练记录Id"
)
private
Integer
id
;
@ApiModelProperty
(
"运动类型 1:自行车 2:跑步"
)
private
Integer
sportType
;
@ApiModelProperty
(
"运动模式 10:漫游 20:日常赛 30:系列赛 40:课程训练 50: 团练 60:房间模式"
)
...
...
server-api/src/main/java/com/antai/sport/http/server/server/api/business/traininglog/dto/TrainingDetailRankVO.java
0 → 100644
View file @
31a6b897
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
traininglog
.
dto
;
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
TrainingDetailRankVO
{
@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
(
"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/traininglog/dto/TrainingDetailVO.java
0 → 100644
View file @
31a6b897
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
traininglog
.
dto
;
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
;
@Data
@ApiModel
(
"用户训练记录详情"
)
public
class
TrainingDetailVO
{
@ApiModelProperty
(
"运动类型 1:自行车 2:跑步"
)
private
Integer
sportType
;
@ApiModelProperty
(
"运动模式 10:漫游 20:日常赛 30:系列赛 40:课程训练 50: 团练 60:房间模式"
)
private
Integer
gameMode
;
@ApiModelProperty
(
"玩家id"
)
private
Long
playerId
;
@ApiModelProperty
(
"主数据id 如比赛为比赛id 房间模式为房间id 漫游为漫游记录id"
)
private
Long
sourceId
;
@ApiModelProperty
(
"源头名称"
)
private
String
sourceName
;
@ApiModelProperty
(
"运动记录Id"
)
private
Long
recordId
;
@ApiModelProperty
(
"地图名称"
)
private
String
mapName
;
@ApiModelProperty
(
"赛道名称"
)
private
String
pathName
;
@ApiModelProperty
(
"卡路里"
)
private
Integer
calorie
;
@ApiModelProperty
(
"点赞数量"
)
private
Integer
praiseNum
;
@ApiModelProperty
(
"比赛名次"
)
private
Integer
matchRank
;
@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"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
createTime
;
@ApiModelProperty
(
"体重"
)
private
BigDecimal
weight
;
@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
;
@ApiModelProperty
(
"记录关联排名"
)
List
<
TrainingDetailRankVO
>
rankList
;
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/traininglog/mapper/SportUserTrainingLogBusinessMapper.java
View file @
31a6b897
...
...
@@ -3,6 +3,8 @@ package com.antai.sport.http.server.server.api.business.traininglog.mapper;
import
com.antai.sport.http.server.repository.sport.entity.SportUserTrainingLog
;
import
com.antai.sport.http.server.server.api.business.traininglog.dto.SportUserTrainingLogSummaryVO
;
import
com.antai.sport.http.server.server.api.business.traininglog.dto.SportUserTrainingLogVO
;
import
com.antai.sport.http.server.server.api.business.traininglog.dto.TrainingDetailRankVO
;
import
com.antai.sport.http.server.server.api.business.traininglog.dto.TrainingDetailVO
;
import
com.antai.sport.http.server.server.api.business.user.dto.ScheduleResponseDTO
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -17,7 +19,11 @@ public interface SportUserTrainingLogBusinessMapper {
@Param
(
"beginDate"
)
LocalDate
beginDate
,
@Param
(
"endDate"
)
LocalDate
endDate
);
List
<
SportUserTrainingLogVO
>
getSportUserTrainingLog
(
@Param
(
"userId"
)
Long
userId
,
@Param
(
"date"
)
LocalDate
date
,
@Param
(
"gameMode"
)
Integer
gameMod
);
List
<
SportUserTrainingLogVO
>
getSportUserTrainingLog
(
@Param
(
"userId"
)
Long
userId
,
@Param
(
"date"
)
LocalDate
date
,
@Param
(
"gameMode"
)
Integer
gameMod
);
List
<
ScheduleResponseDTO
>
getMonthTrainingSummary
(
@Param
(
"playerId"
)
Long
playerId
,
@Param
(
"beginDate"
)
LocalDate
beginDate
,
@Param
(
"endDate"
)
LocalDate
endDate
,
@Param
(
"today"
)
LocalDate
today
);
List
<
ScheduleResponseDTO
>
getMonthTrainingSummary
(
@Param
(
"playerId"
)
Long
playerId
,
@Param
(
"beginDate"
)
LocalDate
beginDate
,
@Param
(
"endDate"
)
LocalDate
endDate
,
@Param
(
"today"
)
LocalDate
today
);
TrainingDetailVO
getSportUserTrainingLogDetail
(
@Param
(
"id"
)
Long
id
);
List
<
TrainingDetailRankVO
>
getRank
(
@Param
(
"gameMode"
)
Integer
gameMode
,
@Param
(
"sourceId"
)
Long
sourceId
);
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/traininglog/service/SportUserTrainingLogService.java
View file @
31a6b897
...
...
@@ -19,6 +19,7 @@ import com.antai.sport.http.server.server.api.business.teamtraining.mapper.TeamT
import
com.antai.sport.http.server.server.api.business.traininglog.converter.SportUserTrainingLogConverter
;
import
com.antai.sport.http.server.server.api.business.traininglog.dto.SportUserTrainingLogSummaryVO
;
import
com.antai.sport.http.server.server.api.business.traininglog.dto.SportUserTrainingLogVO
;
import
com.antai.sport.http.server.server.api.business.traininglog.dto.TrainingDetailVO
;
import
com.antai.sport.http.server.server.api.business.traininglog.mapper.SportUserTrainingLogBusinessMapper
;
import
com.antai.sport.http.server.server.api.business.user.converter.SportUserConverter
;
import
com.antai.sport.http.server.server.api.business.user.dto.*
;
...
...
@@ -306,5 +307,19 @@ public class SportUserTrainingLogService {
return
resultList
;
}
/**
* 获取比赛详情
*
* @param id
* @return
*/
public
TrainingDetailVO
getTrainingDetail
(
Long
id
)
{
TrainingDetailVO
result
=
sportUserTrainingLogBusinessMapper
.
getSportUserTrainingLogDetail
(
id
);
if
(
SportType
.
BICYCLE
.
equals
(
result
.
getSportType
())
&&
(
GameMode
.
SIMPLE_MATCH
.
equals
(
result
.
getGameMode
())
||
GameMode
.
GROUP_TRAINING
.
equals
(
result
.
getGameMode
())
||
GameMode
.
ROOM_MODE
.
equals
(
result
.
getGameMode
())))
{
result
.
setRankList
(
sportUserTrainingLogBusinessMapper
.
getRank
(
result
.
getGameMode
(),
result
.
getSourceId
()));
}
return
result
;
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/user/controller/SportUserController.java
View file @
31a6b897
...
...
@@ -2,6 +2,7 @@ package com.antai.sport.http.server.server.api.business.user.controller;
import
com.antai.sport.http.server.common.base.Result
;
import
com.antai.sport.http.server.server.api.business.traininglog.dto.SportUserTrainingLogVO
;
import
com.antai.sport.http.server.server.api.business.traininglog.dto.TrainingDetailVO
;
import
com.antai.sport.http.server.server.api.business.traininglog.service.SportUserTrainingLogService
;
import
com.antai.sport.http.server.server.api.business.user.dto.*
;
import
com.antai.sport.http.server.server.api.business.user.service.SportUserService
;
...
...
@@ -55,4 +56,10 @@ public class SportUserController {
public
ResponseEntity
<
Result
<
List
<
ScheduleResponseDTO
>>>
getSchedule
(
@PathVariable
(
"userId"
)
Long
userId
,
@RequestParam
Integer
year
,
@RequestParam
Integer
month
)
{
return
success
(
sportUserTrainingLogService
.
getSchedule
(
userId
,
year
,
month
));
}
@ApiOperation
(
"查询用户运动记录详情"
)
@GetMapping
(
"/training/log/{id}"
)
public
ResponseEntity
<
Result
<
TrainingDetailVO
>>
getSportUserTrainingLogRank
(
@PathVariable
(
"id"
)
Long
Id
)
{
return
success
(
sportUserTrainingLogService
.
getTrainingDetail
(
Id
));
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/common/dto/CyclingDataDTO.java
View file @
31a6b897
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
common
.
dto
;
import
com.antai.sport.http.server.server.api.utils.ScoreUtils
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -8,6 +9,7 @@ import lombok.Data;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.time.LocalDateTime
;
@Data
@ApiModel
(
"基础骑行数据上传对象"
)
...
...
@@ -36,6 +38,11 @@ public class CyclingDataDTO {
private
BigDecimal
twentyMinutesFtp
;
@ApiModelProperty
(
"fit文件地址"
)
private
String
fitUrl
;
@ApiModelProperty
(
"状态 10:未完赛 20:已完赛"
)
public
Integer
status
;
@ApiModelProperty
(
"完成时间 yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
public
LocalDateTime
finishTime
;
@ApiModelProperty
(
hidden
=
true
)
@JsonIgnore
...
...
server-api/src/main/resources/mapper/traininglog/SportUserTrainingLogBusinessMapper.xml
View file @
31a6b897
...
...
@@ -16,7 +16,7 @@
</select>
<select
id=
"getSportUserTrainingLog"
resultType=
"com.antai.sport.http.server.server.api.business.traininglog.dto.SportUserTrainingLogVO"
>
select t1.sport_type,t1.game_mode,t1.player_id,t1.source_id,t1.source_name,t1.record_id,
select t1.
id,t1.
sport_type,t1.game_mode,t1.player_id,t1.source_id,t1.source_name,t1.record_id,
t2.map_name,t3.path_name,t1.calorie,t1.duration,t1.match_rank,
t1.distance,t1.climb_distance,t1.avg_ftp,t1.avg_speed,t1.praise_num,t1.create_time
from sport_user_training_log t1
...
...
@@ -42,4 +42,45 @@
) t1
group by day
</select>
<select
id=
"getSportUserTrainingLogDetail"
resultType=
"com.antai.sport.http.server.server.api.business.traininglog.dto.TrainingDetailVO"
>
select t1.*,t2.map_name,t3.path_name
from sport_user_training_log t1
left join map t2 on t1.map = t2.map_key
left join map_path t3 on t1.path = t3.path_key
where t1.id = #{id}
</select>
<select
id=
"getRank"
resultType=
"com.antai.sport.http.server.server.api.business.traininglog.dto.TrainingDetailRankVO"
>
<if
test=
"gameMode == 20"
>
select t1.*,
t1.match_rank as game_rank,
t2.avatar,
t2.nickname
from simple_match_player_record t1
left join sport_user t2 on t1.player_id = t2.id
where t1.match_id = #{sourceId}
order by match_rank asc
</if>
<if
test=
"gameMode == 50"
>
select t1.*,
t1.training_rank as game_rank,
t2.avatar,
t2.nickname
from team_training_player_record t1
left join sport_user t2 on t1.player_id = t2.id
where t1.team_training_id = #{sourceId}
order by training_rank asc
</if>
<if
test=
"gameMode == 60"
>
select t1.*,
t1.match_rank as game_rank,
t2.avatar,
t2.nickname
from room_mode_player_record t1
left join sport_user t2 on t1.player_id = t2.id
where t1.room_id = #{sourceId}
order by match_rank asc
</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