日期:2014-05-16  浏览次数:20894 次

用户购买商品以后怎么把购买的数量+这个商品放进购物车里
用户购买商品后传了一个商品的id,我用hql语句查询到这个商品的信息
private Goods goods = new Goods();
    public Goods getGoods() {
        return goods;
    }
 
    public void setGoods(Goods goods) {
        this.goods = goods;
    }
    public List <Goods> BuyGoods(){
        HttpServletRequest request = ServletActionContext.getRequest();
        String goodsId = request.getParameter("id");
        Session session = HibernateSessionFactory.getSession();
        String hql = "from Goods as g where g.goodsid = ?";
        Query query = session.createQuery(hql);
        query.setString(0,goodsId);
        List list = query.list();
        ActionContext.getContext().getSession().put("shoppingGoods", list);
        return list;
    }

然后在action里将这个id取出做了修改数量的处理
ttpServletRequest request = ServletActionContext.getRequest();
        String goodsId = request.getParameter("id");  //获取图书id
        String number = request.getParameter("number");  //获取购买数量
        int n = Integer.parseInt(number);
        //System.out.println(n+"==============");
        BuyGoodsDao buy =new BuyGoodsDao();
        List <Goods> list = buy.BuyGoods();
        for(Goods g : list){
            int kuncun = g.getGoodsstock();
            if(kuncun < n){
                return Action.SUCCESS;
            }else{
                int i = kuncun-n;
                try {
                    Session ss = HibernateSessionFactory.getSession();
                    g.setGoodsstock(i);
                    ss.beginTransaction();
                    ss.save(g);
           &n