基于javaweb和mysql的springboot前台+后台精品水果商城系统设计和实现(java+springboot+ssm+mysql+html+thymeleaf+maven)

私信源码获取及调试交流

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb的SpringBoot前台+后台精品水果商城系统设计和实现(java+springboot+ssm+mysql+html+thymeleaf+maven)

一、项目简述

本系统主要实现的功能有: 前台用户的登录注册,水果商品的展示,水果的购物车, 购物车新增结算等等,银行卡的支付绑定,收货地址的维护,密码修改等等功能 后台管理的用户管理,商品管理,分类管理,订单管理等等。

二、项目运行

1运行环境

环境配置: Jdk1.8 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: Springboot+ SpringMVC + MyBatis + HTML + ThymeLeaf + JavaScript + JQuery + Ajax + maven等等


@Controller
@RequestMapping("/admin/product")
public class ProductController {
	
	@Autowired
	private ProductEntityMapper productDao;
	
	@RequestMapping("/addProductPage")
	public String addProductPage(){
		return "/admin/product/product_add";
	}
	
	@RequestMapping("/addProduct")
	public String addProduct(HttpServletRequest request,ProductEntity product){
		try {
			if(product != null){
				product.setCreater("admin");
				product.setCreateTime(new Date());
				product.setStatus((short)1);
				product.setIsDelete((short)0);
				productDao.insert(product);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "redirect:/admin/product/productList";
	}
	
	@RequestMapping("/productList")
	public ModelAndView productList(HttpServletRequest request){
		ModelAndView mv = new ModelAndView();
		Map<String, Object> param = new HashMap<String, Object>();
		List<ProductEntity> productEntities = productDao.listByMap(param);
		mv.addObject("products",productEntities);
		mv.setViewName("/admin/product/product_list");
		return mv;
	}
	
	@RequestMapping("/delete")
	@ResponseBody
	public JSONObject delete(HttpServletRequest request){
		JSONObject result = new JSONObject();
		String productId = request.getParameter("productId");
		if(StringUtils.isEmpty(productId)){
			result.put("code","100");
			result.put("msg","");

@Controller
@RequestMapping("/admin/classify")
public class ClassifyController {
	
	@Autowired
	private ClassifyEntityMapper classifyDao;
	
	@RequestMapping("/addClassifyPage")
	public String addClassifyPage(){
		return "/admin/classify/classify_add";
	}
	
	@RequestMapping("/addClassify")
	public String addClassify(HttpServletRequest request,ClassifyEntity classify){
		try {
			if(classify != null){
				classify.setCreater("admin");
				classify.setCreateTime(new Date());
				classify.setStatus((short)1);
				classify.setIsDelete((short)0);
			mv.addObject("code","100");
			mv.addObject("msg","用户不存在");
		}
		return mv;
	}
	
	@RequestMapping("/customerLogin")
	public ModelAndView customerLogin(HttpServletRequest request,HttpSession session){
		ModelAndView mv = new ModelAndView("/customer/login");
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		if(StringUtils.isEmpty(username)){
			mv.addObject("code","100");
			mv.addObject("message","用户名不能为空");
		}else if(StringUtils.isEmpty(password)){
			mv.addObject("code","100");
			mv.addObject("message","用户名不能为空");
		}
		UserEntity user = userEntityMapper.getByUserName(username);
		session.setAttribute("userId", user.getId());
		if(user != null){
			mv.addObject("code","100");
			mv.addObject("msg","密码错误");
			if(user.getPassword().equals(password)){
				mv.addObject("code","100");
				mv.addObject("user",user);
				mv.addObject("contextPath",request.getContextPath());
				mv.setViewName("/customer/myinfo");
			}
		}
		return mv;
	}
	
	@RequestMapping("/usercenter")
	public ModelAndView usercenter(HttpServletRequest request,HttpSession session){
		ModelAndView mv = new ModelAndView("/customer/login");
		Integer userId = (Integer) session.getAttribute("userId");
		if(userId == null){
			mv.setViewName("/customer/login");
			return mv;
		}
		UserEntity user = userEntityMapper.selectById(userId);
		if(user != null){
			mv.addObject("code","100");
			mv.addObject("user",user);
			mv.addObject("contextPath",request.getContextPath());
			mv.setViewName("/customer/myinfo");
		}
		return mv;
	}
	
		JSONObject result = new JSONObject();
		String carId = request.getParameter("carId");
		if(StringUtils.isEmpty(carId)){
			result.put("code","100");
			result.put("msg","");
			return result;
		}
		try {
			shopCarDao.delete(Integer.parseInt(carId));
			result.put("code","200");
			result.put("msg","删除成功");
		} catch (Exception e) {
			e.printStackTrace();
			result.put("code","100");
			result.put("msg","系统异常");
		}
		return result;
	}
	
	@RequestMapping("/updateProNum")
	@ResponseBody
	public JSONObject updateProNum(HttpServletRequest request){
		JSONObject result = new JSONObject();
		String carId = request.getParameter("carId");
		String number = request.getParameter("number");
		
		if(StringUtils.isEmpty(carId)){
			result.put("code","100");
			result.put("msg","");
			return result;
		}
		try {
			
			ShopCarEntity shopCarEntity = shopCarDao.selectById(Integer.parseInt(carId));
			ProductEntity productEntity = productDao.selectById(shopCarEntity.getProductId());
//			if(productEntity.getProductNum() < Integer.parseInt(number)){
//				result.put("code","100");
//				result.put("msg","库存不足");
//				return result;
//			}
			shopCarEntity.setProductNum(Integer.parseInt(number));
			shopCarEntity.setId(Integer.parseInt(carId));
			shopCarDao.update(shopCarEntity);
			result.put("code","200");
			result.put("msg","删除成功");
		} catch (Exception e) {
			e.printStackTrace();
			result.put("code","100");
			result.put("msg","系统异常");
			
			ShopCarEntity shopCarEntity = shopCarDao.selectById(Integer.parseInt(carId));
			ProductEntity productEntity = productDao.selectById(shopCarEntity.getProductId());
//			if(productEntity.getProductNum() < Integer.parseInt(number)){
//				result.put("code","100");
//				result.put("msg","库存不足");
//				return result;
//			}
			shopCarEntity.setProductNum(Integer.parseInt(number));
			shopCarEntity.setId(Integer.parseInt(carId));
			shopCarDao.update(shopCarEntity);
			result.put("code","200");
			result.put("msg","删除成功");
		} catch (Exception e) {
			e.printStackTrace();
			result.put("code","100");
			result.put("msg","系统异常");
		}
		return result;
	}
}

@Controller
@RequestMapping("/bankcar")
public class BankCarController {
	
	@Autowired
	private UserEntityMapper userEntityMapper;
	@Autowired
	private BankCarEntityMapper bankDao;
	
	
	@RequestMapping("/bankcarPage")
	public JSONObject cancleOrder(HttpSession session,HttpServletRequest request){
		JSONObject result = new JSONObject();
		Integer userId = (Integer) session.getAttribute("userId");
		if(userId == null){
			result.put("code","100");
			result.put("message","用户名不能为空");
		}
		String orderId = request.getParameter("orderId");
		try {
			UserEntity userEntity = new UserEntity();
			userEntity=userEntityMapper.selectById(userId);
			OrderEntity orderEntity =new OrderEntity();
			orderEntity.setId(Integer.valueOf(orderId));
			orderEntity.setModifier(userEntity.getUserName());
			orderEntity.setModifyTime(new Date());
			orderEntity.setStatus((short)3);
			orderDao.update(orderEntity);
			result.put("code", "200");
			result.put("msg", "取消成功");
		} catch (Exception e) {
			e.printStackTrace();
			result.put("code", "100");
			result.put("msg", "删除失败");
		}
		return result;
	}
	
	/**
	 * 支付订单
	 * @param session
	 * @param request
	 * @return
	 */
	@RequestMapping("/payOrder")
	@ResponseBody
	@Transactional(propagation=Propagation.REQUIRED)
	public JSONObject payOrder(HttpSession session,HttpServletRequest request){
		JSONObject result = new JSONObject();
		Integer userId = (Integer) session.getAttribute("userId");
		if(userId == null){
			result.put("code","100");
			mv.addObject("msg","用户名已存在");
		}else{
			UserEntity userEntity = new UserEntity();
			userEntity.setUserName(username);
			userEntity.setCreater(username);
			userEntity.setCreateTime(new Date());
			userEntity.setEmail(email);
			userEntity.setIsDelete((short)0);
			userEntity.setPassword(password);
			userEntity.setSex((short)1);
			userEntity.setName(username);
			userEntity.setAddress(address);
			userEntity.setPhone(phone);
			userEntity.setStatus((short)1);
			userEntity.setUserCode(RandomUtils.randomString(4)
					+RandomUtils.randomNumber(6));
			userEntityMapper.insert(userEntity);
			mv.addObject("code","200");
			mv.addObject("msg","注册成功");
			mv.addObject("data",username);
			mv.setViewName("/customer/login");
		}
		return mv;
	}
	
	@RequestMapping("/shopcar")
	public ModelAndView shopcar(HttpServletRequest request){
		ModelAndView mv = new ModelAndView("/customer/login");
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		
		if(StringUtils.isEmpty(username)){
			mv.addObject("code","100");
			mv.addObject("message","用户名不能为空");
		}else if(StringUtils.isEmpty(password)){
			mv.addObject("code","100");
			mv.addObject("message","用户名不能为空");
		}
		UserEntity user = userEntityMapper.getByUserName(username);
		if(user != null){
			mv.addObject("code","100");
			mv.addObject("msg","密码错误");
			if(user.getPassword().equals(password)){
				mv.addObject("code","100");
				mv.addObject("data",username);
				mv.setViewName("/customer/shopcar");
			}
		}else{
			mv.addObject("code","100");
			mv.addObject("msg","用户不存在");

@Controller
@RequestMapping("/admin/orders")
public class OrdersController {
	
	@Autowired
	private OrderEntityMapper orderDao;
	
	
	@RequestMapping("/ordersList")
	public ModelAndView classifyList(HttpServletRequest request){
		ModelAndView mv = new ModelAndView();
		Map<String, Object> param = new HashMap<String, Object>();
		List<OrderEntity> orders = orderDao.listByMap(param);
		mv.addObject("orders",orders);
		mv.setViewName("/admin/order/order_list");
		return mv;
	}
}

@RequestMapping("/system")
@Controller
public class SystemController {
	
	@RequestMapping("/contactus")
	public String contactus(){
		return "/customer/contact";
	}
	
	@RequestMapping("/codes")
	public String codes(){
		return "/customer/codes";
	}
	
	@RequestMapping("/testLayer")
	public String testLayer(){
		return "/test/testLayer";
	}
}

@Controller
public class IndexController {
	

@Controller(value="manageUser")
@RequestMapping("/admin/user")
public class UserController {
	
	@Autowired
	private UserEntityMapper userEntityMapper;
	
	/**
	 * 管理员账号登陆控制层
	 * @param request
	 * @return
	 */
	@RequestMapping("/userList")
	public ModelAndView userList(HttpServletRequest request){
		ModelAndView mv = new ModelAndView();
		Map<String, Object> param = new HashMap<String, Object>();
		try {
			List<UserEntity> userEntities = userEntityMapper.listByMap(param);
			mv.addObject("users",userEntities);
		} catch (Exception e) {
			e.printStackTrace();
		}
		mv.setViewName("/admin/user/user_list");
		return mv;
	}
}

public class ProductController {
	
	@Autowired
	private ProductEntityMapper productDao;
	
	@RequestMapping("/addProductPage")
	public String addProductPage(){
		return "/admin/product/product_add";
	}
	
	@RequestMapping("/addProduct")
	public String addProduct(HttpServletRequest request,ProductEntity product){
		try {
			if(product != null){
				product.setCreater("admin");
				product.setCreateTime(new Date());
				product.setStatus((short)1);
				product.setIsDelete((short)0);
				productDao.insert(product);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "redirect:/admin/product/productList";
	}
	
	@RequestMapping("/productList")
	public ModelAndView productList(HttpServletRequest request){
		ModelAndView mv = new ModelAndView();
		Map<String, Object> param = new HashMap<String, Object>();
		List<ProductEntity> productEntities = productDao.listByMap(param);
		mv.addObject("products",productEntities);
		mv.setViewName("/admin/product/product_list");
		return mv;
	}
	
	@RequestMapping("/delete")
	@ResponseBody
	public JSONObject delete(HttpServletRequest request){
		JSONObject result = new JSONObject();
		String productId = request.getParameter("productId");
		if(StringUtils.isEmpty(productId)){
	
	@RequestMapping("/payOrderList")
	public ModelAndView payOrderList(HttpServletRequest request,HttpSession session){
		ModelAndView mv = new ModelAndView();
		Integer userId = (Integer) session.getAttribute("userId");
		if(userId == null){
			mv.addObject("code","100");
			mv.addObject("message","用户名不能为空");
		}
		try {
			Map<String, Object> param = new HashMap<String, Object>();
			param.put("userId", userId);
			param.put("status", 2);
			List<OrderEntity> orderEntities = orderDao.listByMap(param);
			mv.addObject("orders",orderEntities);
			mv.setViewName("/customer/pay_order_list");
		} catch (Exception e) {
			e.printStackTrace();
		}
		return mv;
	}
}

@RequestMapping("/user")
@Controller
public class UserController {
	
	@Autowired
	private UserEntityMapper userEntityMapper;
	
			Map<String, Object> param = new HashMap<String, Object>();
			List<UserMessageEntity> messageEntities = messageDao.listByMap(param);
			mv.addObject("messageEntities",messageEntities);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return mv;
	}
}

public class UserSessionInter implements HandlerInterceptor{

	@Override
	public boolean preHandle(HttpServletRequest request,
			HttpServletResponse response, Object handler) throws Exception {
		Integer userId = (Integer) request.getSession().getAttribute("userId");
		if(userId == null){
			response.sendRedirect("/user/login");
			request.setAttribute("code", "301");
			request.setAttribute("msg", "请先登陆");
			return false;
		}
		return true;
	}

	@Override
	public void postHandle(HttpServletRequest request,
			HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {
		Integer userId = (Integer) request.getSession().getAttribute("userId");
		if(userId == null){
			response.sendRedirect("/user/login");

public class UserSessionInter implements HandlerInterceptor{

	@Override
	public boolean preHandle(HttpServletRequest request,
			HttpServletResponse response, Object handler) throws Exception {
		Integer userId = (Integer) request.getSession().getAttribute("userId");
		if(userId == null){
			response.sendRedirect("/user/login");
			request.setAttribute("code", "301");
			request.setAttribute("msg", "请先登陆");
			return false;
		}
		return true;
	}

	@Override
	public void postHandle(HttpServletRequest request,
			HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {
		Integer userId = (Integer) request.getSession().getAttribute("userId");
		if(userId == null){
			response.sendRedirect("/user/login");
			request.setAttribute("code", "301");
			request.setAttribute("msg", "请先登陆");
		}
	}

	@Override
	public void afterCompletion(HttpServletRequest request,
			HttpServletResponse response, Object handler, Exception ex)
			throws Exception {
	}
}

			result.put("code","100");
			result.put("message","用户名不能为空");
		}
		String orderId = request.getParameter("orderId");
		UserEntity userEntity = new UserEntity();
		userEntity=userEntityMapper.selectById(userId);
		OrderEntity orderEntity = orderDao.selectById(Integer.valueOf(orderId));
		orderEntity.setId(Integer.valueOf(orderId));
		orderEntity.setModifier(userEntity.getUserName());
		orderEntity.setModifyTime(new Date());
		orderEntity.setStatus((short)2);
		orderDao.update(orderEntity);
		BankCarEntity bankCar = bankDao.selectByUserId(userId);
		bankCar.setBankMoney(bankCar.getBankMoney().subtract(orderEntity.getCountMoney()));
		bankDao.update(bankCar);
		TranstacRecordEntity transtacRecor = new TranstacRecordEntity();
		transtacRecor.setOrderCode(orderEntity.getOrderCode());
		transtacRecor.setOrderId(orderEntity.getId());
		transtacRecor.setPayMoney(orderEntity.getCountMoney());
		transtacRecor.setProductMoney(orderEntity.getOrderMoney());
		transtacRecor.setCreater(userEntity.getUserName());
		transtacRecor.setCreateTime(new Date());
		int id = transtacDao.insert(transtacRecor);
		result.put("code", "200");
		result.put("msg", "支付成功");
		if(id == 0){
			result.put("code", "100");
			result.put("msg", "删除失败");
		}
		return result;
	}
	
	@RequestMapping("/orderList")
	public ModelAndView orderList(HttpServletRequest request,HttpSession session){
		ModelAndView mv = new ModelAndView();
		Integer userId = (Integer) session.getAttribute("userId");
		if(userId == null){
			mv.addObject("code","100");
			mv.addObject("message","用户名不能为空");
		}
		try {
			Map<String, Object> param = new HashMap<String, Object>();
			param.put("userId", userId);
			param.put("status", 1);
			List<OrderEntity> orderEntities = orderDao.listByMap(param);
			mv.addObject("orders",orderEntities);
	
	
}

@Controller
@RequestMapping("/admin/classify")
public class ClassifyController {
	
	@Autowired
	private ClassifyEntityMapper classifyDao;
	
	@RequestMapping("/addClassifyPage")
	public String addClassifyPage(){
		return "/admin/classify/classify_add";
	}
	
	@RequestMapping("/addClassify")
	public String addClassify(HttpServletRequest request,ClassifyEntity classify){
		try {
			if(classify != null){
				classify.setCreater("admin");
				classify.setCreateTime(new Date());
				classify.setStatus((short)1);
				classify.setIsDelete((short)0);
				classify.setClassCode(RandomUtils.randomString(4)
						+RandomUtils.randomNumber(8));
				classifyDao.insert(classify);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "redirect:/admin/classify/classifyList";
	}
	private UserEntityMapper userEntityMapper;
	
	/**
	 * 管理员账号登陆控制层
	 * @param request
	 * @return
	 */
	@RequestMapping("/userList")
	public ModelAndView userList(HttpServletRequest request){
		ModelAndView mv = new ModelAndView();
		Map<String, Object> param = new HashMap<String, Object>();
		try {
			List<UserEntity> userEntities = userEntityMapper.listByMap(param);
			mv.addObject("users",userEntities);
		} catch (Exception e) {
			e.printStackTrace();
		}
		mv.setViewName("/admin/user/user_list");
		return mv;
	}
}

@Controller
@RequestMapping("/admin/orders")
public class OrdersController {
	
	@Autowired
	private OrderEntityMapper orderDao;
	
	
	@RequestMapping("/ordersList")
	public ModelAndView classifyList(HttpServletRequest request){
		ModelAndView mv = new ModelAndView();
		Map<String, Object> param = new HashMap<String, Object>();
		List<OrderEntity> orders = orderDao.listByMap(param);
		mv.addObject("orders",orders);
		JSONObject result = new JSONObject();
		Integer userId = (Integer) session.getAttribute("userId");
		if(userId == null){
			result.put("code","100");
			result.put("message","用户名不能为空");
		}
		String orderId = request.getParameter("orderId");
		UserEntity userEntity = new UserEntity();
		userEntity=userEntityMapper.selectById(userId);
		OrderEntity orderEntity = orderDao.selectById(Integer.valueOf(orderId));
		orderEntity.setId(Integer.valueOf(orderId));
		orderEntity.setModifier(userEntity.getUserName());
		orderEntity.setModifyTime(new Date());
		orderEntity.setStatus((short)2);
		orderDao.update(orderEntity);
		BankCarEntity bankCar = bankDao.selectByUserId(userId);
		bankCar.setBankMoney(bankCar.getBankMoney().subtract(orderEntity.getCountMoney()));
		bankDao.update(bankCar);
		TranstacRecordEntity transtacRecor = new TranstacRecordEntity();
		transtacRecor.setOrderCode(orderEntity.getOrderCode());
		transtacRecor.setOrderId(orderEntity.getId());
		transtacRecor.setPayMoney(orderEntity.getCountMoney());
		transtacRecor.setProductMoney(orderEntity.getOrderMoney());
		transtacRecor.setCreater(userEntity.getUserName());
		transtacRecor.setCreateTime(new Date());
		int id = transtacDao.insert(transtacRecor);
		result.put("code", "200");
		result.put("msg", "支付成功");
		if(id == 0){
			result.put("code", "100");
			result.put("msg", "删除失败");
		}
		return result;
	}
	
	@RequestMapping("/orderList")
	public ModelAndView orderList(HttpServletRequest request,HttpSession session){
		ModelAndView mv = new ModelAndView();
		Integer userId = (Integer) session.getAttribute("userId");
		if(userId == null){
			mv.addObject("code","100");
			mv.addObject("message","用户名不能为空");
		}
		try {
			Map<String, Object> param = new HashMap<String, Object>();
			param.put("userId", userId);
			param.put("status", 1);
			List<OrderEntity> orderEntities = orderDao.listByMap(param);
			mv.addObject("orders",orderEntities);

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

更多推荐