首页微服务开发完成,小说微服务开发中

This commit is contained in:
xiongxiaoyang
2020-05-28 20:03:05 +08:00
parent 7edd79a5f2
commit bcd1caf7a8
11 changed files with 183 additions and 6 deletions

View File

@ -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);
}

View File

@ -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;

View File

@ -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;
}

View File

@ -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);
}
}

View File

@ -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);
}

View File

@ -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);
}
}