yujian
2020-01-03 c9cbdfa41d645d42eeaa7e06d550d4ef8ac328e7
fanli/src/main/java/com/yeshi/fanli/controller/admin/TaoBaoGoodsBriefAdminController.java
@@ -27,12 +27,14 @@
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
import com.yeshi.fanli.entity.taobao.TaobaoMeterial;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
import com.yeshi.fanli.service.inter.goods.GoodsClassService;
import com.yeshi.fanli.service.inter.goods.TaoBaoClassService;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.lable.QualityFactoryService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.taobao.TaobaoMeterialService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
@@ -62,6 +64,9 @@
   @Resource
   private TaoBaoClassService taoBaoClassService;
   @Resource
   private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
   /**
    * 
@@ -896,6 +901,112 @@
      }
   }
   private List<Map<String, Object>> filterTaoBaoGoodsWithQulity(List<TaoBaoGoodsBrief> goodsList) {
      // 插入商品集合
      List<Long> listAuctionId = new ArrayList<Long>();
      for (TaoBaoGoodsBrief goodsBrief : goodsList) {
         listAuctionId.add(goodsBrief.getAuctionId());
      }
      // 验证是否存在数据库
      List<QualityFactory> listHas = qualityFactoryService.listQueryByAuctionId(listAuctionId);
      List<Map<String, Object>> listmap = new ArrayList<Map<String, Object>>();
      for (TaoBaoGoodsBrief taoBaoGoodsBrief : goodsList) {
         taoBaoGoodsBrief.setId(null);
         Map<String, Object> map = new HashMap<String, Object>();
         map.put("pictUrl", taoBaoGoodsBrief.getPictUrl());
         map.put("title", taoBaoGoodsBrief.getTitle());
         map.put("auctionId", taoBaoGoodsBrief.getAuctionId());
         map.put("auctionUrl", taoBaoGoodsBrief.getAuctionUrl());
         map.put("zkPrice", taoBaoGoodsBrief.getZkPrice());
         map.put("biz30day", taoBaoGoodsBrief.getBiz30day());
         map.put("couponInfo", taoBaoGoodsBrief.getCouponInfo());
         map.put("couponTotalCount", taoBaoGoodsBrief.getCouponTotalCount());
         map.put("couponLeftCount", taoBaoGoodsBrief.getCouponLeftCount());
         map.put("couponEffectiveEndTime", taoBaoGoodsBrief.getCouponEffectiveEndTime());
         map.put("tkRate", taoBaoGoodsBrief.getTkRate());
         // 来源 0 无 1淘宝 2 京东
         map.put("goodsSource", 1);
         /* 券后价--计算 */
         BigDecimal couponPrice = TaoBaoUtil.getAfterUseCouplePrice(taoBaoGoodsBrief);
         map.put("couponPrice", couponPrice);
         /* 预计收益: 公司、用户 */
         BigDecimal tkRate = taoBaoGoodsBrief.getTkRate();
         BigDecimal zkPrice = taoBaoGoodsBrief.getZkPrice();
         BigDecimal profit = MoneyBigDecimalUtil.mul(tkRate, zkPrice);
         // 计算结果
         BigDecimal estimateProfit = MoneyBigDecimalUtil.div(profit, new BigDecimal("100"));
         // 预计收益
         map.put("estimateProfit", estimateProfit);
         int existence = 0;
         /* 查询商品是否已存在商品精选库中 */
         Long localAuctionId = taoBaoGoodsBrief.getAuctionId();
         if (localAuctionId != null) {
            if (listHas != null && listHas.size() > 0) {
               for (QualityFactory selectionGoods : listHas) {
                  TaoBaoGoodsBrief hasgoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
                  Long hasId = hasgoodsBrief.getAuctionId();
                  if (localAuctionId.equals(hasId) || localAuctionId == hasId) {
                     existence = 1; // 存在商品中
                  }
               }
            }
         }
         map.put("isExistence", existence);
         listmap.add(map);
      }
      return listmap;
   }
   @RequestMapping(value = "searchDaTaoKe")
   public void searchDaTaoKe(String callback, Integer pageIndex, Integer pageSize, String key, Long cid,
         PrintWriter out) {
      try {
         key = StringUtil.isNullOrEmpty(key) ? "" : key;
         List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Service.listSearchByTitleWithCid(key, cid, pageIndex,
               pageSize);
         long count = daTaoKeGoodsDetailV2Service.countSearchByTitleWithCid(key, cid);
         List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
         for (DaTaoKeDetailV2 detail : list) {
            goodsList.add(TaoBaoUtil.convert(detail));
         }
         List<Map<String, Object>> listmap = filterTaoBaoGoodsWithQulity(goodsList);
         PageEntity pe = new PageEntity(pageIndex, pageSize, (int) count,(int)(count%pageSize==0?count/pageSize:count/pageSize+1));
         JSONObject data = new JSONObject();
         GsonBuilder gsonBuilder = new GsonBuilder();
         gsonBuilder.serializeNulls(); // 重点
         Gson gson = gsonBuilder.setDateFormat("yyyy-MM-dd").create();
         data.put("pe", pe);
         data.put("listGoods", gson.toJson(listmap));
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询异常"));
         e.printStackTrace();
      }
   }
   @RequestMapping(value = "getQiangGou")
   public void getQiangGou(String callback, Integer pageIndex, PrintWriter out) {