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
063ae478
Commit
063ae478
authored
Jul 14, 2022
by
liming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
俱乐部加入和退出
parent
30056279
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
116 additions
and
3 deletions
+116
-3
Club.java
.../antai/sport/http/server/repository/club/entity/Club.java
+5
-0
ClubController.java
...r/server/api/business/club/controller/ClubController.java
+14
-0
ClubConverter.java
...ver/server/api/business/club/converter/ClubConverter.java
+1
-0
JoinOrLeaveClubDTO.java
...rver/server/api/business/club/dto/JoinOrLeaveClubDTO.java
+14
-0
ClubService.java
.../server/server/api/business/club/service/ClubService.java
+82
-3
No files found.
repository/src/main/java/com/antai/sport/http/server/repository/club/entity/Club.java
View file @
063ae478
...
@@ -55,6 +55,11 @@ public class Club implements Serializable {
...
@@ -55,6 +55,11 @@ public class Club implements Serializable {
*/
*/
private
Long
chairmanId
;
private
Long
chairmanId
;
/**
* 会员数量
*/
private
Integer
memberNumber
;
/**
/**
* 总爬坡高度
* 总爬坡高度
*/
*/
...
...
server-api/src/main/java/com/antai/sport/http/server/server/api/business/club/controller/ClubController.java
View file @
063ae478
...
@@ -52,5 +52,19 @@ public class ClubController {
...
@@ -52,5 +52,19 @@ public class ClubController {
return
success
();
return
success
();
}
}
@ApiOperation
(
"俱乐部-加入"
)
@PostMapping
(
"/join"
)
public
ResponseEntity
<
Result
>
join
(
@RequestBody
JoinOrLeaveClubDTO
dto
)
{
clubService
.
join
(
dto
);
return
success
();
}
@ApiOperation
(
"俱乐部-退出"
)
@PostMapping
(
"/leave"
)
public
ResponseEntity
<
Result
>
leave
(
@RequestBody
JoinOrLeaveClubDTO
dto
)
{
clubService
.
leave
(
dto
);
return
success
();
}
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/club/converter/ClubConverter.java
View file @
063ae478
...
@@ -21,6 +21,7 @@ public interface ClubConverter {
...
@@ -21,6 +21,7 @@ public interface ClubConverter {
@Mapping
(
target
=
"totalDistance"
,
constant
=
"0"
)
@Mapping
(
target
=
"totalDistance"
,
constant
=
"0"
)
@Mapping
(
target
=
"totalDuration"
,
constant
=
"0"
)
@Mapping
(
target
=
"totalDuration"
,
constant
=
"0"
)
@Mapping
(
target
=
"totalCalorie"
,
constant
=
"0"
)
@Mapping
(
target
=
"totalCalorie"
,
constant
=
"0"
)
@Mapping
(
target
=
"memberNumber"
,
constant
=
"1"
)
Club
createDTOtoClub
(
CreateClubReqDTO
source
,
LocalDateTime
now
);
Club
createDTOtoClub
(
CreateClubReqDTO
source
,
LocalDateTime
now
);
@Mapping
(
target
=
"updateTime"
,
source
=
"now"
)
@Mapping
(
target
=
"updateTime"
,
source
=
"now"
)
...
...
server-api/src/main/java/com/antai/sport/http/server/server/api/business/club/dto/JoinOrLeaveClubDTO.java
0 → 100644
View file @
063ae478
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
club
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@ApiModel
(
"加入俱乐部"
)
@Data
public
class
JoinOrLeaveClubDTO
{
@ApiModelProperty
(
"俱乐部id"
)
private
Long
clubId
;
@ApiModelProperty
(
"用户id"
)
private
Long
sportUserId
;
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/club/service/ClubService.java
View file @
063ae478
...
@@ -14,6 +14,7 @@ import com.antai.sport.http.server.server.api.business.club.dto.*;
...
@@ -14,6 +14,7 @@ import com.antai.sport.http.server.server.api.business.club.dto.*;
import
com.antai.sport.http.server.server.api.business.club.mapper.ClubBusinessMapper
;
import
com.antai.sport.http.server.server.api.business.club.mapper.ClubBusinessMapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
...
@@ -40,6 +41,7 @@ public class ClubService {
...
@@ -40,6 +41,7 @@ public class ClubService {
* @param dto
* @param dto
* @return
* @return
*/
*/
@Transactional
public
Long
create
(
CreateClubReqDTO
dto
)
{
public
Long
create
(
CreateClubReqDTO
dto
)
{
if
(
clubBusinessMapper
.
checkChairman
(
dto
.
getCreateUser
()))
{
if
(
clubBusinessMapper
.
checkChairman
(
dto
.
getCreateUser
()))
{
throw
new
BusinessException
(
"您已经是俱乐部会长,不能创建多个俱乐部"
);
throw
new
BusinessException
(
"您已经是俱乐部会长,不能创建多个俱乐部"
);
...
@@ -47,6 +49,12 @@ public class ClubService {
...
@@ -47,6 +49,12 @@ public class ClubService {
checkClubNameRepeat
(
null
,
dto
.
getName
());
checkClubNameRepeat
(
null
,
dto
.
getName
());
Club
club
=
clubConverter
.
createDTOtoClub
(
dto
,
LocalDateTime
.
now
());
Club
club
=
clubConverter
.
createDTOtoClub
(
dto
,
LocalDateTime
.
now
());
clubMapper
.
insert
(
club
);
clubMapper
.
insert
(
club
);
ClubMember
clubMember
=
new
ClubMember
();
clubMember
.
setClubId
(
club
.
getId
());
clubMember
.
setType
(
ClubMemberType
.
CHAIRMAN
);
clubMember
.
setSportUserId
(
dto
.
getCreateUser
());
clubMember
.
setDeleted
(
0
);
clubMemberMapper
.
insert
(
clubMember
);
return
club
.
getId
();
return
club
.
getId
();
}
}
...
@@ -81,7 +89,7 @@ public class ClubService {
...
@@ -81,7 +89,7 @@ public class ClubService {
*/
*/
public
Long
createClubNotice
(
CreateClubNoticeDTO
dto
)
{
public
Long
createClubNotice
(
CreateClubNoticeDTO
dto
)
{
this
.
checkClubChairman
(
dto
.
getClubId
(),
dto
.
getCreateUser
());
this
.
checkClubChairman
(
dto
.
getClubId
(),
dto
.
getCreateUser
());
ClubNotice
notice
=
clubConverter
.
createClubNoticeDTOToClubNotice
(
dto
,
LocalDateTime
.
now
());
ClubNotice
notice
=
clubConverter
.
createClubNoticeDTOToClubNotice
(
dto
,
LocalDateTime
.
now
());
clubNoticeMapper
.
insert
(
notice
);
clubNoticeMapper
.
insert
(
notice
);
return
notice
.
getId
();
return
notice
.
getId
();
}
}
...
@@ -94,15 +102,16 @@ public class ClubService {
...
@@ -94,15 +102,16 @@ public class ClubService {
*/
*/
public
void
updateClubNotice
(
UpdateClubNoticeDTO
dto
)
{
public
void
updateClubNotice
(
UpdateClubNoticeDTO
dto
)
{
this
.
checkClubChairman
(
dto
.
getClubId
(),
dto
.
getSportUserId
());
this
.
checkClubChairman
(
dto
.
getClubId
(),
dto
.
getSportUserId
());
ClubNotice
notice
=
clubConverter
.
updateClubNoticeDTOToClubNotice
(
dto
,
LocalDateTime
.
now
());
ClubNotice
notice
=
clubConverter
.
updateClubNoticeDTOToClubNotice
(
dto
,
LocalDateTime
.
now
());
clubNoticeMapper
.
updateById
(
notice
);
clubNoticeMapper
.
updateById
(
notice
);
}
}
/**
/**
* 删除比赛通知
* 删除比赛通知
*
* @param dto
* @param dto
*/
*/
public
void
deleteClubNotice
(
DeleteClubNoticeDTO
dto
){
public
void
deleteClubNotice
(
DeleteClubNoticeDTO
dto
)
{
this
.
checkClubChairman
(
dto
.
getClubId
(),
dto
.
getSportUserId
());
this
.
checkClubChairman
(
dto
.
getClubId
(),
dto
.
getSportUserId
());
ClubNotice
notice
=
new
ClubNotice
();
ClubNotice
notice
=
new
ClubNotice
();
notice
.
setId
(
dto
.
getId
());
notice
.
setId
(
dto
.
getId
());
...
@@ -128,4 +137,74 @@ public class ClubService {
...
@@ -128,4 +137,74 @@ public class ClubService {
throw
new
BusinessException
(
"您不是当前俱乐部会长,不能进行当前操作"
);
throw
new
BusinessException
(
"您不是当前俱乐部会长,不能进行当前操作"
);
}
}
}
}
/**
* 加入俱乐部
*
* @param dto
*/
@Transactional
public
void
join
(
JoinOrLeaveClubDTO
dto
)
{
Club
club
=
clubMapper
.
selectById
(
dto
.
getClubId
());
if
(
club
==
null
)
{
throw
new
BusinessException
(
"您要加入的俱乐部不存在"
);
}
this
.
checkJoin
(
dto
.
getSportUserId
());
ClubMember
clubMember
=
new
ClubMember
();
clubMember
.
setClubId
(
dto
.
getClubId
());
clubMember
.
setType
(
ClubMemberType
.
CHAIRMAN
);
clubMember
.
setSportUserId
(
dto
.
getSportUserId
());
clubMember
.
setDeleted
(
0
);
clubMemberMapper
.
insert
(
clubMember
);
this
.
updateClubMemberNum
(
dto
.
getClubId
());
}
/**
* 离开俱乐部
*
* @param dto
*/
@Transactional
public
void
leave
(
JoinOrLeaveClubDTO
dto
)
{
ClubMember
clubMember
=
new
ClubMember
();
clubMember
.
setDeleted
(
1
);
QueryWrapper
<
ClubMember
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"deleted"
,
0
);
queryWrapper
.
eq
(
"club_id"
,
dto
.
getClubId
());
queryWrapper
.
eq
(
"sport_user_id"
,
dto
.
getSportUserId
());
clubMemberMapper
.
update
(
clubMember
,
queryWrapper
);
this
.
updateClubMemberNum
(
dto
.
getClubId
());
}
/**
* 验证用户是否已经加入俱乐部
*/
private
void
checkJoin
(
Long
sportUserId
)
{
QueryWrapper
<
ClubMember
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"deleted"
,
0
);
queryWrapper
.
eq
(
"sport_user_id"
,
sportUserId
);
ClubMember
clubMember
=
clubMemberMapper
.
selectOne
(
queryWrapper
);
if
(
clubMember
!=
null
)
{
throw
new
BusinessException
(
"您已经加入过俱乐部,不能同时加入多个俱乐部"
);
}
}
/**
* 查询俱乐部当前会员总数
*
* @param clubId
* @return
*/
private
void
updateClubMemberNum
(
Long
clubId
)
{
QueryWrapper
<
ClubMember
>
countQuery
=
new
QueryWrapper
<>();
countQuery
.
eq
(
"club_id"
,
clubId
);
countQuery
.
eq
(
"deleted"
,
0
);
Club
club
=
new
Club
();
club
.
setId
(
clubId
);
club
.
setMemberNumber
(
clubMemberMapper
.
selectCount
(
countQuery
));
clubMapper
.
updateById
(
club
);
}
}
}
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