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
b64baef8
Commit
b64baef8
authored
Feb 02, 2020
by
Author name
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2.2发布动态完成
parent
c98ba008
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
194 additions
and
0 deletions
+194
-0
src/main/java/cn/meteor/beyondclouds/modules/post/api/postApi.java
+69
-0
src/main/java/cn/meteor/beyondclouds/modules/post/entity/Post.java
+3
-0
src/main/java/cn/meteor/beyondclouds/modules/post/enums/PostCommentErrorCode.java
+29
-0
src/main/java/cn/meteor/beyondclouds/modules/post/enums/PostErrorCode.java
+32
-0
src/main/java/cn/meteor/beyondclouds/modules/post/form/PostForm.java
+23
-0
src/main/java/cn/meteor/beyondclouds/modules/post/service/IPostService.java
+7
-0
src/main/java/cn/meteor/beyondclouds/modules/post/service/impl/PostServiceImpl.java
+31
-0
No files found.
src/main/java/cn/meteor/beyondclouds/modules/post/api/postApi.java
View file @
b64baef8
package
cn
.
meteor
.
beyondclouds
.
modules
.
post
.
api
;
package
cn
.
meteor
.
beyondclouds
.
modules
.
post
.
api
;
import
cn.meteor.beyondclouds.common.form.PageForm
;
import
cn.meteor.beyondclouds.core.annotation.CurrentSubject
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.bean.Subject
;
import
cn.meteor.beyondclouds.modules.post.entity.Post
;
import
cn.meteor.beyondclouds.modules.post.form.PostForm
;
import
cn.meteor.beyondclouds.modules.post.service.IPostService
;
import
cn.meteor.beyondclouds.modules.project.exception.ProjectServiceException
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
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
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
/**
* @author gaoTong
* @author gaoTong
* @date 2020/2/2 9:40
* @date 2020/2/2 9:40
*/
*/
@Api
(
tags
=
"动态API"
)
@RequestMapping
(
"/api"
)
@RestController
public
class
postApi
{
public
class
postApi
{
private
IPostService
postService
;
@Autowired
public
void
setPostService
(
IPostService
postService
)
{
this
.
postService
=
postService
;
}
@ApiOperation
(
"发布项目"
)
@PostMapping
(
"/post"
)
public
Response
publishPost
(
@RequestBody
@Valid
PostForm
postForm
,
BindingResult
result
,
@CurrentSubject
Subject
subject
)
{
//对图片进行类型转换
Post
post
=
new
Post
();
BeanUtils
.
copyProperties
(
postForm
,
post
);
if
(
null
!=
post
.
getPictures
()){
post
.
setPictures
(
postForm
.
getPictures
()
.
stream
().
map
(
String:
:
valueOf
)
.
collect
(
Collectors
.
joining
(
","
)));
}
post
.
setUserId
((
String
)
subject
.
getId
());
//发布动态
try
{
postService
.
publishPost
(
post
);
return
Response
.
success
();
}
catch
(
ProjectServiceException
e
)
{
e
.
printStackTrace
();
return
Response
.
error
(
e
);
}
}
public
static
void
main
(
String
[]
args
)
{
//java8特性
String
ids
=
"1,2,3,4,5,6"
;
List
<
Long
>
listIds
=
Arrays
.
asList
(
ids
.
split
(
","
)).
stream
().
map
(
s
->
Long
.
parseLong
(
s
.
trim
())).
collect
(
Collectors
.
toList
());
System
.
out
.
println
(
Arrays
.
toString
(
listIds
.
toArray
()));
}
}
}
src/main/java/cn/meteor/beyondclouds/modules/post/entity/Post.java
View file @
b64baef8
...
@@ -41,6 +41,9 @@ public class Post implements Serializable {
...
@@ -41,6 +41,9 @@ public class Post implements Serializable {
@ApiModelProperty
(
value
=
"动态里面的图片"
)
@ApiModelProperty
(
value
=
"动态里面的图片"
)
private
String
pictures
;
private
String
pictures
;
@ApiModelProperty
(
value
=
"动态中的视频"
)
private
String
video
;
private
LocalDateTime
createTime
;
private
LocalDateTime
createTime
;
private
LocalDateTime
updateTime
;
private
LocalDateTime
updateTime
;
...
...
src/main/java/cn/meteor/beyondclouds/modules/post/enums/PostCommentErrorCode.java
0 → 100644
View file @
b64baef8
package
cn
.
meteor
.
beyondclouds
.
modules
.
post
.
enums
;
import
cn.meteor.beyondclouds.core.IErrorCode
;
/**
* @author gaoTong
* @date 2020/2/2 14:43
*/
public
enum
PostCommentErrorCode
implements
IErrorCode
{
;
private
long
code
;
private
String
msg
;
PostCommentErrorCode
(
long
code
,
String
msg
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
}
@Override
public
long
code
()
{
return
code
;
}
@Override
public
String
msg
()
{
return
msg
;
}
}
src/main/java/cn/meteor/beyondclouds/modules/post/enums/PostErrorCode.java
0 → 100644
View file @
b64baef8
package
cn
.
meteor
.
beyondclouds
.
modules
.
post
.
enums
;
import
cn.meteor.beyondclouds.core.IErrorCode
;
/**
* @author gaoTong
* @date 2020/2/2 14:43
*/
public
enum
PostErrorCode
implements
IErrorCode
{
NOT_APPEAR_SAME_TIME
(
10001
,
"视频和图片不能同时出现"
),
POST_MUST_NOT_NULL
(
10002
,
"动态无内容"
)
;
private
long
code
;
private
String
msg
;
PostErrorCode
(
long
code
,
String
msg
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
}
@Override
public
long
code
()
{
return
code
;
}
@Override
public
String
msg
()
{
return
msg
;
}
}
src/main/java/cn/meteor/beyondclouds/modules/post/form/PostForm.java
0 → 100644
View file @
b64baef8
package
cn
.
meteor
.
beyondclouds
.
modules
.
post
.
form
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotEmpty
;
import
java.util.List
;
/**
* @author gaoTong
* @date 2020/2/2 15:25
*/
@Data
public
class
PostForm
{
private
String
content
;
private
List
<
String
>
pictures
;
private
String
video
;
}
src/main/java/cn/meteor/beyondclouds/modules/post/service/IPostService.java
View file @
b64baef8
package
cn
.
meteor
.
beyondclouds
.
modules
.
post
.
service
;
package
cn
.
meteor
.
beyondclouds
.
modules
.
post
.
service
;
import
cn.meteor.beyondclouds.modules.post.entity.Post
;
import
cn.meteor.beyondclouds.modules.post.entity.Post
;
import
cn.meteor.beyondclouds.modules.project.exception.ProjectServiceException
;
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
IPostService
extends
IService
<
Post
>
{
public
interface
IPostService
extends
IService
<
Post
>
{
/**
* 发布动态
* @param post
*/
void
publishPost
(
Post
post
)
throws
ProjectServiceException
;
}
}
src/main/java/cn/meteor/beyondclouds/modules/post/service/impl/PostServiceImpl.java
View file @
b64baef8
package
cn
.
meteor
.
beyondclouds
.
modules
.
post
.
service
.
impl
;
package
cn
.
meteor
.
beyondclouds
.
modules
.
post
.
service
.
impl
;
import
cn.meteor.beyondclouds.modules.post.entity.Post
;
import
cn.meteor.beyondclouds.modules.post.entity.Post
;
import
cn.meteor.beyondclouds.modules.post.enums.PostErrorCode
;
import
cn.meteor.beyondclouds.modules.post.mapper.PostMapper
;
import
cn.meteor.beyondclouds.modules.post.mapper.PostMapper
;
import
cn.meteor.beyondclouds.modules.post.service.IPostService
;
import
cn.meteor.beyondclouds.modules.post.service.IPostService
;
import
cn.meteor.beyondclouds.modules.project.exception.ProjectServiceException
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -17,4 +19,33 @@ import org.springframework.stereotype.Service;
...
@@ -17,4 +19,33 @@ import org.springframework.stereotype.Service;
@Service
@Service
public
class
PostServiceImpl
extends
ServiceImpl
<
PostMapper
,
Post
>
implements
IPostService
{
public
class
PostServiceImpl
extends
ServiceImpl
<
PostMapper
,
Post
>
implements
IPostService
{
@Override
public
void
publishPost
(
Post
post
)
throws
ProjectServiceException
{
//1.判断是否视频和图片都传了
if
(
null
!=
post
.
getPictures
()
&&
null
!=
post
.
getVideo
())
{
throw
new
ProjectServiceException
(
PostErrorCode
.
NOT_APPEAR_SAME_TIME
);
}
//2.当有图片或者视频时可以没有内容
if
(
null
==
post
.
getContent
()
&&
null
==
post
.
getPictures
()
&&
null
==
post
.
getVideo
())
{
throw
new
ProjectServiceException
(
PostErrorCode
.
POST_MUST_NOT_NULL
);
}
//2.判断动态类型 0:普通动态 1:图片动态 2:视频动态
int
type
;
if
(
null
==
post
.
getVideo
()
&&
null
==
post
.
getPictures
())
{
type
=
0
;
}
else
if
(
null
==
post
.
getVideo
()
&&
null
!=
post
.
getPictures
())
{
type
=
1
;
}
else
{
type
=
2
;
}
post
.
setType
(
type
);
//2.保存动态
save
(
post
);
}
}
}
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