admin
2024-05-16 5a3c108391f1c554aa91233b3f9bc4f1003bb47a
好单库bug修改
3个文件已修改
51 ■■■■ 已修改文件
facade-goods/src/main/java/com/yeshi/goods/facade/utils/taobao/HaoDanKuApiUtil.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/goods/FreeGoodsCouponJob.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/goods/TaoBaoGoodsFactory.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
facade-goods/src/main/java/com/yeshi/goods/facade/utils/taobao/HaoDanKuApiUtil.java
@@ -23,6 +23,7 @@
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.yeshi.utils.NumberUtil;
import org.yeshi.utils.StringUtil;
/**
@@ -139,7 +140,7 @@
            }.getType();
            List<HDKGoodsDetail> list = null;
            try {
                list = new Gson().fromJson(resultData.optJSONArray("data").toString(), type);
                list = new Gson().fromJson( removeInvalidKeys(resultData.optJSONArray("data")).toString(), type);
            } catch (Exception e) {
                list = new ArrayList<>();
                JSONArray array = resultData.optJSONArray("data");
@@ -149,7 +150,7 @@
                    if (!(desc instanceof String)) {
                        item.put("itemdesc", "");
                    }
                    list.add(new Gson().fromJson(item.toString(), HDKGoodsDetail.class));
                    list.add(new Gson().fromJson( removeInvalidKeys(item).toString(), HDKGoodsDetail.class));
                }
@@ -385,6 +386,30 @@
        return null;
    }
    private JSONObject removeInvalidKeys(JSONObject data){
        String[] keys = new String[]{"couponstarttime","couponendtime"};
        for(String key:keys) {
            if (data.has(key) && !NumberUtil.isNumeric(data.optString(key))) {
                data.remove(key);
            }
        }
        return data;
    }
    private JSONArray removeInvalidKeys(JSONArray array){
        String[] keys = new String[]{"couponstarttime","couponendtime"};
        for(int i=0;i<array.size();i++){
            for(String key:keys) {
                if (array.optJSONObject(i).has(key) && !NumberUtil.isNumeric(array.optJSONObject(i).optString(key))) {
                    array.optJSONObject(i).remove(key);
                }
            }
        }
        return array;
    }
    /**
     * 单品详情API
     *
@@ -400,8 +425,12 @@
        if (resultData.optInt("code") == 1) {
            Type type = new TypeToken<HDKGoodsDetail>() {
            }.getType();
            HDKGoodsDetail goodsDetail = new Gson().fromJson(resultData.optJSONObject("data").toString(), type);
            return goodsDetail;
               JSONObject data =  resultData.optJSONObject("data");
                HDKGoodsDetail goodsDetail = new Gson().fromJson(removeInvalidKeys(data).toString(), type);
                return goodsDetail;
        }
        return null;
    }
@@ -641,6 +670,7 @@
    public static void main(String[] args) {
        HaoDanKuApiUtil.getInstance().getTaoTeGoodsList(1, null, null, null, null, null);
//        HaoDanKuApiUtil.getInstance().getTaoTeGoodsList(1, null, null, null, null, null);
        HaoDanKuApiUtil.getInstance().listGoods(null,null,20);
    }
}
fanli/src/main/java/com/yeshi/fanli/job/goods/FreeGoodsCouponJob.java
@@ -59,7 +59,7 @@
    @XxlJob("freeGoodsCouponJob-addFreeGoods")
    public ReturnT<String> startPreOrderTeamIncome(String param) throws Exception {
    public ReturnT<String> addFreeGoods(String param) throws Exception {
        updateGoodsTB();
        updateGoodsPDD();
        return ReturnT.SUCCESS;
fanli/src/main/java/com/yeshi/fanli/util/factory/goods/TaoBaoGoodsFactory.java
@@ -49,11 +49,14 @@
                            MoneyBigDecimalUtil.getWithNoZera(goods.getCouponAmount())+ ""));
                else
                    goods.setCouponInfo(String.format("%s元无条件券", goods.getCouponAmount() + ""));
            }
            goods.setCouponLink(hdkGoods.getCouponurl());
            goods.setCouponLeftCount(hdkGoods.getCouponsurplus());
            goods.setCouponTotalCount(hdkGoods.getCouponnum());
            if(hdkGoods.getCouponsurplus()!=null) {
                goods.setCouponLeftCount(hdkGoods.getCouponsurplus());
            }
            if(hdkGoods.getCouponnum()!=null){
                goods.setCouponTotalCount(hdkGoods.getCouponnum());
            }
        }
        
        // 店铺