From f893294076413bcc3f68d386be37684752124e78 Mon Sep 17 00:00:00 2001 From: ruibaby Date: Thu, 25 Apr 2019 01:41:41 +0800 Subject: [PATCH] Create gallery save api for gallery. --- .../admin/api/GalleryController.java | 8 +++++ .../controller/admin/api/LogController.java | 4 +-- .../admin/api/OptionController.java | 4 +-- .../controller/admin/api/PostController.java | 1 - .../controller/admin/api/TagController.java | 10 +++--- .../controller/admin/api/UserController.java | 2 +- .../halo/app/model/params/GalleryParam.java | 35 +++++++++++++++++++ .../run/halo/app/service/GalleryService.java | 10 ++++++ .../app/service/impl/GalleryServiceImpl.java | 8 +++++ 9 files changed, 71 insertions(+), 11 deletions(-) create mode 100644 src/main/java/run/halo/app/model/params/GalleryParam.java diff --git a/src/main/java/run/halo/app/controller/admin/api/GalleryController.java b/src/main/java/run/halo/app/controller/admin/api/GalleryController.java index c70dbfac..c2e89557 100644 --- a/src/main/java/run/halo/app/controller/admin/api/GalleryController.java +++ b/src/main/java/run/halo/app/controller/admin/api/GalleryController.java @@ -8,9 +8,12 @@ import org.springframework.data.web.PageableDefault; import org.springframework.data.web.SortDefault; import org.springframework.web.bind.annotation.*; import run.halo.app.model.dto.GalleryDTO; +import run.halo.app.model.entity.Gallery; +import run.halo.app.model.params.GalleryParam; import run.halo.app.model.params.GalleryQuery; import run.halo.app.service.GalleryService; +import javax.validation.Valid; import java.util.List; import static org.springframework.data.domain.Sort.Direction.DESC; @@ -70,4 +73,9 @@ public class GalleryController { public void deletePermanently(@PathVariable("galleryId") Integer galleryId) { galleryService.removeById(galleryId); } + + @PostMapping + public Gallery createBy(@Valid @RequestBody GalleryParam galleryParam) { + return galleryService.createBy(galleryParam); + } } diff --git a/src/main/java/run/halo/app/controller/admin/api/LogController.java b/src/main/java/run/halo/app/controller/admin/api/LogController.java index 03af46f9..41ba1534 100644 --- a/src/main/java/run/halo/app/controller/admin/api/LogController.java +++ b/src/main/java/run/halo/app/controller/admin/api/LogController.java @@ -1,12 +1,12 @@ package run.halo.app.controller.admin.api; -import run.halo.app.model.dto.LogDTO; -import run.halo.app.service.LogService; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import run.halo.app.model.dto.LogDTO; +import run.halo.app.service.LogService; import java.util.List; diff --git a/src/main/java/run/halo/app/controller/admin/api/OptionController.java b/src/main/java/run/halo/app/controller/admin/api/OptionController.java index 511460e0..622394c3 100644 --- a/src/main/java/run/halo/app/controller/admin/api/OptionController.java +++ b/src/main/java/run/halo/app/controller/admin/api/OptionController.java @@ -1,10 +1,10 @@ package run.halo.app.controller.admin.api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; import run.halo.app.model.dto.OptionDTO; import run.halo.app.model.params.OptionParam; import run.halo.app.service.OptionService; -import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; diff --git a/src/main/java/run/halo/app/controller/admin/api/PostController.java b/src/main/java/run/halo/app/controller/admin/api/PostController.java index a0eca127..c3762d4c 100644 --- a/src/main/java/run/halo/app/controller/admin/api/PostController.java +++ b/src/main/java/run/halo/app/controller/admin/api/PostController.java @@ -8,7 +8,6 @@ import org.springframework.web.bind.annotation.*; import run.halo.app.model.dto.post.PostMinimalDTO; import run.halo.app.model.dto.post.PostSimpleDTO; import run.halo.app.model.entity.Post; -import run.halo.app.model.entity.Sheet; import run.halo.app.model.enums.PostStatus; import run.halo.app.model.params.PostParam; import run.halo.app.model.params.PostQuery; diff --git a/src/main/java/run/halo/app/controller/admin/api/TagController.java b/src/main/java/run/halo/app/controller/admin/api/TagController.java index 01c2a695..276ad71e 100644 --- a/src/main/java/run/halo/app/controller/admin/api/TagController.java +++ b/src/main/java/run/halo/app/controller/admin/api/TagController.java @@ -1,15 +1,15 @@ package run.halo.app.controller.admin.api; -import run.halo.app.model.dto.TagDTO; -import run.halo.app.model.entity.Tag; -import run.halo.app.model.params.TagParam; -import run.halo.app.service.PostTagService; -import run.halo.app.service.TagService; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.Sort; import org.springframework.data.web.SortDefault; import org.springframework.web.bind.annotation.*; +import run.halo.app.model.dto.TagDTO; +import run.halo.app.model.entity.Tag; +import run.halo.app.model.params.TagParam; +import run.halo.app.service.PostTagService; +import run.halo.app.service.TagService; import javax.validation.Valid; import java.util.List; diff --git a/src/main/java/run/halo/app/controller/admin/api/UserController.java b/src/main/java/run/halo/app/controller/admin/api/UserController.java index 7e849029..a5736e1a 100644 --- a/src/main/java/run/halo/app/controller/admin/api/UserController.java +++ b/src/main/java/run/halo/app/controller/admin/api/UserController.java @@ -1,11 +1,11 @@ package run.halo.app.controller.admin.api; +import org.springframework.web.bind.annotation.*; import run.halo.app.model.dto.UserDTO; import run.halo.app.model.entity.User; import run.halo.app.model.params.PasswordParam; import run.halo.app.model.params.UserParam; import run.halo.app.service.UserService; -import org.springframework.web.bind.annotation.*; import javax.validation.Valid; diff --git a/src/main/java/run/halo/app/model/params/GalleryParam.java b/src/main/java/run/halo/app/model/params/GalleryParam.java new file mode 100644 index 00000000..8f6d2c22 --- /dev/null +++ b/src/main/java/run/halo/app/model/params/GalleryParam.java @@ -0,0 +1,35 @@ +package run.halo.app.model.params; + +import lombok.Data; +import run.halo.app.model.dto.base.InputConverter; +import run.halo.app.model.entity.Gallery; + +import javax.validation.constraints.NotBlank; +import java.util.Date; + +/** + * Post param. + * + * @author RYAN0UP + * @date 2019/04/25 + */ +@Data +public class GalleryParam implements InputConverter { + + @NotBlank(message = "Gallery name must not be blank") + private String name; + + private String description; + + private Date takeTime; + + private String location; + + @NotBlank(message = "Gallery thumbnail must not be blank") + private String thumbnail; + + @NotBlank(message = "Gallery url must not be blank") + private String url; + + private String team; +} diff --git a/src/main/java/run/halo/app/service/GalleryService.java b/src/main/java/run/halo/app/service/GalleryService.java index e1b773ca..0cbf1e7e 100644 --- a/src/main/java/run/halo/app/service/GalleryService.java +++ b/src/main/java/run/halo/app/service/GalleryService.java @@ -6,6 +6,7 @@ import org.springframework.data.domain.Sort; import org.springframework.lang.NonNull; import run.halo.app.model.dto.GalleryDTO; import run.halo.app.model.entity.Gallery; +import run.halo.app.model.params.GalleryParam; import run.halo.app.model.params.GalleryQuery; import run.halo.app.model.vo.GalleryTeamVO; import run.halo.app.service.base.CrudService; @@ -53,4 +54,13 @@ public interface GalleryService extends CrudService { */ @NonNull Page pageDtosBy(@NonNull Pageable pageable, GalleryQuery galleryQuery); + + /** + * Creates gallery by gallery param. + * + * @param galleryParam must not be null + * @return create gallery + */ + @NonNull + Gallery createBy(@NonNull GalleryParam galleryParam); } diff --git a/src/main/java/run/halo/app/service/impl/GalleryServiceImpl.java b/src/main/java/run/halo/app/service/impl/GalleryServiceImpl.java index 1fb14e69..ed46e58a 100644 --- a/src/main/java/run/halo/app/service/impl/GalleryServiceImpl.java +++ b/src/main/java/run/halo/app/service/impl/GalleryServiceImpl.java @@ -10,6 +10,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.Assert; import run.halo.app.model.dto.GalleryDTO; import run.halo.app.model.entity.Gallery; +import run.halo.app.model.params.GalleryParam; import run.halo.app.model.params.GalleryQuery; import run.halo.app.model.vo.GalleryTeamVO; import run.halo.app.repository.GalleryRepository; @@ -111,6 +112,13 @@ public class GalleryServiceImpl extends AbstractCrudService im return galleryPage.map(gallery -> new GalleryDTO().convertFrom(gallery)); } + @Override + public Gallery createBy(GalleryParam galleryParam) { + Assert.notNull(galleryParam, "Gallery param must not be null"); + + return create(galleryParam.convertTo()); + } + @NonNull private Specification buildSpecByQuery(@NonNull GalleryQuery galleryQuery) { Assert.notNull(galleryQuery, "Attachment query must not be null"); -- GitLab