// Path: src/main/java/cn/iflyapi/blog/entity/Carousel.java
// public class Carousel {
//     private Long id;
// 
//     private String title;
// 
//     private String imgUrl;
// 
//     private String detailUrl;
// 
//     private Integer sort;
// 
//     private Date createTime;
// 
//     private Boolean isDelete;
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getImgUrl() {
//         return imgUrl;
//     }
// 
//     public void setImgUrl(String imgUrl) {
//         this.imgUrl = imgUrl;
//     }
// 
//     public String getDetailUrl() {
//         return detailUrl;
//     }
// 
//     public void setDetailUrl(String detailUrl) {
//         this.detailUrl = detailUrl;
//     }
// 
//     public Integer getSort() {
//         return sort;
//     }
// 
//     public void setSort(Integer sort) {
//         this.sort = sort;
//     }
// 
//     public Date getCreateTime() {
//         return createTime;
//     }
// 
//     public void setCreateTime(Date createTime) {
//         this.createTime = createTime;
//     }
// 
//     public Boolean getIsDelete() {
//         return isDelete;
//     }
// 
//     public void setIsDelete(Boolean isDelete) {
//         this.isDelete = isDelete;
//     }
// }
// 
// Path: src/main/java/cn/iflyapi/blog/model/JSONResult.java
// @Getter
// @Setter
// public class JSONResult {
// 
//     private int code;
//     private String msg;
//     private boolean success;
//     private Object data;
// 
//     private JSONResult(int code, String msg, boolean success, Object data) {
//         this.code = code;
//         this.msg = msg;
//         this.success = success;
//         this.data = data;
//     }
// 
//     public static JSONResult ok(int code, String msg, Object data) {
//         return new JSONResult(code, msg, true, data);
//     }
// 
//     public static JSONResult ok(CodeMsgEnum codeMsgEnum, Object data) {
//         return ok(codeMsgEnum.getCode(), codeMsgEnum.getMsg(), data);
//     }
// 
//     public static JSONResult ok(Object data) {
//         return ok(CodeMsgEnum.OK, data);
//     }
// 
//     public static JSONResult ok() {
//         return ok(CodeMsgEnum.OK, null);
//     }
// 
//     public static JSONResult fail(int code, String msg) {
//         return new JSONResult(code, msg, false, null);
//     }
// 
//     public static JSONResult fail(CodeMsgEnum codeMsgEnum, Object data) {
//         return ok(codeMsgEnum.getCode(), codeMsgEnum.getMsg(), data);
//     }
// 
//     public static JSONResult fail(CodeMsgEnum codeMsgEnum) {
//         return ok(codeMsgEnum.getCode(), codeMsgEnum.getMsg(), null);
//     }
// 
//     public static JSONResult fail(Object data) {
//         return ok(CodeMsgEnum.FAIL, data);
//     }
// 
//     public static JSONResult fail() {
//         return ok(CodeMsgEnum.FAIL, null);
//     }
// }
// 
// Path: src/main/java/cn/iflyapi/blog/service/CarouselService.java
// @Service
// public class CarouselService {
// 
//     @Autowired
//     private CarouselMapper carouselMapper;
// 
//     @Autowired
//     private SnowflakeIdWorker idWorker;
// 
//     public List<Carousel> listCarousel() {
//         CarouselExample carouselExample = new CarouselExample();
//         carouselExample.createCriteria().andIsDeleteEqualTo(false);
//         carouselExample.setOrderByClause("sort desc");
//         return carouselMapper.selectByExample(carouselExample);
//     }
// 
//     public void save(Carousel carousel) {
//         FastValidator.doit().notEmpty(carousel.getTitle(), "title");
//         carousel.setId(idWorker.nextId());
//         carouselMapper.insertSelective(carousel);
//     }
// 
//     public void update(Carousel carousel) {
//         carouselMapper.updateByPrimaryKeySelective(carousel);
//     }
// 
//     public void remove(Long carouselId) {
//         Carousel carousel = new Carousel();
//         carousel.setId(carouselId);
//         carousel.setIsDelete(true);
//         carouselMapper.updateByPrimaryKeySelective(carousel);
//     }
// 
// 
// }


import cn.iflyapi.blog.annotation.OpenApi;
import cn.iflyapi.blog.entity.Carousel;
import cn.iflyapi.blog.model.JSONResult;
import cn.iflyapi.blog.service.CarouselService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
package cn.iflyapi.blog.controller;


/**
 * @author flyhero
 * @date 2018-12-31 11:14 AM
 */
@Api(value = "CarouselController", tags = "轮播图接口")
@RestController
public class CarouselController {

    @Autowired
    private CarouselService carouselService;

    @ApiOperation("查询轮播图")
    @OpenApi("/carousels")
    @GetMapping("/carousels")
    public JSONResult find() {
        return JSONResult.ok(carouselService.listCarousel());
    }

// Path: src/main/java/cn/iflyapi/blog/entity/Carousel.java
// public class Carousel {
//     private Long id;
// 
//     private String title;
// 
//     private String imgUrl;
// 
//     private String detailUrl;
// 
//     private Integer sort;
// 
//     private Date createTime;
// 
//     private Boolean isDelete;
// 
//     public Long getId() {
//         return id;
//     }
// 
//     public void setId(Long id) {
//         this.id = id;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getImgUrl() {
//         return imgUrl;
//     }
// 
//     public void setImgUrl(String imgUrl) {
//         this.imgUrl = imgUrl;
//     }
// 
//     public String getDetailUrl() {
//         return detailUrl;
//     }
// 
//     public void setDetailUrl(String detailUrl) {
//         this.detailUrl = detailUrl;
//     }
// 
//     public Integer getSort() {
//         return sort;
//     }
// 
//     public void setSort(Integer sort) {
//         this.sort = sort;
//     }
// 
//     public Date getCreateTime() {
//         return createTime;
//     }
// 
//     public void setCreateTime(Date createTime) {
//         this.createTime = createTime;
//     }
// 
//     public Boolean getIsDelete() {
//         return isDelete;
//     }
// 
//     public void setIsDelete(Boolean isDelete) {
//         this.isDelete = isDelete;
//     }
// }
// 
// Path: src/main/java/cn/iflyapi/blog/model/JSONResult.java
// @Getter
// @Setter
// public class JSONResult {
// 
//     private int code;
//     private String msg;
//     private boolean success;
//     private Object data;
// 
//     private JSONResult(int code, String msg, boolean success, Object data) {
//         this.code = code;
//         this.msg = msg;
//         this.success = success;
//         this.data = data;
//     }
// 
//     public static JSONResult ok(int code, String msg, Object data) {
//         return new JSONResult(code, msg, true, data);
//     }
// 
//     public static JSONResult ok(CodeMsgEnum codeMsgEnum, Object data) {
//         return ok(codeMsgEnum.getCode(), codeMsgEnum.getMsg(), data);
//     }
// 
//     public static JSONResult ok(Object data) {
//         return ok(CodeMsgEnum.OK, data);
//     }
// 
//     public static JSONResult ok() {
//         return ok(CodeMsgEnum.OK, null);
//     }
// 
//     public static JSONResult fail(int code, String msg) {
//         return new JSONResult(code, msg, false, null);
//     }
// 
//     public static JSONResult fail(CodeMsgEnum codeMsgEnum, Object data) {
//         return ok(codeMsgEnum.getCode(), codeMsgEnum.getMsg(), data);
//     }
// 
//     public static JSONResult fail(CodeMsgEnum codeMsgEnum) {
//         return ok(codeMsgEnum.getCode(), codeMsgEnum.getMsg(), null);
//     }
// 
//     public static JSONResult fail(Object data) {
//         return ok(CodeMsgEnum.FAIL, data);
//     }
// 
//     public static JSONResult fail() {
//         return ok(CodeMsgEnum.FAIL, null);
//     }
// }
// 
// Path: src/main/java/cn/iflyapi/blog/service/CarouselService.java
// @Service
// public class CarouselService {
// 
//     @Autowired
//     private CarouselMapper carouselMapper;
// 
//     @Autowired
//     private SnowflakeIdWorker idWorker;
// 
//     public List<Carousel> listCarousel() {
//         CarouselExample carouselExample = new CarouselExample();
//         carouselExample.createCriteria().andIsDeleteEqualTo(false);
//         carouselExample.setOrderByClause("sort desc");
//         return carouselMapper.selectByExample(carouselExample);
//     }
// 
//     public void save(Carousel carousel) {
//         FastValidator.doit().notEmpty(carousel.getTitle(), "title");
//         carousel.setId(idWorker.nextId());
//         carouselMapper.insertSelective(carousel);
//     }
// 
//     public void update(Carousel carousel) {
//         carouselMapper.updateByPrimaryKeySelective(carousel);
//     }
// 
//     public void remove(Long carouselId) {
//         Carousel carousel = new Carousel();
//         carousel.setId(carouselId);
//         carousel.setIsDelete(true);
//         carouselMapper.updateByPrimaryKeySelective(carousel);
//     }
// 
// 
// }


// Path: src/main/java/cn/iflyapi/blog/controller/CarouselController.java
import cn.iflyapi.blog.annotation.OpenApi;
import cn.iflyapi.blog.entity.Carousel;
import cn.iflyapi.blog.model.JSONResult;
import cn.iflyapi.blog.service.CarouselService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

package cn.iflyapi.blog.controller;


/**
 * @author flyhero
 * @date 2018-12-31 11:14 AM
 */
@Api(value = "CarouselController", tags = "轮播图接口")
@RestController
public class CarouselController {

    @Autowired
    private CarouselService carouselService;

    @ApiOperation("查询轮播图")
    @OpenApi("/carousels")
    @GetMapping("/carousels")
    public JSONResult find() {
        return JSONResult.ok(carouselService.listCarousel());
    }

    @ApiOperation("新增轮播图")