基于java springboot网上蛋糕商城项目设计和实现
博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域
作者主页 央顺技术团队
Java毕设项目精品实战案例《1000套》
欢迎点赞 收藏 ⭐留言
文末获取源码联系方式
文章目录
- 基于java springboot网上蛋糕商城项目设计和实现
- 主要功能截图:
- 登录和注册、
- 首页轮播图以及推荐宠物商品浏览以及模糊查看和分类查看等操作:
- 加入购物车和订单操作以及修改收货信息等.流程都是非常完善的
- 完整购买下单以及支付流程
- 模拟支付宝支付、这里是模拟的 直接支付成功
- 后台admin管理员数据维护模块:
- 后台主要功能设计:每个模块都有列表查询、添加、修改。删除等操作
- 轮播图配置
- 配置热销商品和喜欢商品等
- 商品详情配置管理列表
- 用户信息管理:
- 订单信息管理:订单信息流程主要有:用户模拟支付了以后配货、出库、订单完成、以及查看订单信息和查看收件人信息等功能
- 代码结构:idea、eclipse直接导入就可运行、
- 数据库结构:
- 获取源码:
主要技术:spring、 springmvc、 springboot、 mybatis 、 jquery 、 md5 、bootstarp.js tomcat、富文本编译器、拦截器等
主要功能:登录、注册、商品浏览、分类设置、模糊查找、轮播图、热销商品、购物车、订单、订单流程控制、用户管理、修改密码等
主要功能截图:
登录和注册、
登录模块后台代码
package ltd.newbee.mall.controller.admin;
import ltd.newbee.mall.common.ServiceResultEnum;
import ltd.newbee.mall.entity.AdminUser;
import ltd.newbee.mall.service.AdminUserService;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
/**
* @author 13
*/
@Controller
@RequestMapping("/admin")
public class AdminController {
@Resource
private AdminUserService adminUserService;
@GetMapping({"/login"})
public String login() {
return "admin/login";
}
@GetMapping({"/test"})
public String test() {
return "admin/test";
}
@GetMapping({"", "/", "/index", "/index.html"})
public String index(HttpServletRequest request) {
request.setAttribute("path", "index");
request.setAttribute("categoryCount", 0);
request.setAttribute("blogCount", 0);
request.setAttribute("linkCount", 0);
request.setAttribute("tagCount", 0);
request.setAttribute("commentCount", 0);
request.setAttribute("path", "index");
return "admin/index";
}
@PostMapping(value = "/login")
public String login(@RequestParam("userName") String userName,
@RequestParam("password") String password,
@RequestParam("verifyCode") String verifyCode,
HttpSession session) {
if (StringUtils.isEmpty(verifyCode)) {
session.setAttribute("errorMsg", "验证码不能为空");
return "admin/login";
}
if (StringUtils.isEmpty(userName) || StringUtils.isEmpty(password)) {
session.setAttribute("errorMsg", "用户名或密码不能为空");
return "admin/login";
}
String kaptchaCode = session.getAttribute("verifyCode") + "";
if (StringUtils.isEmpty(kaptchaCode) || !verifyCode.equals(kaptchaCode)) {
session.setAttribute("errorMsg", "验证码错误");
return "admin/login";
}
AdminUser adminUser = adminUserService.login(userName, password);
if (adminUser != null) {
session.setAttribute("loginUser", adminUser.getNickName());
session.setAttribute("loginUserId", adminUser.getAdminUserId());
//session过期时间设置为7200秒 即两小时
//session.setMaxInactiveInterval(60 * 60 * 2);
return "redirect:/admin/index";
} else {
session.setAttribute("errorMsg", "登陆失败,请联系作者获得测试账号");
return "admin/login";
}
}
@GetMapping("/profile")
public String profile(HttpServletRequest request) {
Integer loginUserId = (int) request.getSession().getAttribute("loginUserId");
AdminUser adminUser = adminUserService.getUserDetailById(loginUserId);
if (adminUser == null) {
return "admin/login";
}
request.setAttribute("path", "profile");
request.setAttribute("loginUserName", adminUser.getLoginUserName());
request.setAttribute("nickName", adminUser.getNickName());
return "admin/profile";
}
@PostMapping("/profile/password")
@ResponseBody
public String passwordUpdate(HttpServletRequest request, @RequestParam("originalPassword") String originalPassword,
@RequestParam("newPassword") String newPassword) {
if (StringUtils.isEmpty(originalPassword) || StringUtils.isEmpty(newPassword)) {
return "参数不能为空";
}
Integer loginUserId = (int) request.getSession().getAttribute("loginUserId");
if (adminUserService.updatePassword(loginUserId, originalPassword, newPassword)) {
//修改成功后清空session中的数据,前端控制跳转至登录页
request.getSession().removeAttribute("loginUserId");
request.getSession().removeAttribute("loginUser");
request.getSession().removeAttribute("errorMsg");
return ServiceResultEnum.SUCCESS.getResult();
} else {
return "修改失败";
}
}
@PostMapping("/profile/name")
@ResponseBody
public String nameUpdate(HttpServletRequest request, @RequestParam("loginUserName") String loginUserName,
@RequestParam("nickName") String nickName) {
if (StringUtils.isEmpty(loginUserName) || StringUtils.isEmpty(nickName)) {
return "参数不能为空";
}
Integer loginUserId = (int) request.getSession().getAttribute("loginUserId");
if (adminUserService.updateName(loginUserId, loginUserName, nickName)) {
return ServiceResultEnum.SUCCESS.getResult();
} else {
return "修改失败";
}
}
@GetMapping("/logout")
public String logout(HttpServletRequest request) {
request.getSession().removeAttribute("loginUserId");
request.getSession().removeAttribute("loginUser");
request.getSession().removeAttribute("errorMsg");
return "admin/login";
}
}
首页轮播图以及推荐宠物商品浏览以及模糊查看和分类查看等操作:
为你推荐蛋糕商品管理模块:
管理员可以对为你推荐蛋糕商品进行添加、修改、删除和浏览操作配置、配置好后用户端首页为你推荐蛋糕商品会显示最新的商品信息。
加入购物车和订单操作以及修改收货信息等.流程都是非常完善的
完整购买下单以及支付流程
模拟支付宝支付、这里是模拟的 直接支付成功
后台admin管理员数据维护模块:
后台主要功能设计:每个模块都有列表查询、添加、修改。删除等操作
轮播图配置
配置热销商品和喜欢商品等
商品类型灵活管理控制、此处配置前端用户就展示那些
商品详情配置管理列表
添加蛋糕商品、这个地方用的富文本编译器上传的商品信息、可以直接从淘宝等地方复制数据过来。
用户信息管理:
订单信息管理:订单信息流程主要有:用户模拟支付了以后配货、出库、订单完成、以及查看订单信息和查看收件人信息等功能
代码结构:idea、eclipse直接导入就可运行、
数据库结构:
获取源码:
大家点赞、收藏、关注、评论啦
🍅查看下方微信号获取联系方式 📝
🚀🚀🚀精彩系列推荐
Java毕设项目精品实战案例《1000套》
精彩专栏推荐订阅:在下方专栏