yujian
2019-05-15 265e7fc98dfa0ac37bcc95a105e42546ffb3d094
品牌店铺优选查询大淘客商品
6个文件已修改
83 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/BrandController.java 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/taobao/dataoke/DaTaoKeDetailMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/taobao/dataoke/DaTaoKeDetailMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/dataoke/DaTaoKeGoodsService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/BrandController.java
@@ -20,6 +20,7 @@
import com.yeshi.fanli.entity.brand.TaoBaoShopHistory;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoShop;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.service.inter.brand.BrandClassService;
@@ -28,6 +29,7 @@
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.ThreadUtil;
@@ -60,6 +62,9 @@
    @Resource
    private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
    @Resource
    private DaTaoKeGoodsService daTaoKeGoodsService;
    /**
     * 获取品牌分类
     * 
@@ -250,20 +255,37 @@
                        taoBaoShopHistoryService.addHistory(sid, uid, acceptData.getDevice());
                    }
                });
            }
            int pageSize = Constant.PAGE_SIZE;
            List<TaoBaoGoodsBrief> listGoods = taoBaoGoodsBriefService.listByShopId((page - 1) * pageSize, pageSize, sid);
            // 商品列表信息
            int pageSize = 50;
            List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
            // 先查询大淘客数据
            List<DaTaoKeDetail> listDaTaoKe = daTaoKeGoodsService.listBySellerId(0, pageSize, sid);
            if (listDaTaoKe != null && listDaTaoKe.size() > 0) {
                for (DaTaoKeDetail daTaoKe: listDaTaoKe) {
                    listGoodsBrief.add(TaoBaoUtil.convert(daTaoKe));
                }
            }
            // 不足50条数据、查询精选库
            if (listGoodsBrief.size() < pageSize) {
                int needCount = pageSize- listGoodsBrief.size();
                List<TaoBaoGoodsBrief> listGoods = taoBaoGoodsBriefService.listByShopId(0, needCount, sid);
                if (listGoods != null && listGoods.size() > 0) {
                    listGoodsBrief.addAll(listGoods);
                }
            }
            long count = 0;
            JSONArray array = new JSONArray();
            if (listGoods != null && listGoods.size() > 0) {
            if (listGoodsBrief.size() > 0) {
                List<Long> listGid = new ArrayList<Long>();
                for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoods) {
                for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
                    listGid.add(taoBaoGoodsBrief.getAuctionId());
                }
                // API网络接口验证是否在售
                List<TaoBaoGoodsBrief> listTaoKeGoods = null;
                try {
@@ -275,12 +297,13 @@
                } catch (Exception e) {
                    e.printStackTrace();
                }
                Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
                        .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
                BigDecimal proportion = manageService.getFanLiRate();
                for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoods) {
                for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoodsBrief) {
                    if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) {
                        boolean stateSale = false; // 默认停售
                        Long goodsId = taoBaoGoodsBrief.getAuctionId();
@@ -291,16 +314,15 @@
                                break;
                            }
                        }
                        if (!stateSale) {
                            continue;
                        }
                    }
                    array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
                }
                count = taoBaoGoodsBriefService.countByShopId(sid);
            }
            data.put("count", count);
            data.put("count", array.size());
            data.put("list", array);
            out.print(JsonUtil.loadTrueResult(data));
        } catch (Exception e) {
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/taobao/dataoke/DaTaoKeDetailMapper.java
@@ -86,5 +86,14 @@
     * @return
     */
    Long countSearchByTitleWithCid(@Param("title") String key, @Param("cid") Long cid);
    /**
     * 根据店铺id查询
     * @param start
     * @param count
     * @param sellerId
     * @return
     */
    public List<DaTaoKeDetail> listBySellerId( @Param("start")long start,  @Param("count")int count,  @Param("sellerId")Long sellerId);
}
fanli/src/main/java/com/yeshi/fanli/mapping/taobao/dataoke/DaTaoKeDetailMapper.xml
@@ -113,6 +113,13 @@
    </select>
    <select id="listBySellerId" resultMap="BaseResultMap">
        select    <include refid="Base_Column_List" /> from yeshi_ec_goods_dataoke
        where  seller_id = #{sellerId}
        order by update_time desc
        limit #{start},#{count}
    </select>
    <delete id="deleteByIdList">
        delete from
        yeshi_ec_goods_dataoke where
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java
@@ -18,8 +18,6 @@
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
import sun.rmi.log.LogHandler;
@Service
public class DaTaoKeGoodsServiceImpl implements DaTaoKeGoodsService {
@@ -114,4 +112,9 @@
        return daTaoKeDetailMapper.getGoodsNotInList(cid, listId, count);
    }
    @Override
    public List<DaTaoKeDetail> listBySellerId(long start, int count, Long sellerId){
        return daTaoKeDetailMapper.listBySellerId(start, count, sellerId);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/dataoke/DaTaoKeGoodsService.java
@@ -34,4 +34,14 @@
    
    public List<DaTaoKeDetail> getGoodsNotInList(Long cid, List<Long> listId, int count);
    /**
     * 根据店铺id筛选
     * @param start
     * @param count
     * @param sellerId
     * @return
     */
    public List<DaTaoKeDetail> listBySellerId(long start, int count, Long sellerId);
}
fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java
@@ -147,7 +147,7 @@
        List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
        JSONArray arrayGoods = data.optJSONArray("goods");
        for (int i = 0; i < arrayGoods.size(); i++) {
            if (i > 3) {
            if (i > 2) {
                break;
            }
            JSONObject itemGoods = arrayGoods.optJSONObject(i);