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
be0640c6
Commit
be0640c6
authored
Apr 12, 2022
by
liming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
日常赛报名列表查询
parent
0e642677
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
175 additions
and
1 deletion
+175
-1
SimpleMatchController.java
...usiness/simplematch/controller/SimpleMatchController.java
+21
-0
ReqSimpleMatchRegist.java
...er/api/business/simplematch/dto/ReqSimpleMatchRegist.java
+14
-0
RespSimpleMatchList.java
...ver/api/business/simplematch/dto/RespSimpleMatchList.java
+42
-0
SimpleMatchBusinessMapper.java
...usiness/simplematch/mapper/SimpleMatchBusinessMapper.java
+13
-0
SimpleMatchService.java
.../api/business/simplematch/service/SimpleMatchService.java
+55
-1
SimpleMatchBusinessMapper.xml
...esources/mapper/simplematch/SimpleMatchBusinessMapper.xml
+30
-0
No files found.
server-api/src/main/java/com/antai/sport/http/server/server/api/business/simplematch/controller/SimpleMatchController.java
View file @
be0640c6
...
...
@@ -2,7 +2,9 @@ package com.antai.sport.http.server.server.api.business.simplematch.controller;
import
com.antai.sport.http.server.common.base.Result
;
import
com.antai.sport.http.server.server.api.business.simplematch.dto.ReqSimpleMatchInit
;
import
com.antai.sport.http.server.server.api.business.simplematch.dto.ReqSimpleMatchRegist
;
import
com.antai.sport.http.server.server.api.business.simplematch.dto.RespSimpleMatchBanner
;
import
com.antai.sport.http.server.server.api.business.simplematch.dto.RespSimpleMatchList
;
import
com.antai.sport.http.server.server.api.business.simplematch.service.SimpleMatchService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -34,4 +36,23 @@ public class SimpleMatchController {
public
ResponseEntity
<
Result
<
List
<
RespSimpleMatchBanner
>>>
getSimpleMatchBannerList
()
{
return
success
(
simpleMatchService
.
getSimpleMatchBannerList
());
}
@ApiOperation
(
"通过用户id查询未完赛事列表"
)
@GetMapping
(
"/list/user/{userId}"
)
public
ResponseEntity
<
Result
<
List
<
RespSimpleMatchList
>>>
getUnFinishedSimpleMatchForUser
(
@PathVariable
(
"userId"
)
Long
userId
)
{
return
success
(
simpleMatchService
.
getUnFinishedSimpleMatchForUser
(
userId
));
}
@ApiOperation
(
"查询所有未完赛事列表"
)
@GetMapping
(
"/list"
)
public
ResponseEntity
<
Result
<
List
<
RespSimpleMatchList
>>>
getUnFinishedSimpleMatchForServer
()
{
return
success
(
simpleMatchService
.
getUnFinishedSimpleMatchForServer
());
}
@ApiOperation
(
"赛事报名"
)
@PostMapping
(
"/regist"
)
public
ResponseEntity
<
Result
>
regist
(
@RequestBody
ReqSimpleMatchRegist
param
)
{
simpleMatchService
.
regist
(
param
);
return
success
();
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/simplematch/dto/ReqSimpleMatchRegist.java
0 → 100644
View file @
be0640c6
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
simplematch
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"比赛报名对象"
)
public
class
ReqSimpleMatchRegist
{
@ApiModelProperty
(
"比赛id"
)
private
Long
matchId
;
@ApiModelProperty
(
"玩家id"
)
private
Long
playerId
;
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/simplematch/dto/RespSimpleMatchList.java
0 → 100644
View file @
be0640c6
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
simplematch
.
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
RespSimpleMatchList
{
@ApiModelProperty
(
"比赛id"
)
public
Long
id
;
@ApiModelProperty
(
"比赛名称"
)
public
String
name
;
@ApiModelProperty
(
"列表展示时间 yyyy-MM-dd HH:mm"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm"
,
timezone
=
"GMT+8"
)
public
LocalDateTime
showTime
;
@ApiModelProperty
(
"logo"
)
private
String
logo
;
@ApiModelProperty
(
"地图"
)
private
String
map
;
@ApiModelProperty
(
"赛道"
)
private
String
path
;
@ApiModelProperty
(
"允许进入时间 yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
entryTime
;
@ApiModelProperty
(
"开始比赛时间 yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
startTime
;
@ApiModelProperty
(
"比赛结束时间 yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
endTime
;
@ApiModelProperty
(
"长度"
)
public
BigDecimal
distance
;
@ApiModelProperty
(
"爬坡高度"
)
public
BigDecimal
climbDistance
;
@ApiModelProperty
(
"是否已报名,只有当按用户查询时有效"
)
public
Boolean
registered
;
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/simplematch/mapper/SimpleMatchBusinessMapper.java
0 → 100644
View file @
be0640c6
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
simplematch
.
mapper
;
import
com.antai.sport.http.server.server.api.business.simplematch.dto.RespSimpleMatchList
;
import
org.apache.ibatis.annotations.Param
;
import
java.time.LocalDateTime
;
import
java.util.List
;
public
interface
SimpleMatchBusinessMapper
{
List
<
RespSimpleMatchList
>
getUnFinishedSimpleMatchListForUser
(
@Param
(
"userId"
)
Long
userId
,
@Param
(
"now"
)
LocalDateTime
now
);
List
<
RespSimpleMatchList
>
getUnFinishedSimpleMatchListForServer
(
@Param
(
"now"
)
LocalDateTime
now
);
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/simplematch/service/SimpleMatchService.java
View file @
be0640c6
...
...
@@ -4,17 +4,23 @@ import com.antai.sport.http.server.common.exception.BusinessException;
import
com.antai.sport.http.server.constants.DeleteStatus
;
import
com.antai.sport.http.server.repository.simplematch.entity.SimpleMatch
;
import
com.antai.sport.http.server.repository.simplematch.entity.SimpleMatchBanner
;
import
com.antai.sport.http.server.repository.simplematch.entity.SimpleMatchPlayerRegistLog
;
import
com.antai.sport.http.server.repository.simplematch.mapper.SimpleMatchBannerMapper
;
import
com.antai.sport.http.server.repository.simplematch.mapper.SimpleMatchMapper
;
import
com.antai.sport.http.server.repository.simplematch.mapper.SimpleMatchPlayerRegistLogMapper
;
import
com.antai.sport.http.server.server.api.business.simplematch.converter.SimpleMatchConverter
;
import
com.antai.sport.http.server.server.api.business.simplematch.dto.ReqSimpleMatchInit
;
import
com.antai.sport.http.server.server.api.business.simplematch.dto.ReqSimpleMatchRegist
;
import
com.antai.sport.http.server.server.api.business.simplematch.dto.RespSimpleMatchBanner
;
import
com.antai.sport.http.server.server.api.business.simplematch.dto.RespSimpleMatchList
;
import
com.antai.sport.http.server.server.api.business.simplematch.mapper.SimpleMatchBusinessMapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
javax.annotation.Resource
;
import
java.
util.ArrayList
;
import
java.
time.LocalDateTime
;
import
java.util.List
;
@Service
...
...
@@ -23,6 +29,11 @@ public class SimpleMatchService {
private
SimpleMatchMapper
simpleMatchMapper
;
@Resource
private
SimpleMatchBannerMapper
simpleMatchBannerMapper
;
@Resource
private
SimpleMatchPlayerRegistLogMapper
simpleMatchPlayerRegistLogMapper
;
@Resource
private
SimpleMatchBusinessMapper
simpleMatchBusinessMapper
;
@Resource
private
SimpleMatchConverter
simpleMatchConverter
;
...
...
@@ -56,6 +67,11 @@ public class SimpleMatchService {
simpleMatchMapper
.
insert
(
simpleMatch
);
}
/**
* 获取日常赛banner列表
*
* @return
*/
public
List
<
RespSimpleMatchBanner
>
getSimpleMatchBannerList
()
{
QueryWrapper
<
SimpleMatchBanner
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"deleted"
,
DeleteStatus
.
UNDELETED
)
...
...
@@ -63,4 +79,42 @@ public class SimpleMatchService {
List
<
SimpleMatchBanner
>
bannerList
=
simpleMatchBannerMapper
.
selectList
(
queryWrapper
);
return
simpleMatchConverter
.
toRespBannerList
(
bannerList
);
}
/**
* 通过用户id查看未完赛事列表
*
* @param userId
* @return
*/
public
List
<
RespSimpleMatchList
>
getUnFinishedSimpleMatchForUser
(
Long
userId
)
{
return
simpleMatchBusinessMapper
.
getUnFinishedSimpleMatchListForUser
(
userId
,
LocalDateTime
.
now
());
}
/**
* 查询所有未完赛事列表
*
* @return
*/
public
List
<
RespSimpleMatchList
>
getUnFinishedSimpleMatchForServer
()
{
return
simpleMatchBusinessMapper
.
getUnFinishedSimpleMatchListForServer
(
LocalDateTime
.
now
());
}
/**
* 比赛报名
*
* @param param
*/
public
void
regist
(
ReqSimpleMatchRegist
param
)
{
QueryWrapper
<
SimpleMatchPlayerRegistLog
>
countQuery
=
new
QueryWrapper
<>();
countQuery
.
eq
(
"match_id"
,
param
.
getMatchId
()).
eq
(
"player_id"
,
param
.
getPlayerId
());
Integer
count
=
simpleMatchPlayerRegistLogMapper
.
selectCount
(
countQuery
);
if
(
count
>
0
)
{
throw
new
BusinessException
(
"不成重复报名"
);
}
SimpleMatchPlayerRegistLog
registLog
=
new
SimpleMatchPlayerRegistLog
();
registLog
.
setMatchId
(
param
.
getMatchId
());
registLog
.
setPlayerId
(
param
.
getPlayerId
());
registLog
.
setCreateTime
(
LocalDateTime
.
now
());
simpleMatchPlayerRegistLogMapper
.
insert
(
registLog
);
}
}
server-api/src/main/resources/mapper/simplematch/SimpleMatchBusinessMapper.xml
0 → 100644
View file @
be0640c6
<?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.simplematch.mapper.SimpleMatchBusinessMapper"
>
<select
id=
"getUnFinishedSimpleMatchListForUser"
resultType=
"com.antai.sport.http.server.server.api.business.simplematch.dto.RespSimpleMatchList"
>
select *
from (
select ifnull(t2.base_order, 0) registered,
t1.start_time as show_time,
t1.*
from simple_match t1
left join (
select j1.match_id, 1 base_order
from simple_match_player_regist_log j1
where j1.player_id = #{userId}
) t2 on t1.id = t2.match_id
where t1.end_time
>
#{now}
and t1.deleted = 0
) t1
order by t1.registered desc, t1.show_order, t1.start_time
</select>
<select
id=
"getUnFinishedSimpleMatchListForServer"
resultType=
"com.antai.sport.http.server.server.api.business.simplematch.dto.RespSimpleMatchList"
>
select t1.start_time as show_time, t1.*
from simple_match t1
where t1.end_time
>
#{now}
and t1.deleted = 0
order by t1.show_order, t1.start_time
</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