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
54123f73
Commit
54123f73
authored
Aug 22, 2022
by
liming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
课程章节查询接口
parent
bedfce85
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
170 additions
and
5 deletions
+170
-5
CourseRecordStatus.java
...antai/sport/http/server/constants/CourseRecordStatus.java
+9
-0
CourseController.java
...rver/api/business/course/controller/CourseController.java
+20
-4
CourseRecordConverter.java
.../api/business/course/converter/CourseRecordConverter.java
+16
-0
CourseRecordInitDTO.java
...r/server/api/business/course/dto/CourseRecordInitDTO.java
+18
-0
CourseRecordUploadDTO.java
...server/api/business/course/dto/CourseRecordUploadDTO.java
+12
-0
CourseService.java
...ver/server/api/business/course/service/CourseService.java
+79
-1
CourseRecordInitVO.java
...ver/server/api/business/course/vo/CourseRecordInitVO.java
+16
-0
No files found.
constants/src/main/java/com/antai/sport/http/server/constants/CourseRecordStatus.java
0 → 100644
View file @
54123f73
package
com
.
antai
.
sport
.
http
.
server
.
constants
;
//课程训练记录状态
public
class
CourseRecordStatus
{
//未提交
public
final
static
Integer
UNCOMMITTED
=
10
;
//已提交
public
final
static
Integer
COMMITTED
=
20
;
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/course/controller/CourseController.java
View file @
54123f73
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
course
.
controller
;
import
com.antai.sport.http.server.common.base.Result
;
import
com.antai.sport.http.server.server.api.business.course.dto.CourseRecordInitDTO
;
import
com.antai.sport.http.server.server.api.business.course.service.CourseService
;
import
com.antai.sport.http.server.server.api.business.course.vo.CourseItemVO
;
import
com.antai.sport.http.server.server.api.business.course.vo.CourseRecordInitVO
;
import
com.antai.sport.http.server.server.api.business.course.vo.CourseTypeVO
;
import
com.antai.sport.http.server.server.api.business.tour.dto.ReqTourRecordInit
;
import
com.antai.sport.http.server.server.api.business.tour.dto.RespTourRecordInit
;
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.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.List
;
...
...
@@ -36,4 +38,18 @@ public class CourseController {
public
ResponseEntity
<
Result
<
List
<
CourseItemVO
>>>
getCourseItemList
(
@PathVariable
(
"courseId"
)
Long
courseId
)
{
return
success
(
courseService
.
getCourseItemList
(
courseId
));
}
@ApiOperation
(
"初始化课程训练记录"
)
@PostMapping
(
"/init"
)
public
ResponseEntity
<
Result
<
CourseRecordInitVO
>>
init
(
@RequestBody
CourseRecordInitDTO
initData
)
{
return
success
(
courseService
.
init
(
initData
));
}
@ApiOperation
(
value
=
"课程训练记录上传"
)
@PostMapping
(
"/record/upload"
)
public
ResponseEntity
<
Result
>
recordUpload
(
@RequestBody
List
<
CyclingDataDTO
>
dataList
)
{
courseService
.
upload
(
dataList
);
return
success
();
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/course/converter/CourseRecordConverter.java
0 → 100644
View file @
54123f73
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
course
.
converter
;
import
com.antai.sport.http.server.repository.course.entity.CourseRecord
;
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
CourseRecordConverter
{
@Mappings
({
@Mapping
(
source
=
"source.recordId"
,
target
=
"id"
),
@Mapping
(
source
=
"status"
,
target
=
"status"
)
})
CourseRecord
convertToCourseRecord
(
CyclingDataDTO
source
,
Integer
status
);
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/course/dto/CourseRecordInitDTO.java
0 → 100644
View file @
54123f73
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
course
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"课程训练记录初始化对象"
)
public
class
CourseRecordInitDTO
{
@ApiModelProperty
(
"用户id"
)
private
Long
playerId
;
@ApiModelProperty
(
"课程id"
)
private
Long
courseId
;
@ApiModelProperty
(
"地图"
)
private
String
map
;
@ApiModelProperty
(
"赛道"
)
private
String
path
;
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/course/dto/CourseRecordUploadDTO.java
0 → 100644
View file @
54123f73
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
course
.
dto
;
import
com.antai.sport.http.server.server.api.common.dto.CyclingDataDTO
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
@Data
@ApiModel
(
"课程训练记录上传DTO"
)
public
class
CourseRecordUploadDTO
extends
CyclingDataDTO
{
private
Long
playerId
;
private
Long
courseId
;
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/course/service/CourseService.java
View file @
54123f73
...
...
@@ -2,14 +2,28 @@ package com.antai.sport.http.server.server.api.business.course.service;
import
com.antai.sport.http.server.common.service.CommonCodeService
;
import
com.antai.sport.http.server.common.vo.SysCodeDetailVO
;
import
com.antai.sport.http.server.constants.CourseType
;
import
com.antai.sport.http.server.constants.*
;
import
com.antai.sport.http.server.repository.course.entity.Course
;
import
com.antai.sport.http.server.repository.course.entity.CourseRecord
;
import
com.antai.sport.http.server.repository.course.mapper.CourseMapper
;
import
com.antai.sport.http.server.repository.course.mapper.CourseRecordMapper
;
import
com.antai.sport.http.server.repository.sport.entity.SportUser
;
import
com.antai.sport.http.server.repository.sport.mapper.SportUserMapper
;
import
com.antai.sport.http.server.server.api.business.course.converter.CourseRecordConverter
;
import
com.antai.sport.http.server.server.api.business.course.dto.CourseRecordInitDTO
;
import
com.antai.sport.http.server.server.api.business.course.mapper.CourseBusinessMapper
;
import
com.antai.sport.http.server.server.api.business.course.vo.CourseItemVO
;
import
com.antai.sport.http.server.server.api.business.course.vo.CourseRecordInitVO
;
import
com.antai.sport.http.server.server.api.business.course.vo.CourseTypeVO
;
import
com.antai.sport.http.server.server.api.business.course.vo.CourseVO
;
import
com.antai.sport.http.server.server.api.business.praise.service.PraiseService
;
import
com.antai.sport.http.server.server.api.business.traininglog.service.SportUserTrainingLogService
;
import
com.antai.sport.http.server.server.api.common.dto.CyclingDataDTO
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -21,6 +35,20 @@ public class CourseService {
private
CommonCodeService
commonCodeService
;
@Resource
private
CourseBusinessMapper
courseBusinessMapper
;
@Resource
private
CourseMapper
courseMapper
;
@Resource
private
CourseRecordMapper
courseRecordMapper
;
@Resource
private
SportUserMapper
sportUserMapper
;
@Resource
private
CourseRecordConverter
courseRecordConverter
;
@Resource
private
PraiseService
praiseService
;
@Resource
private
SportUserTrainingLogService
sportUserTrainingLogService
;
public
List
<
CourseTypeVO
>
getCourseTree
()
{
List
<
CourseTypeVO
>
resultList
=
new
ArrayList
<>();
...
...
@@ -48,4 +76,54 @@ public class CourseService {
public
List
<
CourseItemVO
>
getCourseItemList
(
Long
courseId
)
{
return
courseBusinessMapper
.
getCourseItemList
(
courseId
);
}
/**
* 初始化漫游记录
*
* @param initData
* @return
*/
public
CourseRecordInitVO
init
(
CourseRecordInitDTO
initData
)
{
CourseRecordInitVO
resp
=
new
CourseRecordInitVO
();
CourseRecord
record
=
new
CourseRecord
();
record
.
setPlayerId
(
initData
.
getPlayerId
());
record
.
setMap
(
initData
.
getMap
());
record
.
setPath
(
initData
.
getPath
());
record
.
setCreateTime
(
LocalDateTime
.
now
());
record
.
setStatus
(
TourRecordStatus
.
UNCOMMITTED
);
record
.
setCourseId
(
initData
.
getCourseId
());
Course
course
=
courseMapper
.
selectById
(
initData
.
getCourseId
());
record
.
setCourseName
(
course
.
getName
());
courseRecordMapper
.
insert
(
record
);
resp
.
setRecordId
(
record
.
getId
());
resp
.
setSportType
(
SportType
.
BICYCLE
);
resp
.
setGameMode
(
GameMode
.
COURSE_TRAINING
);
return
resp
;
}
/**
* 课程训练记录上传
*
* @param recordList
*/
@Transactional
public
void
upload
(
List
<
CyclingDataDTO
>
recordList
)
{
recordList
.
forEach
(
item
->
{
CourseRecord
oldRecord
=
courseRecordMapper
.
selectById
(
item
.
getRecordId
());
if
(
oldRecord
!=
null
&&
oldRecord
.
getStatus
().
equals
(
CourseRecordStatus
.
UNCOMMITTED
))
{
SportUser
user
=
sportUserMapper
.
selectById
(
oldRecord
.
getPlayerId
());
item
.
setWeight
(
user
.
getWeight
());
CourseRecord
record
=
courseRecordConverter
.
convertToCourseRecord
(
item
,
CourseRecordStatus
.
COMMITTED
);
record
.
setPraiseNum
(
praiseService
.
getPraiseByGameModeAndRecordId
(
GameMode
.
COURSE_TRAINING
,
item
.
getRecordId
()));
courseRecordMapper
.
updateById
(
record
);
//生成骑行日志
sportUserTrainingLogService
.
createBicycleTrainingLog
(
oldRecord
.
getPlayerId
(),
GameMode
.
COURSE_TRAINING
,
oldRecord
.
getId
(),
oldRecord
.
getCourseName
(),
oldRecord
.
getMap
(),
oldRecord
.
getPath
(),
record
.
getPraiseNum
(),
item
);
}
});
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/course/vo/CourseRecordInitVO.java
0 → 100644
View file @
54123f73
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
course
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
"课程训练记录初始化返回结果"
)
public
class
CourseRecordInitVO
{
@ApiModelProperty
(
"记录id"
)
private
Long
recordId
;
@ApiModelProperty
(
"运动类型"
)
private
Integer
sportType
;
@ApiModelProperty
(
"游戏模式"
)
private
Integer
gameMode
;
}
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