Java项目:生鲜商城系统(java+SpringBoot+Vue+ElementUI+Layui+Mysql)

源码获取:俺的博客首页 "资源" 里下载! 

项目介绍

基于SpringBoot Vue的生鲜交易系统

角色:管理员、用户、商家

用户:用户系统,在系统首页可以查看首页,生鲜信息,公告信息,个人中心,后台管理,购物车等内容

商家:商家登录系统后,可以对首页,个人中心,生鲜信息管理,广告信息管理,生鲜仓库管理,生鲜出库管理,订单管理等

管理员:管理员登录进入系统可以对首页,个人中心,用户管理,商家管理,生鲜信息管理,生鲜分类管理,广告信息管理,生鲜仓库管理,生鲜出库管理,系统管理等进行相应操作


环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
4.数据库:MySql 5.7/8.0版本均可;
5.是否Maven项目:是;


技术栈

后端:SpringBoot+Mybaits

前端:Vue+ElementUI+Layui+HTML+CSS+JS


使用说明

项目运行:
1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

 

文档介绍(课题背景与意义、系统实现功能、课题研究现状、系统相关技术、java技术、B/S架构、Mysql介绍、Mysql环境配置、Springboot框架、系统需求分析、系统功能、可行性研究、经济可行性、技术可行性、运行可行性、事件可行性、系统业务过程分析、系统业务过程分析、系统用例图、系统设计、数据库设计、系统整体设计、系统设计思想、系统流程图、系统详情设计、系统功能模块、系统功能模块、管理员功能模块):

 生鲜首页展示:

生鲜列表展示页面:

 生鲜详情展示页:

 购物车详情信息:

后台登录管理页面:

后台管理功能:

订单管理控制层: 

@Controller
public class orderController {
	@Autowired
	private OrderService orderService;

	@RequestMapping("/toOrder")
	public String toOrder(HttpServletRequest request,Model model) throws Exception {
		Orders orders = new Orders();
		Cart cart = (Cart) request.getSession().getAttribute("cart");
		User loginUser = (User) request.getSession().getAttribute("loginUser");
		if(loginUser==null){
			model.addAttribute("message", "对不起您还没有登录");
			return "msg";
		}
//		0表示没有付款、1表示已付款即将发货 2表示确认收货 3表示交易成功
		orders.setState(0);
		orders.setOrderTime(new Date());
		orders.setUid(loginUser.getUid());
		orders.setMoney(cart.getTotale());

		orderService.toOrder(orders);

		Map<Integer, CartItem> cartItems = cart.getCartItem();
		for (Entry<Integer, CartItem> entry : cartItems.entrySet()) {
			CartItem cartItem = entry.getValue();
			Orderitem orderitem = new Orderitem();
			orderitem.setProduct(cartItem.getProduct());
			orderitem.setCount(cartItem.getCount());
			orderitem.setPid(cartItem.getProduct().getPid());
			orderitem.setSubtotal(cartItem.getSubtotle());
			orderitem.setOid(orders.getOid());
			orders.getOiList().add(orderitem);
			orderService.toOrderItem(orderitem);
		}
		cart.clearCart();
		request.getSession().setAttribute("orders", orders);
		return "order";
	}

	// 为定单付款
	@RequestMapping("/payOrder")
	public String payOrder(Orders orders,@RequestParam String receiveInfo,@RequestParam String phoNum,@RequestParam String accepter) throws Exception {
		orders.setReceiveinfo(receiveInfo);
		orders.setPhonum(phoNum);
		orders.setAccepter(accepter);
		orderService.payOrder(orders);
		return "redirect:myOrder.action?page=1";
	}
   //payOrderAganin
	@RequestMapping("/payOrderAganin")
	public String payOrderAganin(@RequestParam int oid,HttpServletRequest request){
		Orders noPayOrder = orderService.findOrderByOid(oid);
		request.getSession().setAttribute("orders", noPayOrder);
		return "order";
	}
	// 查询myOrder
	@RequestMapping("/myOrder")
	public String myOrder(@RequestParam int page, Model model,
			HttpServletRequest request) throws Exception {
		User loginUser = (User) request.getSession().getAttribute("loginUser");
		PageBean<Orders> pageBean = orderService.findOrderByUidAndPage(page,loginUser.getUid());
		model.addAttribute("pageBean", pageBean);
		return "orderList";
	}
	
	// 确认收货
		@RequestMapping("/updateState")
		public String updateState(@RequestParam int oid ) throws Exception {
			orderService.updateOrderStatus(oid, 3);
			return "redirect:myOrder.action?page=1";
		}
}

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 商品管理控制层:

@Controller
public class ProductController {
	@Autowired
	private ProductService prodcutService;

	@RequestMapping("/productFindByPid")
	public String productFindByPid(@RequestParam int pid,Model model) throws Exception {
			Product product = prodcutService.productFindByPid(pid);
			model.addAttribute("product", product);
		return "product";
	}
}

登录管理控制层: 

@Controller
public class loginController {

	@Autowired
	private UserService userService;

	@RequestMapping("login")
	public String login() {
		return "login";
	}

	// 用户登录
	@RequestMapping("/userLogin")
	public String userLogin(HttpServletRequest request,
			@RequestParam String checkImg, User user, Model model)
			throws zdyException, Exception {
		String sessionCode = (String) request.getSession().getAttribute(
				"checkcode");
		if (!sessionCode.equalsIgnoreCase(checkImg)) {
			 //model.addAttribute("message", "验证码输入错误请重新注册");
			//throw new zdyException("验证码输入错误请重新注册");
			request.getSession().setAttribute("message", "验证码输入错误请重新注册");
			 return "redirect:login.action";
		}
		User loginUser = userService.loginFindByUnameAndPwd(user.getUsername(),
				user.getPassword());
		if (loginUser == null) {
			 //model.addAttribute("message", "密码输入错误请重新登陆");
			 request.getSession().setAttribute("message", "密码输入错误请重新登陆");
			//throw new zdyException("密码输入错误请重新登陆");
			 return "redirect:login.action";
		}
		request.getSession().setAttribute("loginUser", loginUser);
		request.getSession().removeAttribute("message");
		return "redirect:index.action";
	}

	// 用户退出
	@RequestMapping("userLogout")
	public String userLogout(HttpServletRequest request,
			HttpServletResponse response, Model model) {
		request.getSession().removeAttribute("loginUser");
		response.setHeader("content-type", "text/html;charset=UTF-8");
		response.setHeader("refresh", "5;url=/shop/index.action");
		model.addAttribute("message", "退出成功,系统将在5秒之后跳转到首页......");
		return "msg";
	}

	//进入管理员页面
	@RequestMapping("/admin")
	public String AdminIndex(){
		return "admin/index";
	}
	//admin/adminUser_login.action
    //adminUser_login管理员登录
	@RequestMapping("/admin/adminUser_login")
	public String adminUser_login(HttpServletRequest request,Model model,@RequestParam String username,@RequestParam String password) throws Exception{
		Adminuser adminuserLogin = userService.adminUser_login(username,password);
		System.out.println(username);
		System.out.println(password);
		if(adminuserLogin == null){
			model.addAttribute("message", "改用户未被授予管理员身份!");
			return "admin/index";
		}
		request.getSession().setAttribute("adminuserLogin", adminuserLogin);
//		model.addAttribute("adminuserLogin", adminuserLogin);
		return "admin/home";
	}
	
}

 品类管理控制层:

@Controller
public class CategorySecondController {
	@Autowired
	private ProductService productService;
//根据一级目录查找二级目录下面的商品(使用延迟加载但是这里不知为啥使用起来出错了)
	@RequestMapping("/findCategorySecond")
	public String findCategorySecond(HttpServletRequest request,@RequestParam int cid,Model model,@RequestParam int page) throws Exception {
		request.getSession().setAttribute("cid",cid);
		PageBean<Product> proPageBean = productService.findProductyBycid(cid,page);
		model.addAttribute("pageBean",proPageBean);
		return "category";
	}
	
//	根据csid来分页查询商品
	@RequestMapping("/findCategorySecond1")
	public String findCategorySecond1(@RequestParam int csid,Model model,@RequestParam int page){
		PageBean<Product> proPageBean = productService.finbProductByCsid(csid,page);
		model.addAttribute("pageBean",proPageBean);
		return "category";
	}
}

 购物车管理控制层:

@Controller
public class cartController {
	@Autowired
	private ProductService productService;
//	添加到购物车
	@RequestMapping("/addCart")
	public String addCart(HttpServletRequest request,@RequestParam int pid,@RequestParam int count ,Model model){
		Product product = productService.finbProductByPid(pid);
//		存进一个购物项
		CartItem cartItem = new CartItem();
		cartItem.setCount(count);
		cartItem.setProduct(product);
		cartItem.setSubtotle(count*product.getShopPrice());
//		存进购物车
		Cart cart=getCart(request);
		cart.addCart(cartItem);
		return "cart";
	}
//	查看我的购物车
	@RequestMapping("/myCart")
	public String myCart(HttpServletRequest request,Model model){
		User loginUser = (User) request.getSession().getAttribute("loginUser");
		if (loginUser == null) {
			model.addAttribute("message","您还没有登录!");
			return "msg";
		}
		return "cart";
	}
	
//	清空购物车
	@RequestMapping("/clearCart")
	public String clearCart(HttpServletRequest request){
		Cart cart=getCart(request);
		cart.clearCart();
		return "redirect:myCart.action";
	}
//	删除某个购物项
	@RequestMapping("/delProFromCart")
	public String delProFromCart(@RequestParam int pid,HttpServletRequest request){
		Cart cart=getCart(request);
		cart.delProFromCart(pid);
		return "redirect:myCart.action";
	}
	public Cart getCart(HttpServletRequest request) {
		Cart cart = (Cart) request.getSession().getAttribute("cart");
		if (cart == null) {
			cart = new Cart();
			request.getSession().setAttribute("cart", cart);
		}
		return cart;
	}
}

源码获取:俺的博客首页 "资源" 里下载!

  • 12
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue2,ElementUISpringBoot,Mybatis,MySQL8.0是一组优秀的前后端技术组合。Vue2是一款流行的前端框架,具有响应式的数据绑定和组件化开发等特点,适合开发动态交互性强的单页面应用;ElementUI是一款基于Vue2的UI库,提供了一系列美观实用的组件,可快速搭建现代化的Web应用;SpringBoot是一款基于Spring框架的轻量级应用开发框架,使用简单,能够快速集成其他框架;Mybatis是一个优秀的ORM框架,能够极大地提高Java开发与SQL交互的效率,避免手写SQL语句的麻烦;MySQL8.0则是一个高性能、稳定性强的关系型数据库,使用广泛。 结合这些技术进行登陆注册系统的开发,可以使用Vue2和ElementUI实现前端页面的效果,使用SpringBoot作为后端框架,利用Mybatis对MySQL8.0数据库进行访问。具体开发过程可以分为以下几步: 1. 后端开发:使用SpringBoot框架搭建RESTful风格API接口,使用Mybatis框架访问MySQL8.0数据库,并实现用户登陆、注册以及对用户信息的增删改查等功能。 2. 前端开发:使用Vue2和ElementUI完成前端页面的搭建,包括登陆、注册、用户信息管理等页面,并使用Axios等技术与后端进行数据传输。可以使用Vuex实现数据的状态管理和共享。 3. 接口实现:在前后端开发完成后,需要将后端的API接口与前端进行对接,实现数据的交互。可以使用Postman等工具测试和调试接口。 4. 系统上线:在完成开发后,需要对系统进行测试和调试,确保系统能够稳定运行并满足用户需求后,再进行部署上线。 综上,登陆注册Vue2 ElementUI SpringBoot Mybatis MySQL8.0的开发过程相对复杂,需要前后端开发人员精细的协作和技术储备,但使用这些优秀的技术组合可以有效提高开发效率和用户体验,是一种切实可行的开发方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OldWinePot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值