首页

网上书城源码(含数据库脚本,实现了支付宝支付接口)

java

2020-8-25

实现书籍的增删改查,购买和后台管理功能

package com.bookStore.client.cart.handler;

import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.internal.util.AlipaySignature;
import com.alipay.api.request.AlipayTradePagePayRequest;
import com.bookStore.client.cart.service.ICartService;
import com.bookStore.client.product.service.IProductService;
import com.bookStore.commons.beans.Order;
import com.bookStore.commons.beans.Product;
import com.bookStore.commons.beans.User;
import com.bookStore.utils.AlipayConfig;
import com.bookStore.utils.IdUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

@Controller
@RequestMapping("/client/cart")
public class CartHandler {

    @Autowired
    private IProductService productService;

    @Autowired
    private ICartService cartService;

    @RequestMapping("/addCart.do")
    //id:商品的唯一标识符
    public String addCart(String id, HttpSession session,HttpServletRequest request){
        //根据id查询把哪本书添加到购物车
        Product product = productService.findProductById(id);
        System.out.println(product);
        //第一次往购物车添加商品,创建购物车cart,以后购买就不在需要创建购物车
        // <Product ,Integer>:指定键值对的类型
        //(Map<Product,Integer>):session只能是Object类型的,所以得强转
        //先从session中获取购物车
        Map<Product ,Integer> cart = (Map<Product,Integer>)session.getAttribute("cart");
        //如果cart == null
        if (cart == null){
            //创建购物车
            cart = new HashMap<Product ,Integer>();
        }
        //当key重复时,put方法返回原来的value值
        Integer count = cart.put(product,1);
        //若count原来有值,则购物车存在这本书
        if (count != null){
            //原来的购物车的值 1
            cart.put(product,count 1);
        }
        session.setAttribute("cart",cart);
        return "/client/cart.jsp";

    }

    @RequestMapping("/changeCart.do")
    public String changeCart(String id,Integer count,HttpSession session){
        //根据id获取哪个商品,获取改变数量的商品信息
        Product product = productService.findProductById(id);
       //从session中获取原来的购物车原始数据
        Map<Product,Integer>cart = (Map<Product,Integer>)session.getAttribute("cart");
        //如果商品的数量为0,从购物车中删除该商品信息
        if (count == 0){
            //购物车是map类型的,删除时使用remov,可以删除主键
            cart.remove(product);
        }else {
            //改变购物车中商品的数量
            cart.put(product,count);
        }
        //返回到购物车
        return "/client/cart.jsp";
    }

   @RequestMapping("/createOrder.do")
    public String createOrder(Order order, HttpSession session, Model model) throws Exception{
        //获取下订单的用户信息
        User login_user = (User) session.getAttribute("login_user");
        //获取订单的购物车
        Map<Product,Integer>cart = (Map<Product, Integer>) session.getAttribute("cart");
        order.setId(IdUtils.getUUID());
        order.setUser(login_user);
        //创建订单
        cartService.createOrder(order,cart);
        //把创建完订单后的购物车删除
        session.removeAttribute("cart");
        model.addAttribute("order",order);
        return "/client/confirm.jsp";
    }
    //在“我的账户”-“订单查询”-“未支付”去支付
    @RequestMapping("/goPay.do")
    public String goPay(Order order,String id,String moeny,HttpSession session,Model model){
        //获取下订单的用户信息
        User login_user = (User) session.getAttribute("login_user");
        //获取订单的购物车
        Map<Product,Integer>cart = (Map<Product, Integer>) session.getAttribute("cart");
        order.setUser(login_user);
        //把创建完订单后的购物车删除
        session.removeAttribute("cart");
        model.addAttribute("order",order);
        return "/client/confirm.jsp";
    }

    @RequestMapping("/pay.do")
    public void pay(String id, String money, String name, HttpServletResponse response) throws Exception {
        //获得初始化的AlipayClient
        AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);

        //设置请求参数
        AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
        alipayRequest.setReturnUrl(AlipayConfig.return_url);
        alipayRequest.setNotifyUrl(AlipayConfig.notify_url);

        //商户订单号,商户网站订单系统中唯一订单号,必填
        String out_trade_no = id;
        //付款金额,必填
        String total_amount = money;
        //订单名称,必填
        String subject = name;
        //商品描述,可空
        String body = "";

        alipayRequest.setBizContent("{\"out_trade_no\":\""  out_trade_no  "\","
                  "\"total_amount\":\""  total_amount  "\","
                  "\"subject\":\""  subject  "\","
                  "\"body\":\""  body  "\","
                  "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}");

        //请求
        String result = alipayClient.pageExecute(alipayRequest).getBody();

        response.setContentType("text/html");
        //输出
        response.getWriter().println(result);

    }

    @RequestMapping("/paysuccess.do")
    public String paysuccess(HttpServletRequest request) throws Exception {
        //获取支付宝GET过来反馈信息
        Map<String,String> params = new HashMap<String,String>();
        Map<String,String[]> requestParams = request.getParameterMap();
        for (Iterator<String> iter = requestParams.keySet().iterator(); iter.hasNext();) {
            String name = (String) iter.next();
            String[] values = (String[]) requestParams.get(name);
            String valueStr = "";
            for (int i = 0; i < values.length; i  ) {
                valueStr = (i == values.length - 1) ? valueStr   values[i]
                        : valueStr   values[i]   ",";
            }
            //乱码解决,这段代码在出现乱码时使用
            valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
            params.put(name, valueStr);
        }

        boolean signVerified = AlipaySignature.rsaCheckV1(params, AlipayConfig.alipay_public_key, AlipayConfig.charset, AlipayConfig.sign_type); //调用SDK验证签名

        //——请在这里编写您的程序(以下代码仅作参考)——
        if(signVerified) {
            //商户订单号
            String id = new String(request.getParameter("out_trade_no").getBytes("ISO-8859-1"),"UTF-8");

            //支付宝交易号
            String trade_no = new String(request.getParameter("trade_no").getBytes("ISO-8859-1"),"UTF-8");

            //付款金额
            String total_amount = new String(request.getParameter("total_amount").getBytes("ISO-8859-1"),"UTF-8");
            //付款成功之后,去修改订单的付款状态,支付状态变为1
            cartService.paySuccess(id);  //传的参数是这次付款成功的订单号,这次付款成功的订单
            return "/client/paysuccess.jsp";
        }else {
            return "/client/payfail.jsp";
        }
    }
}

资源下载此资源下载价格为5D币(VIP免费),请先
资源文件列表
MyBookStore/.idea/compiler.xml , 610
MyBookStore/.idea/dataSources/9f00be14-0f2b-4474-8b2e-aad1d907a31a.xml , 39700
MyBookStore/.idea/dataSources.local.xml , 864
MyBookStore/.idea/dataSources.xml , 915
MyBookStore/.idea/encodings.xml , 177
MyBookStore/.idea/misc.xml , 468
MyBookStore/.idea/workspace.xml , 52368
MyBookStore/bookstore.sql , 6850
MyBookStore/lib/javax.annotation.jar , 7713
MyBookStore/lib/javax.ejb.jar , 47581
MyBookStore/lib/javax.jms.jar , 25957
MyBookStore/lib/javax.persistence.jar , 129793
MyBookStore/lib/javax.resource.jar , 44511
MyBookStore/lib/javax.transaction.jar , 9714
MyBookStore/pom.xml , 9696
MyBookStore/src/main/java/com/bookStore/admin/filter/AdminLogin.java , 1898
MyBookStore/src/main/java/com/bookStore/admin/notice/dao/AdminNoticeDao.java , 510
MyBookStore/src/main/java/com/bookStore/admin/notice/dao/AdminNoticeDao.xml , 1054
MyBookStore/src/main/java/com/bookStore/admin/notice/handler/AdminNoticeHandler.java , 2496
MyBookStore/src/main/java/com/bookStore/admin/notice/service/AdminNoticeService.java , 373
MyBookStore/src/main/java/com/bookStore/admin/notice/service/AdminNoticeServiceImpl.java , 1088
MyBookStore/src/main/java/com/bookStore/admin/orders/dao/AdminOrdersDao.java , 454
MyBookStore/src/main/java/com/bookStore/admin/orders/dao/AdminOrdersDao.xml , 2061
MyBookStore/src/main/java/com/bookStore/admin/orders/handler/AdminOrdersHandler.java , 2143
MyBookStore/src/main/java/com/bookStore/admin/orders/service/AdminOrdersService.java , 392
MyBookStore/src/main/java/com/bookStore/admin/orders/service/AdminOrdersServiceImpl.java , 977
MyBookStore/src/main/java/com/bookStore/admin/products/dao/IAdminProductDao.java , 557
MyBookStore/src/main/java/com/bookStore/admin/products/dao/IAdminProductDao.xml , 3368
MyBookStore/src/main/java/com/bookStore/admin/products/handler/AdminProductHandler.java , 11819
MyBookStore/src/main/java/com/bookStore/admin/products/service/AdminProductServiceImpl.java , 1778
MyBookStore/src/main/java/com/bookStore/admin/products/service/IAdminProductService.java , 591
MyBookStore/src/main/java/com/bookStore/admin/user/handler/AdminUserHandler.java , 2078
MyBookStore/src/main/java/com/bookStore/client/cart/dao/ICartDao.java , 559
MyBookStore/src/main/java/com/bookStore/client/cart/dao/ICartDao.xml , 1032
MyBookStore/src/main/java/com/bookStore/client/cart/handler/CartHandler.java , 8103
MyBookStore/src/main/java/com/bookStore/client/cart/service/CartServiceImpl.java , 1255
MyBookStore/src/main/java/com/bookStore/client/cart/service/ICartService.java , 361
MyBookStore/src/main/java/com/bookStore/client/product/dao/IProductDao.java , 692
MyBookStore/src/main/java/com/bookStore/client/product/dao/IProductDao.xml , 2515
MyBookStore/src/main/java/com/bookStore/client/product/handler/ProductHandler.java , 3451
MyBookStore/src/main/java/com/bookStore/client/product/service/IProductService.java , 622
MyBookStore/src/main/java/com/bookStore/client/product/service/ProductServiceImpl.java , 1718
MyBookStore/src/main/java/com/bookStore/client/user/dao/IUserDao.java , 711
MyBookStore/src/main/java/com/bookStore/client/user/dao/IUserDao.xml , 2852
MyBookStore/src/main/java/com/bookStore/client/user/handler/UserHandler.java , 14037
MyBookStore/src/main/java/com/bookStore/client/user/service/IUserService.java , 696
MyBookStore/src/main/java/com/bookStore/client/user/service/UserServiceImpl.java , 2636
MyBookStore/src/main/java/com/bookStore/commons/beans/Cart.java , 1278
MyBookStore/src/main/java/com/bookStore/commons/beans/Notice.java , 1062
MyBookStore/src/main/java/com/bookStore/commons/beans/Order.java , 2411
MyBookStore/src/main/java/com/bookStore/commons/beans/OrderItem.java , 821
MyBookStore/src/main/java/com/bookStore/commons/beans/Product.java , 2886
MyBookStore/src/main/java/com/bookStore/commons/beans/ProductList.java , 606
MyBookStore/src/main/java/com/bookStore/commons/beans/User.java , 2877
MyBookStore/src/main/java/com/bookStore/utils/ActiveCodeUtils.java , 241
MyBookStore/src/main/java/com/bookStore/utils/AlipayConfig.java , 4368
MyBookStore/src/main/java/com/bookStore/utils/CheckImageServlet.java , 5098
MyBookStore/src/main/java/com/bookStore/utils/IdUtils.java , 196
MyBookStore/src/main/java/com/bookStore/utils/MailUtils.java , 2481
MyBookStore/src/main/java/com/bookStore/utils/PageModel.java , 1600
MyBookStore/src/main/java/com/bookStore/utils/PageTag.java , 9610
MyBookStore/src/main/java/com/bookStore/utils/loginTag.java , 923
MyBookStore/src/main/resources/jdbc.properties , 99
MyBookStore/src/main/resources/mybatis.xml , 462
MyBookStore/src/main/resources/spring-ds.xml , 968
MyBookStore/src/main/resources/spring-mvc.xml , 2144
MyBookStore/src/main/resources/spring-mybatis.xml , 848
MyBookStore/src/main/resources/spring-service.xml , 620
MyBookStore/src/main/resources/spring-tx.xml , 1708
MyBookStore/src/main/webapp/META-INF/MANIFEST.MF , 39
MyBookStore/src/main/webapp/WEB-INF/lib/jstl.jar , 20682
MyBookStore/src/main/webapp/WEB-INF/lib/mail.jar , 494975
MyBookStore/src/main/webapp/WEB-INF/lib/standard.jar , 393259
MyBookStore/src/main/webapp/WEB-INF/login.tld , 695
MyBookStore/src/main/webapp/WEB-INF/new_words.txt , 9042
MyBookStore/src/main/webapp/WEB-INF/page.tld , 2814
MyBookStore/src/main/webapp/WEB-INF/web.xml , 2349
MyBookStore/src/main/webapp/admin/css/Style.css , 14333
MyBookStore/src/main/webapp/admin/css/dtree.css , 851
MyBookStore/src/main/webapp/admin/css/left.css , 770
MyBookStore/src/main/webapp/admin/css/main.css , 6905
MyBookStore/src/main/webapp/admin/error/privilege.jsp , 1547
MyBookStore/src/main/webapp/admin/images/000.gif , 237
MyBookStore/src/main/webapp/admin/images/2spcr2x158.gif , 74
MyBookStore/src/main/webapp/admin/images/aaa.gif , 1652
MyBookStore/src/main/webapp/admin/images/about.gif , 710
MyBookStore/src/main/webapp/admin/images/ad_01.jpg , 325
MyBookStore/src/main/webapp/admin/images/ad_02.jpg , 325
MyBookStore/src/main/webapp/admin/images/ad_03.gif , 45
MyBookStore/src/main/webapp/admin/images/add.gif , 58
MyBookStore/src/main/webapp/admin/images/back1.JPG , 45803
MyBookStore/src/main/webapp/admin/images/bg.gif , 109
MyBookStore/src/main/webapp/admin/images/bottom_01.jpg , 317
MyBookStore/src/main/webapp/admin/images/bt_02.jpg , 394
MyBookStore/src/main/webapp/admin/images/bt_03.jpg , 309
MyBookStore/src/main/webapp/admin/images/bt_icon_export.gif , 195
MyBookStore/src/main/webapp/admin/images/button_add.gif , 373
MyBookStore/src/main/webapp/admin/images/button_alert.gif , 332
MyBookStore/src/main/webapp/admin/images/button_bg.gif , 93
MyBookStore/src/main/webapp/admin/images/button_cancel.gif , 570
MyBookStore/src/main/webapp/admin/images/button_clock.gif , 146
MyBookStore/src/main/webapp/admin/images/button_close01.gif , 250
MyBookStore/src/main/webapp/admin/images/button_del.gif , 375
MyBookStore/src/main/webapp/admin/images/button_exit.gif , 590
MyBookStore/src/main/webapp/admin/images/button_help.gif , 564
MyBookStore/src/main/webapp/admin/images/button_home.gif , 220
MyBookStore/src/main/webapp/admin/images/button_modi.gif , 649
MyBookStore/src/main/webapp/admin/images/button_ok.gif , 570
MyBookStore/src/main/webapp/admin/images/button_phone.gif , 309
MyBookStore/src/main/webapp/admin/images/button_phone01.gif , 758
MyBookStore/src/main/webapp/admin/images/button_print.gif , 634
MyBookStore/src/main/webapp/admin/images/button_save.gif , 366
MyBookStore/src/main/webapp/admin/images/button_search.gif , 664
MyBookStore/src/main/webapp/admin/images/button_search01.gif , 192
MyBookStore/src/main/webapp/admin/images/button_view.gif , 669
MyBookStore/src/main/webapp/admin/images/cart.gif , 955
MyBookStore/src/main/webapp/admin/images/dot.gif , 253
MyBookStore/src/main/webapp/admin/images/error.jpg , 118315
MyBookStore/src/main/webapp/admin/images/hot2.gif , 114
MyBookStore/src/main/webapp/admin/images/hotel_dire_arrowc.jpg , 494
MyBookStore/src/main/webapp/admin/images/i_del.gif , 125
MyBookStore/src/main/webapp/admin/images/i_edit.gif , 132
MyBookStore/src/main/webapp/admin/images/i_ok.gif , 130
MyBookStore/src/main/webapp/admin/images/icon-calendar.gif , 139
MyBookStore/src/main/webapp/admin/images/icon-delete.gif , 91
MyBookStore/src/main/webapp/admin/images/icon-pencil-x.gif , 320
MyBookStore/src/main/webapp/admin/images/icon-pencil.gif , 308
MyBookStore/src/main/webapp/admin/images/icon_time.gif , 216
MyBookStore/src/main/webapp/admin/images/icon_upfolder.gif , 603
MyBookStore/src/main/webapp/admin/images/icon_zoom.gif , 224
MyBookStore/src/main/webapp/admin/images/index_09.gif , 841
MyBookStore/src/main/webapp/admin/images/loginbg.gif , 5005
MyBookStore/src/main/webapp/admin/images/logintitle.gif , 16435
MyBookStore/src/main/webapp/admin/images/mis_002.gif , 64
MyBookStore/src/main/webapp/admin/images/mis_003.gif , 54
MyBookStore/src/main/webapp/admin/images/mis_01.jpg , 404
MyBookStore/src/main/webapp/admin/images/mis_03.gif , 49
MyBookStore/src/main/webapp/admin/images/mis_05.jpg , 300
MyBookStore/src/main/webapp/admin/images/mis_05a.jpg , 352
MyBookStore/src/main/webapp/admin/images/mis_05b.jpg , 328
MyBookStore/src/main/webapp/admin/images/mis_05c.jpg , 356
MyBookStore/src/main/webapp/admin/images/mis_12.gif , 201
MyBookStore/src/main/webapp/admin/images/mis_13.gif , 130
MyBookStore/src/main/webapp/admin/images/mis_15.gif , 403
MyBookStore/src/main/webapp/admin/images/modernliving.gif , 163
MyBookStore/src/main/webapp/admin/images/modernliving.png , 19625
MyBookStore/src/main/webapp/admin/images/open.gif , 57
MyBookStore/src/main/webapp/admin/images/optionbgOff.gif , 218
MyBookStore/src/main/webapp/admin/images/optionbgOn.gif , 964
MyBookStore/src/main/webapp/admin/images/prev.gif , 85
MyBookStore/src/main/webapp/admin/images/shim.gif , 43
最多只能显示150条信息!
没有账号? 忘记密码?

社交账号快速登录