admin
2020-03-31 dcfd801ea435c1c87ed47f2ee24cdabaaf230d6f
大淘客商品过滤修改
13个文件已修改
275 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/goods/taobao/dataoke/DaTaoKeGoodsDetailV2Dao.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/taobao/TaoBaoGoodsBrief.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/dataoke/DaTaoKeGoodsDetailV2Service.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/manger/ClipboardAnalysisManager.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/jd/JDUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/DaTaoKeUtil.java 90 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/GoodsControllerV2.java
@@ -42,6 +42,7 @@
import com.yeshi.fanli.entity.taobao.TaoBaoShop;
import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsUpdateException;
@@ -199,7 +200,7 @@
    @Resource
    private UserVipConfigService userVipConfigService;
    @Resource
    private GoodsEvaluateService goodsEvaluateService;
@@ -265,6 +266,7 @@
                    app.setPid(TaoBaoConstant.TAOBAO_COMMON_PID);
                    app.setAdzoneId(TaoBaoConstant.TAOBAO_COMMON_PID.split("_")[3]);
                    goods = TaoKeApiUtil.searchGoodsDetail(id, app);
                    final TaoBaoGoodsBrief finalGoods = goods;
                    if (goods != null) {
                        ThreadUtil.run(new Runnable() {
@@ -371,7 +373,8 @@
        // 大淘客商品过滤
        try {
            goods = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods);
            goods = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods, acceptData.getPlatform(),
                    acceptData.getVersion());
        } catch (Exception e) {
            LogHelper.errorDetailInfo(e);
        }
@@ -613,7 +616,7 @@
     */
    @RequestMapping(value = "getDetailJD")
    public void getDetialJD(AcceptData acceptData, Long id, Long uid, String from, PrintWriter out) {
//        uid=2255993L;
        // uid=2255993L;
        // 系统验证
        BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
                acceptData.getPackages());
@@ -809,7 +812,7 @@
        out.print(JsonUtil.loadTrueResult(object.toString()));
        final JDGoods goods = jdGoods;
        final Long fuid=uid;
        final Long fuid = uid;
        ThreadUtil.run(new Runnable() {
            public void run() {
                // 添加浏览记录
@@ -818,7 +821,7 @@
                } catch (Exception e) {
                    e.printStackTrace();
                }
                try {
                    goodsEvaluateService.updateJDGoods(goods);
                } catch (Exception e) {
@@ -1002,7 +1005,7 @@
                } catch (Exception e) {
                    e.printStackTrace();
                }
                try {
                    goodsEvaluateService.updatePDDGoods(pddGoods);
                } catch (Exception e) {
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
@@ -572,7 +572,7 @@
        // 淘宝api搜索商品
        TaoBaoSearchResult result = TaoBaoUtil.search(sf);
        // 搜索是否在营销主商品库
        // 搜索结果缓存到redis
        if (result != null && result.getTaoBaoGoodsBriefs() != null && result.getTaoBaoGoodsBriefs().size() > 0) {
            ThreadUtil.run(new Runnable() {
                @Override
fanli/src/main/java/com/yeshi/fanli/dao/goods/taobao/dataoke/DaTaoKeGoodsDetailV2Dao.java
@@ -160,11 +160,11 @@
    public List<DaTaoKeDetailV2> listPreShareHotGoods(int start, int count, String sortName, BigDecimal minCommission) {
        Query query = new Query();
        query.addCriteria(Criteria.where("commission").gt(minCommission.multiply(new BigDecimal(100)).intValue()));
        List<Order> orders = new ArrayList<>();
        orders.add(new Order(Direction.DESC, sortName));
        query.with(new Sort(orders)).skip(start);
        query.limit(count);
        return mongoTemplate.find(query, getEntityClass());
    }
@@ -232,4 +232,24 @@
        return mongoTemplate.find(query, DaTaoKeDetailV2.class);
    }
    /**
     * 根据商品ID检索
     * @Title: selectByAuctionId
     * @Description:
     * @param auctionId
     * @return
     * DaTaoKeDetailV2 返回类型
     * @throws
     */
    public DaTaoKeDetailV2 selectByAuctionId(Long auctionId) {
        Query query = new Query();
        query.addCriteria(Criteria.where("goodsId").is(auctionId));
        query.limit(1);
        List<DaTaoKeDetailV2> list = mongoTemplate.find(query, DaTaoKeDetailV2.class);
        if (list != null && list.size() > 0) {
            return list.get(0);
        } else
            return null;
    }
}
fanli/src/main/java/com/yeshi/fanli/entity/taobao/TaoBaoGoodsBrief.java
@@ -286,12 +286,23 @@
    
    private String description;//推荐语
    
    @Transient
    private boolean shopCoupon;//是否为店铺券
    
    /* 新增字段 2018-7-16 ; 由于数据未从淘宝获取成功,暂不启用 */
    
    public boolean isShopCoupon() {
        return shopCoupon;
    }
    public void setShopCoupon(boolean shopCoupon) {
        this.shopCoupon = shopCoupon;
    }
    public Integer getMaterialLibType() {
        return materialLibType;
    }
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -220,9 +220,14 @@
                if ("饿了么".equalsIgnoreCase(list.get(0).getOrderType())) {
                    // 处理饿了么订单
                    elmeOrderMap.put(orderId, list);
                }
                else {
                    // TODO 处理饿了么订单
                    // if(list.get(0).getCreateTime()){
                    // //下单时间大于一个定值就进入淘宝订单
                    // //获取relationId
                    //
                    //
                    // }
                } else {
                    if (!StringUtil.isNullOrEmpty(list.get(0).getSpecialId())
                            || pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID)) {// 设置渠道ID当做会员运营ID的位置ID
                        fanliOrderMap.put(orderId, list);
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java
@@ -28,6 +28,7 @@
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil;
import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
@@ -179,17 +180,8 @@
    @Override
    public TaoBaoGoodsBrief filterTaoBaoGoods(TaoBaoGoodsBrief goods) {
        List<Long> goodsIdList = new ArrayList<>();
        goodsIdList.add(goods.getAuctionId());
        List<DaTaoKeDetailV2> daTaoKeList = listByGoodsIds(goodsIdList);
        if (daTaoKeList == null || daTaoKeList.size() == 0)
            return goods;
        // 重新设置标题与券价格
        goods = DaTaoKeUtil.filterTaoBaoGoods(goods, daTaoKeList.get(0));
        return goods;
        return filterTaoBaoGoods(goods, null, null);
    }
    @Override
@@ -447,4 +439,33 @@
        return daTaoKeGoodsDetailV2Dao.listBySellerId((int) start, count, sellerId);
    }
    @Override
    public DaTaoKeDetailV2 selectByAuctionId(Long auctionId) {
        return daTaoKeGoodsDetailV2Dao.selectByAuctionId(auctionId);
    }
    @Cacheable(value = "daTaoKeGoodsCache", key = "'selectByAuctionId-'+#auctionId")
    @Override
    public DaTaoKeDetailV2 selectByAuctionIdCache(Long auctionId) {
        return selectByAuctionId(auctionId);
    }
    @Override
    public TaoBaoGoodsBrief filterTaoBaoGoods(TaoBaoGoodsBrief goods, String platform, String version) {
        List<Long> goodsIdList = new ArrayList<>();
        goodsIdList.add(goods.getAuctionId());
        List<DaTaoKeDetailV2> daTaoKeList = listByGoodsIds(goodsIdList);
        if (daTaoKeList == null || daTaoKeList.size() == 0)
            return goods;
        if (platform != null && version != null && VersionUtil.greaterThan_2_1(platform, version)) {
            // 重新设置标题与券价格
            goods = DaTaoKeUtil.filterTaoBaoGoods(goods, daTaoKeList.get(0), true);
        } else
            goods = DaTaoKeUtil.filterTaoBaoGoods(goods, daTaoKeList.get(0), false);
        return goods;
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/dataoke/DaTaoKeGoodsDetailV2Service.java
@@ -59,6 +59,9 @@
     * @return
     */
    public TaoBaoGoodsBrief filterTaoBaoGoods(TaoBaoGoodsBrief goods);
    public TaoBaoGoodsBrief filterTaoBaoGoods(TaoBaoGoodsBrief goods,String platform,String version);
    /**
     * 根据主键查询
@@ -178,4 +181,17 @@
     * @throws
     */
    public List<DaTaoKeDetailV2>  listBySellerId(long start, int count, Long sellerId);
    /**
     * 根据商品ID查询
     * @Title: selectByAuctionId
     * @Description:
     * @param auctionId
     * @return
     * DaTaoKeDetailV2 返回类型
     * @throws
     */
    public DaTaoKeDetailV2 selectByAuctionId(Long auctionId);
    public DaTaoKeDetailV2 selectByAuctionIdCache(Long auctionId);
}
fanli/src/main/java/com/yeshi/fanli/service/manger/ClipboardAnalysisManager.java
@@ -469,7 +469,7 @@
            tb = TaoBaoUtil.parsePhoneShareUrlByTM(link);
            if (tb != null)
                auctionId = tb.getAuctionId() + "";
        } else if (link.contains("h5.m.taobao") || link.contains("detail.m.tmall") || link.contains("item.taobao")
        } else if (link.contains("h5.m.taobao") || link.contains("detail.m.tmall")|| link.contains("item.taobao")
                || link.contains("detail.tmall")) { // 手机页面和电脑页面
            Map<String, String> map = Utils.parseURL(link);
            String id = "";
fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java
@@ -4,8 +4,6 @@
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
@@ -31,7 +29,6 @@
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.jd.JDUtil;
import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil;
import com.yeshi.fanli.util.taobao.TaoBaoCouponUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
@@ -178,7 +175,7 @@
        moneyInfoVO.setRateInfo("返利比 " + MoneyBigDecimalUtil.div(commission.multiply(new BigDecimal(100)),
                CommonGoodsUtil.getAfterUseCouplePrice(goods)) + "%");
        moneyInfoVO.setMaxRateInfo("返利比 " + MoneyBigDecimalUtil.div(maxCommission.multiply(new BigDecimal(100)),
                CommonGoodsUtil.getAfterUseCouplePrice(goods)) + "%");
@@ -312,6 +309,7 @@
            coupon.setStartTime(sdf.format(new Date(Long.parseLong(couponEffectiveStartTime))));
            coupon.setLink(taoBaoQuanInfo.getCouponLink());
            coupon.setStartFee(taoBaoQuanInfo.getCouponStartFee());
            coupon.setShopCoupon(goods.isShopCoupon());
            goodsInfo.setHasCoupon(true);
            goodsInfo.setCouponInfo(coupon);
        }
@@ -470,9 +468,13 @@
                coupon.setStartTime(goods.getCouponEffectiveStartTime().replace("-", "."));
            }
            coupon.setLink(TaoBaoCouponUtil.getCoupleUrl(goods.getCouponActivityId(), null, goods.getAuctionId() + ""));
            if (!StringUtil.isNullOrEmpty(goods.getCouponLink()))
                coupon.setLink(goods.getCouponLink());
            else
                coupon.setLink(
                        TaoBaoCouponUtil.getCoupleUrl(goods.getCouponActivityId(), null, goods.getAuctionId() + ""));
            coupon.setStartFee(goods.getCouponStartFee());
            coupon.setShopCoupon(goods.isShopCoupon());
            goodsInfo.setHasCoupon(true);
            goodsInfo.setCouponInfo(coupon);
        }
fanli/src/main/java/com/yeshi/fanli/util/jd/JDUtil.java
@@ -638,7 +638,7 @@
     * @return
     */
    public static String getJDGoodsIdByWeiXin(String url) {
        if (StringUtil.isNullOrEmpty(url))
        if (StringUtil.isNullOrEmpty(url) || url.indexOf("jd.com") < 0)
            return null;
        try {
fanli/src/main/java/com/yeshi/fanli/util/taobao/DaTaoKeUtil.java
@@ -30,6 +30,7 @@
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@@ -131,41 +132,10 @@
            "🕦",// 十一点半
    };
    static final String[] evaluateEmojis = new String[] {
        "💟",
        "🌸",
        "🍸",
        "🍺",
        "📢",
        "❤",
        "💝",
        "💋",
        "👛",
        "🐾",
        "🌹",
        "🔥",
        "🎉",
        "🎁",
        "🍥",
        "🍭",
        "🌺",
        "👑",
        "✨",
        "💫",
        "🍻",
        "🎈",
        "💥",
        "💕",
        "💞",
        "💰",
        "💌",
        "💭",
        "🌼",
        "🍀"
    };
    static final String[] evaluateEmojis = new String[] { "💟", "🌸", "🍸", "🍺", "📢", "❤", "💝", "💋", "👛", "🐾",
            "🌹", "🔥", "🎉", "🎁", "🍥", "🍭", "🌺", "👑", "✨", "💫", "🍻", "🎈", "💥", "💕", "💞", "💰", "💌", "💭",
            "🌼", "🍀" };
    public static List<GoodsClass> goodsClasses;
    static {
        goodsClasses = new ArrayList<>();
@@ -555,11 +525,10 @@
        return commonEmojis[(int) (Math.random() * commonEmojis.length)];
    }
    public static String getEvaluateEmojis() {
        return evaluateEmojis[(int) (Math.random() * evaluateEmojis.length)];
    }
    public static String getDesc(DaTaoKeDetailV2 detail) {
        // 标题+券后价+包邮+描述
@@ -586,16 +555,53 @@
        return desc;
    }
    public static TaoBaoGoodsBrief filterTaoBaoGoods(TaoBaoGoodsBrief goods, DaTaoKeDetailV2 detail) {
        if (detail != null && goods != null) {
    public static TaoBaoGoodsBrief filterTaoBaoGoods(TaoBaoGoodsBrief goods, DaTaoKeDetailV2 v2,
            boolean filterCouponInfo) {
        if (v2 != null && goods != null) {
            // 重新设置标题与券价格
            goods.setTitle(detail.getDtitle());
            if (!StringUtil.isNullOrEmpty(detail.getMainPic()))
                goods.setPictUrlWhite(detail.getMainPic());
            goods.setTitle(v2.getDtitle());
            if (!StringUtil.isNullOrEmpty(v2.getMainPic()))
                goods.setPictUrlWhite(v2.getMainPic());
            // 如果没有券信息,则提供券信息
            if (StringUtil.isNullOrEmpty(goods.getCouponInfo()) && v2 != null
                    && !StringUtil.isNullOrEmpty(v2.getCouponLink())) {
                try {
                    long time = System.currentTimeMillis();
                    // 券在有效期内并且还有剩余券
                    if (time >= TimeUtil.convertToTimeTemp(v2.getCouponStartTime(), "yyyy-MM-dd HH:mm:ss")
                            && time <= TimeUtil.convertToTimeTemp(v2.getCouponEndTime(), "yyyy-MM-dd HH:mm:ss")
                            && (v2.getCouponTotalNum() - v2.getCouponReceiveNum()) > 0) {
                        goods.setCouponStartFee(v2.getOriginalPrice());
                        goods.setCouponEffectiveEndTime(TimeUtil.getGernalTime(
                                TimeUtil.convertToTimeTemp(v2.getCouponEndTime(), "yyyy-MM-dd HH:mm:ss"),
                                "yyyy-MM-dd"));
                        goods.setCouponEffectiveStartTime(TimeUtil.getGernalTime(
                                TimeUtil.convertToTimeTemp(v2.getCouponStartTime(), "yyyy-MM-dd HH:mm:ss"),
                                "yyyy-MM-dd"));
                        goods.setCouponAmount(v2.getCouponPrice());
                        goods.setCouponInfo(
                                String.format("满%s元减%s元", v2.getOriginalPrice() + "", v2.getCouponPrice() + ""));
                        goods.setCouponLeftCount(v2.getCouponTotalNum() - v2.getCouponReceiveNum());
                        goods.setCouponLink(v2.getCouponLink());
                        goods.setCouponTotalCount(v2.getCouponTotalNum());
                        goods.setShopCoupon(true);
                        goods.setZkPrice(v2.getOriginalPrice());
                    }
                } catch (Exception e) {
                }
            }
        }
        return goods;
    }
    public static TaoBaoGoodsBrief filterTaoBaoGoods(TaoBaoGoodsBrief goods, DaTaoKeDetailV2 v2) {
        return filterTaoBaoGoods(goods, v2, false);
    }
    public static DaTaoKeDetailV2 filterDaTaoKe(TaoBaoGoodsBrief goods, DaTaoKeDetailV2 detail) {
        if (goods != null) {
            BigDecimal price = TaoBaoUtil.getAfterUseCouplePrice(goods);
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
@@ -1750,15 +1750,27 @@
        TaoBaoGoodsBrief taoBaoGoods = new TaoBaoGoodsBrief();
        taoBaoGoods.setAuctionId(detail.getGoodsId());
        taoBaoGoods.setBiz30day(detail.getMonthSales());
        // 券相关转换
        taoBaoGoods.setCouponAmount(detail.getCouponPrice());
        taoBaoGoods.setCouponInfo(String.format("满%s元减%s元", detail.getCouponConditions(),
        taoBaoGoods.setCouponInfo(String.format("满%s元减%s元", detail.getOriginalPrice(),
                MoneyBigDecimalUtil.getWithNoZera(detail.getCouponPrice())));
        if (detail.getCouponTotalNum() != null && detail.getCouponReceiveNum() != null)
            taoBaoGoods.setCouponLeftCount(detail.getCouponTotalNum() - detail.getCouponReceiveNum());
        else
            taoBaoGoods.setCouponLeftCount(0);
        taoBaoGoods.setCouponStartFee(detail.getOriginalPrice());
        try {
            taoBaoGoods.setCouponStartFee(detail.getOriginalPrice());
        } catch (Exception e) {
        }
        taoBaoGoods.setCouponTotalCount(detail.getCouponTotalNum());
        taoBaoGoods.setCouponLink(detail.getCouponLink());
        taoBaoGoods.setCouponEffectiveStartTime(TimeUtil.getGernalTime(
                TimeUtil.convertToTimeTemp(detail.getCouponStartTime(), "yyyy-MM-dd HH:mm:ss"), "yyyy-MM-dd"));
        taoBaoGoods.setCouponEffectiveEndTime(TimeUtil.getGernalTime(
                TimeUtil.convertToTimeTemp(detail.getCouponEndTime(), "yyyy-MM-dd HH:mm:ss"), "yyyy-MM-dd"));
        taoBaoGoods.setPictUrl(detail.getMainPic());
        taoBaoGoods.setPictUrlWhite(detail.getMainPic());
        if (taoBaoGoods.getPictUrl() != null && !taoBaoGoods.getPictUrl().startsWith("http"))
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
@@ -2133,6 +2133,39 @@
        return goodsList;
    }
    public static List<TaoBaoGoodsBrief> getCouponListByItemId(Long auctionId) {
        Map<String, String> map = new HashMap<>();
        map.put("method", "taobao.tbk.itemid.coupon.get");
        map.put("platform", auctionId + "");
        map.put("num_iids", auctionId + "");
        map.put("pid", TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT);
        List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
        JSONObject resultJSON = null;
        try {
            resultJSON = TaoKeBaseUtil.baseRequest(map, new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY,
                    TaoBaoConstant.TAOBAO_AUTH_APPSECRET, TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT));
            JSONObject response = resultJSON.optJSONObject("tbk_dg_optimus_material_response");
            if (response != null && response.optJSONObject("result_list") != null) {
                JSONArray array = response.optJSONObject("result_list").optJSONArray("map_data");
                if (array != null) {
                    for (int i = 0; i < array.size(); i++) {
                        JSONObject item = array.optJSONObject(i);
                        TaoBaoGoodsBrief goods = parseWuLiaoItemFromMaterialId(item);
                        if (goods != null)
                            goodsList.add(goods);
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return goodsList;
    }
}
class QuanInfo {