diff --git a/src/main/java/com/peanut/modules/book/controller/BookClockForumController.java b/src/main/java/com/peanut/modules/book/controller/BookClockForumController.java index c26aaf7d..9d85e637 100644 --- a/src/main/java/com/peanut/modules/book/controller/BookClockForumController.java +++ b/src/main/java/com/peanut/modules/book/controller/BookClockForumController.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.peanut.common.utils.PageUtils; import com.peanut.common.utils.R; import com.peanut.modules.book.entity.BookClockEntryEntity; import com.peanut.modules.book.entity.BookClockEntryChatEntity; @@ -63,9 +64,12 @@ public class BookClockForumController { * @param entryId * @return */ - @RequestMapping(path = "/getChatList", method = RequestMethod.GET) + @RequestMapping(path = "/getChatList", method = RequestMethod.POST) public R getChatList(@RequestParam("entryId") Integer entryId, - @RequestParam(value = "userId", required = false) Integer userId) { + @RequestParam(value = "userId", required = false) Integer userId, + @RequestParam(value = "pageSize") Integer pageSize, + @RequestParam("currentPage") Integer currentPage, + @RequestBody Map subPage) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("entry_id", entryId); queryWrapper.eq("fid", 0); @@ -88,6 +92,7 @@ public class BookClockForumController { subQueryWrapper.eq("fid", entity.getId()); List subClockInChatList = bookClockEntryChatService.list(subQueryWrapper); List subCommentList = new ArrayList<>(); + List subCommentPages = new ArrayList<>(); for (BookClockEntryChatEntity subChat : subClockInChatList) { ClockInCommentVo subVo = new ClockInCommentVo(); BeanUtil.copyProperties(subChat, subVo); @@ -98,12 +103,16 @@ public class BookClockForumController { subVo.setAvatar(subChatUser.getAvatar()); subVo.setNickName(subChatUser.getNickname()); subCommentList.add(subVo); + Integer currentCommentId = subPage.get(entity.getId()); + PageUtils subCommentPage = new PageUtils(subCommentList, subCommentList.size(), 5, subPage.get(currentCommentId)); + subCommentPages.add(subCommentPage); } - vo.setSubCommentList(subCommentList); + vo.setSubCommentList(subCommentPages); resultList.add(vo); } + PageUtils page = new PageUtils(resultList, resultList.size(), 5, currentPage); Map result = new HashMap<>(); - result.put("chatList", resultList); + result.put("chatList", page); return R.ok(result); } diff --git a/src/main/java/com/peanut/modules/book/controller/UserBookClockController.java b/src/main/java/com/peanut/modules/book/controller/UserBookClockInController.java similarity index 79% rename from src/main/java/com/peanut/modules/book/controller/UserBookClockController.java rename to src/main/java/com/peanut/modules/book/controller/UserBookClockInController.java index b3d949e2..8145f3b7 100644 --- a/src/main/java/com/peanut/modules/book/controller/UserBookClockController.java +++ b/src/main/java/com/peanut/modules/book/controller/UserBookClockInController.java @@ -25,7 +25,7 @@ import java.util.*; @Slf4j @RestController @RequestMapping("/book/userClockIn") -public class UserBookClockController { +public class UserBookClockInController { @Autowired UserBookClockService userBookClockService; @@ -108,4 +108,30 @@ public class UserBookClockController { userBookClockService.updateById(userBookClock); return R.ok("打卡成功"); } + + /** + * 用户补卡接口 + * + * @param bookId book ID + * @param userId user ID + * @param day 补卡 day + * @return R + */ + @RequestMapping(value = "/correctClockIn", method = RequestMethod.GET) + public R correctClockIn(@RequestParam("bookId") Integer bookId, + @RequestParam("userId") Integer userId, + @RequestParam("day") Integer day) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("book_id", bookId); + queryWrapper.eq("user_id", userId); + UserBookClockEntity userBookClock = userBookClockService.getOne(queryWrapper); + String clocksStr = userBookClock.getClocks(); + List clockInDaysList = JSON.parseObject(clocksStr, new TypeReference>() { + }); + clockInDaysList.add(day); + String clockInDaysListStr = JSON.toJSON(clockInDaysList).toString(); + userBookClock.setClocks(clockInDaysListStr); + userBookClockService.updateById(userBookClock); + return R.ok("补卡成功"); + } } diff --git a/src/main/java/com/peanut/modules/book/vo/ClockInCommentVo.java b/src/main/java/com/peanut/modules/book/vo/ClockInCommentVo.java index 2a1d189b..232bd798 100644 --- a/src/main/java/com/peanut/modules/book/vo/ClockInCommentVo.java +++ b/src/main/java/com/peanut/modules/book/vo/ClockInCommentVo.java @@ -1,5 +1,6 @@ package com.peanut.modules.book.vo; +import com.peanut.common.utils.PageUtils; import lombok.Data; import java.util.Date; @@ -42,6 +43,6 @@ public class ClockInCommentVo { private String puserAvatar; - private List subCommentList; + private List subCommentList; }