基于javaweb+mysql的springboot前台+后台精品水果商城系统设计和实现(java+springboot+ssm+mysql+html+maven)
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SpringBoot前台+后台精品水果商城系统设计和实现(java+springboot+ssm+mysql+html+maven)
一、项目简述
本系统主要实现的功能有: 前台用户的登录注册,水果商品的展示,水果的购物车, 购物车新增结算等等,银行卡的支付绑定,收货地址的维护,密码修改等等功能 后台管理的用户管理,商品管理,分类管理,订单管理等等。
二、项目运行
1运行环境
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: Springboot+ SpringMVC + MyBatis + HTML + ThymeLeaf + JavaScript + JQuery + Ajax + maven等等
@Controller
@RequestMapping("/order")
public class OrderController {
@Autowired
private OrderEntityMapper orderDao;
@Autowired
private UserEntityMapper userEntityMapper;
@Autowired
private ShopCarEntityMapper shopCarDao;
@Autowired
private BankCarEntityMapper bankDao;
@Autowired
private TranstacRecordEntityMapper transtacDao;
@RequestMapping("/addOrder")
@ResponseBody
@Transactional(propagation=Propagation.NOT_SUPPORTED)
public JSONObject addOrder(HttpSession session,HttpServletRequest request){
JSONObject result = new JSONObject();
Integer userId = (Integer) session.getAttribute("userId");
String carIds = request.getParameter("carIds");
JSONArray jsonCarIds = JSONArray.parseArray(carIds);
if(userId == null){
result.put("code","100");
result.put("message","用户名不能为空");
}
try {
OrderEntity orderEntity = new OrderEntity();
for(Object item : jsonCarIds){
JSONObject param = (JSONObject) item;
ShopCarEntity shopCarEntity = shopCarDao.selectById(param.getInteger("carId"));
UserEntity user = userEntityMapper.selectById(userId);
orderEntity.setCreater(user.getName());
orderEntity.setCreateTime(new Date());
orderEntity.setOrderAddress(shopCarEntity.getReceiveAddress());
orderEntity.setOrderCode(RandomUtils.randomString(5)+RandomUtils.randomNumber(8));
orderEntity.setProductNumber(jsonCarIds.size());
if(orderEntity.getCountMoney() != null){
orderEntity.setOrderMoney(shopCarEntity.getRelPrice().add(orderEntity.getCountMoney()));
orderEntity.setDiscountMoney(shopCarEntity.getDiscountPrice().add(orderEntity.getDiscountMoney()));
orderEntity.setCountMoney(shopCarEntity.getCountProce().add(orderEntity.getOrderMoney()));
orderEntity.setProductName(shopCarEntity.getProductName()+" , "+orderEntity.getProductName());
}else{
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","");
return result;
}
try {
productDao.delete(Integer.parseInt(productId));
result.put("code","200");
result.put("msg","删除成功");
} catch (Exception e) {
e.printStackTrace();
result.put("code","100");
result.put("msg","系统异常");
}
return result;
}
}
public class ProductsController {
@Autowired
private ProductEntityMapper productDao;
@Autowired
private ClassifyEntityMapper classifyDao;
@RequestMapping("/products")
public ModelAndView indexPage(HttpServletRequest request){
ModelAndView mv = new ModelAndView();
String classId = request.getParameter("classId");
String minPrice = request.getParameter("minPrice");
String maxPrice = request.getParameter("maxPrice");
String search = request.getParameter("search");
try {
Map<String, Object> param = new HashMap<String, Object>();
param.put("classId", classId);
param.put("minPrice", minPrice);
param.put("maxPrice", maxPrice);
param.put("search", search);
List<ProductEntity> productEntities = productDao.listByMap(param);
List<ClassifyEntity> classifyEntities = classifyDao.listByMap(param);
mv.addObject("minPrice",minPrice);
mv.addObject("maxPrice",maxPrice);
mv.addObject("search",search);;
mv.addObject("products",productEntities);
mv.addObject("classifys",classifyEntities);
} catch (Exception e) {
e.printStackTrace();
}
mv.setViewName("/customer/products");
return mv;
}
/**
* 查看商品详情
* @param request
* @return
*/
@RequestMapping("/signle")
public ModelAndView productList(HttpServletRequest request){
ModelAndView mv = new ModelAndView();
String id = request.getParameter("id");
try {
ProductEntity product = productDao.selectById(Integer.parseInt(id));
Map<String, Object> param = new HashMap<String, Object>();
List<ClassifyEntity> classifyEntities = classifyDao.listByMap(param);
@Controller
@RequestMapping("/order")
public class OrderController {
@Autowired
private OrderEntityMapper orderDao;
@Autowired
private UserEntityMapper userEntityMapper;
@Autowired
private ShopCarEntityMapper shopCarDao;
@Autowired
private BankCarEntityMapper bankDao;
@Autowired
private TranstacRecordEntityMapper transtacDao;
@RequestMapping("/addOrder")
@ResponseBody
@Transactional(propagation=Propagation.NOT_SUPPORTED)
public JSONObject addOrder(HttpSession session,HttpServletRequest request){
JSONObject result = new JSONObject();
Integer userId = (Integer) session.getAttribute("userId");
* @param session
* @return
*/
@RequestMapping("/shopcarList")
public ModelAndView shopcarList(HttpServletRequest request,HttpSession session){
ModelAndView mv = new ModelAndView();
Integer userId = (Integer) session.getAttribute("userId");
try {
Map<String, Object> param = new HashMap<String, Object>();
param.put("userId", userId);
param.put("status", 1);
List<ShopCarEntity> shopCarEntities = shopCarDao.listByMap(param);
mv.addObject("shopCars",shopCarEntities);
mv.setViewName("/customer/shop_car");
} catch (Exception e) {
e.printStackTrace();
}
return mv;
}
/**
* 删除购物车信息
* @param request
* @param session
* @return
*/
@RequestMapping("/deleShopCar")
@ResponseBody
public JSONObject deleShopCar(HttpServletRequest request,HttpSession session){
JSONObject result = new JSONObject();
try {
Integer userId = (Integer) session.getAttribute("userId");
String carId = request.getParameter("carId");
UserEntity userEntity = userDao.selectById(userId);
if(userEntity != null){
shopCarDao.delete(Integer.valueOf(carId));
}
result.put("msg", "删除购物车成功");
result.put("code", "200");
} catch (Exception e) {
e.printStackTrace();
result.put("msg", "系统异常");
result.put("code", "500");
}
return result;
}
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","用户不存在");
}
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");
orderEntity.setOrderCode(RandomUtils.randomString(5)+RandomUtils.randomNumber(8));
orderEntity.setProductNumber(jsonCarIds.size());
if(orderEntity.getCountMoney() != null){
orderEntity.setOrderMoney(shopCarEntity.getRelPrice().add(orderEntity.getCountMoney()));
orderEntity.setDiscountMoney(shopCarEntity.getDiscountPrice().add(orderEntity.getDiscountMoney()));
orderEntity.setCountMoney(shopCarEntity.getCountProce().add(orderEntity.getOrderMoney()));
orderEntity.setProductName(shopCarEntity.getProductName()+" , "+orderEntity.getProductName());
}else{
orderEntity.setOrderMoney(shopCarEntity.getRelPrice());
orderEntity.setDiscountMoney(shopCarEntity.getDiscountPrice());
orderEntity.setCountMoney(shopCarEntity.getCountProce());
orderEntity.setProductName(shopCarEntity.getProductName());
}
orderEntity.setStatus((short)1);
orderEntity.setIsDelete((short)0);
orderEntity.setOrderUserId(userId);
shopCarEntity.setStatus((short)2);
shopCarDao.update(shopCarEntity);
}
orderDao.insert(orderEntity);
result.put("code", "200");
result.put("msg", "提交订单成功");
} catch (Exception e) {
e.printStackTrace();
result.put("code", "200");
result.put("msg", "提交订单失败");
}
return result;
}
/**
* 查看订单详情
* @param session
* @param request
* @return
*/
@RequestMapping("/viewOrder")
public ModelAndView viewOrder(HttpSession session,HttpServletRequest request){
ModelAndView mv = new ModelAndView("/customer/view_order");
String orderId = request.getParameter("orderId");
try {
OrderEntity orderEntity = orderDao.selectById(Integer.valueOf(orderId));
mv.addObject("order", orderEntity);
mv.addObject("code", "200");
mv.addObject("msg", "查看成功");
} catch (Exception e) {
e.printStackTrace();
mv.addObject("code", "100");
mv.addObject("msg", "失败");
}
orderDao.delete(Integer.valueOf(orderId));
result.put("code", "200");
result.put("msg", "删除成功");
} catch (Exception e) {
e.printStackTrace();
result.put("code", "100");
result.put("msg", "删除失败");
}
return result;
}
@RequestMapping("/cancleOrder")
@ResponseBody
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")
bankCarEntity.setCarNumber(request.getParameter("carNumber"));
try {
UserEntity user = new UserEntity();
user = userEntityMapper.selectById(userId);
bankCarEntity.setModifier(user.getUserName());
bankCarEntity.setModifyTime(new Date());
bankDao.update(bankCarEntity);
mv.addObject("bankCar",bankCarEntity);
mv.setViewName("/customer/bank_car");
} catch (Exception e) {
e.printStackTrace();
}
return mv;
}
}
@Controller
@RequestMapping("/admin")
public class AdminLoginController {
public static final String adminUsername = ConfigUtils.getPropertiesByKey("admin.username");
public static final String adminPassword = ConfigUtils.getPropertiesByKey("admin.password");
@Autowired
private UserEntityMapper userEntityMapper;
@RequestMapping("")
public String admin(){
return "/admin/admin_login";
}
@RequestMapping("/login")
public String indexPage(){
}
UserEntity user = userEntityMapper.getByUserName(username);
if(user != null){
mv.addObject("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","密码错误");
String orderId = request.getParameter("orderId");
try {
OrderEntity orderEntity = orderDao.selectById(Integer.valueOf(orderId));
mv.addObject("order", orderEntity);
mv.addObject("code", "200");
mv.addObject("msg", "查看成功");
} catch (Exception e) {
e.printStackTrace();
mv.addObject("code", "100");
mv.addObject("msg", "失败");
}
return mv;
}
@RequestMapping("/deleteOrder")
@ResponseBody
public JSONObject deleteOrder(HttpSession session,HttpServletRequest request){
JSONObject result = new JSONObject();
Integer userId = (Integer) session.getAttribute("userId");
if(userId == null){
result.put("code","100");
result.put("message","用户名不能为空");
return result;
}
String orderId = request.getParameter("orderId");
try {
orderDao.delete(Integer.valueOf(orderId));
result.put("code", "200");
result.put("msg", "删除成功");
} catch (Exception e) {
e.printStackTrace();
result.put("code", "100");
result.put("msg", "删除失败");
}
return result;
}
@RequestMapping("/cancleOrder")
@ResponseBody
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());
}
result.put("code", "200");
result.put("msg", "成功");
} catch (Exception e) {
e.printStackTrace();
result.put("code", "100");
result.put("msg", "系统异常");
}
return result;
}
}
@Controller
@RequestMapping("/shopcar")
public class ShopCarController {
String productId = request.getParameter("classifyId");
if(StringUtils.isEmpty(productId)){
result.put("code","100");
result.put("msg","");
return result;
}
try {
classifyDao.delete(Integer.parseInt(productId));
result.put("code","200");
result.put("msg","删除成功");
} catch (Exception e) {
e.printStackTrace();
result.put("code","100");
result.put("msg","系统异常");
}
return result;
}
}
@Controller
@RequestMapping("/customer")
public class ProductsController {
@Autowired
private ProductEntityMapper productDao;
@Autowired
private ClassifyEntityMapper classifyDao;
@RequestMapping("/products")
JSONObject result = new JSONObject();
try {
Integer userId = (Integer) session.getAttribute("userId");
String carId = request.getParameter("carId");
UserEntity userEntity = userDao.selectById(userId);
if(userEntity != null){
shopCarDao.delete(Integer.valueOf(carId));
}
result.put("msg", "删除购物车成功");
result.put("code", "200");
} catch (Exception e) {
e.printStackTrace();
result.put("msg", "系统异常");
result.put("code", "500");
}
return result;
}
@RequestMapping("/delete")
@ResponseBody
public JSONObject delete(HttpServletRequest request){
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
@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);
} catch (Exception e) {
e.printStackTrace();
result.put("code", "200");
result.put("msg", "提交订单失败");
}
return result;
}
/**
* 查看订单详情
* @param session
* @param request
* @return
*/
@RequestMapping("/viewOrder")
public ModelAndView viewOrder(HttpSession session,HttpServletRequest request){
ModelAndView mv = new ModelAndView("/customer/view_order");
String orderId = request.getParameter("orderId");
try {
OrderEntity orderEntity = orderDao.selectById(Integer.valueOf(orderId));
mv.addObject("order", orderEntity);
mv.addObject("code", "200");
mv.addObject("msg", "查看成功");
} catch (Exception e) {
e.printStackTrace();
mv.addObject("code", "100");
mv.addObject("msg", "失败");
}
return mv;
}
@RequestMapping("/deleteOrder")
@ResponseBody
public JSONObject deleteOrder(HttpSession session,HttpServletRequest request){
JSONObject result = new JSONObject();
Integer userId = (Integer) session.getAttribute("userId");
if(userId == null){
result.put("code","100");
result.put("message","用户名不能为空");
return result;
}
String orderId = request.getParameter("orderId");
try {
orderDao.delete(Integer.valueOf(orderId));
}
@RequestMapping("/register")
public String register(HttpServletRequest request){
request.setAttribute("code", "200");
request.setAttribute("msg", "");
return "/customer/register";
}
/**
* 客户注册/注册成功到个人中心
* @param request
* @return
*/
@RequestMapping("/customerRegister")
public ModelAndView customerRegister(HttpServletRequest request){
ModelAndView mv = new ModelAndView("/customer/register");
String username = request.getParameter("username");
String password = request.getParameter("password");
String email = request.getParameter("email");
String phone = request.getParameter("phone");
String address = request.getParameter("address");
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","用户名已存在");
}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)
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 ModelAndView contactusPage(HttpServletRequest request){
ModelAndView mv = new ModelAndView("/customer/add_bank_car");