| | |
| | | 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; |
| | |
| | | * @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){ |
| | | 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(); |
| | | 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; |
| | | } |
| | | |
| | | } |