@RequestMapping("/add_goods_favorite.htm")
 @Transactional
 public void add_goods_favorite(HttpServletResponse response, String id) {
   Map params = new HashMap();
   params.put("user_id", SecurityUserHolder.getCurrentUser().getId());
   params.put("goods_id", CommUtil.null2Long(id));
   List<Favorite> list =
       this.favoriteService.query(
           "select obj from Favorite obj where obj.user.id=:user_id and obj.goods.id=:goods_id",
           params,
           -1,
           -1);
   int ret = 0;
   if (list.size() == 0) {
     Goods goods = this.goodsService.getObjById(CommUtil.null2Long(id));
     Favorite obj = new Favorite();
     obj.setAddTime(new Date());
     obj.setType(0);
     obj.setUser(SecurityUserHolder.getCurrentUser());
     obj.setGoods(goods);
     this.favoriteService.save(obj);
     goods.setGoods_collect(goods.getGoods_collect() + 1);
     this.goodsService.update(goods);
     // 更新lucene索引
     elasticsearchUtil.indexUpdate(
         IndexName.GOODS,
         IndexType.GOODS,
         goods.getId().toString(),
         IndexVoTools.goodsToIndexVo(goods));
     //			String goods_lucene_path = ConfigContants.LUCENE_DIRECTORY
     //					+ File.separator
     //					+ "luence" + File.separator + "goods";
     //			File file = new File(goods_lucene_path);
     //			if (!file.exists()) {
     //				CommUtil.createFolder(goods_lucene_path);
     //			}
     //			LuceneUtil lucene = LuceneUtil.instance();
     //			lucene.setIndex_path(goods_lucene_path);
     //			lucene.update(CommUtil.null2String(goods.getId()),
     //					luceneVoTools.updateGoodsIndex(goods));
   } else {
     ret = 1;
   }
   response.setContentType("text/plain");
   response.setHeader("Cache-Control", "no-cache");
   response.setCharacterEncoding("UTF-8");
   PrintWriter writer;
   try {
     writer = response.getWriter();
     writer.print(ret);
   } catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
   }
 }