当前位置: 首页 > news >正文

遵义市做网站的地方wordpress菜单栏改成小写

遵义市做网站的地方,wordpress菜单栏改成小写,网站谁家做得好,企业管理公司取名字大全借阅管理 1. 借书卡 1.1 查询借书卡 借书卡在正常的CRUD操作的基础上,我们还需要注意一些特殊的情况。查询信息的时候。如果是管理员则可以查询所有的信息,如果是普通用户则只能查看自己的信息。这块的控制在登录的用户信息 然后就是在Dao中处理的时候需…

借阅管理

在这里插入图片描述

1. 借书卡

1.1 查询借书卡

  借书卡在正常的CRUD操作的基础上,我们还需要注意一些特殊的情况。查询信息的时候。如果是管理员则可以查询所有的信息,如果是普通用户则只能查看自己的信息。这块的控制在登录的用户信息

在这里插入图片描述

然后就是在Dao中处理的时候需要考虑根据当前登录用户查询的操作

@Override
public List<BorrowCard> listPage(PageUtils pageUtils,SysUser user) {QueryRunner queryRunner = MyDbUtils.getQueryRunner();String sql = "select * from t_borrow_card where 1 = 1";if(StringUtils.isNotEmpty(pageUtils.getKey())){sql += " and stuname like '%"+pageUtils.getKey()+"%'  ";}if(user != null && user.getIsAdmin() == false){// 不是管理员sql += " and stuid =  " + user.getId();}sql += " limit ?,? ";// 计算 分页开始的位置int startNo = pageUtils.getStart();try {return queryRunner.query(sql,new BeanListHandler<BorrowCard>(BorrowCard.class),startNo,pageUtils.getPageSize());} catch (SQLException throwables) {throwables.printStackTrace();}return null;
}@Override
public int count(PageUtils pageUtils, SysUser user) {QueryRunner queryRunner = MyDbUtils.getQueryRunner();String sql = "select count(1) from t_borrow_card where 1 = 1 ";if(StringUtils.isNotEmpty(pageUtils.getKey())){sql += " and stuname like '%"+pageUtils.getKey()+"%'  ";}if(user != null && user.getIsAdmin() == false){// 不是管理员sql += " and stuid =  " + user.getId();}try {return queryRunner.query(sql, new ResultSetHandler<Integer>() {@Overridepublic Integer handle(ResultSet resultSet) throws SQLException {resultSet.next();return resultSet.getInt(1);}});} catch (SQLException throwables) {throwables.printStackTrace();}return 0;
}

效果:

在这里插入图片描述

在这里插入图片描述

1.2 分配借书卡

  分配借书卡就是对借书卡的添加和更新的操作。在这块我们需要注意的地方一个是需要查询所有的学生信息

在这里插入图片描述

然后使用到layerDate这个日期时间的插件

在这里插入图片描述

然后在Servlet中获取到的是特定格式的字符串,我们需要自定义转换的方法来处理。

public class DateUtils {public static final String DATE_PARTTERN1 = "YYYY-MM-DD hh:mm:ss";/*** 字符串转换为Date类型* @param msg* @param parttern* @return*/public static Date stringToDate(String msg,String parttern){SimpleDateFormat format = new SimpleDateFormat(parttern);try {return format.parse(msg);} catch (ParseException e) {e.printStackTrace();}return new Date();}
}

就可以完成添加和更新的处理

在这里插入图片描述

1.3 下架处理

  当借书卡还没过期的情况下。管理员想要终止这个借书卡的使用。那么可以做下架的处理,下架的本质是修改state的状态为3.
在这里插入图片描述

2. 图书展示

  图书展示是给学员查看的,方便学生根据不同的类型快速查找到对应的书籍信息,并且完成相关的借阅操作。

2.1 标签页

  需要根据不同的类别展示不同的图书信息。那么这块我们通过bootstrap中提供的标签来实现。

在这里插入图片描述

在这块我们需要注意相关CSS属性的处理

在这里插入图片描述

动态管理ID信息,ID和类别的ID绑定。

在这里插入图片描述

然后就给对应的标签页绑定对应的点击事件,同时随着我们的点击会给tab-pane添加对应的active的class属性

$(".tabs-container .nav-tabs li").click(function(){var href = $(this).children()[0].href// 做字符串的截取操作var aId = href.substring(href.lastIndexOf('tab-'),href.length);// 先给所有的 class= tab-pane 的都移除掉 active 属性$(".tab-pane").removeClass('active')// 然后单独给当前点击的添加 active 属性$("#"+aId).addClass("active")
})

然后就是在页面第一次加载的时候我们需要给第一个标签也做选中和加载active属性的行为

function initTab(){var li = $(".tabs-container .nav-tabs").children()[0];$(li).addClass('active')var href = $($(".tabs-container .nav-tabs").children()[0]).children()[0].href// 做字符串的截取操作var aId = href.substring(href.lastIndexOf('tab-'),href.length);// 先给所有的 class= tab-pane 的都移除掉 active 属性$(".tab-pane").removeClass('active')// 然后单独给当前点击的添加 active 属性$("#"+aId).addClass("active")
}

具体的效果如下:

在这里插入图片描述

2.2 图书信息

  我们添加标签页的目的是更好的展示图书信息。所以在查询数据类型的时候我们需要同步的查询类型对应的书籍信息。首先在图书类型的bean中关联设置了对应的属性

@Data
public class BookType {private Integer id;private String name;private String notes;private Date createtime;private List<Book> books; // 当前类型对应的图书信息
}

然后在Servlet中添加了对应的处理

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 查询所有的类别信息List<BookType> list = typeService.list();if(list != null && list.size() > 0){// 遍历 每个类型 查询对应的 图书信息for (BookType type : list) {Book book = new Book();book.setTypeid(type.getId());List<Book> books = bookService.list(book);type.setBooks(books);}}req.setAttribute("list",list);req.getRequestDispatcher("/book/book/showBook.jsp").forward(req,resp);
}

最后在页面中循序处理展示图书信息

<div class="tab-content"><c:forEach  items="${list}" var="entity"><div id="tab-${entity.id}" class="tab-pane"><div class="panel-body"><div class="row"><c:forEach items="${entity.books}" var="book"><div class="col-sm-4"><div class="contact-box"><div class="col-sm-4"><div class="text-center"><img alt="image" class="m-t-xs img-responsive"src="/sys/downloadServlet?fileName=${book.img}"><div class="m-t-xs font-bold">CTO</div></div></div><div class="col-sm-8"><h3><strong>${book.name}</strong></h3><p><i class="fa fa-map-marker"></i> ${book.author}</p><address><strong>${book.price}</strong><br>${book.publish}<br>Weibo:<a href="">${book.notes}</a><br><abbr title="Phone">Tel:</abbr> (123) 456-7890</address></div><div class="clearfix"></div></div></div></c:forEach></div></div></div></c:forEach>

具体效果为:

在这里插入图片描述

然后可以对展示的图书的信息做出相关的调整和优化

在这里插入图片描述

3.借书功能

在这里插入图片描述

  借阅数据的数据会存储在t_borrow_recoder这张表中,那么与之对应就需要完成对应的后端CRUD的基础功能

在这里插入图片描述

然后在借阅图书的时候我们需要先判断当前登录的用户是否有可以使用的借书卡,如果才能借阅,否则提示不能借阅

// 借阅书籍的方法
function goBorrowing(bookId){// 判断是否有 可用的借书卡$.get("/book/borrowCardServlet?action=checkHaveCard",function(data){console.log("data",data);})
}
/*** 检查当前登录的用户是否有可用的借书卡* @param req* @param resp* @throws Exception*/
public void checkHaveCard(HttpServletRequest req, HttpServletResponse resp) throws Exception {List<BorrowCard> list = service.listCanUseCard(getCurrentLoginUser(req,resp).getId());String msg = "error";if(list != null && list.size() > 0){msg = "ok";}PrintWriter writer = resp.getWriter();writer.write(msg);writer.flush();
}

操作的效果如下:

在这里插入图片描述

4.借阅管理

  学生借阅了相关的图书后。可以查看所有借阅信息。同时可以做出归还的操作。这块管理员可以看到所有的数据。但是不能归还,普通的学员只能看到自己的借阅记录。没有归还的图书可以做出归还的操作。

在这里插入图片描述

在这里插入图片描述

在后台代码中的处理核心

在这里插入图片描述

在这里插入图片描述

展示数据的时候。注意按钮的操作

在这里插入图片描述

http://www.yayakq.cn/news/431687/

相关文章:

  • 深圳网站设计公司排名安泽网站建设
  • 甘孜州建设局网站那个网站可以做全景图
  • 服务器网站扩容 一年1G价格如何创建一个
  • 网站怎么加链接莞城区网站建设公司
  • 网站备案企业用个人来备案可以用吗wordpress加上特效
  • 网站建设合同首付多少钱建一个收费网站 怎么收费
  • 优质聊城做网站公司资源搜索神器
  • 学前教育网站建设山东省离线地图导航下载
  • 制作企业网站首页效果图网络营销推广方法和应用场景
  • 温州网站设计哪家公司好遵义建站
  • dedecms做电商网站厦门人才网官方网站
  • 上海公司网站设计wordpress文章迁移到dz论坛
  • 哪些网站用python做服务框架办个网站卖什么好处
  • iis 网站目录权限水平线设计公司官网
  • 中国采购网官方网站怎么让百度收录我的网站
  • 多语言外贸网站建设网站开发主管招聘
  • 帮助做职业规划的网站提示网站有风险
  • 创建网站怎么弄深圳工程交易中心官网
  • 怎么查找网站建设新手做外贸怎么学
  • 系统管理网站网站建设怎么销售
  • 企业网站seo诊断报告2023新闻头条最新消息今天
  • 外国优秀网站设计下载网站后怎么做
  • dedecms 食品网站模板1800做网站因为专业
  • 便宜的网站设计湖南省建设工程施工合同
  • 网站有死链怎么办网页设计html代码大全划掉线
  • asp做的药店网站模板如何搭建平台运营体系
  • 重生做网站的小说开创云网站建设支持
  • 网站建设的品牌广州做网站建设的公司哪家好
  • 网站模板登录模块学校网站建设与维护方案
  • 只有一个页面的网站怎么做外国建筑设计网站