package top.ahcdc.periodical.service.impl;
import com.baomidou.mybatisplus.core.assist.ISqlRunner;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import top.ahcdc.periodical.common.lang.CommonResponse;
import top.ahcdc.periodical.entity.BorrowTabelEntity;
import top.ahcdc.periodical.entity.PeriodicalContentEntity;
import top.ahcdc.periodical.entity.PeriodicalRegisterEntity;
import top.ahcdc.periodical.entity.UserEntity;
import top.ahcdc.periodical.mapper.BorrowTableMapper;
import top.ahcdc.periodical.mapper.PeriodicalContentMapper;
import top.ahcdc.periodical.mapper.PeriodicalRegisterMapper;
import top.ahcdc.periodical.mapper.UserMapper;
import top.ahcdc.periodical.service.BorrowService;
import top.ahcdc.periodical.utils.CalendarString;
import top.ahcdc.periodical.vo.BorrowPageVO;
import top.ahcdc.periodical.vo.integration.PeriodicalNotBorrowVO;
import top.ahcdc.periodical.vo.integration.UserInfoVO;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@Service
public class BorrowServiceImpl implements BorrowService {
@Autowired
private BorrowTableMapper borrowTableMapper;
@Autowired
private PeriodicalRegisterMapper periodicalRegisterMapper;
@Autowired
private UserMapper userMapper;
@Autowired
private PeriodicalContentMapper periodicalContentMapper;
private CalendarString calendarString=new CalendarString();
@Override
public BorrowPageVO getBorrowPageInfo(String userNum) {
List<PeriodicalNotBorrowVO> ret = getNotBorrow();
QueryWrapper<UserEntity> userInfoQuery = new QueryWrapper<>();
userInfoQuery.eq("user_num", userNum);
UserEntity user = userMapper.selectOne(userInfoQuery);
UserInfoVO userInfo = new UserInfoVO(
user.getUserNum(),
user.getUserProfiles(),
user.getBalance(),
user.getUserEmail()
);
return new BorrowPageVO(userInfo, ret);
}
@Override
public List<PeriodicalNotBorrowVO> BorrowSearch(int type,String search_content){
List<PeriodicalContentEntity> periodicalContentEntities=new LinkedList<>();//查询出来的期刊内容记录
List<PeriodicalNotBorrowVO> ret=getNotBorrow();//未借出的期刊信息
List<PeriodicalNotBorrowVO> searchRes=new LinkedList<>();//返回的期刊查询记录
QueryWrapper<PeriodicalContentEntity> periodicalContentQuery=new QueryWrapper<>();
if(type==1){
periodicalContentQuery.eq("paper_keyword_1",search_content).or().eq("paper_keyword_2",search_content)
.or().eq("paper_keyword_3",search_content).or().eq("paper_keyword_4",search_content)
.or().eq("paper_keyword_5",search_content);
periodicalContentEntities=periodicalContentMapper.selectList(periodicalContentQuery);
for(PeriodicalNotBorrowVO periodicalNotBorrowVO:ret){
for(PeriodicalContentEntity periodicalContentEntity:periodicalContentEntities){
if(periodicalNotBorrowVO.getPeriodicalName().equals(periodicalContentEntity.getPeriodicalName())){
searchRes.add(periodicalNotBorrowVO);
break;
}
}
}
}
else if(type==2){
periodicalContentQuery.like("paper_author",search_content);
periodicalContentEntities=periodicalContentMapper.selectList(periodicalContentQuery);
for(PeriodicalNotBorrowVO periodicalNotBorrowVO:ret){
for(PeriodicalContentEntity periodicalContentEntity:periodicalContentEntities){
if(periodicalNotBorrowVO.getPeriodicalName().equals(periodicalContentEntity.getPeriodicalName())&&
periodicalNotBorrowVO.getStage()==periodicalContentEntity.getStage()&&periodicalNotBorrowVO.getVolume()==periodicalContentEntity.getVolume()&&
periodicalNotBorrowVO.getYear()==periodicalContentEntity.getYear()){
searchRes.add(periodicalNotBorrowVO);
break;
}
}
}
}
return searchRes;
}
@Override
public String getCover(String name, int year, int volume, int stage) {
QueryWrapper<PeriodicalRegisterEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("periodical_name", name)
.eq("year", year)
.eq("volume", volume)
.eq("stage", stage);
return periodicalRegisterMapper.selectOne(queryWrapper).getPeriodicalCover();
}
@Override
public List<PeriodicalNotBorrowVO> getNotBorrow(){
List<PeriodicalRegisterEntity> periodicalRegisterEntityList = periodicalRegisterMapper.selectList(null);
List<BorrowTabelEntity> borrowTabelEntityList = borrowTableMapper.selectList(null);
List<PeriodicalNotBorrowVO> all = new LinkedList<>();
List<PeriodicalNotBorrowVO> borrowed = new LinkedList<>();
for(PeriodicalRegisterEntity periodicalRegisterEntity:periodicalRegisterEntityList){
all.add(new PeriodicalNotBorrowVO(
periodicalRegisterEntity.getPeriodicalName(),
periodicalRegisterEntity.getPeriodicalCover(),
periodicalRegisterEntity.getVolume(),
periodicalRegisterEntity.getYear(),
periodicalRegisterEntity.getStage(),
periodicalRegisterEntity.getDeposit()
));
}
for(BorrowTabelEntity borrowTabelEntity:borrowTabelEntityList){
if(!(borrowTabelEntity.getReturnDate()==null||borrowTabelEntity.getReturnDate().isBlank())) continue;
borrowed.add(new PeriodicalNotBorrowVO(
borrowTabelEntity.getPeriodicalName(),
getCover(borrowTabelEntity.getPeriodicalName(),
borrowTabelEntity.getYear(),
borrowTabelEntity.getVolume(),
borrowTabelEntity.getStage()),
borrowTabelEntity.getVolume(),
borrowTabelEntity.getYear(),
borrowTabelEntity.getStage(),
0
));
}
List<PeriodicalNotBorrowVO> ret = new LinkedList<>();
for(PeriodicalNotBorrowVO a:all){
int flag = 0;
for(PeriodicalNotBorrowVO b:borrowed){
if(a.getStage()==b.getStage() && a.getPeriodicalName().equals(b.getPeriodicalName())
&& a.getVolume() == b.getVolume() && a.getYear() == b.getYear()){
flag = 1;
break;
}
}
if(flag == 0){
ret.add(a);
}
}
return ret;
}
public List<PeriodicalContentEntity> detailDisp(String pName, int year, int volume, int stage){
QueryWrapper<PeriodicalContentEntity> detailQuerywrapper=new QueryWrapper<>();
detailQuerywrapper.eq("periodical_name",pName)
.eq("volume",volume)
.eq("year",year)
.eq("stage",stage);
List<PeriodicalContentEntity> periodicalContentEntities= periodicalContentMapper.selectList(detailQuerywrapper);
return periodicalContentEntities;
}
@Override
public void borrowBooks(String pName, String userNum, int year, int stage, int volume) {
UserEntity userEntityForUpdate = new UserEntity();
QueryWrapper<PeriodicalRegisterEntity> periodicalRegisterQueryWrapper = new QueryWrapper<>();
QueryWrapper<UserEntity> userQueryWrapper = new QueryWrapper<>();
periodicalRegisterQueryWrapper.eq("periodical_name", pName)
.eq("year
没有合适的资源?快使用搜索试试~ 我知道了~
基于springboot+mybatis plus+jwt的期刊管理系统后端源码+sql数据库.zip
共70个文件
java:62个
yml:1个
xml:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 161 浏览量
2023-07-20
14:07:12
上传
评论
收藏 97KB ZIP 举报
温馨提示
【资源介绍】 基于springboot+mybatis plus+jwt的期刊管理系统后端源码+sql数据库.zip 该项目是个人毕设项目,答辩评审分达到95分,代码都经过调试测试,确保可以运行!欢迎下载使用,可用于小白学习、进阶。 该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。 基于springboot+mybatis plus+jwt的期刊管理系统后端源码+sql数据库.zip 基于springboot+mybatis plus+jwt的期刊管理系统后端源码+sql数据库.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于springboot+mybatis plus+jwt的期刊管理系统后端源码+sql数据库.zip (70个子文件)
mvnw.cmd 6KB
pom.xml 4KB
src
test
java
top
ahcdc
periodical
PeriodicalApplicationTests.java 225B
main
resources
application.yml 204B
java
top
ahcdc
periodical
mapper
AdministratorMapper.java 285B
PeriodicalSubscriptionMapper.java 311B
PeriodicalRegisterMapper.java 301B
PeriodicalCatalogueMapper.java 304B
UserMapper.java 308B
PeriodicalReserveMapper.java 297B
PeriodicalContentMapper.java 296B
BorrowTableMapper.java 280B
controller
UserLoginController.java 2KB
AdminLoginController.java 2KB
BorrowController.java 3KB
ReserveController.java 4KB
InformationController.java 3KB
AdminOperateController.java 3KB
BookDestinationController.java 2KB
utils
JWTUtils.java 2KB
CalendarString.java 1KB
Authorization.java 181B
KeyUtils.java 306B
service
UserLoginService.java 329B
ReserveService.java 1KB
BookDestinationService.java 511B
AdminOperateService.java 799B
InformationService.java 426B
BorrowService.java 883B
impl
AdminLoginServiceImpl.java 920B
AdminOperateServiceImpl.java 4KB
UserLoginServiceImpl.java 1KB
InformationServiceImpl.java 6KB
ReserveServiceImpl.java 8KB
BorrowServiceImpl.java 9KB
BookDestinationServiceImpl.java 4KB
AdminLoginService.java 246B
common
lang
CommonResponse.java 2KB
ResponseCode.java 415B
entity
UserEntity.java 806B
PeriodicalCatalogueEntity.java 747B
BorrowTabelEntity.java 746B
AdministratorEntity.java 536B
PeriodicalContentEntity.java 1KB
PeriodicalReserveEntity.java 729B
PeriodicalRegisterEntity.java 751B
PeriodicalSubscriptionEntity.java 546B
PeriodicalApplication.java 333B
form
RegisterForm.java 533B
vo
BookDestination_PeriodicalPageVO.java 337B
BorrowPageVO.java 364B
ReservePageVO.java 434B
UserMainPageVO.java 462B
BookDestination_UserPageVO.java 307B
integration
ReserveVO.java 289B
BookDestination_PeriodicalVO.java 280B
PeriodicalNotBorrowVO.java 332B
PeriodicalVO.java 362B
UserInfoVO.java 270B
PeriodicalBorrowVO.java 295B
BookDestination_UserVO.java 280B
config
InterceptorConfig.java 795B
CorsConfig.java 680B
interceptors
JWTInterceptor.java 2KB
.mvn
wrapper
maven-wrapper.properties 218B
maven-wrapper.jar 50KB
MavenWrapperDownloader.java 5KB
mvnw 10KB
.gitignore 395B
perodical.sql 2KB
共 70 条
- 1
资源评论
z同学的编程之路
- 粉丝: 1878
- 资源: 2130
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功