yujian
2019-03-27 cdcbed9af813b2a02cdc01eefa24db8bec6b51a9
fanli/src/main/java/com/yeshi/fanli/controller/client/DynamicRecommendController.java
@@ -2,7 +2,6 @@
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -15,28 +14,17 @@
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.taobao.TbImgUtil;
import com.taobao.api.ApiException;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.recommend.DynamicRecommend;
import com.yeshi.fanli.entity.bus.recommend.RecommendDetails;
import com.yeshi.fanli.entity.bus.recommend.RecommendReply;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.taobao.RelateGoods;
import com.yeshi.fanli.entity.taobao.SearchFilter;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.goods.RecommendDetailsService;
import com.yeshi.fanli.service.inter.goods.RecommendReplyService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.user.DynamicRecommendService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.util.GsonUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.Utils;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import net.sf.json.JSONObject;
@@ -46,15 +34,6 @@
   @Resource
   private HongBaoManageService hongBaoManageService;
   @Resource
   private DynamicRecommendService dynamicRecommendService;
   @Resource
   private RecommendDetailsService recommendDetailsService;
   @Resource
   private RecommendReplyService recommendReplyService;
   @Resource
   private UserInfoService userInfoService;
@@ -249,173 +228,6 @@
      root.put("data", data);
      out.print(JsonUtil.loadTrueResult(root));
   }
   /**
    * 获取推荐商品列表
    *
    * @param page
    * @param out
    */
   @RequestMapping(value = "getDynamicRecommendList", method = RequestMethod.POST)
   public void getDynamicRecommendList(AcceptData acceptData, int page, long uid, PrintWriter out) {
      if (page <= 0) {
         page = 1;
      }
      List<DynamicRecommend> list = dynamicRecommendService.getDynamicRecommendList(uid, page);
      int count = dynamicRecommendService.getCount();
      int fcount = 0;
      for (DynamicRecommend dynamicRecommend : list) {
         fcount = recommendReplyService.getCount(dynamicRecommend.getId());
         dynamicRecommend.setReplyCount(fcount);
      }
      JSONObject data = new JSONObject();
      data.put("list", GsonUtil.toJsonByUserAp(list));
      data.put("count", count);
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 获取我的推荐
    *
    * @param page
    * @param uid
    * @param out
    */
   @RequestMapping(value = "getMyDynamicRecommendList", method = RequestMethod.POST)
   public void getMyDynamicRecommendList(AcceptData acceptData, int page, long uid, PrintWriter out) {
      if (page <= 0) {
         page = 1;
      }
      List<DynamicRecommend> list = dynamicRecommendService.getMyDynamicRecommendList(uid, page);
      int count = dynamicRecommendService.getCount(uid);
      JSONObject data = new JSONObject();
      data.put("list", GsonUtil.toJsonByUserAp(list));
      data.put("count", count);
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 获取推荐商品详情
    *
    * @param drid
    * @param uid
    * @param out
    */
   @RequestMapping(value = "recommendDetails", method = RequestMethod.POST)
   public void recommendDetails(AcceptData acceptData, long drid, long uid, PrintWriter out) {
      DynamicRecommend recommend = dynamicRecommendService.getDynamicRecommend(drid, uid);
      if (recommend == null) {
         out.print(JsonUtil.loadFalseResult("不存在"));
         return;
      }
      RecommendDetails recommendDetails = recommendDetailsService.getRecommendDetails(drid, uid);
      if (recommendDetails == null) {
         out.print(JsonUtil.loadFalseResult("不存在"));
         return;
      }
      // int count = recommendReplyService.getCount(drid);
      JSONObject data = new JSONObject();
      // data.put("rcount", count);
      recommendDetails.setDynamicRecommend(recommend);
      data.put("recommendDetails", GsonUtil.toJsonByUserAp(recommendDetails));
      List<RelateGoods> list = new ArrayList<RelateGoods>();
      try {
         list = TaoKeApiUtil.getRelateGoodsList(Long.parseLong(recommend.getAuctionId()));
         List<String> tbImg = TaoBaoUtil.getTbImg(recommend.getAuctionId());
         data.put("tbImgs", tbImg);
      } catch (NumberFormatException e) {
         e.printStackTrace();
      } catch (ApiException e) {
         e.printStackTrace();
      }
      data.put("relateGoodsList", list);
      String url = configService.get("recommend_details");
      url = url + "?drid=" + drid;
      data.put("shareUrl", url);
      String uPicUrls = recommend.getuPicUrl();
      String sharePic = uPicUrls.split(",")[0];
      data.put("sharePic", sharePic);
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 获取推荐商品全部评价
    *
    * @param drid
    *            推荐id
    * @param uid
    *            用户id
    * @param page
    *            页数
    * @param out
    */
   @RequestMapping(value = "recommendReplys", method = RequestMethod.POST)
   public void recommendReplys(AcceptData acceptData, long drid, int page, PrintWriter out) {
      int uid = 0;
      List<RecommendReply> recommendReplys = recommendReplyService.getRecommendReplys(drid, uid, page);
      int count = recommendReplyService.getCount(drid);
      JSONObject data = new JSONObject();
      data.put("count", count);
      data.put("recommendReplys", GsonUtil.toJsonByUserAp(recommendReplys));
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 对商品进行的投票,值与不值
    *
    * @param drid
    *            推荐id
    * @param uid
    *            用户id
    * @param type
    *            0:值 1.不值
    * @param out
    *
    */
   @RequestMapping(value = "voteGoods", method = RequestMethod.POST)
   public void voteGoods(AcceptData acceptData, long drid, long uid, int type, PrintWriter out) {
      int state = recommendDetailsService.vote(drid, uid, type);
      if (state == 0) {
         out.print(JsonUtil.loadTrueResult(""));
      } else if (state == 1) {
         out.print(JsonUtil.loadFalseResult("不存在该推荐"));
         return;
      } else if (state == 2) {
         out.print(JsonUtil.loadFalseResult("不存在该用户"));
         return;
      }
   }
   @RequestMapping(value = "deleteDynamicRecommend", method = RequestMethod.POST)
   public void deleteDynamicRecommend(AcceptData acceptData, String ids, PrintWriter out) {
      if (ids == null) {
         out.print(JsonUtil.loadFalseResult("id不能为空"));
         return;
      }
      String[] idArr = ids.split(",");
      for (String id : idArr) {
         dynamicRecommendService.delete(Long.parseLong(id));
      }
      out.print(JsonUtil.loadTrueResult(""));
   }
   @RequestMapping(value = "islike", method = RequestMethod.POST)
   public void islike(AcceptData acceptData, long drid, long uid, int type, PrintWriter out) {
      if (type == 0) {
         dynamicRecommendService.addlike(drid, uid);
      } else {
         dynamicRecommendService.removelike(drid, uid);
      }
      out.print(JsonUtil.loadTrueResult(""));
   }
   @RequestMapping(value = "getMyLikes", method = RequestMethod.POST)
   public void getMyLikes(AcceptData acceptData, long uid, int page, PrintWriter out) {
      List<DynamicRecommend> list = dynamicRecommendService.getMyLikeRecommends(uid, page);
      JSONObject data = new JSONObject();
      data.put("list", GsonUtil.toJsonByUserAp(list));
      out.print(JsonUtil.loadTrueResult(data));
   }
}