From 6bf8fd586c0e7b07d5370c0651b9b56524086df2 Mon Sep 17 00:00:00 2001 From: Cauchy Date: Thu, 12 Oct 2023 13:33:54 +0800 Subject: [PATCH] temp --- .../com/peanut/config/MyRedissonConfig.java | 9 +++- .../com/peanut/config/MybatisPlusConfig.java | 5 +- .../controller/BookClockForumController.java | 50 +++++++++++++++---- .../BookClockinCommentController.java | 4 +- .../controller/BookClockinController.java | 2 +- .../book/controller/BookTaskController.java | 2 +- .../controller/UserBookClockController.java | 20 ++++++-- .../book/entity/BookClockInChatEntity.java | 11 ++++ ...inService.java => BookClockInService.java} | 4 +- ...eImpl.java => BookClockInServiceImpl.java} | 10 ++-- .../modules/book/vo/ClockInCommentVo.java | 41 +++++++++++++++ src/main/resources/application-dev.yml | 9 ++-- src/main/resources/application-prod.yml | 5 +- 13 files changed, 138 insertions(+), 34 deletions(-) rename src/main/java/com/peanut/modules/book/service/{BookClockinService.java => BookClockInService.java} (84%) rename src/main/java/com/peanut/modules/book/service/impl/{BookClockinServiceImpl.java => BookClockInServiceImpl.java} (79%) create mode 100644 src/main/java/com/peanut/modules/book/vo/ClockInCommentVo.java diff --git a/src/main/java/com/peanut/config/MyRedissonConfig.java b/src/main/java/com/peanut/config/MyRedissonConfig.java index c1942f86..0a72f46a 100644 --- a/src/main/java/com/peanut/config/MyRedissonConfig.java +++ b/src/main/java/com/peanut/config/MyRedissonConfig.java @@ -3,16 +3,23 @@ package com.peanut.config; import org.redisson.Redisson; import org.redisson.api.RedissonClient; import org.redisson.config.Config; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class MyRedissonConfig { + @Value("${redisAddress}") + private String redisAddress; + + @Value("${redisPassword}") + private String redisPassword; + @Bean public RedissonClient redissonClient() { Config config = new Config(); - config.useSingleServer().setAddress("redis://59.110.212.44:6379").setPassword("Jgll2015"); + config.useSingleServer().setAddress(redisAddress).setPassword(redisPassword); RedissonClient redissonClient = Redisson.create(config); return redissonClient; } diff --git a/src/main/java/com/peanut/config/MybatisPlusConfig.java b/src/main/java/com/peanut/config/MybatisPlusConfig.java index 143baa69..85741f7e 100644 --- a/src/main/java/com/peanut/config/MybatisPlusConfig.java +++ b/src/main/java/com/peanut/config/MybatisPlusConfig.java @@ -1,8 +1,8 @@ /** * Copyright (c) 2016-2019 人人开源 All rights reserved. - * + *

* https://www.renren.io - * + *

* 版权所有,侵权必究! */ @@ -27,5 +27,4 @@ public class MybatisPlusConfig { public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor(); } - } 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 c8bea1c7..7cb769b8 100644 --- a/src/main/java/com/peanut/modules/book/controller/BookClockForumController.java +++ b/src/main/java/com/peanut/modules/book/controller/BookClockForumController.java @@ -1,14 +1,21 @@ package com.peanut.modules.book.controller; +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.R; +import com.peanut.modules.app.service.UserService; +import com.peanut.modules.book.entity.BookClockEntryEntity; import com.peanut.modules.book.entity.BookClockInChatEntity; -import com.peanut.modules.book.entity.BookClockInEntity; +import com.peanut.modules.book.entity.UserEntity; import com.peanut.modules.book.service.BookClockEntryChatService; -import com.peanut.modules.book.service.BookClockinService; +import com.peanut.modules.book.service.BookClockEntryService; +import com.peanut.modules.book.vo.ClockInCommentVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -18,14 +25,18 @@ import java.util.Map; * @Author: Cauchy * @CreateTime: 2023/10/11 */ -@RestController("/book/clockForum") +@RestController +@RequestMapping("/book/clockInForum") public class BookClockForumController { @Autowired private BookClockEntryChatService bookClockEntryChatService; @Autowired - private BookClockinService bookClockinService; + private BookClockEntryService bookClockEntryService; + + @Autowired + private UserService userService; /** * 获取论坛内容 @@ -37,10 +48,10 @@ public class BookClockForumController { @RequestMapping(path = "/getPostingInfo", method = RequestMethod.GET) public R getPostingInfo(@RequestParam("bookId") Integer bookId, @RequestParam("day") Integer day) { - QueryWrapper queryWrapper = new QueryWrapper<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("book_id", bookId); queryWrapper.eq("day", day); - BookClockInEntity entity = bookClockinService.getOne(queryWrapper); + BookClockEntryEntity entity = bookClockEntryService.getOne(queryWrapper); Map result = new HashMap<>(); result.put("result", entity); return R.ok(result); @@ -53,11 +64,27 @@ public class BookClockForumController { * @return */ @RequestMapping(path = "/getChatList", method = RequestMethod.GET) - public R getChatList(@RequestParam("entryId") Integer entryId) { + public R getChatList(@RequestParam("entryId") Integer entryId, + @RequestParam(value = "userId", required = false) Integer userId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("entry_id", entryId); - queryWrapper.orderByAsc("f_id", "create_time"); - List resultList = bookClockEntryChatService.list(queryWrapper); + if (userId != null) { + queryWrapper.eq("user_id", userId); + } + queryWrapper.orderByAsc("fid", "create_time"); + List resultList = new ArrayList<>(); + List chatEntityList = bookClockEntryChatService.list(queryWrapper); + for (BookClockInChatEntity entity : chatEntityList) { + List imageList = JSON.parseObject(entity.getImages(), new TypeReference>() { + }); + entity.setImageList(imageList); + ClockInCommentVo vo = new ClockInCommentVo(); + BeanUtil.copyProperties(entity, vo); + UserEntity user = userService.getById(entity.getUserId()); + vo.setNickName(user.getNickname()); + vo.setAvatar(user.getAvatar()); + resultList.add(vo); + } Map result = new HashMap<>(); result.put("chatList", resultList); return R.ok(result); @@ -69,8 +96,11 @@ public class BookClockForumController { * @param chat * @return */ - @RequestMapping(path = "/addChat", method = RequestMethod.POST) + @PostMapping(path = "/addChat") public R addChat(@RequestBody BookClockInChatEntity chat) { + List imageList = chat.getImageList(); + String images = JSON.toJSON(imageList).toString(); + chat.setImages(images); bookClockEntryChatService.save(chat); return R.ok(); } diff --git a/src/main/java/com/peanut/modules/book/controller/BookClockinCommentController.java b/src/main/java/com/peanut/modules/book/controller/BookClockinCommentController.java index 7cd8cf4c..ca8c33ee 100644 --- a/src/main/java/com/peanut/modules/book/controller/BookClockinCommentController.java +++ b/src/main/java/com/peanut/modules/book/controller/BookClockinCommentController.java @@ -8,7 +8,7 @@ import com.peanut.modules.book.entity.BookClockInEntity; import com.peanut.modules.book.entity.BookClockinPunchEntity; import com.peanut.modules.book.service.BookClockinCommentService; import com.peanut.modules.book.service.BookClockinPunchService; -import com.peanut.modules.book.service.BookClockinService; +import com.peanut.modules.book.service.BookClockInService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Arrays; @@ -28,7 +28,7 @@ public class BookClockinCommentController { @Autowired private BookClockinPunchService bookClockinPunchService; @Autowired - private BookClockinService bookClockinService; + private BookClockInService bookClockinService; /** * 列表 倒叙 diff --git a/src/main/java/com/peanut/modules/book/controller/BookClockinController.java b/src/main/java/com/peanut/modules/book/controller/BookClockinController.java index d30abd72..bb2953c9 100644 --- a/src/main/java/com/peanut/modules/book/controller/BookClockinController.java +++ b/src/main/java/com/peanut/modules/book/controller/BookClockinController.java @@ -15,7 +15,7 @@ import java.util.*; @RequestMapping("book/clockin") public class BookClockinController { @Autowired - private BookClockinService bookClockinService; + private BookClockInService bookClockinService; @Autowired private BookTaskService bookTaskService; @Autowired diff --git a/src/main/java/com/peanut/modules/book/controller/BookTaskController.java b/src/main/java/com/peanut/modules/book/controller/BookTaskController.java index 4e4666c8..ef9c9167 100644 --- a/src/main/java/com/peanut/modules/book/controller/BookTaskController.java +++ b/src/main/java/com/peanut/modules/book/controller/BookTaskController.java @@ -26,7 +26,7 @@ public class BookTaskController { @Autowired private BookService bookService; @Autowired - private BookClockinService bookClockinService; + private BookClockInService bookClockinService; @Autowired private MyUserService myUserService; @Autowired diff --git a/src/main/java/com/peanut/modules/book/controller/UserBookClockController.java b/src/main/java/com/peanut/modules/book/controller/UserBookClockController.java index 51a9eab0..9ab0528c 100644 --- a/src/main/java/com/peanut/modules/book/controller/UserBookClockController.java +++ b/src/main/java/com/peanut/modules/book/controller/UserBookClockController.java @@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import java.util.*; @@ -22,6 +23,7 @@ import java.util.*; * @CreateTime: 2023/10/11 */ @Slf4j +@RestController @RequestMapping("/book/userClockIn") public class UserBookClockController { @Autowired @@ -41,17 +43,23 @@ public class UserBookClockController { queryWrapper.eq("book_id", bookId); queryWrapper.eq("user_id", userId); UserBookClockEntity userBookClock = userBookClockService.getOne(queryWrapper); + Map result = new HashMap<>(); if (userBookClock == null) { - return R.error("未获取到该用户的打卡信息"); + result.put("beginDate", new Date()); + result.put("currentDay", 1); + result.put("clockInDayList", new ArrayList<>()); + return R.ok(result); } // 1. 获取打卡初始日期 Date beginDate = userBookClock.getBeginDate(); + Date today = new Date(); + long between = DateUtil.between(beginDate, today, DateUnit.DAY); // 2. 获取打卡天数列表 String clocksStr = userBookClock.getClocks(); List clockInDayList = JSON.parseObject(clocksStr, new TypeReference>() { }); - Map result = new HashMap<>(); result.put("beginDate", beginDate); + result.put("currentDay", between + 1); result.put("clockInDayList", clockInDayList); return R.ok(result); } @@ -64,7 +72,8 @@ public class UserBookClockController { * @return */ @RequestMapping(path = "/clockIn", method = RequestMethod.GET) - public R clockIn(@RequestParam("bookId") Integer bookId, @RequestParam("userId") Integer userId) { + public R clockIn(@RequestParam("bookId") Integer bookId, + @RequestParam("userId") Integer userId) { // 查询是否有该用户打卡记录,如果没有,说明是第一天打卡 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("book_id", bookId); @@ -90,7 +99,10 @@ public class UserBookClockController { Date beginDate = userBookClock.getBeginDate(); Date today = new Date(); long between = DateUtil.between(beginDate, today, DateUnit.DAY); - clockInDaysList.add((int) between); + if (clockInDaysList.contains((int) between + 1)) { + return R.error("今天打卡已完成,不可重复打卡!"); + } + clockInDaysList.add((int) (between + 1)); String clockInDaysListStr = JSON.toJSON(clockInDaysList).toString(); userBookClock.setClocks(clockInDaysListStr); userBookClockService.updateById(userBookClock); diff --git a/src/main/java/com/peanut/modules/book/entity/BookClockInChatEntity.java b/src/main/java/com/peanut/modules/book/entity/BookClockInChatEntity.java index 020ea5d8..4347cca0 100644 --- a/src/main/java/com/peanut/modules/book/entity/BookClockInChatEntity.java +++ b/src/main/java/com/peanut/modules/book/entity/BookClockInChatEntity.java @@ -1,13 +1,17 @@ package com.peanut.modules.book.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.io.Serializable; import java.util.Date; +import java.util.List; @Data +@TableName("book_clock_entry_chat") public class BookClockInChatEntity implements Serializable { private static final long serialVersionUID = 1L; @@ -24,8 +28,15 @@ public class BookClockInChatEntity implements Serializable { private String content; + private Integer pChatId; + private Date createTime; @TableLogic private Integer delFlag; + + @TableField(exist = false) + private List imageList; + + private String images; } diff --git a/src/main/java/com/peanut/modules/book/service/BookClockinService.java b/src/main/java/com/peanut/modules/book/service/BookClockInService.java similarity index 84% rename from src/main/java/com/peanut/modules/book/service/BookClockinService.java rename to src/main/java/com/peanut/modules/book/service/BookClockInService.java index 051b092f..688d8887 100644 --- a/src/main/java/com/peanut/modules/book/service/BookClockinService.java +++ b/src/main/java/com/peanut/modules/book/service/BookClockInService.java @@ -6,10 +6,8 @@ import com.peanut.modules.book.entity.BookClockInEntity; import java.util.Map; -public interface BookClockinService extends IService { +public interface BookClockInService extends IService { PageUtils queryPage(Map params); - - PageUtils queryPagemylist(Map params); } diff --git a/src/main/java/com/peanut/modules/book/service/impl/BookClockinServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/BookClockInServiceImpl.java similarity index 79% rename from src/main/java/com/peanut/modules/book/service/impl/BookClockinServiceImpl.java rename to src/main/java/com/peanut/modules/book/service/impl/BookClockInServiceImpl.java index b28426d3..b523cf85 100644 --- a/src/main/java/com/peanut/modules/book/service/impl/BookClockinServiceImpl.java +++ b/src/main/java/com/peanut/modules/book/service/impl/BookClockInServiceImpl.java @@ -7,24 +7,24 @@ import com.peanut.common.utils.PageUtils; import com.peanut.common.utils.Query; import com.peanut.modules.book.dao.BookClockinDao; import com.peanut.modules.book.entity.BookClockInEntity; -import com.peanut.modules.book.service.BookClockinService; +import com.peanut.modules.book.service.BookClockInService; import org.springframework.stereotype.Service; import java.util.Map; @Service -public class BookClockinServiceImpl extends ServiceImpl implements BookClockinService { +public class BookClockInServiceImpl extends ServiceImpl implements BookClockInService { @Override public PageUtils queryPage(Map params) { - Object book =params.get("bookid"); + Object book = params.get("bookid"); Object taskid = params.get("taskid"); IPage page = this.page( new Query().getPage(params), new QueryWrapper() - .eq("book_id",book) - .eq("task_id",taskid) + .eq("book_id", book) + .eq("task_id", taskid) .orderByDesc("create_time") ); diff --git a/src/main/java/com/peanut/modules/book/vo/ClockInCommentVo.java b/src/main/java/com/peanut/modules/book/vo/ClockInCommentVo.java new file mode 100644 index 00000000..489a90e2 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/vo/ClockInCommentVo.java @@ -0,0 +1,41 @@ +package com.peanut.modules.book.vo; + +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @Description: 用户评论信息 Vo + * @Author: Cauchy + * @CreateTime: 2023/10/12 + */ +@Data +public class ClockInCommentVo { + private Integer id; + + private Integer entryId; + + private Integer userId; + + private Integer fid; + + private Integer pUserId; + + private String content; + + private Integer pChatId; + + private Date createTime; + + private Integer delFlag; + + private List imageList; + + private String images; + + private String nickName; + + private String avatar; + +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 601b66fe..57dd3908 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -3,7 +3,7 @@ spring: redis: open: false # 是否开启redis缓存 true开启 false关闭 database: 0 - host: 39.106.36.183 + host: 59.110.212.44 port: 6379 password: Jgll2015 # 密码(默认为空) timeout: 6000000ms # 连接超时时长(毫秒) @@ -50,7 +50,7 @@ spring: initSQL: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci rabbitmq: - host: 39.106.36.183 + host: 59.110.212.44 port: 5672 username: admin password: 751019 @@ -70,4 +70,7 @@ aliyun: templateCode: SMS_248840040 server: - port: 9200 \ No newline at end of file + port: 9200 + +redisAddress: redis://59.110.212.44:6379 +redisPassword: Jgll2015 \ No newline at end of file diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 28030565..d884117c 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -69,4 +69,7 @@ aliyun: templateCode: SMS_248840040 server: - port: 9100 \ No newline at end of file + port: 9100 + +redisAddress: redis://59.110.212.44:6379 +redisPassword: Jgll2015 \ No newline at end of file