Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-oss
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xingmin
yd-oss
Commits
3c19d30b
Commit
3c19d30b
authored
Sep 12, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev_zxm' into test
parents
1dfa72ab
024c4054
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
131 additions
and
10 deletions
+131
-10
yd-oss-api/src/main/java/com/yd/oss/api/controller/ApiPdfController.java
+17
-0
yd-oss-api/src/main/java/com/yd/oss/api/service/ApiPdfService.java
+9
-0
yd-oss-api/src/main/java/com/yd/oss/api/service/impl/ApiPdfServiceImpl.java
+38
-0
yd-oss-feign/src/main/java/com/yd/oss/feign/annotation/PdfField.java
+1
-1
yd-oss-feign/src/main/java/com/yd/oss/feign/client/ApiOssFeignClient.java
+1
-1
yd-oss-feign/src/main/java/com/yd/oss/feign/client/ApiPdfFeignClient.java
+14
-1
yd-oss-feign/src/main/java/com/yd/oss/feign/enums/TemplateTypeEnum.java
+1
-1
yd-oss-feign/src/main/java/com/yd/oss/feign/fallback/ApiPdfFeignFallbackFactory.java
+15
-1
yd-oss-feign/src/main/java/com/yd/oss/feign/request/ApiGeneratePdfRequest.java
+22
-0
yd-oss-feign/src/main/java/com/yd/oss/feign/response/ApiGeneratePdfResponse.java
+12
-0
yd-oss-service/src/main/java/com/yd/oss/service/service/impl/AnnotationFieldValueProvider.java
+1
-1
yd-oss-service/src/main/java/com/yd/oss/service/service/impl/PdfServiceImpl.java
+0
-4
No files found.
yd-oss-api/src/main/java/com/yd/oss/api/controller/ApiPdfController.java
View file @
3c19d30b
package
com
.
yd
.
oss
.
api
.
controller
;
import
com.yd.common.result.Result
;
import
com.yd.oss.api.service.ApiPdfService
;
import
com.yd.oss.feign.client.ApiPdfFeignClient
;
import
com.yd.oss.feign.request.ApiGeneratePdfRequest
;
import
com.yd.oss.feign.response.ApiGeneratePdfResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -16,4 +21,16 @@ import org.springframework.web.bind.annotation.RestController;
@Validated
public
class
ApiPdfController
implements
ApiPdfFeignClient
{
@Autowired
private
ApiPdfService
apiPdfService
;
/**
* 根据文件模板填充数据生成PDF
* @param request
* @return
*/
@Override
public
Result
<
ApiGeneratePdfResponse
>
generatePDF
(
ApiGeneratePdfRequest
request
)
{
return
apiPdfService
.
generatePDF
(
request
);
}
}
yd-oss-api/src/main/java/com/yd/oss/api/service/ApiPdfService.java
0 → 100644
View file @
3c19d30b
package
com
.
yd
.
oss
.
api
.
service
;
import
com.yd.common.result.Result
;
import
com.yd.oss.feign.request.ApiGeneratePdfRequest
;
import
com.yd.oss.feign.response.ApiGeneratePdfResponse
;
public
interface
ApiPdfService
{
Result
<
ApiGeneratePdfResponse
>
generatePDF
(
ApiGeneratePdfRequest
request
);
}
yd-oss-api/src/main/java/com/yd/oss/api/service/impl/ApiPdfServiceImpl.java
0 → 100644
View file @
3c19d30b
package
com
.
yd
.
oss
.
api
.
service
.
impl
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.oss.api.service.ApiPdfService
;
import
com.yd.oss.feign.request.ApiGeneratePdfRequest
;
import
com.yd.oss.feign.response.ApiGeneratePdfResponse
;
import
com.yd.oss.service.service.PdfService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.io.IOException
;
@Slf4j
@Service
public
class
ApiPdfServiceImpl
implements
ApiPdfService
{
@Autowired
private
PdfService
pdfService
;
/**
* 根据文件模板填充数据生成PDF
* @param request
* @return
*/
@Override
public
Result
<
ApiGeneratePdfResponse
>
generatePDF
(
ApiGeneratePdfRequest
request
)
{
ApiGeneratePdfResponse
response
=
new
ApiGeneratePdfResponse
();
try
{
String
url
=
pdfService
.
generatePDF
(
request
.
getDataObject
(),
request
.
getObjectId
(),
request
.
getTemplateType
());
response
.
setUrl
(
url
);
return
Result
.
success
(
response
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
throw
new
BusinessException
(
"生成PDF异常"
);
}
}
}
yd-oss-
service/src/main/java/com/yd/oss/service
/annotation/PdfField.java
→
yd-oss-
feign/src/main/java/com/yd/oss/feign
/annotation/PdfField.java
View file @
3c19d30b
package
com
.
yd
.
oss
.
service
.
annotation
;
package
com
.
yd
.
oss
.
feign
.
annotation
;
import
java.lang.annotation.ElementType
;
import
java.lang.annotation.Retention
;
...
...
yd-oss-feign/src/main/java/com/yd/oss/feign/client/ApiOssFeignClient.java
View file @
3c19d30b
...
...
@@ -14,7 +14,7 @@ import org.springframework.web.multipart.MultipartFile;
/**
* OSS服务信息Feign客户端
*/
@FeignClient
(
name
=
"yd-
user
-api"
,
fallbackFactory
=
ApiOssFeignFallbackFactory
.
class
)
@FeignClient
(
name
=
"yd-
oss
-api"
,
fallbackFactory
=
ApiOssFeignFallbackFactory
.
class
)
public
interface
ApiOssFeignClient
{
/**
...
...
yd-oss-feign/src/main/java/com/yd/oss/feign/client/ApiPdfFeignClient.java
View file @
3c19d30b
package
com
.
yd
.
oss
.
feign
.
client
;
import
com.yd.common.result.Result
;
import
com.yd.oss.feign.fallback.ApiPdfFeignFallbackFactory
;
import
com.yd.oss.feign.request.ApiGeneratePdfRequest
;
import
com.yd.oss.feign.response.ApiGeneratePdfResponse
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
/**
* PDF信息Feign客户端
*/
@FeignClient
(
name
=
"yd-
user-api"
,
fallbackFactory
=
ApiPdfFeignFallbackFactory
.
class
)
@FeignClient
(
name
=
"yd-
oss-api"
,
path
=
"/oss/api/pdf"
,
fallbackFactory
=
ApiPdfFeignFallbackFactory
.
class
)
public
interface
ApiPdfFeignClient
{
/**
* 根据文件模板填充数据生成PDF
* @param request
* @return
*/
@PostMapping
(
"/generate/pdf"
)
Result
<
ApiGeneratePdfResponse
>
generatePDF
(
@Validated
@RequestBody
ApiGeneratePdfRequest
request
);
}
yd-oss-
service/src/main/java/com/yd/oss/service
/enums/TemplateTypeEnum.java
→
yd-oss-
feign/src/main/java/com/yd/oss/feign
/enums/TemplateTypeEnum.java
View file @
3c19d30b
package
com
.
yd
.
oss
.
service
.
enums
;
package
com
.
yd
.
oss
.
feign
.
enums
;
/**
* 文件模板类型类型枚举
...
...
yd-oss-feign/src/main/java/com/yd/oss/feign/fallback/ApiPdfFeignFallbackFactory.java
View file @
3c19d30b
package
com
.
yd
.
oss
.
feign
.
fallback
;
import
com.yd.common.result.Result
;
import
com.yd.oss.feign.client.ApiPdfFeignClient
;
import
com.yd.oss.feign.request.ApiGeneratePdfRequest
;
import
com.yd.oss.feign.response.ApiGeneratePdfResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
/**
...
...
@@ -8,5 +13,14 @@ import org.springframework.stereotype.Component;
*/
@Slf4j
@Component
public
class
ApiPdfFeignFallbackFactory
{
public
class
ApiPdfFeignFallbackFactory
implements
FallbackFactory
<
ApiPdfFeignClient
>
{
@Override
public
ApiPdfFeignClient
create
(
Throwable
cause
)
{
return
new
ApiPdfFeignClient
()
{
@Override
public
Result
<
ApiGeneratePdfResponse
>
generatePDF
(
ApiGeneratePdfRequest
request
)
{
return
null
;
}
};
}
}
yd-oss-feign/src/main/java/com/yd/oss/feign/request/ApiGeneratePdfRequest.java
0 → 100644
View file @
3c19d30b
package
com
.
yd
.
oss
.
feign
.
request
;
import
lombok.Data
;
@Data
public
class
ApiGeneratePdfRequest
<
T
>
{
/**
* 生成文件填充的数据对象(泛型)
*/
private
T
dataObject
;
/**
* 数据对象业务id
*/
private
String
objectId
;
/**
* 生成文件的模板类型
*/
private
String
templateType
;
}
yd-oss-feign/src/main/java/com/yd/oss/feign/response/ApiGeneratePdfResponse.java
0 → 100644
View file @
3c19d30b
package
com
.
yd
.
oss
.
feign
.
response
;
import
lombok.Data
;
@Data
public
class
ApiGeneratePdfResponse
{
/**
* 访问路径
*/
private
String
url
;
}
yd-oss-service/src/main/java/com/yd/oss/service/service/impl/AnnotationFieldValueProvider.java
View file @
3c19d30b
package
com
.
yd
.
oss
.
service
.
service
.
impl
;
import
com.yd.oss.
service
.annotation.PdfField
;
import
com.yd.oss.
feign
.annotation.PdfField
;
import
com.yd.oss.service.service.FieldValueProvider
;
import
org.springframework.stereotype.Component
;
...
...
yd-oss-service/src/main/java/com/yd/oss/service/service/impl/PdfServiceImpl.java
View file @
3c19d30b
...
...
@@ -2,12 +2,10 @@ package com.yd.oss.service.service.impl;
import
com.aliyun.oss.HttpMethod
;
import
com.aliyun.oss.OSS
;
import
com.aliyun.oss.OSSClientBuilder
;
import
com.aliyun.oss.model.GeneratePresignedUrlRequest
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.yd.oss.service.dto.FileProdDto
;
import
com.yd.oss.service.model.OssProvider
;
import
com.yd.oss.service.service.*
;
import
com.yd.oss.service.utils.PdfUtil
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -15,8 +13,6 @@ import org.apache.poi.xwpf.usermodel.*;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.PostConstruct
;
import
java.io.*
;
import
java.net.URL
;
import
java.nio.file.Files
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment