mirror of
https://github.com/201206030/novel-cloud.git
synced 2025-06-24 05:56:38 +00:00
首页微服务开发完成,小说微服务开发中
This commit is contained in:
@ -33,5 +33,14 @@ public interface BookApi {
|
||||
@GetMapping("api/book/queryBookByIds")
|
||||
List<Book> queryBookByIds(@RequestBody List<Long> ids);
|
||||
|
||||
/**
|
||||
* 小说排行数据查询列表
|
||||
* @param type 排行类型,1:更新排行,2:新书排行,3评论排行
|
||||
* @param limit 查询数量
|
||||
* @return 书籍列表
|
||||
* */
|
||||
@GetMapping("api/book/listRank")
|
||||
List<Book> listRank(@RequestParam("type") Byte type, @RequestParam("limit") Integer limit);
|
||||
|
||||
|
||||
}
|
||||
|
@ -3,9 +3,10 @@ package com.java2nb.novel.book.entity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import javax.annotation.Generated;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
public class Book {
|
||||
public class Book implements Serializable {
|
||||
@ApiModelProperty(value = "主键")
|
||||
@Generated("org.mybatis.generator.api.MyBatisGenerator")
|
||||
private Long id;
|
||||
|
@ -0,0 +1,22 @@
|
||||
package com.java2nb.novel.book.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.java2nb.novel.book.entity.Book;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
*/
|
||||
@Data
|
||||
public class BookVO extends Book{
|
||||
|
||||
@ApiModelProperty(value = "最新目录更新时间")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "MM/dd HH:mm")
|
||||
private Date lastIndexUpdateTime;
|
||||
|
||||
|
||||
}
|
@ -48,5 +48,16 @@ public class BookApi {
|
||||
return bookService.queryBookByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 小说排行数据查询列表
|
||||
* @param type 排行类型,1:更新排行,2:新书排行,3评论排行
|
||||
* @param limit 查询数量
|
||||
* @return 书籍列表
|
||||
* */
|
||||
@GetMapping("listRank")
|
||||
List<Book> listRank(Byte type, Integer limit){
|
||||
return bookService.listRank(type,limit);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
package com.java2nb.novel.book.service;
|
||||
|
||||
import com.java2nb.novel.book.entity.Book;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
@ -28,4 +27,12 @@ public interface BookService {
|
||||
* @return 书籍列表
|
||||
* */
|
||||
List<Book> queryBookByIds(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 小说排行数据查询列表
|
||||
* @param type 排行类型,1:更新排行,2:新书排行,3评论排行
|
||||
* @param limit 查询数量
|
||||
* @return 书籍列表
|
||||
* */
|
||||
List<Book> listRank(Byte type, Integer limit);
|
||||
}
|
||||
|
@ -5,7 +5,9 @@ import com.java2nb.novel.book.mapper.BookDynamicSqlSupport;
|
||||
import com.java2nb.novel.book.mapper.BookMapper;
|
||||
import com.java2nb.novel.book.service.BookService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.mybatis.dynamic.sql.SortSpecification;
|
||||
import org.mybatis.dynamic.sql.render.RenderingStrategies;
|
||||
import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
@ -49,4 +51,43 @@ public class BookServiceImpl implements BookService {
|
||||
.render(RenderingStrategies.MYBATIS3)
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Book> listRank(Byte type, Integer limit) {
|
||||
SortSpecification sortSpecification = BookDynamicSqlSupport.visitCount.descending();
|
||||
switch (type) {
|
||||
case 1: {
|
||||
//最新入库排序
|
||||
sortSpecification = BookDynamicSqlSupport.createTime.descending();
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
//最新更新时间排序
|
||||
sortSpecification = BookDynamicSqlSupport.lastIndexUpdateTime.descending();
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
//评论数量排序
|
||||
sortSpecification = BookDynamicSqlSupport.commentCount.descending();
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
}
|
||||
SelectStatementProvider selectStatement =
|
||||
select(BookDynamicSqlSupport.id, BookDynamicSqlSupport.catId,
|
||||
BookDynamicSqlSupport.catName, BookDynamicSqlSupport.bookName,
|
||||
BookDynamicSqlSupport.lastIndexId, BookDynamicSqlSupport.lastIndexName,
|
||||
BookDynamicSqlSupport.authorId, BookDynamicSqlSupport.authorName,
|
||||
BookDynamicSqlSupport.picUrl, BookDynamicSqlSupport.bookDesc,
|
||||
BookDynamicSqlSupport.wordCount, BookDynamicSqlSupport.lastIndexUpdateTime)
|
||||
.from(book)
|
||||
.where(BookDynamicSqlSupport.wordCount, isGreaterThan(0))
|
||||
.orderBy(sortSpecification)
|
||||
.limit(limit)
|
||||
.build()
|
||||
.render(RenderingStrategies.MYBATIS3);
|
||||
return bookMapper.selectMany(selectStatement);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user