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
5556e11d
Commit
5556e11d
authored
Apr 11, 2022
by
liming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
漫游接口
parent
3b1d74e2
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
286 additions
and
9 deletions
+286
-9
TourRecordStatus.java
...m/antai/sport/http/server/constants/TourRecordStatus.java
+9
-0
PraiseLog.java
...i/sport/http/server/repository/base/entity/PraiseLog.java
+2
-2
TourRecord.java
.../sport/http/server/repository/tour/entity/TourRecord.java
+92
-0
TourRecordMapper.java
.../http/server/repository/tour/mapper/TourRecordMapper.java
+16
-0
TourRecordMapper.xml
...itory/src/main/resources/mapper/tour/TourRecordMapper.xml
+5
-0
ReqPraise.java
...http/server/server/api/business/praise/dto/ReqPraise.java
+2
-2
PraiseService.java
...ver/server/api/business/praise/service/PraiseService.java
+3
-5
TourController.java
...r/server/api/business/tour/controller/TourController.java
+38
-0
TourRecordConverter.java
...rver/api/business/tour/converter/TourRecordConverter.java
+16
-0
RespTourRecordInit.java
...rver/server/api/business/tour/dto/RespTourRecordInit.java
+16
-0
TourService.java
.../server/server/api/business/tour/service/TourService.java
+61
-0
CyclingDataDTO.java
...ort/http/server/server/api/common/dto/CyclingDataDTO.java
+26
-0
No files found.
constants/src/main/java/com/antai/sport/http/server/constants/TourRecordStatus.java
0 → 100644
View file @
5556e11d
package
com
.
antai
.
sport
.
http
.
server
.
constants
;
//漫游记录状态
public
class
TourRecordStatus
{
//未提交
public
final
static
Integer
UNCOMMITTED
=
10
;
//已提交
public
final
static
Integer
COMMITTED
=
20
;
}
repository/src/main/java/com/antai/sport/http/server/repository/base/entity/PraiseLog.java
View file @
5556e11d
...
@@ -33,9 +33,9 @@ public class PraiseLog implements Serializable {
...
@@ -33,9 +33,9 @@ public class PraiseLog implements Serializable {
private
Integer
type
;
private
Integer
type
;
/**
/**
*
源头数据id 比如漫游记录id 比赛赛事id 团练活动id等
*
骑行记录id
*/
*/
private
Long
source
Id
;
private
Long
record
Id
;
/**
/**
* 点赞用户id
* 点赞用户id
...
...
repository/src/main/java/com/antai/sport/http/server/repository/tour/entity/TourRecord.java
0 → 100644
View file @
5556e11d
package
com
.
antai
.
sport
.
http
.
server
.
repository
.
tour
.
entity
;
import
java.math.BigDecimal
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.time.LocalDateTime
;
import
java.io.Serializable
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* <p>
*
* </p>
*
* @author liming
* @since 2022-04-11
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
TourRecord
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 用户id
*/
private
Long
userId
;
/**
* 骑行时长(秒)
*/
private
Integer
duration
;
/**
* 骑行总长度
*/
private
BigDecimal
distance
;
/**
* 爬坡距离
*/
private
BigDecimal
climbDistance
;
/**
* 平均功率
*/
private
BigDecimal
avgFtp
;
/**
* 平均速度
*/
private
BigDecimal
avgSpeed
;
/**
* 获攒数量
*/
private
Integer
praiseNum
;
/**
* 状态 10.未提交数据 20.已提交数据
*/
private
Integer
status
;
/**
* 版本号
*/
private
Long
version
;
/**
* 删除标记
*/
private
Integer
deleted
;
/**
* 创建时间
*/
private
LocalDateTime
createTime
;
/**
* 修改时间
*/
private
LocalDateTime
updateTime
;
}
repository/src/main/java/com/antai/sport/http/server/repository/tour/mapper/TourRecordMapper.java
0 → 100644
View file @
5556e11d
package
com
.
antai
.
sport
.
http
.
server
.
repository
.
tour
.
mapper
;
import
com.antai.sport.http.server.repository.tour.entity.TourRecord
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author liming
* @since 2022-04-11
*/
public
interface
TourRecordMapper
extends
BaseMapper
<
TourRecord
>
{
}
repository/src/main/resources/mapper/tour/TourRecordMapper.xml
0 → 100644
View file @
5556e11d
<?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.repository.tour.mapper.TourRecordMapper"
>
</mapper>
server-api/src/main/java/com/antai/sport/http/server/server/api/business/praise/dto/ReqPraise.java
View file @
5556e11d
...
@@ -9,8 +9,8 @@ import lombok.Data;
...
@@ -9,8 +9,8 @@ import lombok.Data;
public
class
ReqPraise
{
public
class
ReqPraise
{
@ApiModelProperty
(
"点赞类型 10:漫游 20:日常赛 30:系列赛 40:课程训练 50: 团练"
)
@ApiModelProperty
(
"点赞类型 10:漫游 20:日常赛 30:系列赛 40:课程训练 50: 团练"
)
private
Integer
gameMode
;
private
Integer
gameMode
;
@ApiModelProperty
(
"
源头数据id 比如漫游记录id 比赛赛事id 团练活动id等
"
)
@ApiModelProperty
(
"
骑行记录id
"
)
private
Long
source
Id
;
private
Long
record
Id
;
@ApiModelProperty
(
"点赞人"
)
@ApiModelProperty
(
"点赞人"
)
private
Long
from
;
private
Long
from
;
@ApiModelProperty
(
"被点赞人"
)
@ApiModelProperty
(
"被点赞人"
)
...
...
server-api/src/main/java/com/antai/sport/http/server/server/api/business/praise/service/PraiseService.java
View file @
5556e11d
...
@@ -41,15 +41,13 @@ public class PraiseService {
...
@@ -41,15 +41,13 @@ public class PraiseService {
* 查询某次游戏全部点赞数
* 查询某次游戏全部点赞数
*
*
* @param gameMode
* @param gameMode
* @param sourceId
* @param recordId
* @param userId
* @return
* @return
*/
*/
public
Integer
get
ActivityTotalPraise
(
Integer
gameMode
,
Long
sourceId
,
Long
user
Id
)
{
public
Integer
get
PraiseByGameModeAndRecordId
(
Integer
gameMode
,
Long
record
Id
)
{
QueryWrapper
<
PraiseLog
>
queryWrapper
=
new
QueryWrapper
<>();
QueryWrapper
<
PraiseLog
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"type"
,
gameMode
);
queryWrapper
.
eq
(
"type"
,
gameMode
);
queryWrapper
.
eq
(
"source_id"
,
sourceId
);
queryWrapper
.
eq
(
"record_id"
,
recordId
);
queryWrapper
.
eq
(
"to_id"
,
userId
);
return
praiseLogMapper
.
selectCount
(
queryWrapper
);
return
praiseLogMapper
.
selectCount
(
queryWrapper
);
}
}
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/tour/controller/TourController.java
0 → 100644
View file @
5556e11d
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
tour
.
controller
;
import
com.antai.sport.http.server.common.base.Result
;
import
com.antai.sport.http.server.server.api.business.tour.dto.RespTourRecordInit
;
import
com.antai.sport.http.server.server.api.business.tour.service.TourService
;
import
com.antai.sport.http.server.server.api.common.dto.CyclingDataDTO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
static
com
.
antai
.
sport
.
http
.
server
.
common
.
util
.
ResultUtil
.
success
;
@RequestMapping
(
"tour"
)
@RestController
@Api
(
tags
=
{
"漫游模式"
})
public
class
TourController
{
@Resource
private
TourService
tourService
;
@ApiOperation
(
"初始化漫游记录"
)
@GetMapping
(
"/{userId}"
)
public
ResponseEntity
<
Result
<
RespTourRecordInit
>>
init
(
@PathVariable
(
"userId"
)
Long
userId
)
{
return
success
(
tourService
.
init
(
userId
));
}
@ApiOperation
(
"漫游记录上传"
)
@PostMapping
(
"/record/upload"
)
public
ResponseEntity
<
Result
>
upload
(
@RequestBody
List
<
CyclingDataDTO
>
tourRecordList
){
tourService
.
upload
(
tourRecordList
);
return
success
();
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/tour/converter/TourRecordConverter.java
0 → 100644
View file @
5556e11d
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
tour
.
converter
;
import
com.antai.sport.http.server.repository.tour.entity.TourRecord
;
import
com.antai.sport.http.server.server.api.common.dto.CyclingDataDTO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapping
;
import
org.mapstruct.Mappings
;
@Mapper
(
componentModel
=
"spring"
)
public
interface
TourRecordConverter
{
@Mappings
({
@Mapping
(
source
=
"source.recordId"
,
target
=
"id"
),
@Mapping
(
source
=
"status"
,
target
=
"status"
)
})
TourRecord
convertToTourRecord
(
CyclingDataDTO
source
,
Integer
status
);
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/tour/dto/RespTourRecordInit.java
0 → 100644
View file @
5556e11d
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
tour
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"漫游记录初始化返回结果"
)
public
class
RespTourRecordInit
{
@ApiModelProperty
(
"记录id"
)
private
Long
recordId
;
@ApiModelProperty
(
"运动类型"
)
private
Integer
sportType
;
@ApiModelProperty
(
"游戏模式"
)
private
Integer
gameMode
;
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/tour/service/TourService.java
0 → 100644
View file @
5556e11d
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
tour
.
service
;
import
com.antai.sport.http.server.constants.GameMode
;
import
com.antai.sport.http.server.constants.SportType
;
import
com.antai.sport.http.server.constants.TourRecordStatus
;
import
com.antai.sport.http.server.repository.tour.entity.TourRecord
;
import
com.antai.sport.http.server.repository.tour.mapper.TourRecordMapper
;
import
com.antai.sport.http.server.server.api.business.praise.service.PraiseService
;
import
com.antai.sport.http.server.server.api.business.tour.converter.TourRecordConverter
;
import
com.antai.sport.http.server.server.api.business.tour.dto.RespTourRecordInit
;
import
com.antai.sport.http.server.server.api.common.dto.CyclingDataDTO
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
import
java.util.List
;
@Service
public
class
TourService
{
@Resource
private
TourRecordMapper
tourRecordMapper
;
@Resource
private
TourRecordConverter
tourRecordConverter
;
@Resource
private
PraiseService
praiseService
;
/**
* 初始化漫游记录
*
* @param userId
* @return
*/
public
RespTourRecordInit
init
(
Long
userId
)
{
RespTourRecordInit
resp
=
new
RespTourRecordInit
();
TourRecord
tourRecord
=
new
TourRecord
();
tourRecord
.
setUserId
(
userId
);
tourRecord
.
setCreateTime
(
LocalDateTime
.
now
());
tourRecord
.
setStatus
(
TourRecordStatus
.
UNCOMMITTED
);
tourRecordMapper
.
insert
(
tourRecord
);
resp
.
setRecordId
(
tourRecord
.
getId
());
resp
.
setSportType
(
SportType
.
BICYCLE
);
resp
.
setGameMode
(
GameMode
.
TOUR
);
return
resp
;
}
/**
* 上传漫游记录
*
* @param tourRecordList
*/
public
void
upload
(
List
<
CyclingDataDTO
>
tourRecordList
)
{
tourRecordList
.
forEach
(
item
->
{
TourRecord
tourRecord
=
tourRecordConverter
.
convertToTourRecord
(
item
,
TourRecordStatus
.
COMMITTED
);
tourRecord
.
setPraiseNum
(
praiseService
.
getPraiseByGameModeAndRecordId
(
GameMode
.
TOUR
,
item
.
getRecordId
()));
tourRecordMapper
.
updateById
(
tourRecord
);
});
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/common/dto/CyclingDataDTO.java
0 → 100644
View file @
5556e11d
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
common
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
@ApiModel
(
"基础骑行数据上传对象"
)
public
class
CyclingDataDTO
{
@ApiModelProperty
(
"比赛名次(没有可以不填)"
)
private
Integer
matchRank
;
@ApiModelProperty
(
"记录id"
)
private
Long
recordId
;
@ApiModelProperty
(
"用时(秒)"
)
private
Integer
duration
;
@ApiModelProperty
(
"骑行总长度"
)
private
BigDecimal
distance
;
@ApiModelProperty
(
"爬坡高度"
)
private
BigDecimal
climbDistance
;
@ApiModelProperty
(
"平均功率"
)
private
BigDecimal
avgFtp
;
@ApiModelProperty
(
"平均速度"
)
private
BigDecimal
avgSpeed
;
}
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