yujian
2019-05-14 8cb7ec4a35a38ae91d0eed17cde711e81d2b2bbf
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java
@@ -2,17 +2,18 @@
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.yeshi.fanli.dto.order.OrderQuery;
import com.yeshi.fanli.dto.taobao.WeiQuanOrderResult;
import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.TimeUtil;
@@ -584,8 +585,95 @@
      return orderList;
   }
   public static List<TaoBaoWeiQuanOrder> getTaoBaoWeiQuanOrderList() {
   public static WeiQuanOrderResult getTaoBaoRelationWeiQuanOrderList(Date startTime, int page, boolean third) {
      return null;
      return getRelationAndSpecialWeiQuanOrderList(startTime, page, third, 1);
   }
   public static WeiQuanOrderResult getTaoBaoSpecialWeiQuanOrderList(Date startTime, int page, boolean third) {
      return getRelationAndSpecialWeiQuanOrderList(startTime, page, third, 2);
   }
   private static WeiQuanOrderResult getRelationAndSpecialWeiQuanOrderList(Date startTime, int page, boolean third,
         int bizType) {
      WeiQuanOrderResult finalResult = new WeiQuanOrderResult();
      List<TaoBaoWeiQuanOrder> list = new ArrayList<>();
      finalResult.orderList = list;
      Map<String, String> map = new HashMap<>();
      map.put("method", "taobao.tbk.relation.refund");
      JSONObject option = new JSONObject();
      option.put("search_type", 1);
      option.put("refund_type", third ? 2 : 1);
      option.put("start_time", TimeUtil.getGernalTime(startTime.getTime(), "yyyy-MM-dd HH:mm:ss"));
      option.put("page_no", page);
      option.put("page_size", 100);
      option.put("biz_type", bizType);
      map.put("search_option", option.toString());
      TaoKeAppInfo app = new TaoKeAppInfo();
      app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
      app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
      try {
         JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
         JSONObject results = json.optJSONObject("tbk_relation_refund_response").optJSONObject("result")
               .optJSONObject("data").optJSONObject("results");
         if (results == null)
            return finalResult;
         int count = results.optInt("total_count");
         finalResult.totalCount = count;
         JSONArray array = results.optJSONArray("result");
         for (int i = 0; i < array.size(); i++) {
            JSONObject item = array.optJSONObject(i);
            TaoBaoWeiQuanOrder order = new TaoBaoWeiQuanOrder();
            order.setGoodsName(item.optString("tb_auction_title"));
            BigDecimal fanMoney = new BigDecimal(0);
            if (!StringUtil.isNullOrEmpty(item.optString("tk_subsidy_fee_refund3rd_pub"))) {
               fanMoney.add(new BigDecimal(item.optString("tk_subsidy_fee_refund3rd_pub")));
            }
            if (!StringUtil.isNullOrEmpty(item.optString("tk_commission_fee_refund3rd_pub"))) {
               fanMoney.add(new BigDecimal(item.optString("tk_commission_fee_refund3rd_pub")));
            }
            if (!StringUtil.isNullOrEmpty(item.optString("tk_subsidy_fee_refund_pub"))) {
               fanMoney.add(new BigDecimal(item.optString("tk_subsidy_fee_refund_pub")));
            }
            if (!StringUtil.isNullOrEmpty(item.optString("tk_commission_fee_refund_pub"))) {
               fanMoney.add(new BigDecimal(item.optString("tk_commission_fee_refund_pub")));
            }
            if (fanMoney.compareTo(new BigDecimal(0)) == 0)
               fanMoney = null;
            order.setFanMoney(fanMoney);
            order.setJieSuanTime(
                  new Date(TimeUtil.convertToTimeTemp(item.optString("earning_time"), "yyyy-MM-dd HH:mm:ss")));
            if (!StringUtil.isNullOrEmpty(item.optString("refund_fee")))
               order.setMoney(new BigDecimal(item.optString("refund_fee")));
            order.setOrderId(item.optString("tb_trade_parent_id"));
            order.setOrderItemId(item.optString("tb_trade_id"));
            int state = item.optInt("refund_status");
            if (state == 4)
               order.setState("维权创建");
            else if (state == 2)
               order.setState("维权成功");
            else if (state == 3)
               order.setState("维权失败");
            if (!StringUtil.isNullOrEmpty(item.optString("tk_refund_suit_time")))
               order.setWeiQuanFinishTime(new Date(
                     TimeUtil.convertToTimeTemp(item.optString("tk_refund_suit_time"), "yyyy-MM-dd HH:mm:ss")));
            order.setWeiQuanTime(
                  new Date(TimeUtil.convertToTimeTemp(item.optString("tk_refund_time"), "yyyy-MM-dd HH:mm:ss")));
            list.add(order);
         }
      } catch (Exception e) {
         e.printStackTrace();
      }
      return finalResult;
   }
}