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
676b0037
Commit
676b0037
authored
Apr 11, 2022
by
liming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
房间模式
parent
5d1bdf8e
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
84 additions
and
6 deletions
+84
-6
RoomModeController.java
...r/api/business/roommode/conroller/RoomModeController.java
+7
-0
RespRoomRank.java
...server/server/api/business/roommode/dto/RespRoomRank.java
+30
-0
RoomBusinessMapper.java
...rver/api/business/roommode/mapper/RoomBusinessMapper.java
+9
-0
RoomModeService.java
...server/api/business/roommode/service/RoomModeService.java
+24
-6
RoomBusinessMapper.xml
...src/main/resources/mapper/roommode/RoomBusinessMapper.xml
+14
-0
No files found.
server-api/src/main/java/com/antai/sport/http/server/server/api/business/roommode/conroller/RoomModeController.java
View file @
676b0037
...
...
@@ -3,6 +3,7 @@ package com.antai.sport.http.server.server.api.business.roommode.conroller;
import
com.antai.sport.http.server.common.base.Result
;
import
com.antai.sport.http.server.server.api.business.roommode.dto.ReqRoomInit
;
import
com.antai.sport.http.server.server.api.business.roommode.dto.RespRoomInit
;
import
com.antai.sport.http.server.server.api.business.roommode.dto.RespRoomRank
;
import
com.antai.sport.http.server.server.api.business.roommode.service.RoomModeService
;
import
com.antai.sport.http.server.server.api.common.dto.CyclingDataDTO
;
import
io.swagger.annotations.Api
;
...
...
@@ -42,4 +43,10 @@ public class RoomModeController {
roomModeService
.
closeRoom
(
roomId
);
return
success
();
}
@ApiOperation
(
"查看排名"
)
@GetMapping
(
"/rank/{roomId}"
)
public
ResponseEntity
<
Result
<
List
<
RespRoomRank
>>>
rank
(
@PathVariable
(
"roomId"
)
Long
roomId
)
{
return
success
(
roomModeService
.
rank
(
roomId
));
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/roommode/dto/RespRoomRank.java
0 → 100644
View file @
676b0037
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
roommode
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@ApiModel
(
"房间排名"
)
@Data
public
class
RespRoomRank
{
@ApiModelProperty
(
"用户Id"
)
private
Long
userId
;
@ApiModelProperty
(
"昵称"
)
private
String
nickname
;
@ApiModelProperty
(
"头像"
)
private
String
avatar
;
@ApiModelProperty
(
"比赛名次(没有可以不填)"
)
private
Integer
matchRank
;
@ApiModelProperty
(
"用时(秒)"
)
private
Integer
duration
;
@ApiModelProperty
(
"骑行总长度"
)
private
BigDecimal
distance
;
@ApiModelProperty
(
"爬坡高度"
)
private
BigDecimal
climbDistance
;
@ApiModelProperty
(
"平均功率"
)
private
BigDecimal
avgFtp
;
@ApiModelProperty
(
"平均速度"
)
private
BigDecimal
avgSpeed
;
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/roommode/mapper/RoomBusinessMapper.java
0 → 100644
View file @
676b0037
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
roommode
.
mapper
;
import
com.antai.sport.http.server.server.api.business.roommode.dto.RespRoomRank
;
import
java.util.List
;
public
interface
RoomBusinessMapper
{
List
<
RespRoomRank
>
getRoomBank
(
Long
roomId
);
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/roommode/service/RoomModeService.java
View file @
676b0037
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
roommode
.
service
;
import
com.antai.sport.http.server.common.exception.BusinessException
;
import
com.antai.sport.http.server.constants.*
;
import
com.antai.sport.http.server.constants.GameMode
;
import
com.antai.sport.http.server.constants.RoomModeRecordStatus
;
import
com.antai.sport.http.server.constants.RoomModeStatus
;
import
com.antai.sport.http.server.constants.SportType
;
import
com.antai.sport.http.server.repository.roommode.entity.RoomMode
;
import
com.antai.sport.http.server.repository.roommode.entity.RoomModePlayerRecord
;
import
com.antai.sport.http.server.repository.roommode.mapper.RoomModeMapper
;
import
com.antai.sport.http.server.repository.roommode.mapper.RoomModePlayerRecordMapper
;
import
com.antai.sport.http.server.repository.tour.entity.TourRecord
;
import
com.antai.sport.http.server.server.api.business.roommode.converter.RoomModeConverter
;
import
com.antai.sport.http.server.server.api.business.roommode.dto.ReqRoomInit
;
import
com.antai.sport.http.server.server.api.business.roommode.dto.RespRoomInit
;
import
com.antai.sport.http.server.server.api.business.roommode.dto.RespRoomRank
;
import
com.antai.sport.http.server.server.api.business.roommode.mapper.RoomBusinessMapper
;
import
com.antai.sport.http.server.server.api.common.dto.CyclingDataDTO
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -28,6 +31,9 @@ public class RoomModeService {
@Resource
private
RoomModePlayerRecordMapper
roomModePlayerRecordMapper
;
@Resource
private
RoomBusinessMapper
roomBusinessMapper
;
@Resource
private
RoomModeConverter
roomModeConverter
;
...
...
@@ -40,7 +46,7 @@ public class RoomModeService {
RespRoomInit
resp
=
new
RespRoomInit
();
resp
.
setSportType
(
SportType
.
BICYCLE
);
resp
.
setGameMode
(
GameMode
.
ROOM_MODE
);
RoomMode
room
=
roomModeConverter
.
roomInitParamToRoomMode
(
initParam
,
RoomModeStatus
.
UNFINISHED
);
RoomMode
room
=
roomModeConverter
.
roomInitParamToRoomMode
(
initParam
,
RoomModeStatus
.
UNFINISHED
);
room
.
setPlayerNum
(
initParam
.
getUserIdList
().
size
());
roomModeMapper
.
insert
(
room
);
resp
.
setRoomId
(
room
.
getId
());
...
...
@@ -63,24 +69,36 @@ public class RoomModeService {
/**
* 上传数据
*
* @param dataList
*/
@Transactional
public
void
upload
(
List
<
CyclingDataDTO
>
dataList
)
{
dataList
.
forEach
(
item
->
{
RoomModePlayerRecord
record
=
roomModeConverter
.
toRoomModePlayerRecord
(
item
,
RoomModeRecordStatus
.
FINISHED
);
RoomModePlayerRecord
record
=
roomModeConverter
.
toRoomModePlayerRecord
(
item
,
RoomModeRecordStatus
.
FINISHED
);
roomModePlayerRecordMapper
.
updateById
(
record
);
});
}
/**
* 关闭房间
*
* @param roomId
*/
public
void
closeRoom
(
Long
roomId
){
public
void
closeRoom
(
Long
roomId
)
{
RoomMode
roomMode
=
new
RoomMode
();
roomMode
.
setId
(
roomId
);
roomMode
.
setStatus
(
RoomModeStatus
.
FINISHED
);
roomModeMapper
.
updateById
(
roomMode
);
}
/**
* 获取房间排名
*
* @param roomId
* @return
*/
public
List
<
RespRoomRank
>
rank
(
Long
roomId
)
{
return
roomBusinessMapper
.
getRoomBank
(
roomId
);
}
}
server-api/src/main/resources/mapper/roommode/RoomBusinessMapper.xml
0 → 100644
View file @
676b0037
<?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.server.api.business.roommode.mapper.RoomBusinessMapper"
>
<select
id=
"getRoomBank"
resultType=
"com.antai.sport.http.server.server.api.business.roommode.dto.RespRoomRank"
>
select t1.player_id as user_id,
t2.avatar,
t2.nickname,
t1.*
from room_mode_player_record t1
left join sport_user t2 on t1.player_id = t2.id
where t1.room_id = #{roomId}
</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