Pu Zhibing
2 天以前 41422cb74d137e590fefefa4390cd6eedc02a0fb
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/douyin/OrderUtil.java
@@ -1,8 +1,13 @@
package com.ruoyi.order.util.douyin;
import com.douyin.openapi.client.Client;
import com.douyin.openapi.client.models.*;
import com.douyin.openapi.client.models.TradeOrderQueryRequest;
import com.douyin.openapi.client.models.TradeOrderQueryResponse;
import com.douyin.openapi.client.models.TradeOrderQueryResponseData;
import com.douyin.openapi.client.models.TradeOrderQueryResponseExtra;
import com.douyin.openapi.credential.models.Config;
import com.ruoyi.common.core.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
@@ -12,18 +17,18 @@
 * @author zhibing.pu
 * @Date 2025/6/11 18:58
 */
@Slf4j
public class OrderUtil {
   
   
   /**
    * 查询订单列表
    *
    * @param page
    * @param pageSize
    * @param startTime
    * @param endTime
    * @return
    */
   public static OrderQueryResponse queryOrderList(Integer page, Integer pageSize, LocalDateTime startTime, LocalDateTime endTime) {
   public static TradeOrderQueryResponseData queryOrderList(Integer page, Integer pageSize, String order_id) {
      //判断token是否过期
      long now = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8"));
      if(ClientTokenUtil.expiration_time < now){
@@ -32,75 +37,27 @@
      try {
         Config config = new Config().setClientKey(DouyinConfig.CLIENT_KEY).setClientSecret(DouyinConfig.CLIENT_SECRET); // 改成自己的app_id跟secret
         Client client = new Client(config);
         OrderQueryRequest queryRequest = new OrderQueryRequest();
         TradeOrderQueryRequest queryRequest = new TradeOrderQueryRequest();
         queryRequest.setAccessToken(ClientTokenUtil.token);
         queryRequest.setAccountId(DouyinConfig.ACCOUNT_ID);
         queryRequest.setPage(page);
         queryRequest.setSize(pageSize);
         if(null != startTime){
            queryRequest.setStartTime(startTime.toEpochSecond(ZoneOffset.of("+8")));
         queryRequest.setPageNum(page);
         queryRequest.setPageSize(pageSize);
         if (StringUtils.isNotEmpty(order_id)) {
            queryRequest.setOrderId(order_id);
         }
         if(null != endTime){
            queryRequest.setEndTime(endTime.toEpochSecond(ZoneOffset.of("+8")));
         TradeOrderQueryResponse tradeOrderQueryResponse = client.TradeOrderQuery(queryRequest);
         TradeOrderQueryResponseExtra extra = tradeOrderQueryResponse.getExtra();
         Integer errorCode = extra.getErrorCode();
         if (0 != errorCode) {
            log.error("【抖音】查询订单失败:" + extra.getDescription());
            return null;
         }
         OrderQueryResponse queryResponse = client.OrderQuery(queryRequest);
         return queryResponse;
         return tradeOrderQueryResponse.getData();
      }catch (Exception e) {
         e.printStackTrace();
      }
      return null;
   }
   
   /**
    * 根据订单id查询订单详情
    * @param orderId
    * @return
    */
   public static OrderGetResponse getOrder(String orderId) {
      //判断token是否过期
      long now = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8"));
      if(ClientTokenUtil.expiration_time < now){
         ClientTokenUtil.getClientToken();
      }
      try {
         Config config = new Config().setClientKey(DouyinConfig.CLIENT_KEY).setClientSecret(DouyinConfig.CLIENT_SECRET); // 改成自己的app_id跟secret
         Client client = new Client(config);
         OrderGetRequest getRequest = new OrderGetRequest();
         getRequest.setAccessToken(ClientTokenUtil.token);
         getRequest.setOrderId(orderId);
         OrderGetResponse orderGetResponse = client.OrderGet(getRequest);
         return orderGetResponse;
      }catch (Exception e) {
         e.printStackTrace();
      }
      return null;
   }
   /**
    * 根据订单id获取详细的订单信息
    * @param orderId
    * @return
    */
   public static OrderDetailGetResponse getOrderDetail(String orderId) {
      //判断token是否过期
      long now = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8"));
      if(ClientTokenUtil.expiration_time < now){
         ClientTokenUtil.getClientToken();
      }
      try {
         Config config = new Config().setClientKey(DouyinConfig.CLIENT_KEY).setClientSecret(DouyinConfig.CLIENT_SECRET); // 改成自己的app_id跟secret
         Client client = new Client(config);
         OrderDetailGetRequest request = new OrderDetailGetRequest();
         request.setAccessToken(ClientTokenUtil.token);
         request.setOrderId(orderId);
         OrderDetailGetResponse orderDetailGetResponse = client.OrderDetailGet(request);
         return orderDetailGetResponse;
      }catch (Exception e) {
         e.printStackTrace();
      }
      return null;
   }
   
}