admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java
@@ -109,6 +109,7 @@
        JSONArray array = null;
        JSONObject data = JSONObject.fromObject(response);
        try {
            //TODO 临时测试 tbk_order_details_get_response
            JSONObject rootData = data.optJSONObject("tbk_order_details_get_response").optJSONObject("data");
            array = rootData.optJSONObject("results").optJSONArray("publisher_order_dto");
            dto.setHasPre(rootData.optBoolean("has_pre"));
@@ -123,91 +124,7 @@
                JSONObject item = array.optJSONObject(i);
                try {
                    TaoBaoOrder taoBaoOrder = new TaoBaoOrder();
                    taoBaoOrder.setAdPositionId(item.optString("adzone_id"));
                    taoBaoOrder.setAdPositionName(item.optString("adzone_name"));
                    taoBaoOrder.setAuctionId(item.optLong("item_id"));
                    taoBaoOrder.setClassName(item.optString("item_category_name"));
                    taoBaoOrder.setClickTime(item.optString("click_time"));
                    taoBaoOrder.setPayTime(item.optString("tb_paid_time"));
                    taoBaoOrder.setCount(item.optInt("item_num"));
                    taoBaoOrder.setCreateTime(item.optString("tk_create_time"));
                    if (!StringUtil.isNullOrEmpty(item.optString("total_commission_fee")))
                        taoBaoOrder.seteIncome(new BigDecimal(item.optString("total_commission_fee")));
                    else
                        taoBaoOrder.seteIncome(new BigDecimal(0));
                    if (!StringUtil.isNullOrEmpty(item.optString("pub_share_pre_fee")))
                        taoBaoOrder.setEstimate(new BigDecimal(item.optString("pub_share_pre_fee")));
                    else
                        taoBaoOrder.setEstimate(new BigDecimal(0));
                    taoBaoOrder.setiRatio(new BigDecimal(item.optString("income_rate")));
                    taoBaoOrder.setLatestUpdateTime(null);
                    taoBaoOrder.setManagerWangWang(null);
                    taoBaoOrder.setOrderBy(null);
                    taoBaoOrder.setOrderId(item.optString("trade_parent_id"));
                    if (item.optInt("tk_status") == 12)
                        taoBaoOrder.setOrderState("订单付款");
                    else if (item.optInt("tk_status") == 3)
                        taoBaoOrder.setOrderState("订单结算");
                    else if (item.optInt("tk_status") == 13)
                        taoBaoOrder.setOrderState("订单失效");
                    else if (item.optInt("tk_status") == 14)
                        taoBaoOrder.setOrderState("订单成功");
                    taoBaoOrder.setOrderType(item.optString("order_type"));
                    if (!StringUtil.isNullOrEmpty(item.optString("alipay_total_price")))
                        taoBaoOrder.setPayment(new BigDecimal(item.optString("alipay_total_price")));
                    else
                        taoBaoOrder.setPayment(new BigDecimal(0));
                    if (StringUtil.isNullOrEmpty(item.optString("item_price")))
                        taoBaoOrder.setPrice(new BigDecimal(0));
                    else
                        taoBaoOrder.setPrice(new BigDecimal(item.optString("item_price")));
                    if (!StringUtil.isNullOrEmpty(item.optString("pay_price")))
                        taoBaoOrder.setSettlement(new BigDecimal(item.optString("pay_price")));
                    else
                        taoBaoOrder.setSettlement(taoBaoOrder.getPayment());
                    taoBaoOrder.setSettlementTime(item.optString("tk_earning_time"));
                    taoBaoOrder.setShop(item.optString("seller_shop_title"));
                    taoBaoOrder.setSourceMediaId(item.optString("site_id"));
                    taoBaoOrder.setSourceMediaName(item.optString("site_name"));
                    taoBaoOrder.setsRatio(null);
                    if (!StringUtil.isNullOrEmpty(item.optString("subsidy_fee")))// 补贴金额
                        taoBaoOrder.setSubsidy(new BigDecimal(item.optString("subsidy_fee")));
                    if (!StringUtil.isNullOrEmpty(item.optString("subsidy_rate")))
                        taoBaoOrder.setSubsidyRatio(new BigDecimal(item.optString("subsidy_rate")));
                    taoBaoOrder.setSubsidyType(item.optString("subsidy_type"));
                    taoBaoOrder.setTechnologySupportPercent(null);
                    taoBaoOrder.setThirdService(null);
                    taoBaoOrder.setTitle(item.optString("item_title"));
                    if (!StringUtil.isNullOrEmpty(item.optString("total_commission_fee")))
                        taoBaoOrder.setTkMoney(new BigDecimal(item.optString("total_commission_fee")));
                    else
                        taoBaoOrder.setTkMoney(new BigDecimal(0));
                    if (!StringUtil.isNullOrEmpty(item.optString("commission_rate")))
                        taoBaoOrder.setTkRate(new BigDecimal(item.optString("commission_rate")));
                    else if (!StringUtil.isNullOrEmpty(item.optString("total_commission_rate")))
                        taoBaoOrder.setTkRate(new BigDecimal(item.optString("total_commission_rate")));
                    taoBaoOrder.setTransactionPlatform(item.optString("terminal_type"));
                    taoBaoOrder.setRelationId(item.optString("relation_id"));
                    taoBaoOrder.setSpecialId(item.optString("special_id"));
                    taoBaoOrder.setTradeId(item.optString("trade_id"));
                    // 解析商品信息
                    TaoBaoOrderGoods goods = new TaoBaoOrderGoods();
                    goods.setCategoryName(item.optString("item_category_name"));
                    goods.setCreateTime(new Date());
                    goods.setGoodsId(item.optLong("item_id"));
                    goods.setImg(item.optString("item_img"));
                    goods.setLink(item.optString("item_link"));
                    goods.setPrice(item.optString("item_price"));
                    goods.setTitle(item.optString("item_title"));
                    goods.setTradeId(item.optString("trade_id"));
                    if (goods.getImg() != null && !goods.getImg().startsWith("http")) {
                        goods.setImg("http:" + goods.getImg());
                    }
                    taoBaoOrder.setGoods(goods);
                    TaoBaoOrder taoBaoOrder = parseTaoBaoOrderNew(item);
                    orderList.add(taoBaoOrder);
                } catch (Exception e) {
                    try {
@@ -425,8 +342,8 @@
     *
     * @param startTime
     * @param endTime
     * @param status 12-付款,13-关闭,14-确认收货,3-结算成功;不传
     * @param queryType 1:按照订单淘客创建时间查询,2:按照订单淘客付款时间查询,3:按照订单淘客结算时间查询
     * @param status     12-付款,13-关闭,14-确认收货,3-结算成功;不传
     * @param queryType  1:按照订单淘客创建时间查询,2:按照订单淘客付款时间查询,3:按照订单淘客结算时间查询
     * @param orderScene 1:常规订单,2:渠道订单,3:会员运营订单
     * @return
     */
@@ -496,12 +413,14 @@
        params.put("order_scene", orderScene + "");
        if (!StringUtil.isNullOrEmpty(positionIndex))
            params.put("position_index", positionIndex + "");
        //TODO 临时测试taobao.tbk.order.details.get
        params.put("method", "taobao.tbk.order.details.get");
        TaoKeAppInfo app = new TaoKeAppInfo();
        app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
        app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
        try {
            JSONObject json = TaoKeBaseUtil.baseRequest(params, app);
            System.out.println(json.toString());
            if (Constant.IS_TEST)
                System.out.println(json);
            if (clazz instanceof TaoBaoOrder)
@@ -512,6 +431,95 @@
            e.printStackTrace();
        }
        return null;
    }
    public static TaoBaoOrder parseTaoBaoOrderNew(JSONObject item) {
        TaoBaoOrder taoBaoOrder = new TaoBaoOrder();
        taoBaoOrder.setAdPositionId(item.optString("adzone_id"));
        taoBaoOrder.setAdPositionName(item.optString("adzone_name"));
        taoBaoOrder.setAuctionId(item.optString("item_id"));
        taoBaoOrder.setClassName(item.optString("item_category_name"));
        taoBaoOrder.setClickTime(item.optString("click_time"));
        taoBaoOrder.setPayTime(item.optString("tb_paid_time"));
        taoBaoOrder.setCount(item.optInt("item_num"));
        taoBaoOrder.setCreateTime(item.optString("tk_create_time"));
        if (!StringUtil.isNullOrEmpty(item.optString("total_commission_fee")))
            taoBaoOrder.seteIncome(new BigDecimal(item.optString("total_commission_fee")));
        else
            taoBaoOrder.seteIncome(new BigDecimal(0));
        if (!StringUtil.isNullOrEmpty(item.optString("pub_share_pre_fee")))
            taoBaoOrder.setEstimate(new BigDecimal(item.optString("pub_share_pre_fee")));
        else
            taoBaoOrder.setEstimate(new BigDecimal(0));
        taoBaoOrder.setiRatio(new BigDecimal(item.optString("income_rate")));
        taoBaoOrder.setLatestUpdateTime(null);
        taoBaoOrder.setManagerWangWang(null);
        taoBaoOrder.setOrderBy(null);
        taoBaoOrder.setOrderId(item.optString("trade_parent_id"));
        if (item.optInt("tk_status") == 12)
            taoBaoOrder.setOrderState("订单付款");
        else if (item.optInt("tk_status") == 3)
            taoBaoOrder.setOrderState("订单结算");
        else if (item.optInt("tk_status") == 13)
            taoBaoOrder.setOrderState("订单失效");
        else if (item.optInt("tk_status") == 14)
            taoBaoOrder.setOrderState("订单成功");
        taoBaoOrder.setOrderType(item.optString("order_type"));
        if (!StringUtil.isNullOrEmpty(item.optString("alipay_total_price")))
            taoBaoOrder.setPayment(new BigDecimal(item.optString("alipay_total_price")));
        else
            taoBaoOrder.setPayment(new BigDecimal(0));
        if (StringUtil.isNullOrEmpty(item.optString("item_price")))
            taoBaoOrder.setPrice(new BigDecimal(0));
        else
            taoBaoOrder.setPrice(new BigDecimal(item.optString("item_price")));
        if (!StringUtil.isNullOrEmpty(item.optString("pay_price")))
            taoBaoOrder.setSettlement(new BigDecimal(item.optString("pay_price")));
        else
            taoBaoOrder.setSettlement(taoBaoOrder.getPayment());
        taoBaoOrder.setSettlementTime(item.optString("tk_earning_time"));
        taoBaoOrder.setShop(item.optString("seller_shop_title"));
        taoBaoOrder.setSourceMediaId(item.optString("site_id"));
        taoBaoOrder.setSourceMediaName(item.optString("site_name"));
        taoBaoOrder.setsRatio(null);
        if (!StringUtil.isNullOrEmpty(item.optString("subsidy_fee")))// 补贴金额
            taoBaoOrder.setSubsidy(new BigDecimal(item.optString("subsidy_fee")));
        if (!StringUtil.isNullOrEmpty(item.optString("subsidy_rate")))
            taoBaoOrder.setSubsidyRatio(new BigDecimal(item.optString("subsidy_rate")));
        taoBaoOrder.setSubsidyType(item.optString("subsidy_type"));
        taoBaoOrder.setTechnologySupportPercent(null);
        taoBaoOrder.setThirdService(null);
        taoBaoOrder.setTitle(item.optString("item_title"));
        if (!StringUtil.isNullOrEmpty(item.optString("total_commission_fee")))
            taoBaoOrder.setTkMoney(new BigDecimal(item.optString("total_commission_fee")));
        else
            taoBaoOrder.setTkMoney(new BigDecimal(0));
        if (!StringUtil.isNullOrEmpty(item.optString("commission_rate")))
            taoBaoOrder.setTkRate(new BigDecimal(item.optString("commission_rate")));
        else if (!StringUtil.isNullOrEmpty(item.optString("total_commission_rate")))
            taoBaoOrder.setTkRate(new BigDecimal(item.optString("total_commission_rate")));
        taoBaoOrder.setTransactionPlatform(item.optString("terminal_type"));
        taoBaoOrder.setRelationId(item.optString("relation_id"));
        taoBaoOrder.setSpecialId(item.optString("special_id"));
        taoBaoOrder.setTradeId(item.optString("trade_id"));
        // 解析商品信息
        TaoBaoOrderGoods goods = new TaoBaoOrderGoods();
        goods.setCategoryName(item.optString("item_category_name"));
        goods.setCreateTime(new Date());
        goods.setGoodsId(item.optString("item_id"));
        goods.setImg(item.optString("item_img"));
        goods.setLink(item.optString("item_link"));
        goods.setPrice(item.optString("item_price"));
        goods.setTitle(item.optString("item_title"));
        goods.setTradeId(item.optString("trade_id"));
        if (goods.getImg() != null && !goods.getImg().startsWith("http")) {
            goods.setImg("http:" + goods.getImg());
        }
        taoBaoOrder.setGoods(goods);
        return taoBaoOrder;
    }
@@ -557,4 +565,16 @@
        return null;
    }
    public static void main(String[] args){
        long endTime=TimeUtil.convertToTimeTemp("2022-09-20 11:16:50","yyyy-MM-dd HH:mm:ss");
        long startTime=TimeUtil.convertToTimeTemp("2022-09-20 11:16:48","yyyy-MM-dd HH:mm:ss");
        List<TaoBaoOrder> orderList=  getTaoBaoSpecialOrderList(startTime,endTime,1);
        orderList=  getTaoBaoCommonOrderList(startTime,endTime,1);
        orderList=  getTaoBaoRelationOrderList(startTime,endTime,1);
        System.out.println(orderList);
    }
}