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
c16860a4
Commit
c16860a4
authored
Jul 14, 2022
by
liming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
俱乐部创建与修改
parent
a2aec4a6
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
215 additions
and
1 deletion
+215
-1
Club.java
.../antai/sport/http/server/repository/club/entity/Club.java
+3
-1
ClubController.java
...r/server/api/business/club/controller/ClubController.java
+35
-0
ClubConverter.java
...ver/server/api/business/club/converter/ClubConverter.java
+25
-0
CreateClubReqDTO.java
...server/server/api/business/club/dto/CreateClubReqDTO.java
+26
-0
UpdateClubReqDTO.java
...server/server/api/business/club/dto/UpdateClubReqDTO.java
+20
-0
ClubBusinessMapper.java
...r/server/api/business/club/mapper/ClubBusinessMapper.java
+22
-0
ClubService.java
.../server/server/api/business/club/service/ClubService.java
+65
-0
ClubBusinessMapper.xml
...api/src/main/resources/mapper/club/ClubBusinessMapper.xml
+19
-0
No files found.
repository/src/main/java/com/antai/sport/http/server/repository/club/entity/Club.java
View file @
c16860a4
...
...
@@ -3,6 +3,8 @@ package com.antai.sport.http.server.repository.club.entity;
import
java.math.BigDecimal
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.io.Serializable
;
import
lombok.Data
;
...
...
@@ -76,7 +78,7 @@ public class Club implements Serializable {
/**
* 俱乐部创建时间
*/
private
LocalDate
Time
clubCreateTime
;
private
LocalDate
clubCreateTime
;
/**
* 创建人id
...
...
server-api/src/main/java/com/antai/sport/http/server/server/api/business/club/controller/ClubController.java
0 → 100644
View file @
c16860a4
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
club
.
controller
;
import
com.antai.sport.http.server.common.base.Result
;
import
com.antai.sport.http.server.server.api.business.club.dto.CreateClubReqDTO
;
import
com.antai.sport.http.server.server.api.business.club.dto.UpdateClubReqDTO
;
import
com.antai.sport.http.server.server.api.business.club.service.ClubService
;
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
static
com
.
antai
.
sport
.
http
.
server
.
common
.
util
.
ResultUtil
.
success
;
@RequestMapping
(
"/club"
)
@RestController
@Api
(
tags
=
{
"俱乐部"
})
public
class
ClubController
{
@Resource
private
ClubService
clubService
;
@ApiOperation
(
"创建俱乐部"
)
@PostMapping
public
ResponseEntity
<
Result
<
Long
>>
create
(
@RequestBody
CreateClubReqDTO
dto
)
{
return
success
(
clubService
.
create
(
dto
));
}
@ApiOperation
(
"修改俱乐部信息"
)
@PutMapping
public
ResponseEntity
<
Result
>
update
(
@RequestBody
UpdateClubReqDTO
dto
)
{
clubService
.
update
(
dto
);
return
success
();
}
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/club/converter/ClubConverter.java
0 → 100644
View file @
c16860a4
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
club
.
converter
;
import
com.antai.sport.http.server.repository.club.entity.Club
;
import
com.antai.sport.http.server.server.api.business.club.dto.CreateClubReqDTO
;
import
com.antai.sport.http.server.server.api.business.club.dto.UpdateClubReqDTO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapping
;
import
java.time.LocalDateTime
;
@Mapper
(
componentModel
=
"spring"
)
public
interface
ClubConverter
{
@Mapping
(
target
=
"chairmanId"
,
source
=
"source.createUser"
)
@Mapping
(
target
=
"createTime"
,
source
=
"now"
)
@Mapping
(
target
=
"updateTime"
,
source
=
"now"
)
@Mapping
(
target
=
"totalClimbDistance"
,
constant
=
"0"
)
@Mapping
(
target
=
"totalDistance"
,
constant
=
"0"
)
@Mapping
(
target
=
"totalDuration"
,
constant
=
"0"
)
@Mapping
(
target
=
"totalCalorie"
,
constant
=
"0"
)
Club
createDTOtoClub
(
CreateClubReqDTO
source
,
LocalDateTime
now
);
@Mapping
(
target
=
"updateTime"
,
source
=
"now"
)
Club
updateDTOtoClub
(
UpdateClubReqDTO
source
,
LocalDateTime
now
);
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/club/dto/CreateClubReqDTO.java
0 → 100644
View file @
c16860a4
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
club
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.time.LocalDate
;
@ApiModel
(
"俱乐部新建对象"
)
@Data
public
class
CreateClubReqDTO
{
@ApiModelProperty
(
"俱乐部名称"
)
private
String
name
;
@ApiModelProperty
(
"logo"
)
private
String
logo
;
@ApiModelProperty
(
"省id"
)
private
Long
province
;
@ApiModelProperty
(
"市id"
)
private
Long
city
;
@ApiModelProperty
(
"创建时间 yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
LocalDate
clubCreateTime
;
@ApiModelProperty
(
"创建人"
)
private
Long
createUser
;
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/club/dto/UpdateClubReqDTO.java
0 → 100644
View file @
c16860a4
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
UpdateClubReqDTO
{
@ApiModelProperty
(
"Id"
)
private
Long
Id
;
@ApiModelProperty
(
"俱乐部名称"
)
private
String
name
;
@ApiModelProperty
(
"logo"
)
private
String
logo
;
@ApiModelProperty
(
"省id"
)
private
Long
province
;
@ApiModelProperty
(
"市id"
)
private
Long
city
;
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/club/mapper/ClubBusinessMapper.java
0 → 100644
View file @
c16860a4
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
club
.
mapper
;
import
org.apache.ibatis.annotations.Param
;
public
interface
ClubBusinessMapper
{
/**
* 检测俱乐部名称是否重复
* @param id
* @param name
* @return
*/
Boolean
checkClubNameRepeat
(
@Param
(
"id"
)
Long
id
,
@Param
(
"name"
)
String
name
);
/**
* 验证当前玩家是否已经是俱乐部会长
* @param playerId
* @return
*/
Boolean
checkChairman
(
@Param
(
"playerId"
)
Long
playerId
);
}
server-api/src/main/java/com/antai/sport/http/server/server/api/business/club/service/ClubService.java
0 → 100644
View file @
c16860a4
package
com
.
antai
.
sport
.
http
.
server
.
server
.
api
.
business
.
club
.
service
;
import
com.antai.sport.http.server.common.exception.BusinessException
;
import
com.antai.sport.http.server.repository.club.entity.Club
;
import
com.antai.sport.http.server.repository.club.mapper.ClubMapper
;
import
com.antai.sport.http.server.server.api.business.club.converter.ClubConverter
;
import
com.antai.sport.http.server.server.api.business.club.dto.CreateClubReqDTO
;
import
com.antai.sport.http.server.server.api.business.club.dto.UpdateClubReqDTO
;
import
com.antai.sport.http.server.server.api.business.club.mapper.ClubBusinessMapper
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
@Service
public
class
ClubService
{
@Resource
private
ClubMapper
clubMapper
;
@Resource
private
ClubBusinessMapper
clubBusinessMapper
;
@Resource
private
ClubConverter
clubConverter
;
/**
* 创建俱乐部
*
* @param dto
* @return
*/
public
Long
create
(
CreateClubReqDTO
dto
)
{
if
(
clubBusinessMapper
.
checkChairman
(
dto
.
getCreateUser
()))
{
throw
new
BusinessException
(
"您已经是俱乐部会长,不能创建多个俱乐部"
);
}
checkClubNameRepeat
(
null
,
dto
.
getName
());
Club
club
=
clubConverter
.
createDTOtoClub
(
dto
,
LocalDateTime
.
now
());
clubMapper
.
insert
(
club
);
return
club
.
getId
();
}
/**
* 修改俱乐部信息
*
* @param dto
*/
public
void
update
(
UpdateClubReqDTO
dto
)
{
checkClubNameRepeat
(
dto
.
getId
(),
dto
.
getName
());
Club
club
=
clubConverter
.
updateDTOtoClub
(
dto
,
LocalDateTime
.
now
());
clubMapper
.
updateById
(
club
);
}
/**
* 校验俱乐部名称是否重复
*
* @param id
* @param name
*/
private
void
checkClubNameRepeat
(
Long
id
,
String
name
)
{
if
(
clubBusinessMapper
.
checkClubNameRepeat
(
id
,
name
))
{
throw
new
BusinessException
(
"俱乐部名称重复,请换一个名称试试"
);
}
}
}
server-api/src/main/resources/mapper/club/ClubBusinessMapper.xml
0 → 100644
View file @
c16860a4
<?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.club.mapper.ClubBusinessMapper"
>
<select
id=
"checkClubNameRepeat"
resultType=
"java.lang.Boolean"
>
select count(1)>0
from club
where name = #{name}
<if
test=
"id != null"
>
and id != #{id}
</if>
</select>
<select
id=
"checkChairman"
resultType=
"java.lang.Boolean"
>
select count(1) > 0
from club
where chairman_id = #{playerId}
</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