1.1 研究意义
日益发展的信息技术,互联网经济的快速兴起,网上的购物日益受到人们的关注,蔬菜水果网上批发市场模式也必然成为其潮流发展一部分。 基于 springboot 技术的水果在线批发系统借助于遍布全球的互联网, 进行水果的市场消费流动,因此水果的批发既可以在本地进行,也可以在异地进行。 网上进行水果批发既可以省下许多时间体力,也可以节省来回的花销成本,更可以足不出户就可以了解到水果批发市场的行情,消费者可以吃到想吃的新鲜的水果。生产者以及批发销售商可以获得更多客户资源和批发渠道,进而提升蔬菜水果批发销量和规模。轻轻松松实现买卖交易。本课题利用 Java springboot 技术开发一个水果系统,为消费者和批发商提供一个平台,降低了成本、时间占用,也解决了交通困难等系列问题,促进人们生活消费水平。
设计技术:
- 开发语言:Java
- 数据库:MySQL
- 技术:Springboot+Mybatis+vue
-
工具:IDEA、Maven、Navicat
主要功能:
2.1系统功能分析
1.用户模块管理:用户登录、用户注册、用户的查询、添加、删除操作、
2.页面模块管理:页面菜单的展示、添加操作、修改操作、删除操作、
3.角色模块管理:用户角色列表的查看、删除等操作、
4.商品管理:商品信息的查看、添加、删除、
5.订单管理:订单管理信息操作、
6.用户评论模块管理:用户评论查询、添加、删除、
7.收藏模块管理:对喜欢水果的收藏管理
8.购物车管理:对水果商品加入购物车、移除购物车
9.修改密码管理以及个人信息查看管理
9.注销退出登录管理
4.3.1项目首页
前台地址:http://localhost:8080/home/system/index
4.3.1首页:
//表单数据序列化
var data = $('#login_form').serialize();
$.ajax({
url:'/home/user/login',
data:data,
type:'post',
dataType:'json',
success:function(data){
if(data.code == 0){
setTokenToCookie(data.msg, 7);
window.location.href = "/home/system/index";
}else{
layer.alert(data.msg, {icon: 5});
}
},
error:function(){
layer.alert("网络错误,登录失败!", {icon: 5});
}
});
4.3.2注册页面:
@RequestMapping(value = "/doRegist")
@ResponseBody
public ResultMap doRegist(User user) {
System.out.println(user);
User u = userService.getUserByPhoneAndName(user.getPhone(), null);
if (u != null){
return resultMap.success().message("该手机号已注册!");
}
try {
user.setPassword(MD5.md5(user.getPassword()));
user.setCreateTime(new Date());
userService.save(user);
String[] ids = new String[1];
ids[0] = user.getId()+"";
// 普通用户
userRoleService.addUserRole(2, ids);
return resultMap.success().message("注册成功");
}catch (Exception e){
e.printStackTrace();
return resultMap.fail().message("注册失败");
}
}
4.3.2 主页面
系统首页水果专区
4.3.2.1 购物车管理
添加用户:
4.3.2.2 我的订单管理
添加页面菜单:
输入菜单名称、URL进行保存添加。
4.3.2.3 个人信息管理
添加宠物信息:
删除宠物信息:
4.3.2.5 修改密码管理
4.3.2.6 用户评论收藏
4.3.2.4 收货地址管理
4.3.4部分关键源码展示:
4.3.4.1登录模块:
/**
* 登录表单验证处理
* @param admin
* @param cpacha
* @return
*/
@RequestMapping(value="/login",method=RequestMethod.POST)
@ResponseBody
public ResponseVo<Boolean> login(Admin admin, String cpacha, HttpServletRequest request){
if(admin == null) {
return ResponseVo.errorByMsg(CodeMsg.DATA_ERROR);
}
if(StringUtil.isEmpty(cpacha)) {
return ResponseVo.errorByMsg(CodeMsg.CPACHA_EMPTY);
}
String correct_cpacha = (String) request.getSession().getAttribute("admin_login");
//判断验证码是否过期
if(StringUtil.isEmpty(correct_cpacha)){
return ResponseVo.errorByMsg(CodeMsg.CPACHA_EXPIRE);
}
if(!cpacha.toLowerCase().equals(correct_cpacha.toLowerCase())) {
return ResponseVo.errorByMsg(CodeMsg.CPACHA_ERROR);
}
//去数据库查询数据验证
Admin selectByNameAndPassword = adminMapper.selectByNameAndPassword(admin.getName(), admin.getPassword());
if(selectByNameAndPassword == null) {
return ResponseVo.errorByMsg(CodeMsg.USERNAME_OR_PASSWORD_ERROR);
}
//验证该用户是否被冻结
if(selectByNameAndPassword.getState().intValue() == AdminStateEnum.STOP.getCode().intValue()) {
return ResponseVo.errorByMsg(CodeMsg.USER_STATE_ERROR);
}
//验证该用户是否无权限
List<Authority> selectByRoleId = authorityMapper.selectByRoleId(selectByNameAndPassword.getRoleId());
if(selectByRoleId == null || selectByRoleId.size() == 0) {
return ResponseVo.errorByMsg(CodeMsg.USER_AUTHORITY_ERROR);
}
//创建权限
request.getSession().setAttribute(SessionConstant.SESSION_ADMIN_LOGIN_KEY, selectByNameAndPassword);
return ResponseVo.success(true);