一、项目技术栈
Java开发工具:JDK1.8
后端框架:SpringBoot
前端:采用HTML和Vue相结合开发
数据库:MySQL5.7和Navicat管理工具结合
服务器:Tomcat8.5
开发软件:IDEA / Eclipse
是否Maven项目:是
二、源码获取
源码获取
三、项目视频
视频链接
四、功能截图
五、代码实现
图书信息评论
package com.controller;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Arrays;import java.util.Calendar;import java.util.Map;import java.util.HashMap;import java.util.Iterator;import java.util.Date;import java.util.List;import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;import org.apache.commons.lang3.StringUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import com.baomidou.mybatisplus.mapper.EntityWrapper;import com.baomidou.mybatisplus.mapper.Wrapper;import com.annotation.IgnoreAuth;import com.entity.DiscusstushuxinxiEntity;import com.entity.view.DiscusstushuxinxiView;import com.service.DiscusstushuxinxiService;import com.service.TokenService;import com.utils.PageUtils;import com.utils.R;import com.utils.MD5Util;import com.utils.MPUtil;import com.utils.CommonUtil;/** * 图书信息评论表 */@RestController@RequestMapping("/discusstushuxinxi")publicclassDiscusstushuxinxiController{@AutowiredprivateDiscusstushuxinxiServicediscusstushuxinxiService;/** * 后端列表 */@RequestMapping("/page")publicRpage(@RequestParam Map<String,Object>params,DiscusstushuxinxiEntitydiscusstushuxinxi,HttpServletRequestrequest){EntityWrapper<DiscusstushuxinxiEntity>ew=newEntityWrapper<DiscusstushuxinxiEntity>();PageUtilspage=discusstushuxinxiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,discusstushuxinxi),params),params));returnR.ok().put("data",page);}/** * 前端列表 */@IgnoreAuth@RequestMapping("/list")publicRlist(@RequestParam Map<String,Object>params,DiscusstushuxinxiEntitydiscusstushuxinxi,HttpServletRequestrequest){EntityWrapper<DiscusstushuxinxiEntity>ew=newEntityWrapper<DiscusstushuxinxiEntity>();PageUtilspage=discusstushuxinxiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,discusstushuxinxi),params),params));returnR.ok().put("data",page);}/** * 列表 */@RequestMapping("/lists")publicRlist(DiscusstushuxinxiEntitydiscusstushuxinxi){EntityWrapper<DiscusstushuxinxiEntity>ew=newEntityWrapper<DiscusstushuxinxiEntity>();ew.allEq(MPUtil.allEQMapPre(discusstushuxinxi,"discusstushuxinxi"));returnR.ok().put("data",discusstushuxinxiService.selectListView(ew));}/** * 查询 */@RequestMapping("/query")publicRquery(DiscusstushuxinxiEntitydiscusstushuxinxi){EntityWrapper<DiscusstushuxinxiEntity>ew=newEntityWrapper<DiscusstushuxinxiEntity>();ew.allEq(MPUtil.allEQMapPre(discusstushuxinxi,"discusstushuxinxi"));DiscusstushuxinxiViewdiscusstushuxinxiView=discusstushuxinxiService.selectView(ew);returnR.ok("查询图书信息评论表成功").put("data",discusstushuxinxiView);}/** * 后端详情 */@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){DiscusstushuxinxiEntitydiscusstushuxinxi=discusstushuxinxiService.selectById(id);returnR.ok().put("data",discusstushuxinxi);}/** * 前端详情 */@RequestMapping("/detail/{id}")publicRdetail(@PathVariable("id")Longid){DiscusstushuxinxiEntitydiscusstushuxinxi=discusstushuxinxiService.selectById(id);returnR.ok().put("data",discusstushuxinxi);}/** * 后端保存 */@RequestMapping("/save")publicRsave(@RequestBodyDiscusstushuxinxiEntitydiscusstushuxinxi,HttpServletRequestrequest){discusstushuxinxi.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(discusstushuxinxi);discusstushuxinxiService.insert(discusstushuxinxi);returnR.ok();}/** * 前端保存 */@RequestMapping("/add")publicRadd(@RequestBodyDiscusstushuxinxiEntitydiscusstushuxinxi,HttpServletRequestrequest){discusstushuxinxi.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(discusstushuxinxi);discusstushuxinxiService.insert(discusstushuxinxi);returnR.ok();}/** * 修改 */@RequestMapping("/update")publicRupdate(@RequestBodyDiscusstushuxinxiEntitydiscusstushuxinxi,HttpServletRequestrequest){//ValidatorUtils.validateEntity(discusstushuxinxi);discusstushuxinxiService.updateById(discusstushuxinxi);//全部更新returnR.ok();}/** * 删除 */@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){discusstushuxinxiService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}/** * 提醒接口 */@RequestMapping("/remind/{columnName}/{type}")publicRremindCount(@PathVariable("columnName")StringcolumnName,HttpServletRequestrequest,@PathVariable("type")Stringtype,@RequestParamMap<String,Object>map){map.put("column",columnName);map.put("type",type);if(type.equals("2")){SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");Calendarc=Calendar.getInstance();DateremindStartDate=null;DateremindEndDate=null;if(map.get("remindstart")!=null){IntegerremindStart=Integer.parseInt(map.get("remindstart").toString());c.setTime(newDate());c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate=c.getTime();map.put("remindstart",sdf.format(remindStartDate));}if(map.get("remindend")!=null){IntegerremindEnd=Integer.parseInt(map.get("remindend").toString());c.setTime(newDate());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate=c.getTime();map.put("remindend",sdf.format(remindEndDate));}}Wrapper<DiscusstushuxinxiEntity>wrapper=newEntityWrapper<DiscusstushuxinxiEntity>();if(map.get("remindstart")!=null){wrapper.ge(columnName,map.get("remindstart"));}if(map.get("remindend")!=null){wrapper.le(columnName,map.get("remindend"));}intcount=discusstushuxinxiService.selectCount(wrapper);returnR.ok().put("count",count);}}留言板
package com.controller;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Arrays;import java.util.Calendar;import java.util.Map;import java.util.HashMap;import java.util.Iterator;import java.util.Date;import java.util.List;import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;import org.apache.commons.lang3.StringUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import com.baomidou.mybatisplus.mapper.EntityWrapper;import com.baomidou.mybatisplus.mapper.Wrapper;import com.annotation.IgnoreAuth;import com.entity.MessagesEntity;import com.entity.view.MessagesView;import com.service.MessagesService;import com.service.TokenService;import com.utils.PageUtils;import com.utils.R;import com.utils.MD5Util;import com.utils.MPUtil;import com.utils.CommonUtil;/** * 留言板 */@RestController@RequestMapping("/messages")publicclassMessagesController{@AutowiredprivateMessagesServicemessagesService;/** * 后端列表 */@RequestMapping("/page")publicRpage(@RequestParam Map<String,Object>params,MessagesEntitymessages,HttpServletRequestrequest){if(!request.getSession().getAttribute("role").toString().equals("管理员")){messages.setUserid((Long)request.getSession().getAttribute("userId"));}EntityWrapper<MessagesEntity>ew=newEntityWrapper<MessagesEntity>();PageUtilspage=messagesService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,messages),params),params));returnR.ok().put("data",page);}/** * 前端列表 */@RequestMapping("/list")publicRlist(@RequestParam Map<String,Object>params,MessagesEntitymessages,HttpServletRequestrequest){if(!request.getSession().getAttribute("role").toString().equals("管理员")){messages.setUserid((Long)request.getSession().getAttribute("userId"));}EntityWrapper<MessagesEntity>ew=newEntityWrapper<MessagesEntity>();PageUtilspage=messagesService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,messages),params),params));returnR.ok().put("data",page);}/** * 列表 */@RequestMapping("/lists")publicRlist(MessagesEntitymessages){EntityWrapper<MessagesEntity>ew=newEntityWrapper<MessagesEntity>();ew.allEq(MPUtil.allEQMapPre(messages,"messages"));returnR.ok().put("data",messagesService.selectListView(ew));}/** * 查询 */@RequestMapping("/query")publicRquery(MessagesEntitymessages){EntityWrapper<MessagesEntity>ew=newEntityWrapper<MessagesEntity>();ew.allEq(MPUtil.allEQMapPre(messages,"messages"));MessagesViewmessagesView=messagesService.selectView(ew);returnR.ok("查询留言板成功").put("data",messagesView);}/** * 后端详情 */@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){MessagesEntitymessages=messagesService.selectById(id);returnR.ok().put("data",messages);}/** * 前端详情 */@RequestMapping("/detail/{id}")publicRdetail(@PathVariable("id")Longid){MessagesEntitymessages=messagesService.selectById(id);returnR.ok().put("data",messages);}/** * 后端保存 */@RequestMapping("/save")publicRsave(@RequestBodyMessagesEntitymessages,HttpServletRequestrequest){messages.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(messages);messagesService.insert(messages);returnR.ok();}/** * 前端保存 */@RequestMapping("/add")publicRadd(@RequestBodyMessagesEntitymessages,HttpServletRequestrequest){messages.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(messages);messages.setUserid((Long)request.getSession().getAttribute("userId"));messagesService.insert(messages);returnR.ok();}/** * 修改 */@RequestMapping("/update")publicRupdate(@RequestBodyMessagesEntitymessages,HttpServletRequestrequest){//ValidatorUtils.validateEntity(messages);messagesService.updateById(messages);//全部更新returnR.ok();}/** * 删除 */@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){messagesService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}/** * 提醒接口 */@RequestMapping("/remind/{columnName}/{type}")publicRremindCount(@PathVariable("columnName")StringcolumnName,HttpServletRequestrequest,@PathVariable("type")Stringtype,@RequestParamMap<String,Object>map){map.put("column",columnName);map.put("type",type);if(type.equals("2")){SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");Calendarc=Calendar.getInstance();DateremindStartDate=null;DateremindEndDate=null;if(map.get("remindstart")!=null){IntegerremindStart=Integer.parseInt(map.get("remindstart").toString());c.setTime(newDate());c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate=c.getTime();map.put("remindstart",sdf.format(remindStartDate));}if(map.get("remindend")!=null){IntegerremindEnd=Integer.parseInt(map.get("remindend").toString());c.setTime(newDate());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate=c.getTime();map.put("remindend",sdf.format(remindEndDate));}}Wrapper<MessagesEntity>wrapper=newEntityWrapper<MessagesEntity>();if(map.get("remindstart")!=null){wrapper.ge(columnName,map.get("remindstart"));}if(map.get("remindend")!=null){wrapper.le(columnName,map.get("remindend"));}intcount=messagesService.selectCount(wrapper);returnR.ok().put("count",count);}}退换图书
package com.controller;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Arrays;import java.util.Calendar;import java.util.Map;import java.util.HashMap;import java.util.Iterator;import java.util.Date;import java.util.List;import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;import org.apache.commons.lang3.StringUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import com.baomidou.mybatisplus.mapper.EntityWrapper;import com.baomidou.mybatisplus.mapper.Wrapper;import com.annotation.IgnoreAuth;import com.entity.TuihuantushuEntity;import com.entity.view.TuihuantushuView;import com.service.TuihuantushuService;import com.service.TokenService;import com.utils.PageUtils;import com.utils.R;import com.utils.MD5Util;import com.utils.MPUtil;import com.utils.CommonUtil;/** * 退换图书 */@RestController@RequestMapping("/tuihuantushu")publicclassTuihuantushuController{@AutowiredprivateTuihuantushuServicetuihuantushuService;/** * 后端列表 */@RequestMapping("/page")publicRpage(@RequestParam Map<String,Object>params,TuihuantushuEntitytuihuantushu,HttpServletRequestrequest){StringtableName=request.getSession().getAttribute("tableName").toString();if(tableName.equals("xuesheng")){tuihuantushu.setXuehao((String)request.getSession().getAttribute("username"));}EntityWrapper<TuihuantushuEntity>ew=newEntityWrapper<TuihuantushuEntity>();PageUtilspage=tuihuantushuService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,tuihuantushu),params),params));returnR.ok().put("data",page);}/** * 前端列表 */@RequestMapping("/list")publicRlist(@RequestParam Map<String,Object>params,TuihuantushuEntitytuihuantushu,HttpServletRequestrequest){EntityWrapper<TuihuantushuEntity>ew=newEntityWrapper<TuihuantushuEntity>();PageUtilspage=tuihuantushuService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,tuihuantushu),params),params));returnR.ok().put("data",page);}/** * 列表 */@RequestMapping("/lists")publicRlist(TuihuantushuEntitytuihuantushu){EntityWrapper<TuihuantushuEntity>ew=newEntityWrapper<TuihuantushuEntity>();ew.allEq(MPUtil.allEQMapPre(tuihuantushu,"tuihuantushu"));returnR.ok().put("data",tuihuantushuService.selectListView(ew));}/** * 查询 */@RequestMapping("/query")publicRquery(TuihuantushuEntitytuihuantushu){EntityWrapper<TuihuantushuEntity>ew=newEntityWrapper<TuihuantushuEntity>();ew.allEq(MPUtil.allEQMapPre(tuihuantushu,"tuihuantushu"));TuihuantushuViewtuihuantushuView=tuihuantushuService.selectView(ew);returnR.ok("查询退换图书成功").put("data",tuihuantushuView);}/** * 后端详情 */@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){TuihuantushuEntitytuihuantushu=tuihuantushuService.selectById(id);returnR.ok().put("data",tuihuantushu);}/** * 前端详情 */@RequestMapping("/detail/{id}")publicRdetail(@PathVariable("id")Longid){TuihuantushuEntitytuihuantushu=tuihuantushuService.selectById(id);returnR.ok().put("data",tuihuantushu);}/** * 后端保存 */@RequestMapping("/save")publicRsave(@RequestBodyTuihuantushuEntitytuihuantushu,HttpServletRequestrequest){tuihuantushu.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(tuihuantushu);tuihuantushuService.insert(tuihuantushu);returnR.ok();}/** * 前端保存 */@RequestMapping("/add")publicRadd(@RequestBodyTuihuantushuEntitytuihuantushu,HttpServletRequestrequest){tuihuantushu.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(tuihuantushu);tuihuantushuService.insert(tuihuantushu);returnR.ok();}/** * 修改 */@RequestMapping("/update")publicRupdate(@RequestBodyTuihuantushuEntitytuihuantushu,HttpServletRequestrequest){//ValidatorUtils.validateEntity(tuihuantushu);tuihuantushuService.updateById(tuihuantushu);//全部更新returnR.ok();}/** * 删除 */@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){tuihuantushuService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}/** * 提醒接口 */@RequestMapping("/remind/{columnName}/{type}")publicRremindCount(@PathVariable("columnName")StringcolumnName,HttpServletRequestrequest,@PathVariable("type")Stringtype,@RequestParamMap<String,Object>map){map.put("column",columnName);map.put("type",type);if(type.equals("2")){SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");Calendarc=Calendar.getInstance();DateremindStartDate=null;DateremindEndDate=null;if(map.get("remindstart")!=null){IntegerremindStart=Integer.parseInt(map.get("remindstart").toString());c.setTime(newDate());c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate=c.getTime();map.put("remindstart",sdf.format(remindStartDate));}if(map.get("remindend")!=null){IntegerremindEnd=Integer.parseInt(map.get("remindend").toString());c.setTime(newDate());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate=c.getTime();map.put("remindend",sdf.format(remindEndDate));}}Wrapper<TuihuantushuEntity>wrapper=newEntityWrapper<TuihuantushuEntity>();if(map.get("remindstart")!=null){wrapper.ge(columnName,map.get("remindstart"));}if(map.get("remindend")!=null){wrapper.le(columnName,map.get("remindend"));}StringtableName=request.getSession().getAttribute("tableName").toString();if(tableName.equals("xuesheng")){wrapper.eq("xuehao",(String)request.getSession().getAttribute("username"));}intcount=tuihuantushuService.selectCount(wrapper);returnR.ok().put("count",count);}}上万套源码,每日分享源码,谢谢你的关注和喜欢,需要可以联系主页信息。