Merge remote-tracking branch 'origin/feature/REQ-3540' into feature/REQ-3540

This commit is contained in:
yanglin 2025-03-12 11:33:10 +08:00
commit cee6f39515
13 changed files with 109 additions and 49 deletions

View File

@ -5,11 +5,13 @@ import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.nanopart.doc.api.wps.request.WpsFetchDownloadRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsFetchFileRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsPermissionRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsRenameRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsUsersRequest;
import cn.axzo.nanopart.doc.api.wps.response.WpsFetchDownloadResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsFetchFileResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsPermissionResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsUsersResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsFetchDownloadResponse;
import cn.axzo.nanopart.doc.api.wps.response.WpsFetchFileResponse;
import cn.axzo.nanopart.doc.api.wps.response.WpsPermissionResponse;
import cn.axzo.nanopart.doc.api.wps.response.WpsRenameResponse;
import cn.axzo.nanopart.doc.api.wps.response.WpsUsersResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
@ -29,7 +31,7 @@ public interface WpsBaseApi {
*
*/
@PostMapping(value = "/v3/3rd/fetchFile")
ApiResult<WpsFetchFileResp> fetchFile(@Validated @RequestBody WpsFetchFileRequest request);
ApiResult<WpsFetchFileResponse> fetchFile(@Validated @RequestBody WpsFetchFileRequest request);
/**
* 获取文件下载地址
@ -37,7 +39,7 @@ public interface WpsBaseApi {
*
*/
@PostMapping(value = "/v3/3rd/fetchDownload")
ApiResult<WpsFetchDownloadResp> fetchDownload(@Validated @RequestBody WpsFetchDownloadRequest request);
ApiResult<WpsFetchDownloadResponse> fetchDownload(@Validated @RequestBody WpsFetchDownloadRequest request);
/**
* 文档用户权限
@ -46,7 +48,7 @@ public interface WpsBaseApi {
*
*/
@PostMapping(value = "/v3/3rd/permission")
ApiResult<WpsPermissionResp> permission(@Validated @RequestBody WpsPermissionRequest request);
ApiResult<WpsPermissionResponse> permission(@Validated @RequestBody WpsPermissionRequest request);
/**
* 用户信息
@ -54,6 +56,14 @@ public interface WpsBaseApi {
*
*/
@PostMapping(value = "/v3/3rd/users")
ApiResult<WpsUsersResp> users(@Validated @RequestBody WpsUsersRequest request);
ApiResult<WpsUsersResponse> users(@Validated @RequestBody WpsUsersRequest request);
/**
* 文档重命名
* 说明该接口用于在 WebOffice 侧重命名文档
*
*/
@PostMapping(value = "/v3/3rd/rename")
ApiResult<WpsRenameResponse> rename(@Validated @RequestBody WpsRenameRequest request);
}

View File

@ -5,15 +5,9 @@ import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.nanopart.doc.api.wps.request.WpsEditUploadAddressRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsEditUploadCompleteRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsEditUploadPrepareRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsFetchDownloadRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsFetchFileRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsPermissionRequest;
import cn.axzo.nanopart.doc.api.wps.response.WpsEditUploadAddressResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsEditUploadCompleteResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsEditUploadPrepareResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsFetchDownloadResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsFetchFileResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsPermissionResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsEditUploadAddressResponse;
import cn.axzo.nanopart.doc.api.wps.response.WpsEditUploadCompleteResponse;
import cn.axzo.nanopart.doc.api.wps.response.WpsEditUploadPrepareResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
@ -37,7 +31,7 @@ public interface WpsEditApi {
*
*/
@PostMapping(value = "/v3/3rd/files/upload/prepare")
ApiResult<WpsEditUploadPrepareResp> uploadPrepare(@Validated @RequestBody WpsEditUploadPrepareRequest request);
ApiResult<WpsEditUploadPrepareResponse> uploadPrepare(@Validated @RequestBody WpsEditUploadPrepareRequest request);
/**
* 文档编辑
@ -46,7 +40,7 @@ public interface WpsEditApi {
* 此外回调中也会带上本次保存的一些额外信息如文档大小手动/自动保存等
*/
@PostMapping(value = "/v3/3rd/files/upload/address")
ApiResult<WpsEditUploadAddressResp> uploadAddress(@Validated @RequestBody WpsEditUploadAddressRequest request);
ApiResult<WpsEditUploadAddressResponse> uploadAddress(@Validated @RequestBody WpsEditUploadAddressRequest request);
/**
* 文档编辑
@ -54,6 +48,6 @@ public interface WpsEditApi {
* 说明WebOffice 在将新版本文件上传到指定地址后将会回调通知接入方
*/
@PostMapping(value = "/v3/3rd/files/upload/complete")
ApiResult<WpsEditUploadCompleteResp> uploadComplete(@Validated @RequestBody WpsEditUploadCompleteRequest request);
ApiResult<WpsEditUploadCompleteResponse> uploadComplete(@Validated @RequestBody WpsEditUploadCompleteRequest request);
}

View File

@ -0,0 +1,32 @@
package cn.axzo.nanopart.doc.api.wps.request;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author xudawei@axzo.cn
* @date 2025/3/11
* @description 文件重命名
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WpsRenameRequest {
/**
* 文档编码
*/
private String docCode;
/**
* 新文档名称
*/
private String name;
}

View File

@ -16,7 +16,7 @@ import java.util.Map;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WpsEditUploadAddressResp {
public class WpsEditUploadAddressResponse {
/**
* 上传文档的 URL

View File

@ -14,7 +14,7 @@ import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WpsEditUploadCompleteResp {
public class WpsEditUploadCompleteResponse {
/**
* 文档编码

View File

@ -14,7 +14,7 @@ import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WpsEditUploadPrepareResp {
public class WpsEditUploadPrepareResponse {
/**
* 文档校验和算法 md5 sha1 sha256

View File

@ -16,7 +16,7 @@ import java.util.Map;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WpsFetchDownloadResp {
public class WpsFetchDownloadResponse {
/**
* 文档下载地址该地址需确保外网可访问且排除访问时防火墙的限制

View File

@ -14,7 +14,7 @@ import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WpsFetchFileResp {
public class WpsFetchFileResponse {
/**
* 文档编码

View File

@ -14,7 +14,7 @@ import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WpsPermissionResp {
public class WpsPermissionResponse {
/**
* 当前用户 Id update=1print=1时必须返回当前用户的 user_id

View File

@ -0,0 +1,20 @@
package cn.axzo.nanopart.doc.api.wps.response;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author xudawei@axzo.cn
* @date 2025/3/11
* @description 文件重命名
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WpsRenameResponse {
}

View File

@ -14,7 +14,7 @@ import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WpsUsersResp {
public class WpsUsersResponse {
/**
* 当前用户 ID

View File

@ -5,11 +5,13 @@ import cn.axzo.nanopart.doc.api.wps.WpsBaseApi;
import cn.axzo.nanopart.doc.api.wps.request.WpsFetchDownloadRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsFetchFileRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsPermissionRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsRenameRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsUsersRequest;
import cn.axzo.nanopart.doc.api.wps.response.WpsFetchDownloadResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsFetchFileResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsPermissionResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsUsersResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsFetchDownloadResponse;
import cn.axzo.nanopart.doc.api.wps.response.WpsFetchFileResponse;
import cn.axzo.nanopart.doc.api.wps.response.WpsPermissionResponse;
import cn.axzo.nanopart.doc.api.wps.response.WpsRenameResponse;
import cn.axzo.nanopart.doc.api.wps.response.WpsUsersResponse;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
@ -32,7 +34,7 @@ public class WpsBaseController implements WpsBaseApi {
*
*/
@Override
public ApiResult<WpsFetchFileResp> fetchFile(@Validated @RequestBody WpsFetchFileRequest request) {
public ApiResult<WpsFetchFileResponse> fetchFile(@Validated @RequestBody WpsFetchFileRequest request) {
return ApiResult.ok();
}
@ -43,7 +45,7 @@ public class WpsBaseController implements WpsBaseApi {
*
*/
@Override
public ApiResult<WpsFetchDownloadResp> fetchDownload(@Validated @RequestBody WpsFetchDownloadRequest request) {
public ApiResult<WpsFetchDownloadResponse> fetchDownload(@Validated @RequestBody WpsFetchDownloadRequest request) {
return ApiResult.ok();
}
@ -54,7 +56,7 @@ public class WpsBaseController implements WpsBaseApi {
*
*/
@Override
public ApiResult<WpsPermissionResp> permission(@Validated @RequestBody WpsPermissionRequest request) {
public ApiResult<WpsPermissionResponse> permission(@Validated @RequestBody WpsPermissionRequest request) {
return ApiResult.ok();
}
@ -64,7 +66,17 @@ public class WpsBaseController implements WpsBaseApi {
*
*/
@Override
public ApiResult<WpsUsersResp> users(@Validated @RequestBody WpsUsersRequest request) {
public ApiResult<WpsUsersResponse> users(@Validated @RequestBody WpsUsersRequest request) {
return ApiResult.ok();
}
/**
* 文档重命名
* 说明该接口用于在 WebOffice 侧重命名文档
*
*/
@Override
public ApiResult<WpsRenameResponse> rename(@Validated @RequestBody WpsRenameRequest request) {
return ApiResult.ok();
}

View File

@ -1,24 +1,16 @@
package cn.axzo.nanopart.doc.wps;
import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.nanopart.doc.api.wps.WpsBaseApi;
import cn.axzo.nanopart.doc.api.wps.WpsEditApi;
import cn.axzo.nanopart.doc.api.wps.request.WpsEditUploadAddressRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsEditUploadCompleteRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsEditUploadPrepareRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsFetchDownloadRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsFetchFileRequest;
import cn.axzo.nanopart.doc.api.wps.request.WpsPermissionRequest;
import cn.axzo.nanopart.doc.api.wps.response.WpsEditUploadAddressResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsEditUploadCompleteResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsEditUploadPrepareResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsFetchDownloadResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsFetchFileResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsPermissionResp;
import cn.axzo.nanopart.doc.api.wps.response.WpsEditUploadAddressResponse;
import cn.axzo.nanopart.doc.api.wps.response.WpsEditUploadCompleteResponse;
import cn.axzo.nanopart.doc.api.wps.response.WpsEditUploadPrepareResponse;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@ -42,7 +34,7 @@ public class WpsEditController implements WpsEditApi {
*
*/
@Override
public ApiResult<WpsEditUploadPrepareResp> uploadPrepare(@Validated @RequestBody WpsEditUploadPrepareRequest request) {
public ApiResult<WpsEditUploadPrepareResponse> uploadPrepare(@Validated @RequestBody WpsEditUploadPrepareRequest request) {
return ApiResult.ok();
}
@ -53,7 +45,7 @@ public class WpsEditController implements WpsEditApi {
* 此外回调中也会带上本次保存的一些额外信息如文档大小手动/自动保存等
*/
@Override
public ApiResult<WpsEditUploadAddressResp> uploadAddress(@Validated @RequestBody WpsEditUploadAddressRequest request) {
public ApiResult<WpsEditUploadAddressResponse> uploadAddress(@Validated @RequestBody WpsEditUploadAddressRequest request) {
return ApiResult.ok();
}
@ -63,7 +55,7 @@ public class WpsEditController implements WpsEditApi {
* 说明WebOffice 在将新版本文件上传到指定地址后将会回调通知接入方
*/
@Override
public ApiResult<WpsEditUploadCompleteResp> uploadComplete(@Validated @RequestBody WpsEditUploadCompleteRequest request) {
public ApiResult<WpsEditUploadCompleteResponse> uploadComplete(@Validated @RequestBody WpsEditUploadCompleteRequest request) {
return ApiResult.ok();
}