admin
2019-05-14 c5c6d40edef756ca0600bcdef100c32108a3b4bb
添加大淘客搜索
1个文件已修改
111 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/admin/TaoBaoGoodsBriefAdminController.java 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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.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;
@@ -62,6 +64,9 @@
    @Resource
    private TaoBaoClassService taoBaoClassService;
    @Resource
    private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
    /**
     * 
@@ -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<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) {