The end of the second phase of the project

A. The use of technology

  • IDE: Eclipse
  • Database: Mysql
  • Data source: C3P0
  • JDBC tools: DBUtils
  • Front-end framework: Bootstrap
  • Ajax Solution: jQuery + JavaScript + JSON + Google-gson

II. Database Table

Table account:

 

Table mycomputers:

 

 

 

Table tradeitem:

 

Table trate:

 

表userinfo:

 

III. Design and implementation of presentation layer

3.1.1 Home

 

 

 

 

3.1.2 Paging

 

 

3.1.3 Filter range

 

 

3.1.4 Shopping Cart

 

 

3.1.5 checkout

 

 

 

 

3.2 Main snippet

Verify the user name and password

复制代码
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;

}
复制代码

 

添加到购物车

 

复制代码
protected void addToCart(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//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");

}
复制代码

 

 

 

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

 

复制代码
protected void addToCartInside(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//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");

}
复制代码

 

 

 

业务逻辑

复制代码
public void cash(ShoppingCart shoppingCart, String username,

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();

}

Guess you like

Origin www.cnblogs.com/fengzimu/p/10942382.html