用户购买功能实现

This commit is contained in:
xxy
2020-05-13 21:43:07 +08:00
parent 401d23871d
commit 0fa929f9de
12 changed files with 1719 additions and 10 deletions

View File

@ -116,7 +116,11 @@ public class BookController extends BaseController{
public ResultBean queryBookIndexAbout(Long bookId,Long lastBookIndexId) {
Map<String,Object> data = new HashMap<>(2);
data.put("bookIndexCount",bookService.queryIndexCount(bookId));
data.put("lastBookContent",bookService.queryBookContent(lastBookIndexId).getContent().substring(0,42));
String lastBookContent = bookService.queryBookContent(lastBookIndexId).getContent();
if(lastBookContent.length()>42){
lastBookContent=lastBookContent.substring(0,42);
}
data.put("lastBookContent",lastBookContent);
return ResultBean.ok(data);
}
@ -161,4 +165,6 @@ public class BookController extends BaseController{
}

View File

@ -7,6 +7,7 @@ import com.java2nb.novel.entity.*;
import com.java2nb.novel.service.AuthorService;
import com.java2nb.novel.service.BookService;
import com.java2nb.novel.service.NewsService;
import com.java2nb.novel.service.UserService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@ -34,6 +35,8 @@ public class PageController extends BaseController{
private final AuthorService authorService;
private final UserService userService;
@RequestMapping("{url}.html")
public String module(@PathVariable("url") String url) {
@ -121,7 +124,7 @@ public class PageController extends BaseController{
* 内容页
* */
@RequestMapping("/book/{bookId}/{bookIndexId}.html")
public String indexList(@PathVariable("bookId") Long bookId,@PathVariable("bookIndexId") Long bookIndexId, Model model) {
public String indexList(@PathVariable("bookId") Long bookId,@PathVariable("bookIndexId") Long bookIndexId, HttpServletRequest request,Model model) {
//查询书籍
Book book = bookService.queryBookDetail(bookId);
model.addAttribute("book",book);
@ -137,6 +140,23 @@ public class PageController extends BaseController{
//查询内容
BookContent bookContent = bookService.queryBookContent(bookIndex.getId());
model.addAttribute("bookContent",bookContent);
//判断该目录是否收费
if(bookIndex.getIsVip() == 1){
UserDetails user = getUserDetails(request);
if(user == null){
//未登录
return "redirect:/user/login.html?originUrl="+request.getRequestURI();
}
//收费,判断用户是否购买过该目录
boolean isBuy = userService.queryIsBuyBookIndex(user.getId(),bookIndexId);
if(!isBuy){
//没有购买过,需要购买
bookContent.setContent(null);
model.addAttribute("needBuy",true);
return "book/book_content";
}
}
model.addAttribute("needBuy",false);
return ThreadLocalUtil.getTemplateDir()+"book/book_content";
}

View File

@ -7,6 +7,7 @@ import com.java2nb.novel.core.cache.CacheService;
import com.java2nb.novel.core.enums.ResponseStatus;
import com.java2nb.novel.core.utils.RandomValidateCodeUtil;
import com.java2nb.novel.entity.User;
import com.java2nb.novel.entity.UserBuyRecord;
import com.java2nb.novel.form.UserForm;
import com.java2nb.novel.service.BookService;
import com.java2nb.novel.service.UserService;
@ -264,6 +265,21 @@ public class UserController extends BaseController {
}
/**
* 购买小说章节
* */
@PostMapping("buyBookIndex")
public ResultBean buyBookIndex(UserBuyRecord buyRecord, HttpServletRequest request) {
UserDetails userDetails = getUserDetails(request);
if (userDetails == null) {
return ResultBean.fail(ResponseStatus.NO_LOGIN);
}
userService.buyBookIndex(userDetails.getId(),buyRecord);
return ResultBean.ok();
}
}