基于SSM的图书智能推荐销售系统

发布于:2022-12-13 ⋅ 阅读:(359) ⋅ 点赞:(0)

目录
1.绪论 2
1.1 背景、目的、意义 2
1.2 优势、意义 3
2. 系统相关技术 3
2.1 B/S模式 4
2.2 Maven 5
2.3 MySQL 5
2.4 Tomcat 5
2.5 Java 6
2.6 SpringMVC 8
2.7 Html5,Css3 9
2.8 BootStrap 10
2.9 JavaScript JQuery Ajax 10
2.9.1 JavaScript 10
2.9.2 JQuery 11
2.9.3 Ajax 11
2.10 GitHub 12
3.需求分析 12
3.1 系统需求的描述 12
3.2 可行性分析 12
3.2.1技术可行性 13
3.2.2经济可行性 13
3.2.3操作可行性 13
3.3 需求分析 13
3.3.1 识别参与者和用例 13
3.3.2 用例图 14
3.2.2用例描述 17
4. 系统设计 21
4.1功能模块设计 21
4.1.1系统的架构设计模式选择 21
4.1.2系统功能模块及说明 21
4.1.3系统功能模块结构 22
4. 2数据库设计 23
4.2.1数据库设计方案 23
4. 2. 2 E-R模型设计 23
4.2.3数据库的逻辑设计 30
4. 3 系统目录设计 35
5. 系统实现 37
5.1 登录模块 37
5.2 管理员首页模块 38
5.3 订单模块 41
5.4 图书分类管理模块 43
5.5 图书信息管理模块 45
5.6 销量统计模块 48
5.7 智能推荐管理模块 49
5.8 公告管理模块 50
5.9 超级管理员账号与权限管理模块 51
5.10 普通操作员账号与权限管理模块 53
5.11 修改密码模块 53
参考文献 55
4.系统设计
4.1功能模块设计
4.1.1系统的架构设计模式选择

系统的架构反映了系统的整个功能逻辑结构,主要有C/S (Client/Server,客户机/浏览器)和B/S (Brower/Server,浏览器/服务器)及两者混合3种模式。其中B/S模式是一种把Web技术和数据库技术结合起来的新技术,实现了开发环境和应用环境的分离。基于B/S模式设计的系统具有如下优点:
(1)系统需要处理的数据集中存放在系统的数据库服务器,客户端不需要保存任何业务数据和数据库连接信息,减轻了客户端的负荷。
(2)它可以实时看到当前发生的所有业务,数据实时性更强。
(3)由于其数据是集中存放的,易于进行数据跟踪。
(4)服务器更新则全部应用程序更新。
因此,考虑到实际工作情况以及用户购物的方便、快捷的优势,本文设计的系统釆用了 B/S模式。
4.1.2系统功能模块及说明
(1)用户登录模块
登录模块主要包括卖家和买家两种角色,卖家管理员通过登录系统之后管理书籍,订单等等,买家通过登录之后成功购买书籍,下订单。
(2)订单处理模块
订单处理模块也分为买家和卖家两个角色,买家主要生成订单,卖家则是处理买家生成的订单,然后买家在交易成功之后可以对订单进行评价,因此完成了完整的购物流程。
(3)在线交流模块
买家在购物时可以向卖家咨询关于书籍以及订单等方面的任何问题,方便买家的同时促进买卖之间的交流,使得双方达成共赢。
(4)图书相关模块
卖家通过图书添加编辑等功能向系统录入图书信息,之后买家就可以通过系统浏览并且购买书籍。
(5)销量统计模块
此模块主要是针对卖家统计图书的销量信息,入账金额统计,使得交易数字化,从而更好地管理图书,本文转载自http://www.biyezuopin.vip/onews.asp?id=15040尽可能的为买家提供服务的同时自我更新。
(6)公告/优惠信息模块
卖家:主要通过系统发布两种信息,第一是优惠信息显示给用户看,从而达到促进销量的目的,第二是发布系统消息,为其他系统管理员发布公告等等。
买家:主要通过系统查看优惠信息,第一时间享受优惠或者折扣使得购物更加实惠趣味化
(7)购物车模块
购物车主要是买家在下单时可以同时购买不同种类的书,省去了每次填写订单的步骤,为买家提供方便。
(8)智能推荐模块
本模块为此系统与其他普通购物网站不同的模块,卖家可以通过选择推荐方式来为买家推荐图书,不仅方便买家省去了盲目选择书籍,同时也促进了卖家的销量。

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%@ include file="/commons/head.jsp"%>
</head>
<body>
	<!-- BEGIN BODY -->
<body
	class="page-container-bg-solid page-sidebar-closed-hide-logo page-header-fixed ">
	<!-- BEGIN TOP -->
	<%@ include file="/commons/top.jsp"%>
	<div class="page-container">
	<!-- BEGIN SIDEBAR -->
		<%@ include file="/commons/left.jsp"%>
		<!-- END SIDEBAR -->
		<!-- 下面是正文部分 -->
		<!-- BEGIN CONTENT -->
		<div class="page-content-wrapper">
			<div class="page-content">
				<!-- BEGIN PAGE HEADER-->
				<h3 class="page-title">IBooK首页</h3>
				<%-- <input type="text" value="${managers.Id}"> --%>
				<div class="page-bar">
					<ul class="page-breadcrumb">
						<li><i class="fa fa-home"></i> <a href="index.html">IBooK首页</a>
						</li>
					</ul>
				</div>
				<!-- END PAGE HEADER-->
				 <!-- BEGIN 消费成功金额...总入账金额汇总 -->
            <div class="row">
                <div class="col-md-12">
                    <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12" style="padding-left:0">
                        <div class="dashboard-stat blue-soft" href="javascript:;">
                            <div class="visual"><i class="fa fa-rmb"></i></div>
                            <div class="details">
                                <div class="number">${allOrder} <span class="desc">笔</span></div>
                                <div class="desc">成功完成订单</div>
                            </div>
                            <a class="more" href="#">查看更多<i class="m-icon-swapright m-icon-white"></i></a>
                        </div>
                    </div>
                    <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">
                        <div class="dashboard-stat red-soft" href="javascript:;">
                            <div class="visual"><i class="fa fa-trophy"></i></div>
                            <div class="details">
                                <div class="number">${allBook }<span class="desc">本</span></div>
                                <div class="desc">总计销售图书</div>
                            </div>
                            <a class="more" href="#">查看更多<i class="m-icon-swapright m-icon-white"></i></a>
                        </div>
                    </div>
                    <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">
                        <div class="dashboard-stat green-soft" href="javascript:;">
                            <div class="visual"><i class="fa fa-shopping-cart"></i></div>
                            <div class="details">
                                <div class="number">${allMoney}<span class="desc">元</span></div>
                                <div class="desc">总交易金额</div>
                            </div>
                            <a class="more" href="#">查看更多<i class="m-icon-swapright m-icon-white"></i></a>
                        </div>
                    </div>
                    <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12" style="padding-right:0">
                        <div class="dashboard-stat purple-soft" href="javascript:;">
                            <div class="visual"><i class="fa fa-database"></i></div>
                            <div class="details">
                                <div class="number">${allMoney}<span class="desc">元</span></div>
                                <div class="desc">总入账金额</div>
                            </div>
                            <a class="more" href="#">查看更多<i class="m-icon-swapright m-icon-white"></i></a>
                        </div>
                    </div>									
                </div>
            </div>
            <!-- END 消费成功金额...总入账金额汇总 -->	
				<div class="clearfix"></div>
				<!-- BEGIN 日交易趋势图-->
				<div class="row">
					<div class="col-md-12">
						<div class="portlet light ">
							<div class="portlet-title">
								<div class="caption">
									<i class="fa fa-area-chart font-green-sharp"></i> <span
										class="caption-subject font-green-sharp bold uppercase">本月日交易趋势图</span>
								</div>
								<div class="actions more">
									<a href="#">查看更多&nbsp;&nbsp;<i
										class="m-icon-swapright m-icon"></i></a>
								</div>
							</div>
							<div class="portlet-body">
								<div class="echart-chart">
									<div class="echart-chart-content" id="margins"
										style="height: 235px;"></div>
								</div>
							</div>
						</div>
					</div>
				</div>
				<!-- END 日交易趋势图-->
				<!-- BEGIN 热门自主服务&系统公告-->
				<div class="row">
					<div class="col-lg-8 col-md-12">
						<!-- BEGIN 热门自主服务-->
						<div class="portlet light ">
							<div class="portlet-title">
								<div class="caption">
									<i class="fa fa-h-square font-green-sharp"></i> <span
										class="caption-subject font-green-sharp bold uppercase">热门快捷服务</span>
								</div>
							</div>
							<div class="portlet-body">
								<div class="row">
									<div class="col-md-4 col-sm-6 col-xs-12">
										<a class="hs-service hs-service-blue" href='<c:url value="/book/getBookByPage"></c:url>'>
											<div class="hs-service-body clearfix">
												<img
													src='<c:url value="/assets/admin/layout2/img/service-blueico.jpg"></c:url>'
													class="img-circle">
												<h4>图书管理</h4>
												<p>为您提供图书相关的管理功能</p>
											</div>
										</a>
									</div>
									<div class="col-md-4 col-sm-6 col-xs-12">
										<a class="hs-service hs-service-cyan"
											href='<c:url value="/main/count"></c:url>'>
											<div class="hs-service-body clearfix">
												<img
													src='<c:url value="/assets/admin/layout2/img/service-cyanico.jpg"></c:url>'
													class="img-circle">
												<h4>销量统计</h4>
												<p>为您展示直白的销量信息</p>
											</div>
										</a>
									</div>
									<div class="col-md-4 col-sm-6 col-xs-12">
										<a class="hs-service hs-service-yellow"
											href='<c:url value="/notice/getNoticeByPage"></c:url>'>
											<div class="hs-service-body clearfix">
												<img
													src='<c:url value="/assets/admin/layout2/img/service-yellowico.jpg"></c:url>'
													class="img-circle">
												<h4>公告管理</h4>
												<p>为您系统公告和优惠信息管理</p>
											</div>
										</a>
									</div>
									<div class="col-md-4 col-sm-6 col-xs-12">
										<a class="hs-service hs-service-green" href='<c:url value="/manager/getManagerByPage"></c:url>'>
											<div class="hs-service-body clearfix">
												<img
													src='<c:url value="/assets/admin/layout2/img/service-greenico.jpg"></c:url>'
													class="img-circle">
												<h4>用户管理</h4>
												<p>为您提供角色分配的功能</p>
											</div>
										</a>
									</div>
									<div class="col-md-4 col-sm-6 col-xs-12">
										<a class="hs-service hs-service-red" href='<c:url value="/suggest/editSuggest"></c:url>'>
											<div class="hs-service-body clearfix">
												<img src='<c:url value="/assets/admin/layout2/img/service-redico.jpg"></c:url>'
													class="img-circle">
												<h4>智能推荐管理</h4>
												<p>方便您为用户选择合适的推荐方式</p>
											</div>
										</a>
									</div>
									<div class="col-md-4 col-sm-6 col-xs-12">
										<a class="hs-service hs-service-purple"
											href='<c:url value="/manager/passwordEdit.jsp"></c:url>'>
											<div class="hs-service-body clearfix">
												<img
													src='<c:url value="/assets/admin/layout2/img/service-purpleico.jpg"></c:url>'
													class="img-circle">
												<h4>密码修改</h4>
												<p>为您提供密码修改功能</p>
											</div>
										</a>
									</div>
								</div>
							</div>
						</div>
						<!-- END 热门自主服务-->
					</div>
					<div class="col-lg-4  col-md-12">
						<!-- BEGIN 系统公告-->
						<div class="portlet light">
							<div class="portlet-title tabbable-line">
								<div class="caption">
									<i class="icon-bell font-green-sharp"></i> <span
										class="caption-subject font-green-sharp bold">系统公告</span>
								</div>
								<div class="actions more">
									<a href='<c:url value="/notice/getNoticeByPage"></c:url>'>查看更多&nbsp;&nbsp;<i
										class="m-icon-swapright m-icon"></i></a>
								</div>
							</div>
							<div class="portlet-body">
								<!--BEGIN 系统公告-->
								<div class="tab-content">
									<div class="tab-pane active" id="tab_1_1">
										<div class="scroller" data-always-visible="1"
											data-rail-visible="0">
											<ul class="feeds">
											 <c:forEach var="notice" items="${managerNotice}"  varStatus="status">
											<li>
													<div class="col1">
														<div class="cont">
															<div class="cont-col1">
																<div class="label label-sm label-success">
																	<i class="fa fa-bell-o"></i>
																</div>
															</div>
															<div class="cont-col2">
																<div class="desc">
																	${notice.title }
																	<br><span> 
																		${notice.content }
																	</span>
																</div>
															</div>
														</div>
													</div>
													<div class="col2">
														<div class="date">${notice.date }</div>
													</div>
												</li>
											 </c:forEach>
											</ul>
										</div>
									</div>
								</div>
								<!--END 系统公告-->
							</div>
						<div class="portlet-title tabbable-line">
								<div class="caption">
									<i class="icon-bell font-green-sharp"></i> <span
										class="caption-subject font-green-sharp bold">优惠信息</span>
								</div>
								<div class="actions more">
									<a href='<c:url value="/notice/getNoticeByPage"></c:url>'>查看更多&nbsp;&nbsp;<i
										class="m-icon-swapright m-icon"></i></a>
								</div>
							</div>
							<!--BEGIN 系统公告-->
								<div class="tab-content">
									<div class="tab-pane active" id="tab_1_1">
										<div class="scroller" data-always-visible="1"
											data-rail-visible="0">
											<ul class="feeds">
											 <c:forEach var="notice" items="${activeNotice}"  varStatus="status">
													<li>
													<div class="col1">
														<div class="cont">
															<div class="cont-col1">
																<div class="label label-sm label-danger">
																	<i class="fa fa-bolt"></i>
																</div>
															</div>
															<div class="cont-col2">
																<div class="desc">${notice.title }</div>
																<div class="desc">${notice.content}</div>
															</div>
														</div>
													</div>
													<div class="col2">
														<div class="date">${notice.date }</div>
													</div>
												</li>
												</c:forEach>
											</ul>
										</div>
									</div>
								</div>
								<!--END 系统公告-->
						</div>
						<!-- END 系统公告-->
					</div>
				</div>
				<!-- END 热门自主服务&系统公告-->
			</div>
		</div>
		<!-- END CONTENT -->
		<!-- 正文部分结束 -->
	</div>
	<%@ include file="/commons/foot.jsp"%>
		<script>
			var source = {
					"platformMargin":
						 <c:if test="${!empty moneyList}">
						 [
						 <c:forEach var="money" items="${moneyList}"  varStatus="status">
						 
						 <c:if test="${money.day!=31}">
						 {"name": "${money.day}", "value": ${money.money}},
						 </c:if>
						 <c:if test="${money.day==31}">
						 {"name": "${money.day}", "value": ${money.money}}
						 </c:if>
							</c:forEach>
							]
						 </c:if>
					 <c:if test="${empty moneyList}">
					 [{ "name": "01", "value": 0.00 }
					 , { "name": "02", "value": 0.00 }
					 , { "name": "03", "value": 0.00 }
					 , { "name": "04", "value": 0.00 }
					 , { "name": "05", "value": 0.00}				
					 , { "name": "06", "value": 0.00 }
					 , { "name": "07", "value": 0.00 }
					 , { "name": "08", "value": 0.00 }						
					 , { "name": "09", "value": 0.00 }
					 , { "name": "10", "value": 0.00 }       				
					 , { "name": "11", "value": 0.00  }
					 , { "name": "12", "value": 0.00  }
					 , { "name": "13", "value": 0.00 }
					 , { "name": "14", "value": 0.00 }
					 , { "name": "15", "value": 0.00}  
					 , { "name": "16", "value": 0.00 }
					 , { "name": "17", "value": 0.00 }
					 , { "name": "18", "value": 0.00 }
					 , { "name": "19", "value": 0.00 }
					 , { "name": "20", "value": 0.00}  
					 , { "name": "21", "value": 0.00 }
					 , { "name": "22", "value": 0.00 }
					 , { "name": "23", "value": 0.00 }
					 , { "name": "24", "value": 0.00 }
					 , { "name": "25", "value": 0.00 }
					 , { "name": "26", "value": 0.00 }
					 , { "name": "27", "value": 0.00 }
					 , { "name": "28", "value": 0.00}  
					 , { "name": "29", "value": 0.00 }
					 , { "name": "30", "value": 0.00  }
					 , { "name": "31", "value": 0.00 }] 
						 </c:if>
			};
			jQuery(document).ready(function() {
				Metronic.init(); // init metronic core components
				Layout.init(); // init current layout						
				Index.initDrawPlatformMarginChart();
			});
		</script>
</body>

</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到