zoukankan      html  css  js  c++  java
  • 期末项目第二阶段

    一.使用技术

    • IDE:Eclipse
    • 数据库:Mysql
    • 数据源:C3P0
    • JDBC 工具:DBUtils
    • 前端框架:Bootstrap
    • Ajax 解决方案:jQuery + JavaScript + JSON + Google-gson

    二.数据库表

    表account:

    表mycomputers:

     

    表tradeitem:

     

    表trate:

     

    表userinfo:

    三.表现层设计与实现

    3.1.1  首页

     

    3.1.2  分页

     

    3.1.3  筛选范围

     

    3.1.4  购物车

     

    3.1.5  结账

     

    3.2 主要代码片段

    验证用户名与密码

     
    public StringBuffer validateUser(String username, String accountId){
    
    boolean flag = false;
    
    User user = userService.getUserByUserName(username);
    
    if(user != null){
    
    int accountId2 = user.getAccountId();
    
    if(accountId.trim().equals("" + accountId2)){
    
    flag = true;
    
    }
    
    }
    
     
    
    StringBuffer errors2 = new StringBuffer("");
    
    if(!flag){
    
    errors2.append("用户名和账号不匹配");
    
    }
    
     
    
    return errors2;
    
    }
     

    添加到购物车

     

    
    //1. 获取商品的 id
    
    String idStr = request.getParameter("id");
    
    int id = -1;
    
    boolean flag = false;
    
     
    
    try {
    
    id = Integer.parseInt(idStr);
    
    } catch (Exception e) {}
    
     
    
    if(id > 0){
    
    //2. 获取购物车对象
    
    ShoppingCart sc = EStoreWebUtils.getShoppingCart(request);
    
     
    
    //3. 调用 ComputerService 的 addToCart() 方法把商品放到购物车中
    
    flag = computerService.addToCart(id, sc);
    
    }
    
     
    
    if(flag){
    
    //4. 直接调用 getComputers() 方法.
    
    getComputers(request, response);
    
    return;
    
    }
    
     
    
    response.sendRedirect(request.getContextPath() + "/error-1.jsp");
    
    }
     

     

    添加到购物车(商品页详情添加)

     

     
    
    //1. 获取商品的 id
    
    String idStr = request.getParameter("id");
    
    int id = -1;
    
    boolean flag = false;
    
     
    
    try {
    
    id = Integer.parseInt(idStr);
    
    } catch (Exception e) {}
    
     
    
    if(id > 0){
    
    //2. 获取购物车对象
    
    ShoppingCart sc = EStoreWebUtils.getShoppingCart(request);
    
     
    
    //3. 调用 ComputerService 的 addToCart() 方法把商品放到购物车中
    
    flag = computerService.addToCart(id, sc);
    
    }
    
     
    
    if(flag){
    
    //4. 直接调用 getComputer() 方法.
    
    getComputer(request, response);
    
    return;
    
    }
    
     
    
    response.sendRedirect(request.getContextPath() + "/error-1.jsp");
    
    }
     

     

    业务逻辑

    
    String accountId) {
    
     
    
    //1. 更新 mycomputers 数据表相关记录的 salesamount 和 storenumber
    
    computerDAO.batchUpdateStoreNumberAndSalesAmount(shoppingCart.getItems());
    
     
    
    int i = 10;
    
     
    
    //2. 更新 account 数据表的 balance
    
    accountDAO.updateBalance(Integer.parseInt(accountId), shoppingCart.getTotalMoney());
    
     
    
    //3. 向 trade 数据表插入一条记录
    
    Trade trade = new Trade();
    
    trade.setTradeTime(new Date(new java.util.Date().getTime()));
    
    trade.setUserId(userDAO.getUser(username).getUserId());
    
    tradeDAO.insert(trade);
    
     
    
    //4. 向 tradeitem 数据表插入 n 条记录
    
    Collection<TradeItem> items = new ArrayList<>();
    
    for(ShoppingCartItem sci: shoppingCart.getItems()){
    
    TradeItem tradeItem = new TradeItem();
    
     
    
    tradeItem.setComputerId(sci.getComputer().getId());
    
    tradeItem.setQuantity(sci.getQuantity());
    
    tradeItem.setTradeId(trade.getTradeId());
    
     
    
    items.add(tradeItem);
    
    }
    
    tradeItemDAO.batchSave(items);
    
     
    
    //5. 清空购物车
    
    shoppingCart.clear();
    
    }
  • 相关阅读:
    C/C++之指针
    mysql--sql语言之DDL,DML
    mysql--之在Windows上的安装
    mysql--之mysql在linux上的安装
    动态资源和静态资源
    Tomcat文件夹和server配置文件解析
    和 的区别
    个数可变形参
    Java方法里参数的传递机制
    8中基本数据类型
  • 原文地址:https://www.cnblogs.com/fengzimu/p/10942382.html
Copyright © 2011-2022 走看看