🍅联系方式QQ------------------------------:380223251----------------------------------------------🍅
博主介绍:✌10年以上互联网大厂项目经理、高校兼职讲师、创业导师、csdn特邀作者✌
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅
Java项目精品实战案例《100套》
Java微信小程序项目实战《100套》
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
一、系统运行环境
开发系统:Windows10
架构模式:MVC/前后端分离
JDK版本:Java JDK1.8
开发工具:IDEA
数据库版本: mysql5.7
数据库可视化工具: navicat for mysql
服务器:SpringBoot自带 apache tomcat
二、功能截图
2.1助农电商首页
2.2土特产列表
点击左侧菜单,选择华南土特产,进入华南土特产列表页面
2.3土特产详情
点击具体土特产,进入详情页
2.4游客状态登录
当点击立即选购或者加入购物车,会判断用户是否已经登录,如果未登录会提示请先登录
2.5登录页
2.6注册页
2.7查看购物车
已登录用户查看购物车
2.8订单详情确认
用户点击结算按钮,进入订单详情确认页
## 2.9提交订单
点击提交订单,进入支付宝支付页面
2.10我的订单
2.11系统后台登录
2.12后台首页
后台采用element-ui开发。
三、数据库设置
3.1数据库设计原则
数据库的概念结构设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。在系统设计当中数据库起着决定性的因素。下面设计出这几个关键实体的实体—关系图。
3.2数据库实体
数据模型中的实体(Entity),也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”。例如,公司中的每个员工,家里中的每个家具。
系统部分E-R图
略
四、关键代码实现
4.1用户登录模块
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
// 登录
form.on('submit(login)', function(data) {
data = data.field;
if (!data.role) {
layer.msg('请选择登录用户类型', {
time: 2000,
icon: 5
});
return false;
}
http.request(data.role + '/login', 'get', data, function(res) {
layer.msg('登录成功', {
time: 2000,
icon: 6
});
// 登录凭证
localStorage.setItem('Token', res.token);
localStorage.setItem('role', jquery('#role:checked').attr('title'));
// 当前登录用户角色
localStorage.setItem('userTable', data.role);
localStorage.setItem('sessionTable', data.role);
// 用户名称
localStorage.setItem('adminName', data.username);
http.request(data.role + '/session', 'get', {}, function(res) {
// 用户id
localStorage.setItem('userid', res.data.id);
// 路径访问设置
window.location.href = '../../index.html';
})
});
return false
});
4.2 商品图片上传
@RequestMapping("/upload")
public R upload(@RequestParam("file") MultipartFile file, String type,HttpServletRequest request) throws Exception {
if (file.isEmpty()) {
throw new EIException("上传文件不能为空");
}
String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
String fileName = new Date().getTime()+"."+fileExt;
File dest = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+fileName);
file.transferTo(dest);
if(StringUtils.isNotBlank(type) && type.equals("1")) {
ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
if(configEntity==null) {
configEntity = new ConfigEntity();
configEntity.setName("faceFile");
configEntity.setValue(fileName);
} else {
configEntity.setValue(fileName);
}
configService.insertOrUpdate(configEntity);
}
return R.ok().put("file", fileName);
}
五、论文文档
目 录
1 概述
1.1课题背景及意义
1.2 国内外研究现状
1.3 本课题主要工作
2 系统开发环境
2.1 Java技术
2.2 Mysql数据库
2.3 B/S结构
2.4 Springboot框架
3 系统分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2操作可行性
3.1.3 经济可行性
3.1.4 法律可行性
3.2系统流程分析
3.2.1系统开发流程
3.2.2 用户登录流程
3.2.3 系统操作流程
3.2.4 添加信息流程
3.2.5 修改信息流程
3.2.6 删除信息流程
3.3系统用例分析
略
4 系统设计
4.1 系统概述
4.2 系统结构设计
4.3数据库设计
4.3.1 数据库设计原则
4.3.2 数据库实体
4.3.3 数据库表设计
5系统界面实现
略
6系统测试
6.1系统测试的意义
6.2 测试方法
6.3测试分析
结 论
致 谢