예제 #1
0
  public static int editBook(Book book) throws Exception {
    int intStat = 0;

    String sql =
        "UPDATE Books SET ISBN10 = ?, ISBN13 = ?, "
            + "Title = ?, Author = ?, Edition = ?, Publisher = ?, "
            + "Description = ?, YearPublish = ?, Copies = ? "
            + "WHERE ID = ?";

    PreparedStatement ps = Connector.getConnection().prepareStatement(sql);

    ps.setString(1, book.getIsbn10());
    ps.setString(2, book.getIsbn13());
    ps.setString(3, book.getTitle());
    ps.setString(4, book.getAuthor());
    ps.setString(5, book.getEdition());
    ps.setString(6, book.getPublisher());
    ps.setString(7, book.getDescription());
    ps.setInt(8, book.getYearPublish());
    ps.setInt(9, book.getCopies());
    ps.setInt(10, book.getBookId());

    intStat = ps.executeUpdate();

    Connector.close();

    return intStat;
  }
예제 #2
0
  public static int addBook(Book book) throws Exception {
    int intStat = 0;

    if (null != book.getIsbn10()) {
      book.setIsbn13(IsbnUtil.convert(book.getIsbn10()));
    } else {
      book.setIsbn10(IsbnUtil.convert(book.getIsbn13()));
    }

    String sql =
        "INSERT INTO Books (ISBN10, ISBN13, Title, Author, "
            + "Edition, Publisher, Description, YearPublish, "
            + "Copies) VALUES (?,?,?,?,?,?,?,?,?)";

    PreparedStatement ps = Connector.getConnection().prepareStatement(sql);
    ps.setString(1, book.getIsbn10());
    ps.setString(2, book.getIsbn13());
    ps.setString(3, book.getTitle());
    ps.setString(4, book.getAuthor());
    ps.setString(5, book.getEdition());
    ps.setString(6, book.getPublisher());
    ps.setString(7, book.getDescription());
    ps.setInt(8, book.getYearPublish());
    ps.setInt(9, book.getCopies());

    intStat = ps.executeUpdate();

    Connector.close();

    return intStat;
  }
예제 #3
0
  // 도서 등록
  public int InsertData(Book bean) {
    System.out.println(bean.toString());
    String sql =
        "insert into books(bookcode, name, volume, writer, publisher, pubdate, genre, image, bookstat, bookstory) ";
    sql += " values(bookseq.nextval, ?, ?, ?, ?, to_date(?, 'yyyy/MM/dd'), ?, ?, default, ?) ";
    PreparedStatement pstmt = null;
    int cnt = -99999;
    try {
      if (conn == null) {
        super.conn = super.getConn();
      }
      conn.setAutoCommit(false);
      pstmt = super.conn.prepareStatement(sql);

      pstmt.setString(1, bean.getName());
      pstmt.setInt(2, bean.getVolume());
      pstmt.setString(3, bean.getWriter());
      pstmt.setString(4, bean.getPublisher());
      pstmt.setString(5, bean.getPubdate());
      pstmt.setString(6, bean.getGenre());
      // 책 이미지 이름은 책 제목과 책 볼륨의 문자열 조합이다.
      String image = bean.getName() + " " + bean.getVolume() + ".jpg";
      pstmt.setString(7, image);
      // pstmt.setString(8, bean.getBookstat());
      pstmt.setString(8, bean.getBookstory());

      cnt = pstmt.executeUpdate();
      conn.commit();
    } catch (Exception e) {
      SQLException err = (SQLException) e;
      cnt = -err.getErrorCode();
      e.printStackTrace();
      try {
        conn.rollback();
      } catch (Exception e2) {
        e2.printStackTrace();
      }
    } finally {
      try {
        if (pstmt != null) {
          pstmt.close();
        }
        super.closeConn();
      } catch (Exception e2) {
        e2.printStackTrace();
      }
    }
    return cnt;
  }
예제 #4
0
 public OwnedBook(Book book) {
   super(
       book.getId(),
       book.getGoodreadsId(),
       book.getAuthorName(),
       book.getGoodreadsAuthorId(),
       book.getName(),
       book.getIsbn(),
       book.getIsbn13(),
       book.getPublishedYear(),
       book.getDescription(),
       book.getPublisher(),
       book.getNumberOfPages(),
       book.getImageUrl());
   setBookType(book.getBookType());
 }
예제 #5
0
  // 책 한건의 정보를 편집하기 위함
  public int UpdateData(Book bean) {
    // System.out.println( "업뎃" + bean.toString() );
    String sql = "update books set ";
    sql += " name=?, volume=?, writer=?, publisher=?, pubdate=to_date(?, 'yyyy/MM/dd'), ";
    sql += " genre=?, bookstory=?  ";
    sql += " where bookcode = ? ";

    PreparedStatement pstmt = null;
    int cnt = -99999;
    try {
      if (conn == null) {
        super.conn = super.getConn();
      }
      conn.setAutoCommit(false);
      pstmt = super.conn.prepareStatement(sql);
      pstmt.setString(1, bean.getName());
      pstmt.setInt(2, bean.getVolume());
      pstmt.setString(3, bean.getWriter());
      pstmt.setString(4, bean.getPublisher());
      pstmt.setString(5, bean.getPubdate());
      pstmt.setString(6, bean.getGenre());
      pstmt.setString(7, bean.getBookstory());
      pstmt.setInt(8, bean.getBookcode());

      cnt = pstmt.executeUpdate();
      conn.commit();
    } catch (Exception e) {
      SQLException err = (SQLException) e;
      cnt = -err.getErrorCode();
      e.printStackTrace();
      try {
        conn.rollback();
      } catch (Exception e2) {
        e2.printStackTrace();
      }
    } finally {
      try {
        if (pstmt != null) {
          pstmt.close();
        }
        super.closeConn();
      } catch (Exception e2) {
        e2.printStackTrace();
      }
    }
    return cnt;
  }
예제 #6
0
 @Override
 public void mouseClicked(MouseEvent e) {
   // TODO Auto-generated method stub
   if (e.getSource() == table) {
     if (e.getClickCount() == 2) // 더블클릭
     {
       int row = table.getSelectedRow();
       String no = model.getValueAt(row, 0).toString();
       bp.setPoster(Integer.parseInt(no));
       bp.repaint();
       Book book = bm.bookDetail(Integer.parseInt(no));
       la1.setText("번호:" + no);
       la2.setText("제목:" + book.getTitle());
       la3.setText("저자:" + book.getAuthor());
       la4.setText("출판사:" + book.getPublisher());
       la5.setText("가격:" + book.getPrice());
     }
   } else if (e.getSource() == b) {
     getData();
   }
 }
 @Action(
     value = "grouponBook",
     interceptorRefs = {@InterceptorRef(value = "userActionStack")},
     results = {@Result(name = SUCCESS, type = "json")})
 public String grouponBook() {
   PrintWriter writer = CommonUtil.getJsonPrintWriter(ServletActionContext.getResponse());
   Book book = bookService.getBookByIsbn(isbn);
   BookBase base = null;
   if (book != null) {
     base = new BookBase();
     base.setIsbn(book.getIsbn());
     base.setAuthor(book.getAuthor());
     base.setPrice(book.getPrice());
     base.setTitle(book.getTitle());
     base.setPublisher(book.getPublisher());
   }
   String json = JSONObject.fromObject(base).toString();
   writer.write(json);
   writer.flush();
   writer.close();
   return SUCCESS;
 }
  // 1 进入团购的页面
  @Action(
      value = "nextGrouponitemPage",
      interceptorRefs = {@InterceptorRef(value = "userActionStack")},
      results = {
        @Result(name = SUCCESS, location = "/userPages/grouponitem.jsp"),
        @Result(name = "over", location = "/userPages/cart.jsp")
      })
  public String nextGrouponitemPage() {
    User findUser = (User) ServletActionContext.getRequest().getSession().getAttribute("user");
    // if()
    Groupon find = grouponService.getGroupon(groupon.getId());
    Grouponitem grouponitem = new Grouponitem();
    grouponitem.setId(page);
    grouponitem.setGroupon(find);
    Grouponitem findItem = grouponService.next(grouponitem);
    // 如果没有找到,那么意味着查询已经结束
    if (findItem == null) {
      double fee = 0.0;
      int num = 0;
      List<Cart> result = new ArrayList<Cart>();
      List<Cartitem> items = cartService.getGrouponitemsByUser(findUser.getId(), find.getId());
      for (int i = 0; i < items.size(); i++) {
        Cartitem cartitem = items.get(i);
        num += cartitem.getNum();
        if (cartitem.getSalesBook() == null) {
          if (cartitem.getBook().getDiscount() == 0.0) {
            cartitem.getBook().setDiscount(ConstantUtil.NEWBOOKDISCOUNT);
          }
          SalesBook newbookSalesBook =
              salesBookService.getSalesBookByIsbnSeller(
                  cartitem.getBook().getIsbn(), ConstantUtil.NEWBOOKPRODUCT);
          float discount = ConstantUtil.NEWBOOKDISCOUNT;
          if (newbookSalesBook != null && newbookSalesBook.getDiscount() != null) {
            discount = newbookSalesBook.getDiscount();
          }
          fee +=
              cartitem.getNum() * Math.round(cartitem.getBook().getPrice() * discount * 10) / 10d;
        } else {
          fee += cartitem.getNum() * cartitem.getSalesBook().getPrice();
        }
        Cart cart = cartitem.getCart();
        Cart findCart = getCartByList(cart.getId(), result);
        if (findCart == null) {
          Cart cartResult = new Cart();
          cartResult.setId(cart.getId());
          cartResult.setSeller(cart.getSeller());
          cartResult.setCartitems(new HashSet());
          cartResult.setTotalFee(cart.getTotalFee());
          cartResult.setUser(cart.getUser());
          cartResult.getCartitems().add(cartitem);
          cartitem.setCart(cartResult);
          result.add(cartResult);
        } else {
          findCart.getCartitems().add(cartitem);
          cartitem.setCart(findCart);
        }
      }
      System.out.println(result.size());
      ActionContext.getContext().getValueStack().set("carts", result);
      ActionContext.getContext().getValueStack().set("num", num);
      ActionContext.getContext().getValueStack().set("fee", Math.round(fee * 10) / 10d);
      return "over";
    }

    Book book = bookService.getBookByIsbn(findItem.getBook().getIsbn());
    // 如果没有拿到数据,则返回空
    ServiceArea serviceArea = findUser.getSchool().getServiceArea();
    // 如果找到了,查看新书供应商有没有此数据,如果没有,那么就给新书供应商加进去
    SalesBook newbookSalesBook =
        salesBookService.getSalesBookByIsbnSeller(
            findItem.getBook().getIsbn(), ConstantUtil.NEWBOOKPRODUCT);
    Seller seller = sellerService.getSellerById(ConstantUtil.NEWBOOKPRODUCT);
    SalesBook model =
        salesBookService.getSalesBookByIsbnSeller(findItem.getBook().getIsbn(), seller.getId());
    float bookDiscount;
    if (newbookSalesBook == null) {
      newbookSalesBook = new SalesBook();
      newbookSalesBook.setSeller(seller);
      newbookSalesBook.setBook(book);
      newbookSalesBook.setTitle(book.getTitle());
      newbookSalesBook.setAuthor(book.getAuthor());
      newbookSalesBook.setStandardPrice(book.getPrice());
      newbookSalesBook.setPublisher(book.getPublisher());
      newbookSalesBook.setImage(book.getImage());
      newbookSalesBook.setBigImage(book.getBigImage());
      salesBookService.save(newbookSalesBook);
    }
    if (model == null) {
      model = newbookSalesBook;
    }
    if (newbookSalesBook.getDiscount() == null) {
      bookDiscount = ConstantUtil.NEWBOOKDISCOUNT;
    } else {
      bookDiscount = newbookSalesBook.getDiscount();
    }
    ActionContext.getContext().getValueStack().set("bookDiscount", bookDiscount);
    newbookSalesBook.setDiscount(bookDiscount);
    newbookSalesBook.setPrice(
        Math.round(newbookSalesBook.getBook().getPrice() * bookDiscount * 10) / 10d);
    newbookSalesBook.setNum(999);
    SalesBook salesBook = newbookSalesBook;
    School findSchool = findUser.getSchool();
    List<SellerBean> sellerBeans =
        salesBookService.getSellerBeans(
            newbookSalesBook.getBook().getIsbn(), findSchool.getServiceArea().getId());
    int totalNum = cartService.getGrouponitemsByUser(findUser.getId(), find.getId()).size();
    ActionContext.getContext().getValueStack().set("sellerBeans", sellerBeans);
    ActionContext.getContext().getValueStack().set("item", findItem);
    Seller newBookSeller = sellerService.getSellerById(ConstantUtil.NEWBOOKPRODUCT);
    ActionContext.getContext().getValueStack().set("totalNum", totalNum);
    ActionContext.getContext().getValueStack().set("model", model);
    ActionContext.getContext().getValueStack().set("newBookSeller", newBookSeller);
    ActionContext.getContext()
        .getValueStack()
        .set("price", Math.round(newbookSalesBook.getBook().getPrice() * bookDiscount * 10) / 10d);
    // 获得这个学校所有的团购项目
    return SUCCESS;
  }