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
a2aec4a6
Commit
a2aec4a6
authored
Jul 13, 2022
by
liming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
运动日志上传设置所属俱乐部id,增加总排行榜数据保存
parent
0b6ac1a0
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
66 additions
and
17 deletions
+66
-17
SportUserTrainingLogConverter.java
.../traininglog/converter/SportUserTrainingLogConverter.java
+7
-0
SportUserTrainingLogService.java
...ness/traininglog/service/SportUserTrainingLogService.java
+59
-17
No files found.
server-api/src/main/java/com/antai/sport/http/server/server/api/business/traininglog/converter/SportUserTrainingLogConverter.java
View file @
a2aec4a6
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
traininglog
.
converter
;
import
com.antai.sport.http.server.repository.sport.entity.SportUserMonthRank
;
import
com.antai.sport.http.server.repository.sport.entity.SportUserRank
;
import
com.antai.sport.http.server.repository.sport.entity.SportUserTrainingLog
;
import
com.antai.sport.http.server.server.api.common.dto.CyclingDataDTO
;
import
org.mapstruct.Mapper
;
...
...
@@ -11,10 +12,16 @@ import org.mapstruct.Mappings;
public
interface
SportUserTrainingLogConverter
{
SportUserTrainingLog
toSportUserTrainingLog
(
CyclingDataDTO
source
);
@Mappings
({
@Mapping
(
source
=
"source.calorie"
,
target
=
"totalCalorie"
),
@Mapping
(
source
=
"year"
,
target
=
"year"
),
@Mapping
(
source
=
"month"
,
target
=
"month"
)
})
SportUserMonthRank
toSportUserMonthRank
(
SportUserTrainingLog
source
,
Integer
year
,
Integer
month
);
@Mappings
({
@Mapping
(
source
=
"source.calorie"
,
target
=
"totalCalorie"
)
})
SportUserRank
toSportUserRank
(
SportUserTrainingLog
source
);
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/traininglog/service/SportUserTrainingLogService.java
View file @
a2aec4a6
...
...
@@ -4,18 +4,14 @@ import com.antai.sport.http.server.constants.DeleteStatus;
import
com.antai.sport.http.server.constants.GameMode
;
import
com.antai.sport.http.server.constants.RankType
;
import
com.antai.sport.http.server.constants.SportType
;
import
com.antai.sport.http.server.repository.club.entity.ClubMember
;
import
com.antai.sport.http.server.repository.club.mapper.ClubMemberMapper
;
import
com.antai.sport.http.server.repository.roommode.entity.RoomMode
;
import
com.antai.sport.http.server.repository.roommode.mapper.RoomModeMapper
;
import
com.antai.sport.http.server.repository.simplematch.entity.SimpleMatch
;
import
com.antai.sport.http.server.repository.simplematch.mapper.SimpleMatchMapper
;
import
com.antai.sport.http.server.repository.sport.entity.SportUser
;
import
com.antai.sport.http.server.repository.sport.entity.SportUserMonthRank
;
import
com.antai.sport.http.server.repository.sport.entity.SportUserSummary
;
import
com.antai.sport.http.server.repository.sport.entity.SportUserTrainingLog
;
import
com.antai.sport.http.server.repository.sport.mapper.SportUserMapper
;
import
com.antai.sport.http.server.repository.sport.mapper.SportUserMonthRankMapper
;
import
com.antai.sport.http.server.repository.sport.mapper.SportUserSummaryMapper
;
import
com.antai.sport.http.server.repository.sport.mapper.SportUserTrainingLogMapper
;
import
com.antai.sport.http.server.repository.sport.entity.*
;
import
com.antai.sport.http.server.repository.sport.mapper.*
;
import
com.antai.sport.http.server.repository.teamtraining.entity.TeamTraining
;
import
com.antai.sport.http.server.repository.teamtraining.mapper.TeamTrainingMapper
;
import
com.antai.sport.http.server.server.api.business.simplematch.dto.SimpleMatchUserScheduleVO
;
...
...
@@ -63,6 +59,10 @@ public class SportUserTrainingLogService {
private
RoomModeMapper
roomModeMapper
;
@Resource
private
TeamTrainingMapper
teamTrainingMapper
;
@Resource
private
SportUserRankMapper
sportUserRankMapper
;
@Resource
private
ClubMemberMapper
clubMemberMapper
;
@Resource
private
SportUserTrainingLogBusinessMapper
sportUserTrainingLogBusinessMapper
;
...
...
@@ -90,6 +90,14 @@ public class SportUserTrainingLogService {
log
.
setPraiseNum
(
praiseNum
);
log
.
setCreateTime
(
LocalDateTime
.
now
());
log
.
setCreateDate
(
LocalDate
.
now
());
//处理是否俱乐部日志
QueryWrapper
<
ClubMember
>
clubMemberQuery
=
new
QueryWrapper
<>();
clubMemberQuery
.
eq
(
"sport_user_id"
,
playerId
);
clubMemberQuery
.
eq
(
"deleted"
,
DeleteStatus
.
UNDELETED
);
ClubMember
clubMember
=
clubMemberMapper
.
selectOne
(
clubMemberQuery
);
if
(
clubMember
!=
null
)
{
log
.
setClubId
(
clubMember
.
getClubId
());
}
sportUserTrainingLogMapper
.
insert
(
log
);
QueryWrapper
<
SportUserSummary
>
summaryQuery
=
new
QueryWrapper
<>();
...
...
@@ -118,19 +126,29 @@ public class SportUserTrainingLogService {
//处理月度排行
Integer
year
=
LocalDate
.
now
().
getYear
();
Integer
month
=
LocalDate
.
now
().
getMonthValue
();
QueryWrapper
<
SportUserMonthRank
>
rankQuery
=
new
QueryWrapper
<>();
rankQuery
.
eq
(
"year"
,
year
);
rankQuery
.
eq
(
"month"
,
month
);
QueryWrapper
<
SportUserMonthRank
>
monthRankQuery
=
new
QueryWrapper
<>();
monthRankQuery
.
eq
(
"year"
,
year
);
monthRankQuery
.
eq
(
"month"
,
month
);
monthRankQuery
.
eq
(
"player_id"
,
playerId
);
SportUserMonthRank
monthRank
=
sportUserMonthRankMapper
.
selectOne
(
monthRankQuery
);
if
(
monthRank
==
null
)
{
monthRank
=
sportUserTrainingLogConverter
.
toSportUserMonthRank
(
log
,
year
,
month
);
monthRank
.
setUpdateTime
(
monthRank
.
getCreateTime
());
sportUserMonthRankMapper
.
insert
(
monthRank
);
}
else
{
modifyRank
(
log
,
monthRank
);
}
//处理总排行
QueryWrapper
<
SportUserRank
>
rankQuery
=
new
QueryWrapper
<>();
rankQuery
.
eq
(
"player_id"
,
playerId
);
SportUser
MonthRank
rank
=
sportUserMonth
RankMapper
.
selectOne
(
rankQuery
);
if
(
rank
=
=
null
)
{
rank
=
sportUserTrainingLogConverter
.
toSportUser
MonthRank
(
log
,
year
,
month
);
rank
.
setUpdateTime
(
r
ank
.
getCreateTime
());
sportUser
Month
RankMapper
.
insert
(
rank
);
SportUser
Rank
rank
=
sportUser
RankMapper
.
selectOne
(
rankQuery
);
if
(
rank
!
=
null
)
{
rank
=
sportUserTrainingLogConverter
.
toSportUser
Rank
(
log
);
rank
.
setUpdateTime
(
monthR
ank
.
getCreateTime
());
sportUserRankMapper
.
insert
(
rank
);
}
else
{
modifyRank
(
log
,
rank
);
}
}
private
void
modifyRank
(
SportUserTrainingLog
log
,
SportUserMonthRank
rank
)
{
...
...
@@ -156,7 +174,31 @@ public class SportUserTrainingLogService {
}
rank
.
setScore
(
ScoreUtils
.
calculate
(
rank
.
getOneMinutesFtp
(),
rank
.
getFiveMinutesFtp
(),
rank
.
getTwentyMinutesFtp
(),
rank
.
getOneMinutesWkg
(),
rank
.
getFiveMinutesWkg
(),
rank
.
getTwentyMinutesWkg
()));
sportUserMonthRankMapper
.
updateById
(
rank
);
}
private
void
modifyRank
(
SportUserTrainingLog
log
,
SportUserRank
rank
)
{
rank
.
setTotalCalorie
(
rank
.
getTotalCalorie
()
+
log
.
getCalorie
());
rank
.
setUpdateTime
(
LocalDateTime
.
now
());
if
(
log
.
getOneMinutesFtp
().
compareTo
(
rank
.
getOneMinutesFtp
())
==
1
)
{
rank
.
setOneMinutesFtp
(
log
.
getOneMinutesFtp
());
}
if
(
log
.
getFiveMinutesFtp
().
compareTo
(
rank
.
getFiveMinutesFtp
())
==
1
)
{
rank
.
setFiveMinutesFtp
(
log
.
getFiveMinutesFtp
());
}
if
(
log
.
getTwentyMinutesFtp
().
compareTo
(
rank
.
getTwentyMinutesFtp
())
==
1
)
{
rank
.
setTwentyMinutesFtp
(
log
.
getTwentyMinutesFtp
());
}
if
(
log
.
getOneMinutesWkg
().
compareTo
(
rank
.
getOneMinutesWkg
())
==
1
)
{
rank
.
setOneMinutesWkg
(
log
.
getOneMinutesWkg
());
}
if
(
log
.
getFiveMinutesWkg
().
compareTo
(
rank
.
getFiveMinutesWkg
())
==
1
)
{
rank
.
setFiveMinutesWkg
(
log
.
getFiveMinutesWkg
());
}
if
(
log
.
getTwentyMinutesWkg
().
compareTo
(
rank
.
getTwentyMinutesWkg
())
==
1
)
{
rank
.
setTwentyMinutesWkg
(
log
.
getTwentyMinutesWkg
());
}
rank
.
setScore
(
ScoreUtils
.
calculate
(
rank
.
getOneMinutesFtp
(),
rank
.
getFiveMinutesFtp
(),
rank
.
getTwentyMinutesFtp
(),
rank
.
getOneMinutesWkg
(),
rank
.
getFiveMinutesWkg
(),
rank
.
getTwentyMinutesWkg
()));
sportUserRankMapper
.
updateById
(
rank
);
}
/**
...
...
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