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
b2cdc19b
Commit
b2cdc19b
authored
May 13, 2022
by
liming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
排行列表页
parent
25186e73
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
87 additions
and
6 deletions
+87
-6
RankType.java
.../java/com/antai/sport/http/server/constants/RankType.java
+14
-0
SimpleMatchController.java
...usiness/simplematch/controller/SimpleMatchController.java
+1
-1
SportUserTrainingLogService.java
...ness/traininglog/service/SportUserTrainingLogService.java
+29
-1
SportUserController.java
...ver/api/business/user/controller/SportUserController.java
+9
-1
SportUserMonthRankRequestDTO.java
...r/api/business/user/dto/SportUserMonthRankRequestDTO.java
+2
-0
SportUserMonthRankBusinessMapper.java
...usiness/user/mapper/SportUserMonthRankBusinessMapper.java
+6
-3
MybatisPlusConfig.java
...port/http/server/server/api/config/MybatisPlusConfig.java
+15
-0
application.yaml
server-api/src/main/resources/application.yaml
+2
-0
SportUserMonthRankBusinessMapper.xml
...esources/mapper/user/SportUserMonthRankBusinessMapper.xml
+9
-0
No files found.
constants/src/main/java/com/antai/sport/http/server/constants/RankType.java
0 → 100644
View file @
b2cdc19b
package
com
.
antai
.
sport
.
http
.
server
.
constants
;
/**
* @Author liming
* @Date 2021/8/21 21:14
* @Email lmmax@126.com
* @Description:
*/
public
class
RankType
{
//能力榜
public
final
static
Integer
SCORE
=
1
;
//热度榜
public
final
static
Integer
CALORIE
=
2
;
}
management-api/src/main/java/com/antai/sport/http/server/management/api/business/simplematch/controller/SimpleMatchController.java
View file @
b2cdc19b
...
...
@@ -50,7 +50,7 @@ public class SimpleMatchController {
}
@ApiOperation
(
"创建日常赛"
)
@PostMapping
(
""
)
@PostMapping
public
ResponseEntity
<
Result
>
save
(
@RequestBody
SimpleMatchVO
simpleMatchVO
)
{
simpleMatchService
.
save
(
simpleMatchVO
);
return
success
();
...
...
server-api/src/main/java/com/antai/sport/http/server/server/api/business/traininglog/service/SportUserTrainingLogService.java
View file @
b2cdc19b
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
traininglog
.
service
;
import
com.antai.sport.http.server.constants.DeleteStatus
;
import
com.antai.sport.http.server.constants.RankType
;
import
com.antai.sport.http.server.constants.SportType
;
import
com.antai.sport.http.server.repository.sport.entity.SportUser
;
import
com.antai.sport.http.server.repository.sport.entity.SportUserMonthRank
;
...
...
@@ -16,11 +17,15 @@ import com.antai.sport.http.server.server.api.business.traininglog.dto.SportUser
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.ReqSportUserTrainingLog
;
import
com.antai.sport.http.server.server.api.business.user.dto.SportUserMonthRankRequestDTO
;
import
com.antai.sport.http.server.server.api.business.user.dto.SportUserMonthRankResponseDTO
;
import
com.antai.sport.http.server.server.api.business.user.mapper.SportUserMonthRankBusinessMapper
;
import
com.antai.sport.http.server.server.api.common.dto.CyclingDataDTO
;
import
com.antai.sport.http.server.server.api.utils.ScoreUtils
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.OrderItem
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
...
...
@@ -198,7 +203,7 @@ public class SportUserTrainingLogService {
result
.
setTwentyMinutesFtp
(
BigDecimal
.
ZERO
);
}
else
{
result
=
sportUserConverter
.
toSportUserMonthRankResponseDTO
(
rank
);
result
.
setRank
(
sportUserMonthRankBusinessMapper
.
getMyRank
(
type
,
rank
.
getScore
(),
rank
.
getTotalCalorie
(),
rank
.
getUpdateTime
(),
year
,
month
));
result
.
setRank
(
sportUserMonthRankBusinessMapper
.
getMyRank
(
type
,
rank
.
getScore
(),
rank
.
getTotalCalorie
(),
rank
.
getUpdateTime
(),
year
,
month
));
}
SportUser
user
=
sportUserMapper
.
selectById
(
userId
);
...
...
@@ -208,4 +213,27 @@ public class SportUserTrainingLogService {
result
.
setWeight
(
user
.
getWeight
());
return
result
;
}
/**
* 分页查询玩家排行
*
* @param param
* @return
*/
public
List
<
SportUserMonthRankResponseDTO
>
geRank
(
SportUserMonthRankRequestDTO
param
)
{
Page
<
SportUserMonthRankResponseDTO
>
pageParam
=
new
Page
<>(
param
.
getPageNo
(),
param
.
getPageSize
());
if
(
RankType
.
SCORE
.
equals
(
param
.
getType
()))
{
pageParam
.
addOrder
(
new
OrderItem
(
"score"
,
false
));
}
else
{
pageParam
.
addOrder
(
new
OrderItem
(
"total_calorie"
,
false
));
}
pageParam
.
addOrder
(
new
OrderItem
(
"update_time"
,
true
));
pageParam
.
addOrder
(
new
OrderItem
(
"t1.id"
,
true
));
IPage
<
SportUserMonthRankResponseDTO
>
result
=
sportUserMonthRankBusinessMapper
.
getRank
(
pageParam
,
param
);
System
.
out
.
println
(
result
.
getPages
());
return
result
.
getRecords
();
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/user/controller/SportUserController.java
View file @
b2cdc19b
...
...
@@ -5,6 +5,7 @@ import com.antai.sport.http.server.server.api.business.traininglog.dto.SportUser
import
com.antai.sport.http.server.server.api.business.traininglog.service.SportUserTrainingLogService
;
import
com.antai.sport.http.server.server.api.business.user.dto.ReqSportUserTrainingLog
;
import
com.antai.sport.http.server.server.api.business.user.dto.RespUserHomeInfo
;
import
com.antai.sport.http.server.server.api.business.user.dto.SportUserMonthRankRequestDTO
;
import
com.antai.sport.http.server.server.api.business.user.dto.SportUserMonthRankResponseDTO
;
import
com.antai.sport.http.server.server.api.business.user.service.SportUserService
;
import
io.swagger.annotations.Api
;
...
...
@@ -39,8 +40,15 @@ public class SportUserController {
}
@ApiOperation
(
"查询我的排名 type: 1能力榜 2活跃度榜"
)
@GetMapping
(
"/{userId}/
{type}/
rank"
)
@GetMapping
(
"/{userId}/rank"
)
public
ResponseEntity
<
Result
<
SportUserMonthRankResponseDTO
>>
getMyRank
(
@PathVariable
(
"userId"
)
Long
userId
,
@RequestParam
Integer
type
,
@RequestParam
Integer
year
,
@RequestParam
Integer
month
)
{
return
success
(
sportUserTrainingLogService
.
getMyRank
(
userId
,
type
,
year
,
month
));
}
@ApiOperation
(
"查询玩家排名列表"
)
@PostMapping
(
"/rank"
)
public
ResponseEntity
<
Result
<
List
<
SportUserMonthRankResponseDTO
>>>
geRank
(
@RequestBody
SportUserMonthRankRequestDTO
param
)
{
return
success
(
sportUserTrainingLogService
.
geRank
(
param
));
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/user/dto/SportUserMonthRankRequestDTO.java
View file @
b2cdc19b
...
...
@@ -11,6 +11,8 @@ public class SportUserMonthRankRequestDTO {
private
Integer
pageNo
;
@ApiModelProperty
(
"分页大小"
)
private
Integer
pageSize
;
@ApiModelProperty
(
"类型 1能力榜 2活跃度榜"
)
private
Integer
type
;
@ApiModelProperty
(
"年份"
)
private
Integer
year
;
@ApiModelProperty
(
"月份"
)
...
...
server-api/src/main/java/com/antai/sport/http/server/server/api/business/user/mapper/SportUserMonthRankBusinessMapper.java
View file @
b2cdc19b
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
user
.
mapper
;
import
com.antai.sport.http.server.server.api.business.user.dto.SportUserMonthRankRequestDTO
;
import
com.antai.sport.http.server.server.api.business.user.dto.SportUserMonthRankResponseDTO
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
org.apache.ibatis.annotations.Param
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
public
interface
SportUserMonthRankBusinessMapper
{
Integer
getMyRank
(
@Param
(
"type"
)
Integer
type
,
@Param
(
"score"
)
BigDecimal
score
,
@Param
(
"totalCalorie"
)
Integer
totalCalorie
,
@Param
(
"updateTime"
)
LocalDateTime
updateTime
,
@Param
(
"year"
)
Integer
year
,
@Param
(
"month"
)
Integer
month
);
Integer
getMyRank
(
@Param
(
"type"
)
Integer
type
,
@Param
(
"score"
)
BigDecimal
score
,
@Param
(
"totalCalorie"
)
Integer
totalCalorie
,
@Param
(
"updateTime"
)
LocalDateTime
updateTime
,
@Param
(
"year"
)
Integer
year
,
@Param
(
"month"
)
Integer
month
);
IPage
<
SportUserMonthRankResponseDTO
>
getRank
(
IPage
<
SportUserMonthRankResponseDTO
>
page
,
@Param
(
"param"
)
SportUserMonthRankRequestDTO
param
);
}
server-api/src/main/java/com/antai/sport/http/server/server/api/config/MybatisPlusConfig.java
View file @
b2cdc19b
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
config
;
import
com.baomidou.mybatisplus.annotation.DbType
;
import
com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer
;
import
com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor
;
import
com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor
;
import
com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.transaction.annotation.EnableTransactionManagement
;
@Configuration
@EnableTransactionManagement
public
class
MybatisPlusConfig
{
@Bean
public
MybatisPlusInterceptor
mybatisPlusInterceptor
()
{
MybatisPlusInterceptor
mybatisPlusInterceptor
=
new
MybatisPlusInterceptor
();
mybatisPlusInterceptor
.
addInnerInterceptor
(
new
OptimisticLockerInnerInterceptor
());
PaginationInnerInterceptor
innerInterceptor
=
new
PaginationInnerInterceptor
();
innerInterceptor
.
setDbType
(
DbType
.
MYSQL
);
innerInterceptor
.
setOverflow
(
false
);
mybatisPlusInterceptor
.
addInnerInterceptor
(
innerInterceptor
);
return
mybatisPlusInterceptor
;
}
@Bean
public
ConfigurationCustomizer
configurationCustomizer
()
{
return
mybatisConfiguration
->
mybatisConfiguration
.
setUseGeneratedShortKey
(
false
);
}
}
server-api/src/main/resources/application.yaml
View file @
b2cdc19b
...
...
@@ -43,6 +43,8 @@ swagger:
service-website
:
https://www.antaikeji.top/
mybatis-plus
:
configuration
:
log-impl
:
org.apache.ibatis.logging.stdout.StdOutImpl
global-config
:
db-config
:
logic-delete-value
:
1
...
...
server-api/src/main/resources/mapper/user/SportUserMonthRankBusinessMapper.xml
View file @
b2cdc19b
...
...
@@ -13,5 +13,14 @@
and (total_calorie
>
#{totalCalorie} or (total_calorie = #{totalCalorie} and update_time
<
#{updateTime} ))
</if>
</select>
<select
id=
"getRank"
resultType=
"com.antai.sport.http.server.server.api.business.user.dto.SportUserMonthRankResponseDTO"
>
select t1.player_id,t2.nickname,t2.avatar,t2.weight,t1.total_calorie,t1.one_minutes_ftp,
t1.five_minutes_ftp,t1.twenty_minutes_ftp,t1.score,t1.update_time
from sport_user_month_rank t1
left join sport_user t2 on t1.player_id = t2.id
where year = #{param.year}
and month = #{param.month}
</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