Java项目:免税商品优选购物商城(java+SpringBoot+Mybaits+Vue+elementui+mysql)

源码获取:俺的博客首页 "资源" 里下载!

项目介绍

基于Springboot + vue实现的免税商品优选购物商城

本系统包含管理员、商家、用户三个角色。

管理员角色:用户管理(查看、修改、删除用户信息)、商家管理(查看、删除商家信息)、商品分类管理、商品信息管理、在线客服管理、系统管理、订单管理。

商家角色:个人中心管理、商品信息管理(查看详情、在线客服、查看评论、新增或删除商品信息)、商品分类管理、在线客服管理、订单管理、个人信息管理(查看和修改员工基本信息)。

用户前台角色:首页浏览、商品信息查看、商城快讯浏览、个人中心管理(查看个人信息、修改个人信息、查看我的订单、管理我的地址、管理收藏夹、购物车管理)、个人中心管理、商品信息管理、在线客服管理、我的收藏管理、订单管理。


环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 
4.数据库:MySql 5.7/8.0版本均可;
5.是否Maven项目:是;


技术栈

后端:SpringBoot+Mybaits

前端:Vue+elementui


使用说明

项目运行:
1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
4. 运行项目,在浏览器中输入地址:
前台地址:http://localhost:8080/springboot1a8gh/front/index.html
用户:用户1 密码:123456
商家:商家1 密码:123456

后台地址
http://localhost:8080/springboot1a8gh/admin/dist/index.html
管理员:abo 密码:abo
用户:用户1 密码:123456
商家:商家1 密码:123456


注意项目文件路径中不能含有中文、空格、特殊字符等,否则图片会上传不成功。

文档结构展示:

 

商品名称页面展示:

首页商品展示:

 

商品信息页面展示:

 

在线客服管理展示:

 

登录页面展示:

 

用户管理页面展示:

 

商家列表信息展示:

 

用户信息服务:

@WebServlet("/toUserInfoServlet")
public class ToUserInfoServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        HttpSession session = request.getSession();
        User user = (User) session.getAttribute("name");

        if (user != null) {
            UserService service = new UserServiceImpl();
            User newUser = service.findUserByUserId(user.getUser_id());

            CategoryService service1 = new CategoryServiceImpl();
            List<Category> flist = service1.findCategoryListByName("father");
            List<Category> clist = service1.findCategoryListByName("child");
            request.setAttribute("flist",flist);
            request.setAttribute("clist",clist);
            request.setAttribute("user",newUser);

            //查看该用户的各种订单数量
            OrderService service2 = new OrderServiceImpl();
            List<Order> orders = service2.findOrderByUserId(user.getUser_id());
            int a1 = 0;
            int a2 = 0;
            int a3 = 0;
            int a4 = 0;
            for (Order o:orders) {
                if ("0".equals(o.getIs_pay()) && "0".equals(o.getIs_ship()) && "0".equals(o.getIs_receipt())) {
                    a1++;
                }
                if ("1".equals(o.getIs_pay()) && "0".equals(o.getIs_ship()) && "0".equals(o.getIs_receipt())) {
                    a2++;
                }
                if ("1".equals(o.getIs_pay()) && "1".equals(o.getIs_ship()) && "0".equals(o.getIs_receipt())) {
                    a3++;
                }
                if ("1".equals(o.getIs_pay()) && "1".equals(o.getIs_ship()) && "1".equals(o.getIs_receipt())) {
                    a4++;
                }
            }
            request.setAttribute("a1",a1);
            request.setAttribute("a2",a2);
            request.setAttribute("a3",a3);
            request.setAttribute("a4",a4);


            request.getRequestDispatcher("mygxin.jsp").forward(request, response);
        }else {
            response.sendRedirect("login.jsp");
        }


    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }
}

购物车数量信息:

@WebServlet("/selectProductList")
public class SelectProductList extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //查询购物车数量
        HttpSession session = request.getSession();
        User user = (User) session.getAttribute("name");

        String cartCount = "0";
        CartService service1 = new CartServiceImpl();
        if (user != null) {
            cartCount = String.valueOf(service1.findCartCountByUserId(user.getUser_id()));
        }else {
            cartCount = "?";
        }
        request.setAttribute("cartCount",cartCount);


        String cid = request.getParameter("cid");
        if (cid != null && !cid.trim().equals("")) {
            ProductService service = new ProductServiceImpl();
            List<Product> list = service.findProductByCategoryCid(Integer.valueOf(cid));

            request.setAttribute("productList",list);

            CategoryService service2 = new CategoryServiceImpl();
            Category c = service2.findCategoryByCid(Integer.valueOf(cid));
            System.out.println(c.getCategory_name());
            request.setAttribute("childC",c);
            Category f = service2.findCategoryByCid(c.getCategory_parentid());
            System.out.println(f.getCategory_name());
            request.setAttribute("fatherC",f);

            List<Category> flist =  service2.findCategoryListByName("father");

            request.setAttribute("flist", flist);

            List<Category> clist =  service2.findCategoryListByName("child");

            request.setAttribute("clist", clist);

            //没实现分类添加图片
            if (f.getCategory_id() == 1) {
                request.setAttribute("link", "images/temp/banner1.jpg");
            }else if (f.getCategory_id() == 2){
                request.setAttribute("link", "images/temp/bzbig.jpg");
            }else if (f.getCategory_id() == 3){
                request.setAttribute("link", "images/temp/banner2.jpg");
            }else if (f.getCategory_id() == 4){
                request.setAttribute("link", "images/temp/perfume_Banner.jpg");
            }else if (f.getCategory_id() == 5){
                request.setAttribute("link", "img/idea1.jpg");
            }else {
                request.setAttribute("link", "img/banner1.jpg");
            }
            request.getRequestDispatcher("productlist.jsp").forward(request, response);
        }else {
            //有fid
            String fid = request.getParameter("fid");
            CategoryService service2 = new CategoryServiceImpl();

            Category f = service2.findCategoryByCid(Integer.valueOf(fid));

            request.setAttribute("fatherC",f);

            List<Category> flist =  service2.findCategoryListByName("father");

            request.setAttribute("flist", flist);

            List<Category> clist =  service2.findCategoryListByName("child");

            request.setAttribute("clist", clist);

            //没实现分类添加图片
            if (f.getCategory_id() == 1) {
                request.setAttribute("link", "images/temp/banner1.jpg");
            }else if (f.getCategory_id() == 2){
                request.setAttribute("link", "images/temp/bzbig.jpg");
            }else if (f.getCategory_id() == 3){
                request.setAttribute("link", "images/temp/banner2.jpg");
            }else if (f.getCategory_id() == 4){
                request.setAttribute("link", "images/temp/perfume_Banner.jpg");
            }else if (f.getCategory_id() == 5){
                request.setAttribute("link", "img/idea1.jpg");
            }else {
                request.setAttribute("link", "img/banner1.jpg");
            }

            ProductService service = new ProductServiceImpl();
            List<Product> list = service.findProductByCategoryFid(Integer.valueOf(fid));

            request.setAttribute("productList",list);

            request.getRequestDispatcher("productlist.jsp").forward(request, response);
        }


    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }
}

订单信息业务:

@WebServlet("/toOrderServlet")
public class ToOrderServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //判断是否登录
        HttpSession session = request.getSession();
        User user = (User) session.getAttribute("name");
        if (user != null) {

            //判断是否有参数uid
            String uid = request.getParameter("uid");
            if (uid == null) {
                //我的订单中心进入,无需添加商品
                CategoryService service1 = new CategoryServiceImpl();
                List<Category> flist = service1.findCategoryListByName("father");
                List<Category> clist = service1.findCategoryListByName("child");
                request.setAttribute("flist",flist);
                request.setAttribute("clist",clist);

                AddressService service = new AddressServiceImpl();
                List<Address> addresses = service.findAddressByUserId(user.getUser_id());
                request.setAttribute("address",addresses);

                //计算商品价格
                String pid = request.getParameter("pid");
                String oid = request.getParameter("oid");
                String count = request.getParameter("count");

                ProductService service2 = new ProductServiceImpl();
                Product p = service2.findProductById(Integer.valueOf(pid));
                int price = p.getProduct_price();
                int totalPrice = price*Integer.valueOf(count);

                request.setAttribute("price",price);
                request.setAttribute("count",count);
                request.setAttribute("product",p);
                request.setAttribute("totalPrice",totalPrice);

                //查询购物车数量
                String cartCount = "0";
                CartService service3 = new CartServiceImpl();
                if (user != null) {
                    cartCount = String.valueOf(service3.findCartCountByUserId(user.getUser_id()));
                }else {
                    cartCount = "?";
                }
                request.setAttribute("cartCount",cartCount);
                OrderService service4 = new OrderServiceImpl();
                Order o = service4.findOrderById(oid);

                request.setAttribute("order",o);


            }else {
                CategoryService service1 = new CategoryServiceImpl();
                List<Category> flist = service1.findCategoryListByName("father");
                List<Category> clist = service1.findCategoryListByName("child");
                request.setAttribute("flist",flist);
                request.setAttribute("clist",clist);

                AddressService service = new AddressServiceImpl();
                List<Address> addresses = service.findAddressByUserId(user.getUser_id());
                request.setAttribute("address",addresses);

                //计算商品价格
                String pid = request.getParameter("pid");
                String count = request.getParameter("count");

                ProductService service2 = new ProductServiceImpl();
                Product p = service2.findProductById(Integer.valueOf(pid));
                int price = p.getProduct_price();
                int totalPrice = price*Integer.valueOf(count);

                request.setAttribute("price",price);
                request.setAttribute("count",count);
                request.setAttribute("product",p);
                request.setAttribute("totalPrice",totalPrice);

                //查询购物车数量
                String cartCount = "0";
                CartService service3 = new CartServiceImpl();
                if (user != null) {
                    cartCount = String.valueOf(service3.findCartCountByUserId(user.getUser_id()));
                }else {
                    cartCount = "?";
                }
                request.setAttribute("cartCount",cartCount);

                //添加此订单为待支付订单

                //添加此订单的订单列表
                //查询该订单中商品及数量
                int product_quantity = Integer.valueOf(count);
                int product_id = p.getProduct_id();

                Order order = new Order(System.currentTimeMillis() +""+ user.getUser_id(),user.getUser_id(),totalPrice,new Date(),"0","0","0",product_id,product_quantity);
                ProductService service5 = new ProductServiceImpl();
                Product product = service5.findProductById(product_id);
                order.setProduct_name(product.getProduct_name());
                order.setProduct_photo(product.getProduct_photo());
                order.setProduct_price(product.getProduct_price());

                request.setAttribute("order",order);
                OrderService service4 = new OrderServiceImpl();
                service4.addOrder(order);
            }






//            String product_quantity = count;
//            String order_id = order.getOrder_id();
//            int product_id = p.getProduct_id();
//
//            OrderList orderList = new OrderList(order_id,product_id,product_quantity);
//
//            OrderListService service5 = new OrderListServiceImpl();
//            service5.addOrderList(orderList);



            request.getRequestDispatcher("order.jsp").forward(request, response);
        }else {
            response.sendRedirect("login.jsp");
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }
}

源码获取:俺的博客首页 "资源" 里下载!

  • 24
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
您好!对于使用Spring Boot 2.x和MyBatis集成MySQL,并实现微信授权登录的问题,我可以给您一些指导。 首先,您可以按照以下步骤进行操作: 1. 配置MySQL数据库:在`application.properties`或`application.yml`文件中设置MySQL数据库的连接信息,包括数据库URL、用户名和密码等。 2. 引入依赖:在您的项目的`pom.xml`文件中添加Spring Boot、MyBatis和MySQL的相关依赖。例如: ```xml <dependencies> <!-- Spring Boot --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- MyBatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> </dependency> <!-- MySQL --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- 其他依赖... --> </dependencies> ``` 3. 创建实体类和Mapper:创建与数据库表对应的实体类,并使用MyBatis的注解或XML配置文件来定义Mapper接口和SQL语句。 4. 配置MyBatis:在`application.properties`或`application.yml`文件中配置MyBatis相关的属性,如Mapper接口的扫描路径、XML配置文件的位置等。 5. 编写业务逻辑:根据您的需求,编写相应的业务逻辑代码,包括微信授权登录的逻辑处理。 6. 实现微信授权登录:使用微信开放平台提供的API,获取用户的授权信息,并将相关信息保存到数据库中。您可以使用第三方开源库(如unapp)来简化微信授权登录的过程。 需要注意的是,以上只是一个大致的步骤,具体实现还需根据您的项目需求进行调整。同时,为了保证代码的安全性和可靠性,建议您进行适当的异常处理、参数校验等。 希望以上内容对您有所帮助!如果您有任何疑问,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

beyondwild

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值