Files
ruoyi-java/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/ITencentDocService.java
2026-03-01 00:04:24 +08:00

131 lines
3.5 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package com.ruoyi.jarvis.service;
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.jarvis.domain.JDOrder;
import java.util.List;
/**
* 腾讯文档服务接口
*
* @author system
*/
public interface ITencentDocService {
/**
* 获取授权URL
*
* @return 授权URL
*/
String getAuthUrl();
/**
* 通过授权码获取访问令牌
*
* @param code 授权码
* @return 访问令牌信息
*/
JSONObject getAccessTokenByCode(String code);
/**
* 刷新访问令牌
*
* @param refreshToken 刷新令牌
* @return 新的访问令牌信息
*/
JSONObject refreshAccessToken(String refreshToken);
/**
* 将物流信息上传到腾讯文档表格
*
* @param accessToken 访问令牌
* @param fileId 文件ID
* @param sheetId 工作表ID
* @param orders 订单列表
* @return 上传结果
*/
JSONObject uploadLogisticsToSheet(String accessToken, String fileId, String sheetId, List<JDOrder> orders);
/**
* 将单个订单的物流信息追加到表格
*
* @param accessToken 访问令牌
* @param fileId 文件ID
* @param sheetId 工作表ID
* @param order 订单信息
* @return 上传结果
*/
JSONObject appendLogisticsToSheet(String accessToken, String fileId, String sheetId, Integer startRow, JDOrder order);
/**
* 读取表格数据
*
* @param accessToken 访问令牌
* @param fileId 文件ID
* @param sheetId 工作表ID
* @param range 范围
* @return 表格数据
*/
JSONObject readSheetData(String accessToken, String fileId, String sheetId, String range);
/**
* 写入表格数据
*
* @param accessToken 访问令牌
* @param fileId 文件ID
* @param sheetId 工作表ID
* @param range 范围,例如 "A1"
* @param values 要写入的数据,二维数组格式
* @return 写入结果
*/
JSONObject writeSheetData(String accessToken, String fileId, String sheetId, String range, Object values);
/**
* 获取文件信息
*
* @param accessToken 访问令牌
* @param fileId 文件ID
* @return 文件信息
*/
JSONObject getFileInfo(String accessToken, String fileId);
/**
* 获取工作表列表
*
* @param accessToken 访问令牌
* @param fileId 文件ID
* @return 工作表列表
*/
JSONObject getSheetList(String accessToken, String fileId);
/**
* 获取指定工作表的行数(优先返回 rowCount-实际有数据的行数,其次 rowTotal
* 用于替代 Redis 上次记录的行数,决定批量填充的操作范围
*
* @param accessToken 访问令牌
* @param fileId 文件ID
* @param sheetId 工作表ID
* @return rowCount/rowTotal未找到或解析失败返回 0
*/
int getSheetRowTotal(String accessToken, String fileId, String sheetId);
/**
* 获取用户信息
*
* @param accessToken 访问令牌
* @return 用户信息
*/
JSONObject getUserInfo(String accessToken);
/**
* 批量更新表格batchUpdate API
*
* @param accessToken 访问令牌
* @param fileId 文件ID
* @param requestBody batchUpdate 请求体,包含 requests 数组
* @return 更新结果
*/
JSONObject batchUpdate(String accessToken, String fileId, JSONObject requestBody);
}