源代码+数据库+LW文档(1万字以上)+开题报告+答辩稿ppt+部署教程+代码讲解+代码时间修改工具
技术实现
- 开发语言:后端:Java 前端:vue
- 框架:springboot
- 数据库:mysql
开发工具
JDK版本:JDK1.8
数据库:mysql 数据库工具:Navicat
开发软件:idea
主要角色及功能介绍
在确定系统的目的及其目标受众后,我着手规划其功能特性,这包括收集用户对所需功能的期望需求,并通过对比分析同类型的在线服务,提炼出本系统的独特功能特性。在线花店系统特别设计了管理员权限模块,其详细操作流程体现在下一张用例图中。当管理员成功登录个人控制面板后,其主要职责涵盖了订单数据的全面管理、用户账户的维护、花卉种类的管控、订单处理以及花卉类型的精细化管理等任务。如图3-4所示:
图3-4 管理员用例图
线上花店设置了用户权限,其用例图见下图。用户查看鲜花,可以收藏,购买,评论鲜花,支付订单,个人订单等。如图3-5所示:
图3-5 用户用例图
接下来的阶段,我将基于前期的功能分析,深入进行系统的架构设计。以下是系统详尽的功能描述:当管理员成功登录其个人后台,主要负责的操作包括花材的挑选与管理、用户账户的管理、鲜花库存的监控及进出库操作,以及鲜花订单的处理。另一方面,用户能够通过联络客服解决疑问,浏览各类鲜花,并可对鲜花进行收藏、购买及发表评价。他们还能管理自己的订单,包括支付操作。如图4-1所示:
图4-1 系统功能结构图
数据库
为了优化在线花店数据的存储,数据库设计阶段至关重要,涉及E-R模型的构建和数据库表格结构的设定。这一独立步骤的必要性体现在:
首先,避免代码重复;
其次,减少内存消耗;
再者,增强数据库的整体效率,便于编程和数据更新;
此外,强调数据完整性的至关重要性;
在这个步骤中,核心任务是构建E-R模型,首先需通过详尽的信息收集,深入理解数据库设计的原则,并洞察用户的具体需求。这个过程涉及识别实体、特性以及它们之间错综复杂的联系,以此作为E-R模型构建的基石。在绘图阶段,务必严格遵守标准化的符号体系,精确地表达各种概念。
(1)对于订单实体的设计,其构成的属性如下图所示,每个元素都经过精心挑选和精确描述。如图4-4所示:
图4-4 订单实体属性图
(2)设计的鲜花实体,其具备的属性如图4-5所示:
图4-5 鲜花实体属性图
(3)设计的用户实体,其具备的属性如图4-6所示:
图4-6 用户实体属性图
(4)设计的管理员实体,其具备的属性如图4-7所示:
图4-7 管理员实体属性图
(5)设计的各实体间关系如图4-8所示:
图4-8 实体间关系E-R图
系统功能实现及截图
在此部分内容中,主要通过系统功能的运行效果图展示前面设计的最终结果。系统实现对编制人员的技术能力有较高要求,因为需要他们使用编程的方式去实现系统设计的方案。
5.1 管理员功能实现
5.1.1 用户管理
用户管理模块让管理员查看和删除、修改系统的用户。管理员通过后台进入用户模块。查看当前所有用户的列表,可进行查看、编辑或删除操作。点击“删除”按钮,将用户删除。如图5-1所示:
图5-1 用户管理页面
5.1.2 鲜花类型管理
鲜花类型管理模块让管理员查看和删除、修改系统的鲜花类型。管理员通过后台进入鲜花类型模块。查看当前所有鲜花类型的列表,可进行查看、编辑或删除操作。点击“删除”按钮,将鲜花类型删除。如图5-2所示:
图5-2 鲜花类型管理页面
主要代码如下:
/
* 列表
*/
@RequestMapping("/lists")
public R list( XianhualeixingEntity xianhualeixing){
EntityWrapper<XianhualeixingEntity> ew = new EntityWrapper<XianhualeixingEntity>();
ew.allEq(MPUtil.allEQMapPre( xianhualeixing, "xianhualeixing"));
return R.ok().put("data", xianhualeixingService.selectListView(ew));
}
/
* 查询
*/
@RequestMapping("/query")
public R query(XianhualeixingEntity xianhualeixing){
EntityWrapper< XianhualeixingEntity> ew = new EntityWrapper< XianhualeixingEntity>();
ew.allEq(MPUtil.allEQMapPre( xianhualeixing, "xianhualeixing"));
XianhualeixingView xianhualeixingView = xianhualeixingService.selectView(ew);
return R.ok("查询鲜花类型成功").put("data", xianhualeixingView);
}
5.1.3 鲜花信息管理
鲜花信息管理模块让管理员查看和删除、修改系统的鲜花信息。管理员通过后台进入鲜花信息模块。查看当前所有鲜花信息的列表,可进行查看、编辑或删除操作。点击“删除”按钮,将鲜花信息删除。如图5-3所示:
图5-3 鲜花信息管理页面
主要代码如下:
/
* 查询
*/
@RequestMapping("/query")
public R query(XianhuaxinxiEntity xianhuaxinxi){
EntityWrapper< XianhuaxinxiEntity> ew = new EntityWrapper< XianhuaxinxiEntity>();
ew.allEq(MPUtil.allEQMapPre( xianhuaxinxi, "xianhuaxinxi"));
XianhuaxinxiView xianhuaxinxiView = xianhuaxinxiService.selectView(ew);
return R.ok("查询鲜花信息成功").put("data", xianhuaxinxiView);
}
5.1.4 订单信息管理
订单信息管理模块让管理员查看和删除、修改系统的订单信息。管理员通过后台进入订单信息模块。查看当前所有订单信息的列表,可进行查看、编辑或删除操作。点击“删除”按钮,将鲜花订单删除。如图5-4所示:
图5-4 订单信息管理页面
主要代码如下:
/
* 查询
*/
@RequestMapping("/query")
public R query(DingdanxinxiEntity dingdanxinxi){
EntityWrapper< DingdanxinxiEntity> ew = new EntityWrapper< DingdanxinxiEntity>();
ew.allEq(MPUtil.allEQMapPre( dingdanxinxi, "dingdanxinxi"));
DingdanxinxiView dingdanxinxiView = dingdanxinxiService.selectView(ew);
return R.ok("查询订单信息成功").put("data", dingdanxinxiView);
} }
5.1.5 配送订单
配送订单管理模块让管理员查看和删除、修改系统的配送订单。管理员通过后台进入配送订单模块,查看当前所有配送订单的列表,可进行查看、编辑或删除操作。点击“删除”按钮,将配送订单删除。如图5-5所示
图5-5 配送订单页面
主要代码如下:
/
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,PeisongdingdanEntity peisongdingdan,
HttpServletRequest request){
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("shangjia")) {
peisongdingdan.setShangjiazhanghao((String)request.getSession().getAttribute("username"));
}
if(tableName.equals("yonghu")) {
peisongdingdan.setYonghuzhanghao((String)request.getSession().getAttribute("username"));
}
EntityWrapper<PeisongdingdanEntity> ew = new EntityWrapper<PeisongdingdanEntity>();
PageUtils page = peisongdingdanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, peisongdingdan), params), params));
return R.ok().put("data", page);
}
5.1. 6 流程审核
用户和商家进行订单交易后,管理员通过后台进入管理模块,查看当前用户和商家的信息,查看订单,可以进行查看、编辑或删除操作。
5.2 用户功能实现
5.2.1 首页
用户权限中的首页,其运行效果见下图。用户可以在首页查看通知公告、系统轮播图等信息。如图5-6所示:
图5-6 首页页面
主要代码如下:
/
* 查询
*/
@RequestMapping("/query")
public R query(NewsEntity news){
EntityWrapper< NewsEntity> ew = new EntityWrapper< NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
NewsView newsView = newsService.selectView(ew);
return R.ok("查询通知公告成功").put("data", newsView);
}
5.2.2 鲜花信息
用户权限中的鲜花信息,其运行效果见下图。用户在本页面可以操作的功能比较多,可以购买,收藏,评论鲜花等。如图5-7所示:
图5-7 鲜花信息页面
主要代码如下:
/
- 前端详情
*/
@IgnoreAuth
@RequestMapping(“/detail/{id}”)
public R detail(@PathVariable(“id”) Long id){
XianhuaxinxiEntity xianhuaxinxi = xianhuaxinxiService.selectById(id);
xianhuaxinxi = xianhuaxinxiService.selectView(new EntityWrapper().eq(“id”, id));
return R.ok().put(“data”, xianhuaxinxi);
}
5.2.3 在线留言
用户权限中的在线留言,其运行效果见下图。用户直接发送在线留言,就会进入下面的操作页面,用户直接提交留言即可。如图5-8所示:
图5-8 在线留言页面
5.2.4 个人中心
用户权限中的个人中心,其运行效果见下图。用户可以查看自己的基础信息,并且完成修改操作,然后提交。如图5-9所示:
图5-9 个人中心页面
主要代码如下:
/
* 登录
*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", username));
if(u==null || !u.getMima().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(u.getId(), username,"yonghu", "用户" );
return R.ok().put("token", token);
}