Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
beyond-clouds
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
4
Issues
4
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
段启岩
beyond-clouds
Commits
343cb12e
Commit
343cb12e
authored
Feb 02, 2020
by
胡明森
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
创建标签
parent
d54b932c
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
183 additions
and
2 deletions
+183
-2
src/main/java/cn/meteor/beyondclouds/modules/tag/api/TagApi.java
+51
-0
src/main/java/cn/meteor/beyondclouds/modules/tag/enums/TagErrorCode.java
+33
-0
src/main/java/cn/meteor/beyondclouds/modules/tag/exception/TagServiceException.java
+23
-0
src/main/java/cn/meteor/beyondclouds/modules/tag/form/CreateTagForm.java
+24
-0
src/main/java/cn/meteor/beyondclouds/modules/tag/mapper/TagMapper.java
+3
-0
src/main/java/cn/meteor/beyondclouds/modules/tag/mapper/xml/TagMapper.xml
+4
-0
src/main/java/cn/meteor/beyondclouds/modules/tag/service/ITagService.java
+7
-0
src/main/java/cn/meteor/beyondclouds/modules/tag/service/impl/TagServiceImpl.java
+38
-0
src/main/java/cn/meteor/beyondclouds/modules/topic/api/TopicApi.java
+0
-2
No files found.
src/main/java/cn/meteor/beyondclouds/modules/tag/api/TagApi.java
0 → 100644
View file @
343cb12e
package
cn
.
meteor
.
beyondclouds
.
modules
.
tag
.
api
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.modules.tag.exception.TagServiceException
;
import
cn.meteor.beyondclouds.modules.tag.form.CreateTagForm
;
import
cn.meteor.beyondclouds.modules.tag.service.ITagService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.validation.Valid
;
/**
* @author 胡明森
* @since 2020/2/2
*/
@Api
(
tags
=
"标签Api"
)
@RestController
@RequestMapping
(
"/api"
)
public
class
TagApi
{
private
ITagService
tagService
;
@Autowired
public
void
setTagService
(
ITagService
tagService
)
{
this
.
tagService
=
tagService
;
}
@ApiOperation
(
"创建标签"
)
@PostMapping
(
"/tag"
)
public
Response
createTag
(
@RequestBody
@Valid
CreateTagForm
createTagForm
,
BindingResult
bindingResult
)
{
if
(
bindingResult
.
hasErrors
())
{
return
Response
.
fieldError
(
bindingResult
.
getFieldError
());
}
try
{
tagService
.
createTag
(
createTagForm
.
getTagName
(),
createTagForm
.
getTagType
());
return
Response
.
success
();
}
catch
(
TagServiceException
e
)
{
e
.
printStackTrace
();
return
Response
.
error
(
e
);
}
}
}
src/main/java/cn/meteor/beyondclouds/modules/tag/enums/TagErrorCode.java
0 → 100644
View file @
343cb12e
package
cn
.
meteor
.
beyondclouds
.
modules
.
tag
.
enums
;
import
cn.meteor.beyondclouds.core.IErrorCode
;
/**
* 标签相关错误码
* @author 胡明森
*/
public
enum
TagErrorCode
implements
IErrorCode
{
/**
* 标签类型存在
*/
TAGTYPE_EXISTS
(
3001
,
"该标签存在"
),
TAGTYPE_NOT_EXISTS
(
3002
,
"该标签类型不存在"
);
TagErrorCode
(
long
code
,
String
msg
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
}
private
long
code
;
private
String
msg
;
@Override
public
long
code
()
{
return
code
;
}
@Override
public
String
msg
()
{
return
msg
;
}
}
src/main/java/cn/meteor/beyondclouds/modules/tag/exception/TagServiceException.java
0 → 100644
View file @
343cb12e
package
cn
.
meteor
.
beyondclouds
.
modules
.
tag
.
exception
;
import
cn.meteor.beyondclouds.core.IErrorCode
;
import
cn.meteor.beyondclouds.core.exception.ServiceException
;
import
lombok.Data
;
/**
* 标签业务异常
* @author 胡明森
* @since 2020/2/2
*/
@Data
public
class
TagServiceException
extends
ServiceException
{
public
TagServiceException
(
long
errorCode
,
String
errorMsg
)
{
super
(
errorCode
,
errorMsg
);
}
public
TagServiceException
(
IErrorCode
errorCode
)
{
this
(
errorCode
.
code
(),
errorCode
.
msg
());
}
}
src/main/java/cn/meteor/beyondclouds/modules/tag/form/CreateTagForm.java
0 → 100644
View file @
343cb12e
package
cn
.
meteor
.
beyondclouds
.
modules
.
tag
.
form
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotEmpty
;
/**
* @author 胡明森
* @since 2020/1/28
*/
@ApiModel
(
"创建标签表单"
)
@Data
public
class
CreateTagForm
{
@ApiModelProperty
(
"标签名称"
)
@NotEmpty
(
message
=
"标签名称不能为空"
)
private
String
tagName
;
@ApiModelProperty
(
"标签类型"
)
private
Integer
tagType
;
}
src/main/java/cn/meteor/beyondclouds/modules/tag/mapper/TagMapper.java
View file @
343cb12e
...
@@ -2,6 +2,7 @@ package cn.meteor.beyondclouds.modules.tag.mapper;
...
@@ -2,6 +2,7 @@ package cn.meteor.beyondclouds.modules.tag.mapper;
import
cn.meteor.beyondclouds.modules.tag.entity.Tag
;
import
cn.meteor.beyondclouds.modules.tag.entity.Tag
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Component
;
/**
/**
* <p>
* <p>
...
@@ -11,6 +12,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...
@@ -11,6 +12,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @author 段启岩
* @author 段启岩
* @since 2020-01-30
* @since 2020-01-30
*/
*/
@Component
public
interface
TagMapper
extends
BaseMapper
<
Tag
>
{
public
interface
TagMapper
extends
BaseMapper
<
Tag
>
{
Tag
getTags
(
String
tagName
,
Integer
tagType
);
}
}
src/main/java/cn/meteor/beyondclouds/modules/tag/mapper/xml/TagMapper.xml
View file @
343cb12e
...
@@ -2,4 +2,8 @@
...
@@ -2,4 +2,8 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.meteor.beyondclouds.modules.tag.mapper.TagMapper"
>
<mapper
namespace=
"cn.meteor.beyondclouds.modules.tag.mapper.TagMapper"
>
<select
id=
"getTags"
resultType=
"cn.meteor.beyondclouds.modules.tag.entity.Tag"
>
select * from tag where tag_name=#{tagName} and tag_type=#{tagType}
</select>
</mapper>
</mapper>
src/main/java/cn/meteor/beyondclouds/modules/tag/service/ITagService.java
View file @
343cb12e
package
cn
.
meteor
.
beyondclouds
.
modules
.
tag
.
service
;
package
cn
.
meteor
.
beyondclouds
.
modules
.
tag
.
service
;
import
cn.meteor.beyondclouds.modules.tag.entity.Tag
;
import
cn.meteor.beyondclouds.modules.tag.entity.Tag
;
import
cn.meteor.beyondclouds.modules.tag.exception.TagServiceException
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
/**
...
@@ -13,4 +14,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
...
@@ -13,4 +14,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
*/
public
interface
ITagService
extends
IService
<
Tag
>
{
public
interface
ITagService
extends
IService
<
Tag
>
{
/**
* 创建表填
* @param tagName
* @param tagType
*/
void
createTag
(
String
tagName
,
Integer
tagType
)
throws
TagServiceException
;
}
}
src/main/java/cn/meteor/beyondclouds/modules/tag/service/impl/TagServiceImpl.java
View file @
343cb12e
package
cn
.
meteor
.
beyondclouds
.
modules
.
tag
.
service
.
impl
;
package
cn
.
meteor
.
beyondclouds
.
modules
.
tag
.
service
.
impl
;
import
cn.meteor.beyondclouds.modules.tag.entity.Tag
;
import
cn.meteor.beyondclouds.modules.tag.entity.Tag
;
import
cn.meteor.beyondclouds.modules.tag.enums.TagErrorCode
;
import
cn.meteor.beyondclouds.modules.tag.exception.TagServiceException
;
import
cn.meteor.beyondclouds.modules.tag.mapper.TagMapper
;
import
cn.meteor.beyondclouds.modules.tag.mapper.TagMapper
;
import
cn.meteor.beyondclouds.modules.tag.service.ITagService
;
import
cn.meteor.beyondclouds.modules.tag.service.ITagService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
/**
/**
...
@@ -17,4 +20,39 @@ import org.springframework.stereotype.Service;
...
@@ -17,4 +20,39 @@ import org.springframework.stereotype.Service;
@Service
@Service
public
class
TagServiceImpl
extends
ServiceImpl
<
TagMapper
,
Tag
>
implements
ITagService
{
public
class
TagServiceImpl
extends
ServiceImpl
<
TagMapper
,
Tag
>
implements
ITagService
{
//博客标签
private
static
final
long
TAGTYPE_0
=
0
;
//问题标签
private
static
final
long
TAGTYPE_2
=
2
;
//标签类型数量
private
static
final
long
TAGTYPE_NUMBER
=
2
;
private
TagMapper
tagMapper
;
@Autowired
public
void
setTagMapper
(
TagMapper
tagMapper
)
{
this
.
tagMapper
=
tagMapper
;
}
@Override
public
void
createTag
(
String
tagName
,
Integer
tagType
)
throws
TagServiceException
{
//1. 判断标签类型是否正确
if
(
tagType
!=
TAGTYPE_0
&&
tagType
!=
TAGTYPE_2
)
{
throw
new
TagServiceException
(
TagErrorCode
.
TAGTYPE_NOT_EXISTS
);
}
//2. 判断是否存在该标签
Tag
tags
=
tagMapper
.
getTags
(
tagName
,
tagType
);
if
(
tags
!=
null
)
{
throw
new
TagServiceException
(
TagErrorCode
.
TAGTYPE_EXISTS
);
}
//3.储存标签
Tag
tag
=
new
Tag
();
tag
.
setTagName
(
tagName
);
tag
.
setTagType
(
tagType
);
save
(
tag
);
}
}
}
src/main/java/cn/meteor/beyondclouds/modules/topic/api/TopicApi.java
View file @
343cb12e
...
@@ -2,7 +2,6 @@ package cn.meteor.beyondclouds.modules.topic.api;
...
@@ -2,7 +2,6 @@ package cn.meteor.beyondclouds.modules.topic.api;
import
cn.meteor.beyondclouds.common.form.PageForm
;
import
cn.meteor.beyondclouds.common.form.PageForm
;
import
cn.meteor.beyondclouds.common.vo.PageVO
;
import
cn.meteor.beyondclouds.common.vo.PageVO
;
import
cn.meteor.beyondclouds.core.annotation.Anonymous
;
import
cn.meteor.beyondclouds.core.annotation.CurrentSubject
;
import
cn.meteor.beyondclouds.core.annotation.CurrentSubject
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.bean.Subject
;
import
cn.meteor.beyondclouds.core.bean.Subject
;
...
@@ -74,7 +73,6 @@ public class TopicApi {
...
@@ -74,7 +73,6 @@ public class TopicApi {
}
}
@Anonymous
@ApiOperation
(
"话题详情"
)
@ApiOperation
(
"话题详情"
)
@GetMapping
(
"/topic/{topicId}"
)
@GetMapping
(
"/topic/{topicId}"
)
public
Response
getTopic
(
@PathVariable
(
"topicId"
)
String
topicId
)
{
public
Response
getTopic
(
@PathVariable
(
"topicId"
)
String
topicId
)
{
...
...
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