Merge branch 'temp' into develop/clock_in
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/**
|
||||
* Copyright (c) 2016-2019 人人开源 All rights reserved.
|
||||
*
|
||||
* <p>
|
||||
* https://www.renren.io
|
||||
*
|
||||
* <p>
|
||||
* 版权所有,侵权必究!
|
||||
*/
|
||||
|
||||
@@ -27,5 +27,4 @@ public class MybatisPlusConfig {
|
||||
public PaginationInterceptor paginationInterceptor() {
|
||||
return new PaginationInterceptor();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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<BookClockInEntity> queryWrapper = new QueryWrapper<>();
|
||||
QueryWrapper<BookClockEntryEntity> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("book_id", bookId);
|
||||
queryWrapper.eq("day", day);
|
||||
BookClockInEntity entity = bookClockinService.getOne(queryWrapper);
|
||||
BookClockEntryEntity entity = bookClockEntryService.getOne(queryWrapper);
|
||||
Map<String, Object> 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<BookClockInChatEntity> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("entry_id", entryId);
|
||||
queryWrapper.orderByAsc("f_id", "create_time");
|
||||
List<BookClockInChatEntity> resultList = bookClockEntryChatService.list(queryWrapper);
|
||||
if (userId != null) {
|
||||
queryWrapper.eq("user_id", userId);
|
||||
}
|
||||
queryWrapper.orderByAsc("fid", "create_time");
|
||||
List<ClockInCommentVo> resultList = new ArrayList<>();
|
||||
List<BookClockInChatEntity> chatEntityList = bookClockEntryChatService.list(queryWrapper);
|
||||
for (BookClockInChatEntity entity : chatEntityList) {
|
||||
List<String> imageList = JSON.parseObject(entity.getImages(), new TypeReference<List<String>>() {
|
||||
});
|
||||
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<String, Object> 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<String> imageList = chat.getImageList();
|
||||
String images = JSON.toJSON(imageList).toString();
|
||||
chat.setImages(images);
|
||||
bookClockEntryChatService.save(chat);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
* 列表 倒叙
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -26,7 +26,7 @@ public class BookTaskController {
|
||||
@Autowired
|
||||
private BookService bookService;
|
||||
@Autowired
|
||||
private BookClockinService bookClockinService;
|
||||
private BookClockInService bookClockinService;
|
||||
@Autowired
|
||||
private MyUserService myUserService;
|
||||
@Autowired
|
||||
|
||||
@@ -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<String, Object> 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<Integer> clockInDayList = JSON.parseObject(clocksStr, new TypeReference<List<Integer>>() {
|
||||
});
|
||||
Map<String, Object> 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<UserBookClockEntity> 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);
|
||||
|
||||
@@ -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<String> imageList;
|
||||
|
||||
private String images;
|
||||
}
|
||||
|
||||
@@ -6,10 +6,8 @@ import com.peanut.modules.book.entity.BookClockInEntity;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public interface BookClockinService extends IService<BookClockInEntity> {
|
||||
public interface BookClockInService extends IService<BookClockInEntity> {
|
||||
PageUtils queryPage(Map<String, Object> params);
|
||||
|
||||
|
||||
|
||||
PageUtils queryPagemylist(Map<String, Object> params);
|
||||
}
|
||||
@@ -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<BookClockinDao, BookClockInEntity> implements BookClockinService {
|
||||
public class BookClockInServiceImpl extends ServiceImpl<BookClockinDao, BookClockInEntity> implements BookClockInService {
|
||||
|
||||
|
||||
@Override
|
||||
public PageUtils queryPage(Map<String, Object> params) {
|
||||
Object book =params.get("bookid");
|
||||
Object book = params.get("bookid");
|
||||
Object taskid = params.get("taskid");
|
||||
IPage<BookClockInEntity> page = this.page(
|
||||
new Query<BookClockInEntity>().getPage(params),
|
||||
new QueryWrapper<BookClockInEntity>()
|
||||
.eq("book_id",book)
|
||||
.eq("task_id",taskid)
|
||||
.eq("book_id", book)
|
||||
.eq("task_id", taskid)
|
||||
.orderByDesc("create_time")
|
||||
|
||||
);
|
||||
@@ -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<String> imageList;
|
||||
|
||||
private String images;
|
||||
|
||||
private String nickName;
|
||||
|
||||
private String avatar;
|
||||
|
||||
}
|
||||
@@ -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
|
||||
@@ -71,3 +71,6 @@ aliyun:
|
||||
|
||||
server:
|
||||
port: 9200
|
||||
|
||||
redisAddress: redis://59.110.212.44:6379
|
||||
redisPassword: Jgll2015
|
||||
@@ -70,3 +70,6 @@ aliyun:
|
||||
|
||||
server:
|
||||
port: 9100
|
||||
|
||||
redisAddress: redis://59.110.212.44:6379
|
||||
redisPassword: Jgll2015
|
||||
Reference in New Issue
Block a user