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