| | |
| | | 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.DaTaoKeDetail;
|
| | | 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.DaTaoKeGoodsDetailService;
|
| | | import com.yeshi.fanli.tag.PageEntity;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | | import com.yeshi.fanli.util.MoneyBigDecimalUtil;
|
| | |
| | |
|
| | | @Resource
|
| | | private TaoBaoClassService taoBaoClassService;
|
| | | |
| | | @Resource
|
| | | private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
|
| | |
|
| | | /**
|
| | | *
|
| | |
| | | }
|
| | |
|
| | | }
|
| | | |
| | |
|
| | | 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<DaTaoKeDetail> list = daTaoKeGoodsDetailService.listSearchByTitleWithCid(key, cid, pageIndex,
|
| | | pageSize);
|
| | | long count = daTaoKeGoodsDetailService.countSearchByTitleWithCid(key, cid);
|
| | | List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
|
| | | for (DaTaoKeDetail 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) {
|