基于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等等
public class ShopCarController {
@Autowired
private ShopCarEntityMapper shopCarDao;
@Autowired
private UserEntityMapper userDao;
@Autowired
private ProductEntityMapper productDao;
@RequestMapping("/addCar")
@ResponseBody
public JSONObject addCar(HttpServletRequest request,HttpSession session){
JSONObject result = new JSONObject();
Integer userId = (Integer) session.getAttribute("userId");
if(userId == null){
result.put("msg", "请先登陆");
result.put("code", "301");
return result;
}
try {
UserEntity userEntity = userDao.selectById(userId);
String productId = request.getParameter("productId");
ShopCarEntity shopCar = shopCarDao.selectProId(Integer.parseInt(productId));
if(shopCar!=null){
shopCar.setProductNum(shopCar.getProductNum()+1);
shopCar.setModifyTime(new Date());
shopCarDao.update(shopCar);
}else{
ProductEntity productEntity = productDao.selectById(Integer.valueOf(productId));
ShopCarEntity shopCarEntity = new ShopCarEntity();
shopCarEntity.setUserId(userId);
shopCarEntity.setProductId(Integer.valueOf(productId));
shopCarEntity.setProductName(productEntity.getName());
shopCarEntity.setProductImg(productEntity.getImg());
shopCarEntity.setCreateTime(new Date());
shopCarEntity.setProductNum(1);
shopCarEntity.setCreater(userEntity.getName());
shopCarEntity.setSkuName(productEntity.getSku());
shopCarEntity.setRelPrice(productEntity.getRelPrice());
shopCarEntity.setDiscountPrice(productEntity.getDiscountPrice());
shopCarEntity.setCountProce(productEntity.getRelPrice().subtract(productEntity.getDiscountPrice()));
shopCarEntity.setReceiveAddress(userEntity.getAddress());
shopCarEntity.setStatus((short)1);
shopCarEntity.setIsDelete((short)0);
shopCarDao.insert(shopCarEntity);
}
result.put("msg", "加如购物车成功");
result.put("code", "200");
} catch (Exception e) {
e.printStackTrace();
result.put("msg", "系统异常");
result.put("code", "500");
}
String againPassword = request.getParameter("againPassword");
if(StringUtils.isEmpty(oldPassword)){
result.put("code","100");
result.put("msg","原始密码不能为空");
return result;
}else if(StringUtils.isEmpty(newPassword)){
result.put("code","100");
result.put("msg","新密码不能为空");
return result;
}else if(StringUtils.isEmpty(againPassword)){
result.put("code","100");
result.put("msg","重复密码不能为空");
return result;
}else if(!newPassword.equals(againPassword)){
result.put("code","100");
result.put("msg","两次密码不一致");
return result;
}
UserEntity userEntity = userEntityMapper.selectById(userId);
if(oldPassword.equals(userEntity.getPassword())){
UserEntity item = new UserEntity();
item.setPassword(newPassword);
}else{
result.put("code","100");
result.put("msg","密码不正确");
return result;
}
result.put("code", "200");
result.put("msg", "修改成功");
} catch (Exception e) {
e.printStackTrace();
result.put("code", "100");
result.put("msg", "密码修改失败");
}
return result;
}
@RequestMapping("/checkUserRegis")
@ResponseBody
public JSONObject checkUserRegis(HttpSession session,HttpServletRequest request){
JSONObject result = new JSONObject();
try {
String username = request.getParameter("username");
if(StringUtils.isEmpty(username)){
result.put("code","100");
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","删除成功");
}
/**
* 管理员账号登陆控制层
* @param request
* @return
*/
@RequestMapping("/checkPassWord")
public ModelAndView adminLogin(HttpServletRequest request){
ModelAndView mv = new ModelAndView();
String username = request.getParameter("username");
String password = request.getParameter("password");
if(StringUtils.isEmpty(username)){
mv.addObject("code","100");
mv.addObject("message","用户名不能为空");
mv.setViewName("/admin/admin_login");
return mv;
}else if(StringUtils.isEmpty(password)){
mv.addObject("code","100");
mv.addObject("message","用户名不能为空");
mv.setViewName("/admin/admin_login");
return mv;
}else if(!adminUsername.equals(username)){
mv.addObject("code","100");
mv.addObject("message","用户名不正确");
mv.setViewName("/admin/admin_login");
return mv;
}else if(!adminPassword.equals(password)){
mv.addObject("code","100");
mv.addObject("message","密码 不正确");
mv.setViewName("/admin/admin_login");
return mv;
}
Map<String, Object> param = new HashMap<String, Object>();
List<UserEntity> userEntities = userEntityMapper.listByMap(param);
mv.addObject("username",username);
mv.addObject("users",userEntities);
mv.setViewName("/admin/user/user_list");
return mv;
}
}
@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());
@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","");
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;
mv.setViewName("/customer/pay_order_list");
} catch (Exception e) {
e.printStackTrace();
}
return mv;
}
}
@RequestMapping("/user")
@Controller
public class UserController {
@Autowired
private UserEntityMapper userEntityMapper;
@RequestMapping("/login")
public String loginPage(){
return "/customer/login";
}
@RequestMapping("/register")
public String register(HttpServletRequest request){
request.setAttribute("code", "200");
request.setAttribute("msg", "");
return "/customer/register";
}
/**
* 客户注册/注册成功到个人中心
* @param request
* @return
*/
@RequestMapping("/customerRegister")
@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");
return mv;
}
@RequestMapping("/bankcarInfo")
public ModelAndView bankcarInfo(HttpServletRequest request,HttpSession session){
ModelAndView mv = new ModelAndView("/customer/bank_car");
Integer userId = (Integer) session.getAttribute("userId");
try {
BankCarEntity bankCar = bankDao.selectByUserId(userId);
if(bankCar == null){
mv.setViewName("/customer/add_bank_car");
}
mv.addObject("bankCar",bankCar);
} catch (Exception e) {
e.printStackTrace();
}
return mv;
}
@RequestMapping("/addBankCar")
public ModelAndView addCar(HttpServletRequest request,HttpSession session){
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)
+RandomUtils.randomNumber(6));
userEntityMapper.insert(userEntity);
messageEntity.setWebsite(website);
messageEntity.setUserName(userName);
messageDao.insert(messageEntity);
} catch (Exception e) {
e.printStackTrace();
}
return mv;
}
@RequestMapping("/messageList")
public ModelAndView messageList(HttpServletRequest request){
ModelAndView mv = new ModelAndView("/index");
try {
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");
@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));
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");
result.put("code","100");
result.put("msg","重复密码不能为空");
return result;
}else if(!newPassword.equals(againPassword)){
result.put("code","100");
result.put("msg","两次密码不一致");
return result;
}
UserEntity userEntity = userEntityMapper.selectById(userId);
if(oldPassword.equals(userEntity.getPassword())){
UserEntity item = new UserEntity();
item.setPassword(newPassword);
}else{
result.put("code","100");
result.put("msg","密码不正确");
return result;
}
result.put("code", "200");
result.put("msg", "修改成功");
} catch (Exception e) {
e.printStackTrace();
result.put("code", "100");
result.put("msg", "密码修改失败");
}
return result;
}
@RequestMapping("/checkUserRegis")
@ResponseBody
public JSONObject checkUserRegis(HttpSession session,HttpServletRequest request){
JSONObject result = new JSONObject();
try {
String username = request.getParameter("username");
if(StringUtils.isEmpty(username)){
result.put("code","100");
result.put("msg","参数错误");
return result;
}
UserEntity userEntity = userEntityMapper.getByUserName(username);
if(userEntity!=null){
result.put("code","100");
result.put("msg","用户名已注册");
return result;
}
result.put("code", "200");
result.put("msg", "成功");
} catch (Exception e) {
e.printStackTrace();
result.put("code", "100");
result.put("msg", "系统异常");
}
return result;
@RequestMapping("/user")
@Controller
public class UserController {
@Autowired
private UserEntityMapper userEntityMapper;
@RequestMapping("/login")
public String loginPage(){
return "/customer/login";
}
@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);
}
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");
mv.addObject("user",user);
mv.addObject("contextPath",request.getContextPath());
mv.setViewName("/customer/myinfo");
}
}
return mv;
}
@RequestMapping("/usercenter")
public ModelAndView usercenter(HttpServletRequest request,HttpSession session){
}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;
}
@RequestMapping("/myinfo")
public ModelAndView myinfo(HttpServletRequest request,HttpSession session){
ModelAndView mv = new ModelAndView();
Integer userId = (Integer) session.getAttribute("userId");
if(userId == null){
mv.addObject("code","100");
mv.addObject("message","用户名不能为空");
}
UserEntity user = userEntityMapper.selectById(userId);
if(user != null){
}
UserEntity userEntity = userEntityMapper.selectById(userId);
if(oldPassword.equals(userEntity.getPassword())){
UserEntity item = new UserEntity();
item.setPassword(newPassword);
}else{
result.put("code","100");
result.put("msg","密码不正确");
return result;
}
result.put("code", "200");
result.put("msg", "修改成功");
} catch (Exception e) {
e.printStackTrace();
result.put("code", "100");
result.put("msg", "密码修改失败");
}
return result;
}
@RequestMapping("/checkUserRegis")
@ResponseBody
public JSONObject checkUserRegis(HttpSession session,HttpServletRequest request){
JSONObject result = new JSONObject();
try {
String username = request.getParameter("username");
if(StringUtils.isEmpty(username)){
result.put("code","100");
result.put("msg","参数错误");
return result;
}
UserEntity userEntity = userEntityMapper.getByUserName(username);
if(userEntity!=null){
result.put("code","100");
result.put("msg","用户名已注册");
return result;
}
result.put("code", "200");
result.put("msg", "成功");
} catch (Exception e) {
e.printStackTrace();
result.put("code", "100");
result.put("msg", "系统异常");
}
BankCarEntity bankCarEntity = new BankCarEntity();
bankCarEntity.setCarType(request.getParameter("carType"));
bankCarEntity.setCarPhone(request.getParameter("carPhone"));
bankCarEntity.setBankAddress(request.getParameter("bankAddress"));
bankCarEntity.setBankMoney(new BigDecimal(request.getParameter("bankMoney")));
bankCarEntity.setBankName(request.getParameter("bankName"));
bankCarEntity.setBankPassword(request.getParameter("bankPassword"));
bankCarEntity.setCarNumber(request.getParameter("carNumber"));
try {
UserEntity user = new UserEntity();
user = userEntityMapper.selectById(userId);
bankCarEntity.setUserId(userId);
bankCarEntity.setStatus((short)1);
bankCarEntity.setCreater(user.getUserName());
bankCarEntity.setIsDelete((short)0);
bankCarEntity.setCreateTime(new Date());
bankDao.insert(bankCarEntity);
mv.addObject("bankCar",bankCarEntity);
mv.setViewName("/customer/bank_car");
} catch (Exception e) {
e.printStackTrace();
}
return mv;
}
@RequestMapping("/updateCarPage")
public ModelAndView updateCarPage(HttpServletRequest request,HttpSession session){
ModelAndView mv = new ModelAndView("/customer/add_bank_car");
Integer userId = (Integer) session.getAttribute("userId");
BankCarEntity bankCarEntity = new BankCarEntity();
try {
bankCarEntity=bankDao.selectByUserId(userId);
mv.addObject("bankCar",bankCarEntity);
} catch (Exception e) {
e.printStackTrace();
}
return mv;
}
@RequestMapping("/updateCar")
public ModelAndView updateCar(HttpServletRequest request,HttpSession session){
ModelAndView mv = new ModelAndView();
Integer userId = (Integer) session.getAttribute("userId");
BankCarEntity bankCarEntity = new BankCarEntity();
result.put("code","200");
result.put("msg","删除成功");
} catch (Exception e) {
e.printStackTrace();
result.put("code","100");
result.put("msg","系统异常");
}
return result;
}
}
@Controller
@RequestMapping("/contact")
public class ContactController {
@Autowired
private UserMessageEntityMapper messageDao;
@RequestMapping("/contactusPage")
public ModelAndView contactusPage(HttpServletRequest request){
ModelAndView mv = new ModelAndView("/customer/contact");
return mv;
}
@RequestMapping("/contactus")
public ModelAndView contactus(HttpServletRequest request){
ModelAndView mv = new ModelAndView("/index");
String email = request.getParameter("email");
String message = request.getParameter("message");
String title = request.getParameter("email");
String website = request.getParameter("website");