package com.ruoyi.order.util.douyin;
|
|
import com.douyin.openapi.client.Client;
|
import com.douyin.openapi.client.models.*;
|
import com.douyin.openapi.credential.models.Config;
|
|
import java.time.LocalDateTime;
|
import java.time.ZoneOffset;
|
|
/**
|
* 抖音订单工具类
|
* @author zhibing.pu
|
* @Date 2025/6/11 18:58
|
*/
|
public class OrderUtil {
|
|
|
/**
|
* 查询订单列表
|
* @param page
|
* @param pageSize
|
* @param startTime
|
* @param endTime
|
* @return
|
*/
|
public static OrderQueryResponse queryOrderList(Integer page, Integer pageSize, LocalDateTime startTime, LocalDateTime endTime) {
|
//判断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);
|
OrderQueryRequest queryRequest = new OrderQueryRequest();
|
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")));
|
}
|
if(null != endTime){
|
queryRequest.setEndTime(endTime.toEpochSecond(ZoneOffset.of("+8")));
|
}
|
OrderQueryResponse queryResponse = client.OrderQuery(queryRequest);
|
return queryResponse;
|
}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;
|
}
|
|
}
|