Merge remote-tracking branch 'origin/develop/clock_in'

# Conflicts:
#	src/main/java/com/peanut/config/MyRedissonConfig.java
This commit is contained in:
wangjinlei
2023-10-12 16:40:41 +08:00
26 changed files with 250 additions and 152 deletions

View File

@@ -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;
/**
* 获取论坛内容
@@ -36,11 +47,11 @@ 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<>();
@RequestParam(value = "day") Integer day) {
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,44 @@ 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);
queryWrapper.eq("fid", 0);
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());
QueryWrapper<BookClockInChatEntity> subQueryWrapper = new QueryWrapper<>();
subQueryWrapper.eq("fid", entity.getId());
List<BookClockInChatEntity> subClockInChatList = bookClockEntryChatService.list(subQueryWrapper);
List<ClockInCommentVo> subCommentList = new ArrayList<>();
for (BookClockInChatEntity subChat : subClockInChatList) {
ClockInCommentVo subVo = new ClockInCommentVo();
BeanUtil.copyProperties(subChat, subVo);
UserEntity subChatUser = userService.getById(subChat.getUserId());
UserEntity pUser = userService.getById(subChat.getPuserId());
subVo.setPuserNickName(pUser.getNickname());
subVo.setPuserAvatar(pUser.getAvatar());
subVo.setAvatar(subChatUser.getAvatar());
subVo.setNickName(subChatUser.getNickname());
subCommentList.add(subVo);
}
vo.setSubCommentList(subCommentList);
resultList.add(vo);
}
Map<String, Object> result = new HashMap<>();
result.put("chatList", resultList);
return R.ok(result);
@@ -71,6 +115,11 @@ public class BookClockForumController {
*/
@RequestMapping(path = "/addChat", method = RequestMethod.POST)
public R addChat(@RequestBody BookClockInChatEntity chat) {
List<String> imageList = chat.getImageList();
if (imageList != null) {
String images = JSON.toJSON(imageList).toString();
chat.setImages(images);
}
bookClockEntryChatService.save(chat);
return R.ok();
}

View File

@@ -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;
/**
* 列表 倒叙

View File

@@ -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

View File

@@ -26,7 +26,7 @@ public class BookTaskController {
@Autowired
private BookService bookService;
@Autowired
private BookClockinService bookClockinService;
private BookClockInService bookClockinService;
@Autowired
private MyUserService myUserService;
@Autowired

View File

@@ -295,10 +295,10 @@ public class ShopProductController {
*/
@RequestMapping("/infobook/{productId}")
public R infobook(@PathVariable("productId") Integer productId) {
List<ShopProductBookEntity> proudict = shopProductBookService.getBaseMapper().selectList(new QueryWrapper<ShopProductBookEntity>()
List<ShopProductBookEntity> product = shopProductBookService.getBaseMapper().selectList(new QueryWrapper<ShopProductBookEntity>()
.eq("product_id", productId));
List<Object> list = new ArrayList<>();
for (ShopProductBookEntity shopProductBookEntity : proudict) {
for (ShopProductBookEntity shopProductBookEntity : product) {
Integer bookId = shopProductBookEntity.getBookId();
List<ShopProductBookEntity> bookIds = shopProductBookService.getBaseMapper().selectList(new QueryWrapper<ShopProductBookEntity>()
@@ -336,11 +336,11 @@ public class ShopProductController {
shopProductService.save(shopProduct);
ShopProductBookEntity shopProductBookEntity = new ShopProductBookEntity();
for (String s : shopProduct.getBookids()) {
String bookidlist = s;
if (bookidlist != null) {
Integer proudict = shopProduct.getProductId();
shopProductBookEntity.setProductId(proudict);
shopProductBookEntity.setBookId(Integer.valueOf(bookidlist));
String bookIdList = s;
if (bookIdList != null) {
Integer product = shopProduct.getProductId();
shopProductBookEntity.setProductId(product);
shopProductBookEntity.setBookId(Integer.valueOf(bookIdList));
shopProductBookService.save(shopProductBookEntity);
}
}

View File

@@ -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);

View File

@@ -1,17 +1,18 @@
package com.peanut.modules.book.controller;
import cn.com.marsoft.tool.ToolObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.gson.Gson;
import com.peanut.common.utils.PageUtils;
import com.peanut.common.utils.R;
import com.peanut.modules.book.entity.*;
import com.peanut.modules.book.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.*;
import java.util.stream.Collectors;
import static com.peanut.common.utils.R.error;
@RestController
@RequestMapping("buy/record")
public class UserRecordController {
@@ -31,7 +32,7 @@ public class UserRecordController {
* 列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params ){
public R list(@RequestParam Map<String, Object> params) {
PageUtils page = userRecordService.queryPage(params);
return R.ok().put("page", page);
@@ -39,22 +40,21 @@ public class UserRecordController {
}
/**
* 查看我的评价
* 查看我的评价
*/
@RequestMapping("/Allevaluations")
public R Allevaluations(@RequestBody UserRecordEntity userRecordEntity){
public R Allevaluations(@RequestBody UserRecordEntity userRecordEntity) {
List<UserRecordEntity> userid = userRecordService.getBaseMapper().selectList(new QueryWrapper<UserRecordEntity>().eq("userid", userRecordEntity.getUserid()).orderByDesc("create_date"));
return R.ok().put("Allevaluations",userid);
return R.ok().put("Allevaluations", userid);
}
/**
* 查看全部评价
* 查看全部评价
*/
@RequestMapping("/All")
public R All(@RequestBody UserRecordEntity userRecordEntity) {
List list = new ArrayList<>();
//此处bookid实际传的是商品id
List<UserRecordEntity> bookid = userRecordService.getBaseMapper().selectList(new QueryWrapper<UserRecordEntity>().eq("bookid", userRecordEntity.getBookid()).orderByDesc("create_date"));
@@ -101,21 +101,19 @@ public class UserRecordController {
list.add(map);
}
return R.ok().put("list", list);
}
return R.error("该商品暂无评论");
return R.error("该商品暂无评论");
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Integer id){
public R info(@PathVariable("id") Integer id) {
UserRecordEntity userRecordEntity = userRecordService.getById(id);
return R.ok().put("bookChapterContent", userRecordEntity);
}
@@ -124,7 +122,7 @@ public class UserRecordController {
* 保存
*/
@RequestMapping("/save")
public R save(@RequestBody UserRecordEntity userRecordEntity){
public R save(@RequestBody UserRecordEntity userRecordEntity) {
userRecordService.save(userRecordEntity);
return R.ok();
}
@@ -133,7 +131,7 @@ public class UserRecordController {
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserRecordEntity userRecordEntity){
public R update(@RequestBody UserRecordEntity userRecordEntity) {
userRecordService.updateById(userRecordEntity);
return R.ok();
}
@@ -142,7 +140,7 @@ public class UserRecordController {
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids){
public R delete(@RequestBody Integer[] ids) {
userRecordService.removeByIds(Arrays.asList(ids));
userRecordService.getBaseMapper().deleteBatchIds(Arrays.asList(ids));
return R.ok();
@@ -150,38 +148,34 @@ public class UserRecordController {
/*
* test
* */
* test
* */
@RequestMapping("/commodityComment")
public R commodityComment(String userid, String orderSn, String starLevel, String comment){
userRecordService.commodityComment(userid, orderSn, starLevel, comment);
return R.ok();
}
public R commodityComment(String userid, String orderSn, String starLevel, String comment) {
userRecordService.commodityComment(userid, orderSn, starLevel, comment);
return R.ok();
}
/*
* 生成评论
* */
* 生成评论
* */
@RequestMapping("/comment")
public Object commodityComments( Integer userid, String orderSn, Integer bookid, String comment) {
public Object commodityComments(Integer userid, String orderSn, Integer bookid, String comment) {
BuyOrderEntity buyOrderEntity =buyOrderService.getBaseMapper().selectOne(new QueryWrapper<BuyOrderEntity>()
.eq("order_sn",orderSn).last("LIMIT 1").eq("order_status","3")
//状态3为已收货
BuyOrderEntity buyOrderEntity = buyOrderService.getBaseMapper().selectOne(new QueryWrapper<BuyOrderEntity>()
.eq("order_sn", orderSn).last("LIMIT 1").eq("order_status", "3")
//状态3为已收货
// .eq("order_status","3")
);
UserRecordEntity userRecordEntity = new UserRecordEntity();
if (!ToolObject.isNullOrEmpty(buyOrderEntity))
{
if (!ToolObject.isNullOrEmpty(buyOrderEntity)) {
return error("您已评价过了,请勿重复评论");
//
}else {
} else {
userRecordEntity.setId(buyOrderEntity.getOrderId());
userRecordEntity.setContent(comment);
//商品评价
@@ -189,38 +183,35 @@ public class UserRecordController {
userRecordEntity.setUserid(userid);
userRecordEntity.setOrderSn(orderSn);
userRecordEntity.setDelflag(0);
userRecordEntity.setProudictId(bookid);
userRecordEntity.setProductId(bookid);
userRecordService.saveOrUpdate(userRecordEntity);
return R.ok("成功").put("userRecordEntity",userRecordEntity);
return R.ok("成功").put("userRecordEntity", userRecordEntity);
}
}
/**
*
* @param recordEntity
* @return 生成评论(上传图片,星级评价
*
*/
@RequestMapping("/UserRecordcomment")
public R commodity(@RequestBody UserRecordEntity recordEntity ) {
public R commodity(@RequestBody UserRecordEntity recordEntity) {
//todo 已收货限制字段,只可评价一次
BuyOrderEntity buyOrderEntity =buyOrderService.getBaseMapper().selectOne(new QueryWrapper<BuyOrderEntity>()
.eq("order_sn",recordEntity.getOrderSn())
BuyOrderEntity buyOrderEntity = buyOrderService.getBaseMapper().selectOne(new QueryWrapper<BuyOrderEntity>()
.eq("order_sn", recordEntity.getOrderSn())
);
Integer orderId = buyOrderEntity.getOrderId();
BuyOrderDetailEntity detailEntity = buyOrderDetailService.getBaseMapper().selectOne(new QueryWrapper<BuyOrderDetailEntity>().eq("Order_id", orderId).eq("product_id",recordEntity.getBookid()));
BuyOrderDetailEntity detailEntity = buyOrderDetailService.getBaseMapper().selectOne(new QueryWrapper<BuyOrderDetailEntity>().eq("Order_id", orderId).eq("product_id", recordEntity.getBookid()));
Integer orderId1 = detailEntity.getOrderId();
UserRecordEntity userRecordEntity = userRecordService.getBaseMapper().selectOne(new QueryWrapper<UserRecordEntity>().eq("orderSn", recordEntity.getOrderSn()).eq("userid", recordEntity.getUserid()).eq("orderdid",orderId1).last("LIMIT 1"));
UserRecordEntity userRecordEntity = userRecordService.getBaseMapper().selectOne(new QueryWrapper<UserRecordEntity>().eq("orderSn", recordEntity.getOrderSn()).eq("userid", recordEntity.getUserid()).eq("orderdid", orderId1).last("LIMIT 1"));
if (userRecordEntity != null) {
return R.error("您已评价过");
return R.error("您已评价过");
}
if (recordEntity.getImages()!=null) {
if (recordEntity.getImages() != null) {
List<Map<String, String>> imageList = (ArrayList<Map<String, String>>) recordEntity.getImages();
String imageStr = "";
for (Map m : imageList) {
@@ -229,19 +220,17 @@ public class UserRecordController {
}
recordEntity.setImages(imageStr);
}
recordEntity.setDelflag(0);
recordEntity.setOrderdid(orderId1);
userRecordService.saveOrUpdate(recordEntity);
recordEntity.setDelflag(0);
recordEntity.setOrderdId(orderId1);
userRecordService.saveOrUpdate(recordEntity);
detailEntity.setRecordId(1);
buyOrderDetailService.saveOrUpdate(detailEntity);
detailEntity.setRecordId(1);
buyOrderDetailService.saveOrUpdate(detailEntity);
return R.ok("成功").put("userRecordEntity",recordEntity);
}
return R.ok("成功").put("userRecordEntity", recordEntity);
}
}