package com.ruoyi.order.util.douyin;
|
|
import com.douyin.openapi.client.Client;
|
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;
|
|
/**
|
* 抖音订单工具类
|
* @author zhibing.pu
|
* @Date 2025/6/11 18:58
|
*/
|
@Slf4j
|
public class OrderUtil {
|
|
|
/**
|
* 查询订单列表
|
*
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
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) {
|
ClientTokenUtil.getClientToken();
|
}
|
try {
|
Config config = new Config().setClientKey(DouyinConfig.CLIENT_KEY).setClientSecret(DouyinConfig.CLIENT_SECRET); // 改成自己的app_id跟secret
|
Client client = new Client(config);
|
TradeOrderQueryRequest queryRequest = new TradeOrderQueryRequest();
|
queryRequest.setAccessToken(ClientTokenUtil.token);
|
queryRequest.setAccountId(DouyinConfig.ACCOUNT_ID);
|
queryRequest.setPageNum(page);
|
queryRequest.setPageSize(pageSize);
|
if (StringUtils.isNotEmpty(order_id)) {
|
queryRequest.setOrderId(order_id);
|
}
|
TradeOrderQueryResponse tradeOrderQueryResponse = client.TradeOrderQuery(queryRequest);
|
TradeOrderQueryResponseExtra extra = tradeOrderQueryResponse.getExtra();
|
Integer errorCode = extra.getErrorCode();
|
if (0 != errorCode) {
|
log.error("【抖音】查询订单失败:" + extra.getDescription());
|
return null;
|
}
|
return tradeOrderQueryResponse.getData();
|
}catch (Exception e) {
|
e.printStackTrace();
|
}
|
return null;
|
}
|
|
|
}
|