clock in and comment finished waitting for test
This commit is contained in:
@@ -0,0 +1,90 @@
|
|||||||
|
package com.peanut.modules.book.controller;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.peanut.common.utils.R;
|
||||||
|
import com.peanut.modules.book.entity.BookClockInChatEntity;
|
||||||
|
import com.peanut.modules.book.entity.BookClockInEntity;
|
||||||
|
import com.peanut.modules.book.service.BookClockEntryChatService;
|
||||||
|
import com.peanut.modules.book.service.BookClockinService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 打卡论坛 Controller
|
||||||
|
* @Author: Cauchy
|
||||||
|
* @CreateTime: 2023/10/11
|
||||||
|
*/
|
||||||
|
@RestController("/book/clockForum")
|
||||||
|
public class BookClockForumController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BookClockEntryChatService bookClockEntryChatService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BookClockinService bookClockinService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取论坛内容
|
||||||
|
*
|
||||||
|
* @param bookId
|
||||||
|
* @param day
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(path = "/getPostingInfo", method = RequestMethod.GET)
|
||||||
|
public R getPostingInfo(@RequestParam("bookId") Integer bookId,
|
||||||
|
@RequestParam("day") Integer day) {
|
||||||
|
QueryWrapper<BookClockInEntity> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("book_id", bookId);
|
||||||
|
queryWrapper.eq("day", day);
|
||||||
|
BookClockInEntity entity = bookClockinService.getOne(queryWrapper);
|
||||||
|
Map<String, Object> result = new HashMap<>();
|
||||||
|
result.put("result", entity);
|
||||||
|
return R.ok(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取评论列表
|
||||||
|
*
|
||||||
|
* @param entryId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(path = "/getChatList", method = RequestMethod.GET)
|
||||||
|
public R getChatList(@RequestParam("entryId") Integer entryId) {
|
||||||
|
QueryWrapper<BookClockInChatEntity> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("entry_id", entryId);
|
||||||
|
queryWrapper.orderByAsc("f_id", "create_time");
|
||||||
|
List<BookClockInChatEntity> resultList = bookClockEntryChatService.list(queryWrapper);
|
||||||
|
Map<String, Object> result = new HashMap<>();
|
||||||
|
result.put("chatList", resultList);
|
||||||
|
return R.ok(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加评论
|
||||||
|
*
|
||||||
|
* @param chat
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(path = "/addChat", method = RequestMethod.POST)
|
||||||
|
public R addChat(@RequestBody BookClockInChatEntity chat) {
|
||||||
|
bookClockEntryChatService.save(chat);
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除评论
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(path = "/deleteChat", method = RequestMethod.GET)
|
||||||
|
public R deleteChat(@RequestParam("id") Integer id) {
|
||||||
|
bookClockEntryChatService.removeById(id);
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -4,12 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||||||
import com.peanut.common.utils.PageUtils;
|
import com.peanut.common.utils.PageUtils;
|
||||||
import com.peanut.common.utils.R;
|
import com.peanut.common.utils.R;
|
||||||
import com.peanut.modules.book.entity.BookClockinCommentEntity;
|
import com.peanut.modules.book.entity.BookClockinCommentEntity;
|
||||||
import com.peanut.modules.book.entity.BookClockinEntity;
|
import com.peanut.modules.book.entity.BookClockInEntity;
|
||||||
import com.peanut.modules.book.entity.BookClockinPunchEntity;
|
import com.peanut.modules.book.entity.BookClockinPunchEntity;
|
||||||
import com.peanut.modules.book.service.BookClockinCommentService;
|
import com.peanut.modules.book.service.BookClockinCommentService;
|
||||||
import com.peanut.modules.book.service.BookClockinPunchService;
|
import com.peanut.modules.book.service.BookClockinPunchService;
|
||||||
import com.peanut.modules.book.service.BookClockinService;
|
import com.peanut.modules.book.service.BookClockinService;
|
||||||
import com.peanut.modules.book.service.BookTaskService;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@@ -97,7 +96,7 @@ public class BookClockinCommentController {
|
|||||||
Integer bookid = clockinComment.getBookId();
|
Integer bookid = clockinComment.getBookId();
|
||||||
Integer userId = clockinComment.getUserId();
|
Integer userId = clockinComment.getUserId();
|
||||||
Integer pid = clockinComment.getPid();
|
Integer pid = clockinComment.getPid();
|
||||||
BookClockinEntity bookClockinEntity = bookClockinService.getBaseMapper().selectOne(new QueryWrapper<BookClockinEntity>()
|
BookClockInEntity bookClockinEntity = bookClockinService.getBaseMapper().selectOne(new QueryWrapper<BookClockInEntity>()
|
||||||
.eq("id",pid)
|
.eq("id",pid)
|
||||||
);
|
);
|
||||||
clockinComment.setDelFlag(0);
|
clockinComment.setDelFlag(0);
|
||||||
|
|||||||
@@ -44,10 +44,10 @@ public class BookClockinController {
|
|||||||
public R applist(@RequestParam("bookid") String bookid,
|
public R applist(@RequestParam("bookid") String bookid,
|
||||||
@RequestParam("taskid") String taskid) {
|
@RequestParam("taskid") String taskid) {
|
||||||
|
|
||||||
List<BookClockinEntity> bookClockinEntityList = bookClockinService.getBaseMapper().selectList(new QueryWrapper<BookClockinEntity>()
|
List<BookClockInEntity> bookClockinEntityList = bookClockinService.getBaseMapper().selectList(new QueryWrapper<BookClockInEntity>()
|
||||||
.eq("book_id", bookid).eq("task_id", taskid));
|
.eq("book_id", bookid).eq("task_id", taskid));
|
||||||
List list = new ArrayList<>();
|
List list = new ArrayList<>();
|
||||||
for (BookClockinEntity bookClockinEntity : bookClockinEntityList) {
|
for (BookClockInEntity bookClockinEntity : bookClockinEntityList) {
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
String name = "";
|
String name = "";
|
||||||
String avatar="";
|
String avatar="";
|
||||||
@@ -101,7 +101,7 @@ public class BookClockinController {
|
|||||||
*/
|
*/
|
||||||
@RequestMapping("/info/{id}")
|
@RequestMapping("/info/{id}")
|
||||||
public R info(@PathVariable("id") Integer id) {
|
public R info(@PathVariable("id") Integer id) {
|
||||||
BookClockinEntity bookClockinEntity = bookClockinService.getById(id);
|
BookClockInEntity bookClockinEntity = bookClockinService.getById(id);
|
||||||
return R.ok().put("bookBuyConfig", bookClockinEntity);
|
return R.ok().put("bookBuyConfig", bookClockinEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,7 +109,7 @@ public class BookClockinController {
|
|||||||
* 保存
|
* 保存
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/save")
|
@RequestMapping("/save")
|
||||||
public R save(@RequestBody BookClockinEntity bookClockinEntity) {
|
public R save(@RequestBody BookClockInEntity bookClockinEntity) {
|
||||||
|
|
||||||
Integer bookId = bookClockinEntity.getBookId();
|
Integer bookId = bookClockinEntity.getBookId();
|
||||||
Integer userId = bookClockinEntity.getUserId();
|
Integer userId = bookClockinEntity.getUserId();
|
||||||
@@ -124,7 +124,7 @@ public class BookClockinController {
|
|||||||
if (bookClockinPunchEntity==null) {
|
if (bookClockinPunchEntity==null) {
|
||||||
return R.error("当天打卡内容未发布");
|
return R.error("当天打卡内容未发布");
|
||||||
}
|
}
|
||||||
BookClockinEntity bookClockin = bookClockinService.getBaseMapper().selectOne(new QueryWrapper<BookClockinEntity>()
|
BookClockInEntity bookClockin = bookClockinService.getBaseMapper().selectOne(new QueryWrapper<BookClockInEntity>()
|
||||||
.eq("book_id", bookId)
|
.eq("book_id", bookId)
|
||||||
.eq("task_id", taskId)
|
.eq("task_id", taskId)
|
||||||
.eq("day_id", dayId)
|
.eq("day_id", dayId)
|
||||||
@@ -159,7 +159,7 @@ public class BookClockinController {
|
|||||||
* 修改
|
* 修改
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/update")
|
@RequestMapping("/update")
|
||||||
public R update(@RequestBody BookClockinEntity bookClockinEntity) {
|
public R update(@RequestBody BookClockInEntity bookClockinEntity) {
|
||||||
bookClockinService.updateById(bookClockinEntity);
|
bookClockinService.updateById(bookClockinEntity);
|
||||||
return R.ok("提交成功");
|
return R.ok("提交成功");
|
||||||
}
|
}
|
||||||
@@ -186,11 +186,11 @@ public class BookClockinController {
|
|||||||
List applist = new ArrayList<>();
|
List applist = new ArrayList<>();
|
||||||
Map<String, Object> productMap = new HashMap<>();
|
Map<String, Object> productMap = new HashMap<>();
|
||||||
//根据bookid查找出签到表中签到的用户数据
|
//根据bookid查找出签到表中签到的用户数据
|
||||||
List<BookClockinEntity> bookid = bookClockinService.getBaseMapper().selectList(new QueryWrapper<BookClockinEntity>()
|
List<BookClockInEntity> bookid = bookClockinService.getBaseMapper().selectList(new QueryWrapper<BookClockInEntity>()
|
||||||
.eq("book_id", bookId)
|
.eq("book_id", bookId)
|
||||||
.orderByDesc("create_time"));
|
.orderByDesc("create_time"));
|
||||||
|
|
||||||
for (BookClockinEntity book : bookid) {
|
for (BookClockInEntity book : bookid) {
|
||||||
HashMap<Object, Object> map = new HashMap<>();
|
HashMap<Object, Object> map = new HashMap<>();
|
||||||
|
|
||||||
Integer bookid1 = book.getBookId();
|
Integer bookid1 = book.getBookId();
|
||||||
@@ -222,11 +222,11 @@ public class BookClockinController {
|
|||||||
@RequestParam("bookid") Integer bookId) {
|
@RequestParam("bookid") Integer bookId) {
|
||||||
|
|
||||||
|
|
||||||
List<BookClockinEntity> bookClockinEntityList = bookClockinService.getBaseMapper().selectList(new QueryWrapper<BookClockinEntity>()
|
List<BookClockInEntity> bookClockinEntityList = bookClockinService.getBaseMapper().selectList(new QueryWrapper<BookClockInEntity>()
|
||||||
.eq("user_id",id) .eq("book_id",bookId).orderByDesc("create_time"));
|
.eq("user_id",id) .eq("book_id",bookId).orderByDesc("create_time"));
|
||||||
List list = new ArrayList<>();
|
List list = new ArrayList<>();
|
||||||
|
|
||||||
for (BookClockinEntity bookClockinEntity : bookClockinEntityList) {
|
for (BookClockInEntity bookClockinEntity : bookClockinEntityList) {
|
||||||
Map<String, Object> productMap = new HashMap<>();
|
Map<String, Object> productMap = new HashMap<>();
|
||||||
Integer userId = bookClockinEntity.getUserId();
|
Integer userId = bookClockinEntity.getUserId();
|
||||||
Integer dayId = bookClockinEntity.getDayId();
|
Integer dayId = bookClockinEntity.getDayId();
|
||||||
@@ -286,7 +286,7 @@ public class BookClockinController {
|
|||||||
) {
|
) {
|
||||||
List list = new ArrayList<>();
|
List list = new ArrayList<>();
|
||||||
Map<String, Object> productMap = new HashMap<>();
|
Map<String, Object> productMap = new HashMap<>();
|
||||||
BookClockinEntity bookClockin = bookClockinService.getBaseMapper().selectOne(new QueryWrapper<BookClockinEntity>()
|
BookClockInEntity bookClockin = bookClockinService.getBaseMapper().selectOne(new QueryWrapper<BookClockInEntity>()
|
||||||
.eq("user_id",id)
|
.eq("user_id",id)
|
||||||
.eq("task_id",taskid)
|
.eq("task_id",taskid)
|
||||||
.eq("book_id",bookId)
|
.eq("book_id",bookId)
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
package com.peanut.modules.book.controller;
|
package com.peanut.modules.book.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUnit;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.TypeReference;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
@@ -7,29 +12,28 @@ import com.peanut.common.utils.PageUtils;
|
|||||||
import com.peanut.common.utils.R;
|
import com.peanut.common.utils.R;
|
||||||
import com.peanut.modules.book.dao.UserEbookBuyDao;
|
import com.peanut.modules.book.dao.UserEbookBuyDao;
|
||||||
import com.peanut.modules.book.entity.*;
|
import com.peanut.modules.book.entity.*;
|
||||||
import com.peanut.modules.book.service.BookClockinCommentService;
|
import com.peanut.modules.book.service.*;
|
||||||
import com.peanut.modules.book.service.BookClockinPunchService;
|
import io.swagger.models.auth.In;
|
||||||
import com.peanut.modules.book.service.BookService;
|
|
||||||
import com.peanut.modules.book.service.MyUserService;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("book/clockinPunch")
|
@RequestMapping("book/clockinPunch")
|
||||||
public class BookClockinPunchController {
|
public class BookClockinPunchController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private BookClockinPunchService bookClockinPunchService;
|
private BookClockinPunchService bookClockinPunchService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private BookService bookService;
|
private BookService bookService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private MyUserService myUserService;
|
private MyUserService myUserService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private BookClockinCommentService bookClockinCommentService;
|
private BookClockinCommentService bookClockinCommentService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserEbookBuyDao userEbookBuyDao;
|
private UserEbookBuyDao userEbookBuyDao;
|
||||||
|
@Autowired
|
||||||
|
UserBookClockService userBookClockService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -44,49 +48,6 @@ private UserEbookBuyDao userEbookBuyDao;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 计算打卡天数
|
|
||||||
*/
|
|
||||||
@RequestMapping("/clockindays")
|
|
||||||
public R applists(@RequestParam("bookId") String bookid,
|
|
||||||
@RequestParam("userId") String userid) {
|
|
||||||
ArrayList<Object> list = new ArrayList<>();
|
|
||||||
//查询用户id图书id 根据第一天打卡天数开始计算
|
|
||||||
BookClockinPunchEntity bookClockinEntity = bookClockinPunchService.getBaseMapper().selectOne(new QueryWrapper<BookClockinPunchEntity>()
|
|
||||||
.eq("book_id", bookid)
|
|
||||||
.eq("user_id", userid)
|
|
||||||
.eq("days",1)
|
|
||||||
);
|
|
||||||
List<BookClockinPunchEntity> bookClockinEntityList = bookClockinPunchService.getBaseMapper().selectList(new QueryWrapper<BookClockinPunchEntity>()
|
|
||||||
.eq("book_id", bookid)
|
|
||||||
.eq("user_id", userid)
|
|
||||||
);
|
|
||||||
for (BookClockinPunchEntity bookClock : bookClockinEntityList) {
|
|
||||||
Integer days = bookClock.getDays();
|
|
||||||
list.add(days);
|
|
||||||
}
|
|
||||||
if (bookClockinEntity != null) {
|
|
||||||
Date createTime = bookClockinEntity.getCreateTime();
|
|
||||||
long createTimeMillis = createTime.getTime();
|
|
||||||
//获取第一次打卡天数createTimeMillis毫秒数,时间戳减并除以毫秒数(24 * 60 * 60 * 1000)计算打卡总天数+1
|
|
||||||
int daysBetween = (int) (System.currentTimeMillis() - createTimeMillis) / (24 * 60 * 60 * 1000)+1;
|
|
||||||
return R.ok().put("daysBetween", daysBetween).put("dayslist", list);
|
|
||||||
|
|
||||||
} else if (bookClockinEntity == null) {
|
|
||||||
Date createTime = new Date();
|
|
||||||
long createTimeMillis = createTime.getTime();
|
|
||||||
int daysBetween = (int) (System.currentTimeMillis() - createTimeMillis) / (24 * 60 * 60 * 1000)+1;
|
|
||||||
return R.ok().put("daysBetween", daysBetween).put("dayslist",list );
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return R.error("无信息记录");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 信息
|
* 信息
|
||||||
*/
|
*/
|
||||||
@@ -113,25 +74,24 @@ private UserEbookBuyDao userEbookBuyDao;
|
|||||||
.eq("t_id", taskId)
|
.eq("t_id", taskId)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
||||||
if (bookClock !=null) {
|
if (bookClock != null) {
|
||||||
return R.error("您已经签到,请勿重复签到");
|
return R.error("您已经签到,请勿重复签到");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(canListen == true){
|
if (canListen == true) {
|
||||||
boolean b = myUserService.bookAuthen(bookid1,userId);
|
boolean b = myUserService.bookAuthen(bookid1, userId);
|
||||||
if (b){
|
if (b) {
|
||||||
bookClockinPunchEntity.setDelFlag(0);
|
bookClockinPunchEntity.setDelFlag(0);
|
||||||
bookClockinPunchService.save(bookClockinPunchEntity);
|
bookClockinPunchService.save(bookClockinPunchEntity);
|
||||||
return R.ok("签到成功");
|
return R.ok("签到成功");
|
||||||
}else {
|
} else {
|
||||||
return R.error("您还未购买此书,购买后即可签到");
|
return R.error("您还未购买此书,购买后即可签到");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}else {
|
} else {
|
||||||
return R.error("该书暂未开放打卡权限");
|
return R.error("该书暂未开放打卡权限");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,37 +101,39 @@ private UserEbookBuyDao userEbookBuyDao;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取用户打卡已购图书
|
* 获取用户打卡已购图书
|
||||||
|
*
|
||||||
* @param userId
|
* @param userId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/myClockBooks")
|
@RequestMapping("/myClockBooks")
|
||||||
public R myClockBooks(@RequestParam Integer userId,@RequestParam Integer limit,@RequestParam Integer page){
|
public R myClockBooks(@RequestParam Integer userId, @RequestParam Integer limit, @RequestParam Integer page) {
|
||||||
MPJLambdaWrapper<UserEbookBuyEntity> wrapper = new MPJLambdaWrapper<>();
|
MPJLambdaWrapper<UserEbookBuyEntity> wrapper = new MPJLambdaWrapper<>();
|
||||||
wrapper.selectAll(BookEntity.class);
|
wrapper.selectAll(BookEntity.class);
|
||||||
wrapper.leftJoin(BookEntity.class,BookEntity::getId,UserEbookBuyEntity::getBookId);
|
wrapper.leftJoin(BookEntity.class, BookEntity::getId, UserEbookBuyEntity::getBookId);
|
||||||
wrapper.eq(UserEbookBuyEntity::getUserId,userId);
|
wrapper.eq(UserEbookBuyEntity::getUserId, userId);
|
||||||
wrapper.eq(BookEntity::getDelFlag,0);
|
wrapper.eq(BookEntity::getDelFlag, 0);
|
||||||
wrapper.eq(BookEntity::getClockIn,1);
|
wrapper.eq(BookEntity::getClockIn, 1);
|
||||||
Page<BookEntity> userBookEntityPage = userEbookBuyDao.selectJoinPage(new Page<BookEntity>(page, limit), BookEntity.class, wrapper);
|
Page<BookEntity> userBookEntityPage = userEbookBuyDao.selectJoinPage(new Page<BookEntity>(page, limit), BookEntity.class, wrapper);
|
||||||
return R.ok().put("page",userBookEntityPage);
|
return R.ok().put("page", userBookEntityPage);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取打卡推荐图书
|
* 获取打卡推荐图书
|
||||||
|
*
|
||||||
* @param userId
|
* @param userId
|
||||||
* @param limit
|
* @param limit
|
||||||
* @param page
|
* @param page
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/getBestClockBooks")
|
@RequestMapping("/getBestClockBooks")
|
||||||
public R getBestClockBooks(@RequestParam Integer userId,@RequestParam Integer limit,@RequestParam Integer page){
|
public R getBestClockBooks(@RequestParam Integer userId, @RequestParam Integer limit, @RequestParam Integer page) {
|
||||||
String not_ex_sql = "select 1 from user_ebook_buy where book.id = book_id and user_id = "+userId;
|
String not_ex_sql = "select 1 from user_ebook_buy where book.id = book_id and user_id = " + userId;
|
||||||
LambdaQueryWrapper<BookEntity> wrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<BookEntity> wrapper = new LambdaQueryWrapper<>();
|
||||||
wrapper.eq(BookEntity::getDelFlag,0);
|
wrapper.eq(BookEntity::getDelFlag, 0);
|
||||||
wrapper.eq(BookEntity::getClockIn,1);
|
wrapper.eq(BookEntity::getClockIn, 1);
|
||||||
wrapper.notExists(not_ex_sql);
|
wrapper.notExists(not_ex_sql);
|
||||||
Page<BookEntity> bookEntityPage = bookService.getBaseMapper().selectPage(new Page<>(page, limit), wrapper);
|
Page<BookEntity> bookEntityPage = bookService.getBaseMapper().selectPage(new Page<>(page, limit), wrapper);
|
||||||
return R.ok().put("page",bookEntityPage);
|
return R.ok().put("page", bookEntityPage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -197,12 +159,13 @@ private UserEbookBuyDao userEbookBuyDao;
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取评论
|
* 获取评论
|
||||||
|
*
|
||||||
* @param bookClockinPunchEntity
|
* @param bookClockinPunchEntity
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/punchcoments")
|
@RequestMapping("/punchcoments")
|
||||||
public R punchcoments(@RequestBody BookClockinPunchEntity bookClockinPunchEntity) {
|
public R punchcoments(@RequestBody BookClockinPunchEntity bookClockinPunchEntity) {
|
||||||
//图书Id
|
//图书Id
|
||||||
Integer bookId = bookClockinPunchEntity.getBookId();
|
Integer bookId = bookClockinPunchEntity.getBookId();
|
||||||
//用户id
|
//用户id
|
||||||
@@ -212,48 +175,46 @@ private UserEbookBuyDao userEbookBuyDao;
|
|||||||
|
|
||||||
ArrayList<Object> list = new ArrayList<>();
|
ArrayList<Object> list = new ArrayList<>();
|
||||||
List<BookClockinCommentEntity> bookClockinCommentEntities = bookClockinCommentService.getBaseMapper().selectList(new QueryWrapper<BookClockinCommentEntity>()
|
List<BookClockinCommentEntity> bookClockinCommentEntities = bookClockinCommentService.getBaseMapper().selectList(new QueryWrapper<BookClockinCommentEntity>()
|
||||||
.eq("user_id", userId)
|
.eq("user_id", userId)
|
||||||
.eq("book_id", bookId)
|
.eq("book_id", bookId)
|
||||||
.eq("task_id", days)
|
.eq("task_id", days)
|
||||||
//pid等于1时为一级评论
|
//pid等于1时为一级评论
|
||||||
// .eq("pid",1)
|
// .eq("pid",1)
|
||||||
);
|
);
|
||||||
for (BookClockinCommentEntity bookClockinCommentEntity : bookClockinCommentEntities) {
|
for (BookClockinCommentEntity bookClockinCommentEntity : bookClockinCommentEntities) {
|
||||||
HashMap<Object, Object> map = new HashMap<>();
|
HashMap<Object, Object> map = new HashMap<>();
|
||||||
String name = "";
|
String name = "";
|
||||||
String avatar="";
|
String avatar = "";
|
||||||
|
|
||||||
Integer userId1 = bookClockinCommentEntity.getUserId();
|
Integer userId1 = bookClockinCommentEntity.getUserId();
|
||||||
Integer bookId1 = bookClockinCommentEntity.getBookId();
|
Integer bookId1 = bookClockinCommentEntity.getBookId();
|
||||||
String content = bookClockinCommentEntity.getContent();
|
String content = bookClockinCommentEntity.getContent();
|
||||||
String images = bookClockinCommentEntity.getImages();
|
String images = bookClockinCommentEntity.getImages();
|
||||||
Date createTime = bookClockinCommentEntity.getCreateTime();
|
Date createTime = bookClockinCommentEntity.getCreateTime();
|
||||||
|
|
||||||
|
|
||||||
|
List<MyUserEntity> id = myUserService.getBaseMapper().selectList(new QueryWrapper<MyUserEntity>().eq("id", userId));
|
||||||
|
for (MyUserEntity user : id) {
|
||||||
|
name = user.getNickname();
|
||||||
|
avatar = user.getAvatar();
|
||||||
|
}
|
||||||
|
map.put("userid", userId1);
|
||||||
|
map.put("name", name);
|
||||||
|
map.put("avatar", avatar);
|
||||||
|
map.put("bookid", bookId1);
|
||||||
|
map.put("content", content);
|
||||||
|
map.put("images", images);
|
||||||
|
map.put("createdate", createTime);
|
||||||
|
list.add(map);
|
||||||
|
|
||||||
List<MyUserEntity> id = myUserService.getBaseMapper().selectList(new QueryWrapper<MyUserEntity>().eq("id", userId));
|
}
|
||||||
for (MyUserEntity user : id) {
|
|
||||||
name = user.getNickname();
|
|
||||||
avatar = user.getAvatar();
|
|
||||||
}
|
|
||||||
map.put("userid", userId1);
|
|
||||||
map.put("name", name);
|
|
||||||
map.put("avatar", avatar);
|
|
||||||
map.put("bookid", bookId1);
|
|
||||||
map.put("content", content);
|
|
||||||
map.put("images", images);
|
|
||||||
map.put("createdate", createTime);
|
|
||||||
list.add(map);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Collections.reverse(list);
|
Collections.reverse(list);
|
||||||
return R.ok().put("list", list);
|
return R.ok().put("list", list);
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ package com.peanut.modules.book.controller;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.peanut.common.utils.PageUtils;
|
import com.peanut.common.utils.PageUtils;
|
||||||
import com.peanut.common.utils.R;
|
import com.peanut.common.utils.R;
|
||||||
import com.peanut.modules.book.entity.BookClockinEntity;
|
|
||||||
import com.peanut.modules.book.entity.BookClockinPunchEntity;
|
import com.peanut.modules.book.entity.BookClockinPunchEntity;
|
||||||
import com.peanut.modules.book.entity.BookTaskEntity;
|
import com.peanut.modules.book.entity.BookTaskEntity;
|
||||||
import com.peanut.modules.book.service.*;
|
import com.peanut.modules.book.service.*;
|
||||||
|
|||||||
@@ -0,0 +1,99 @@
|
|||||||
|
package com.peanut.modules.book.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUnit;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
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.book.entity.UserBookClockEntity;
|
||||||
|
import com.peanut.modules.book.service.UserBookClockService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
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 java.util.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 用户打卡 Controller
|
||||||
|
* @Author: Cauchy
|
||||||
|
* @CreateTime: 2023/10/11
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@RequestMapping("/book/userClockIn")
|
||||||
|
public class UserBookClockController {
|
||||||
|
@Autowired
|
||||||
|
UserBookClockService userBookClockService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计算打卡天数
|
||||||
|
*
|
||||||
|
* @param bookId
|
||||||
|
* @param userId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(path = "/clockInDays", method = RequestMethod.GET)
|
||||||
|
public R clockInDays(@RequestParam("bookId") Integer bookId,
|
||||||
|
@RequestParam("userId") Integer userId) {
|
||||||
|
QueryWrapper<UserBookClockEntity> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("book_id", bookId);
|
||||||
|
queryWrapper.eq("user_id", userId);
|
||||||
|
UserBookClockEntity userBookClock = userBookClockService.getOne(queryWrapper);
|
||||||
|
if (userBookClock == null) {
|
||||||
|
return R.error("未获取到该用户的打卡信息");
|
||||||
|
}
|
||||||
|
// 1. 获取打卡初始日期
|
||||||
|
Date beginDate = userBookClock.getBeginDate();
|
||||||
|
// 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("clockInDayList", clockInDayList);
|
||||||
|
return R.ok(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户打卡
|
||||||
|
*
|
||||||
|
* @param bookId
|
||||||
|
* @param userId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(path = "/clockIn", method = RequestMethod.GET)
|
||||||
|
public R clockIn(@RequestParam("bookId") Integer bookId, @RequestParam("userId") Integer userId) {
|
||||||
|
// 查询是否有该用户打卡记录,如果没有,说明是第一天打卡
|
||||||
|
QueryWrapper<UserBookClockEntity> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("book_id", bookId);
|
||||||
|
queryWrapper.eq("user_id", userId);
|
||||||
|
UserBookClockEntity userBookClock = userBookClockService.getOne(queryWrapper);
|
||||||
|
// 第一天打卡
|
||||||
|
if (userBookClock == null) {
|
||||||
|
UserBookClockEntity entity = new UserBookClockEntity();
|
||||||
|
java.sql.Date beginDate = new java.sql.Date(new Date().getTime());
|
||||||
|
List<Integer> clockInDaysList = new ArrayList<>();
|
||||||
|
clockInDaysList.add(1);
|
||||||
|
String clockInDaysListStr = JSON.toJSON(clockInDaysList).toString();
|
||||||
|
entity.setBookId(bookId);
|
||||||
|
entity.setUserId(userId);
|
||||||
|
entity.setBeginDate(beginDate);
|
||||||
|
entity.setClocks(clockInDaysListStr);
|
||||||
|
userBookClockService.save(entity);
|
||||||
|
return R.ok("打卡成功");
|
||||||
|
}
|
||||||
|
String clocksStr = userBookClock.getClocks();
|
||||||
|
List<Integer> clockInDaysList = JSON.parseObject(clocksStr, new TypeReference<List<Integer>>() {
|
||||||
|
});
|
||||||
|
Date beginDate = userBookClock.getBeginDate();
|
||||||
|
Date today = new Date();
|
||||||
|
long between = DateUtil.between(beginDate, today, DateUnit.DAY);
|
||||||
|
clockInDaysList.add((int) between);
|
||||||
|
String clockInDaysListStr = JSON.toJSON(clockInDaysList).toString();
|
||||||
|
userBookClock.setClocks(clockInDaysListStr);
|
||||||
|
userBookClockService.updateById(userBookClock);
|
||||||
|
return R.ok("打卡成功");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package com.peanut.modules.book.dao;
|
package com.peanut.modules.book.dao;
|
||||||
|
|
||||||
import com.github.yulichang.base.MPJBaseMapper;
|
import com.github.yulichang.base.MPJBaseMapper;
|
||||||
import com.peanut.modules.book.entity.BookClockEntryChatEntity;
|
import com.peanut.modules.book.entity.BookClockInChatEntity;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface BookClockEntryChatDao extends MPJBaseMapper<BookClockEntryChatEntity> {
|
public interface BookClockEntryChatDao extends MPJBaseMapper<BookClockInChatEntity> {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
package com.peanut.modules.book.dao;
|
package com.peanut.modules.book.dao;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import com.github.yulichang.base.MPJBaseMapper;
|
import com.github.yulichang.base.MPJBaseMapper;
|
||||||
import com.peanut.modules.book.entity.BookClockinEntity;
|
import com.peanut.modules.book.entity.BookClockInEntity;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface BookClockinDao extends MPJBaseMapper<BookClockinEntity> {
|
public interface BookClockinDao extends MPJBaseMapper<BookClockInEntity> {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,13 @@ package com.peanut.modules.book.entity;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
public class BookClockEntryChatEntity implements Serializable {
|
@Data
|
||||||
|
public class BookClockInChatEntity implements Serializable {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@TableId
|
@TableId
|
||||||
@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.annotation.*;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -16,7 +15,7 @@ import java.util.Date;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@TableName("book_clockin")
|
@TableName("book_clockin")
|
||||||
public class BookClockinEntity implements Serializable {
|
public class BookClockInEntity implements Serializable {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.sql.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@TableName("user_book_clock")
|
@TableName("user_book_clock")
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.peanut.modules.book.service;
|
package com.peanut.modules.book.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.peanut.modules.book.entity.BookClockEntryChatEntity;
|
import com.peanut.modules.book.entity.BookClockInChatEntity;
|
||||||
|
|
||||||
public interface BookClockEntryChatService extends IService<BookClockEntryChatEntity> {
|
public interface BookClockEntryChatService extends IService<BookClockInChatEntity> {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package com.peanut.modules.book.service;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.peanut.common.utils.PageUtils;
|
import com.peanut.common.utils.PageUtils;
|
||||||
import com.peanut.modules.book.entity.BookClockinEntity;
|
|
||||||
import com.peanut.modules.book.entity.BookClockinPunchEntity;
|
import com.peanut.modules.book.entity.BookClockinPunchEntity;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ package com.peanut.modules.book.service;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.peanut.common.utils.PageUtils;
|
import com.peanut.common.utils.PageUtils;
|
||||||
import com.peanut.modules.book.entity.BookClockinEntity;
|
import com.peanut.modules.book.entity.BookClockInEntity;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public interface BookClockinService extends IService<BookClockinEntity> {
|
public interface BookClockinService extends IService<BookClockInEntity> {
|
||||||
PageUtils queryPage(Map<String, Object> params);
|
PageUtils queryPage(Map<String, Object> params);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ package com.peanut.modules.book.service.impl;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.peanut.modules.book.dao.BookClockEntryChatDao;
|
import com.peanut.modules.book.dao.BookClockEntryChatDao;
|
||||||
import com.peanut.modules.book.entity.BookClockEntryChatEntity;
|
import com.peanut.modules.book.entity.BookClockInChatEntity;
|
||||||
import com.peanut.modules.book.service.BookClockEntryChatService;
|
import com.peanut.modules.book.service.BookClockEntryChatService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Service("bookClockEntryChatService")
|
@Service("bookClockEntryChatService")
|
||||||
public class BookClockEntryChatImpl extends ServiceImpl<BookClockEntryChatDao,BookClockEntryChatEntity> implements BookClockEntryChatService {
|
public class BookClockEntryChatImpl extends ServiceImpl<BookClockEntryChatDao, BookClockInChatEntity> implements BookClockEntryChatService {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import com.peanut.common.utils.PageUtils;
|
|||||||
import com.peanut.common.utils.Query;
|
import com.peanut.common.utils.Query;
|
||||||
import com.peanut.modules.book.dao.BookClockinCommentDao;
|
import com.peanut.modules.book.dao.BookClockinCommentDao;
|
||||||
import com.peanut.modules.book.entity.BookClockinCommentEntity;
|
import com.peanut.modules.book.entity.BookClockinCommentEntity;
|
||||||
import com.peanut.modules.book.entity.BookClockinEntity;
|
|
||||||
import com.peanut.modules.book.service.BookClockinCommentService;
|
import com.peanut.modules.book.service.BookClockinCommentService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
|||||||
@@ -6,23 +6,23 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import com.peanut.common.utils.PageUtils;
|
import com.peanut.common.utils.PageUtils;
|
||||||
import com.peanut.common.utils.Query;
|
import com.peanut.common.utils.Query;
|
||||||
import com.peanut.modules.book.dao.BookClockinDao;
|
import com.peanut.modules.book.dao.BookClockinDao;
|
||||||
import com.peanut.modules.book.entity.BookClockinEntity;
|
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 org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class BookClockinServiceImpl extends ServiceImpl<BookClockinDao, BookClockinEntity> implements BookClockinService {
|
public class BookClockinServiceImpl extends ServiceImpl<BookClockinDao, BookClockInEntity> implements BookClockinService {
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageUtils queryPage(Map<String, Object> params) {
|
public PageUtils queryPage(Map<String, Object> params) {
|
||||||
Object book =params.get("bookid");
|
Object book =params.get("bookid");
|
||||||
Object taskid = params.get("taskid");
|
Object taskid = params.get("taskid");
|
||||||
IPage<BookClockinEntity> page = this.page(
|
IPage<BookClockInEntity> page = this.page(
|
||||||
new Query<BookClockinEntity>().getPage(params),
|
new Query<BookClockInEntity>().getPage(params),
|
||||||
new QueryWrapper<BookClockinEntity>()
|
new QueryWrapper<BookClockInEntity>()
|
||||||
.eq("book_id",book)
|
.eq("book_id",book)
|
||||||
.eq("task_id",taskid)
|
.eq("task_id",taskid)
|
||||||
.orderByDesc("create_time")
|
.orderByDesc("create_time")
|
||||||
@@ -34,9 +34,9 @@ public class BookClockinServiceImpl extends ServiceImpl<BookClockinDao, BookCloc
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageUtils queryPagemylist(Map<String, Object> params) {
|
public PageUtils queryPagemylist(Map<String, Object> params) {
|
||||||
IPage<BookClockinEntity> page = this.page(
|
IPage<BookClockInEntity> page = this.page(
|
||||||
new Query<BookClockinEntity>().getPage(params),
|
new Query<BookClockInEntity>().getPage(params),
|
||||||
new QueryWrapper<BookClockinEntity>()
|
new QueryWrapper<BookClockInEntity>()
|
||||||
|
|
||||||
);
|
);
|
||||||
return new PageUtils(page);
|
return new PageUtils(page);
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import org.springframework.stereotype.Component;
|
|||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
public class OrderCancelConsumer {
|
public class OrderCancelConsumer {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
BuyOrderService buyOrderService;
|
BuyOrderService buyOrderService;
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<!-- 可根据自己的需求,是否要使用 -->
|
<!-- 可根据自己的需求,是否要使用 -->
|
||||||
<resultMap type="com.peanut.modules.book.entity.BookClockinEntity" id="bookClockinMap">
|
<resultMap type="com.peanut.modules.book.entity.BookClockInEntity" id="bookClockinMap">
|
||||||
<result property="id" column="id"/>
|
<result property="id" column="id"/>
|
||||||
<result property="bookId" column="book_id"/>
|
<result property="bookId" column="book_id"/>
|
||||||
<result property="userId" column="user_id"/>
|
<result property="userId" column="user_id"/>
|
||||||
|
|||||||
@@ -1,27 +1,27 @@
|
|||||||
# APP ID
|
# APP ID
|
||||||
wxpay.appId:wx47134a8f15083734
|
wxpay.appId:wx47134a8f15083734
|
||||||
# ?? ID
|
# \u5546\u6237 ID
|
||||||
wxpay.mchId:1612860909
|
wxpay.mchId:1612860909
|
||||||
# ?? URL
|
# \u652F\u4ED8 URL
|
||||||
wxpay.payUrl:https://api.mch.weixin.qq.com/v3/pay/transactions/app
|
wxpay.payUrl:https://api.mch.weixin.qq.com/v3/pay/transactions/app
|
||||||
# ????
|
# \u901A\u77E5\u56DE\u8C03 URL
|
||||||
wxpay.notifyUrl:https://testapi.nuttyreading.com/pay/payNotify
|
wxpay.notifyUrl:https://testapi.nuttyreading.com/pay/payNotify
|
||||||
# ?? url
|
# \u9000\u6B3E URL
|
||||||
wxpay.refundNotifyUrl:http://pjm6m9.natappfree.cc/pay/refundNotify
|
wxpay.refundNotifyUrl:http://pjm6m9.natappfree.cc/pay/refundNotify
|
||||||
# key pem
|
# key pem
|
||||||
wxpay.keyPemPath:/usr/local/hs/peanut_book/target/classes/cent/apiclient_key.pem
|
#wxpay.keyPemPath:/usr/local/hs/peanut_book/target/classes/cent/apiclient_key.pem
|
||||||
#wxpay.keyPemPath:C:/Users/Cauchy/IdeaProjects/nuttyreading-java/src/main/resources/cent/apiclient_key.pem
|
wxpay.keyPemPath:C:/Users/Cauchy/IdeaProjects/nuttyreading-java/src/main/resources/cent/apiclient_key.pem
|
||||||
#wxpay.keyPemPath:D:/hs/nuttyreading-java/src/main/resources/cent/apiclient_key.pem
|
#wxpay.keyPemPath:D:/hs/nuttyreading-java/src/main/resources/cent/apiclient_key.pem
|
||||||
#wxpay.keyPemPath:/usr/local/hs/peanut_book/target/classes/cent/apiclient_key.pem
|
#wxpay.keyPemPath:/usr/local/hs/peanut_book/target/classes/cent/apiclient_key.pem
|
||||||
# ???
|
# \u5546\u6237\u5E8F\u5217\u53F7
|
||||||
wxpay.serialNo:679AECB2F7AC4183033F713828892BA640E4EEE3
|
wxpay.serialNo:679AECB2F7AC4183033F713828892BA640E4EEE3
|
||||||
# API v3 key
|
# API v3 key
|
||||||
wxpay.apiV3Key:4aYFklzaULeGlr7oJPZ6rHWKcxjihZUF
|
wxpay.apiV3Key:4aYFklzaULeGlr7oJPZ6rHWKcxjihZUF
|
||||||
# ????
|
# \u8BC1\u4E66
|
||||||
wxpay.wechatPayCertificateUrl:/usr/local/hs/peanut_book/target/classes/cent/wechatpay_7B5676E3CDF56680D0414A009CE501C844DBE2D6.pem
|
#wxpay.wechatPayCertificateUrl:/usr/local/hs/peanut_book/target/classes/cent/wechatpay_7B5676E3CDF56680D0414A009CE501C844DBE2D6.pem
|
||||||
# wxpay.wechatPayCertificateUrl:C:/Users/Cauchy/IdeaProjects/nuttyreading-java/src/main/resources/cent/wechatpay_7B5676E3CDF56680D0414A009CE501C844DBE2D6.pem
|
wxpay.wechatPayCertificateUrl:C:/Users/Cauchy/IdeaProjects/nuttyreading-java/src/main/resources/cent/wechatpay_7B5676E3CDF56680D0414A009CE501C844DBE2D6.pem
|
||||||
# wxpay.wechatPayCertificateUrl:D:/hs/nuttyreading-java/src/main/resources/cent/wechatpay_7B5676E3CDF56680D0414A009CE501C844DBE2D6.pem
|
# wxpay.wechatPayCertificateUrl:D:/hs/nuttyreading-java/src/main/resources/cent/wechatpay_7B5676E3CDF56680D0414A009CE501C844DBE2D6.pem
|
||||||
# ?? url
|
# \u5BC6\u94A5
|
||||||
wxpay.privateKeyUrl:/usr/local/hs/peanut_book/target/classes/cent/apiclient_key.pem
|
#wxpay.privateKeyUrl:/usr/local/hs/peanut_book/target/classes/cent/apiclient_key.pem
|
||||||
#wxpay.privateKeyUrl:C:/Users/Cauchy/IdeaProjects/nuttyreading-java/src/main/resources/cent/apiclient_key.pem
|
wxpay.privateKeyUrl:C:/Users/Cauchy/IdeaProjects/nuttyreading-java/src/main/resources/cent/apiclient_key.pem
|
||||||
#wxpay.privateKeyUrl:D:/hs/nuttyreading-java/src/main/resources/cent/apiclient_key.pem
|
#wxpay.privateKeyUrl:D:/hs/nuttyreading-java/src/main/resources/cent/apiclient_key.pem
|
||||||
|
|||||||
Reference in New Issue
Block a user