当前位置 博文首页 > java李阳勇的博客:基于java ssm springboot网上蛋糕商城项目设

    java李阳勇的博客:基于java ssm springboot网上蛋糕商城项目设

    作者:[db:作者] 时间:2021-07-21 12:59

    主要技术: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直接导入就可运行、

    数据库结构:

    好了、今天就分享到这了、可供参考学习参考使用、

    小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

    cs