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
4d153134
Commit
4d153134
authored
Mar 23, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
push
parent
93314088
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
46 additions
and
22 deletions
+46
-22
yd-oss-feign/src/main/java/com/yd/oss/feign/dto/OssFileInfo.java
+10
-0
yd-oss-feign/src/main/java/com/yd/oss/feign/response/ApiRelObjectMaterialPageResponse.java
+2
-1
yd-oss-service/src/main/java/com/yd/oss/service/handler/JsonToListTypeHandler.java
+27
-17
yd-oss-service/src/main/resources/mappers/RelObjectMaterialMapper.xml
+7
-4
No files found.
yd-oss-feign/src/main/java/com/yd/oss/feign/dto/OssFileInfo.java
0 → 100644
View file @
4d153134
package
com
.
yd
.
oss
.
feign
.
dto
;
import
lombok.Data
;
@Data
public
class
OssFileInfo
{
private
String
fileUrl
;
private
String
fileName
;
}
\ No newline at end of file
yd-oss-feign/src/main/java/com/yd/oss/feign/response/ApiRelObjectMaterialPageResponse.java
View file @
4d153134
package
com
.
yd
.
oss
.
feign
.
response
;
import
com.yd.oss.feign.dto.OssFileInfo
;
import
lombok.Data
;
import
java.util.List
;
...
...
@@ -44,6 +45,6 @@ public class ApiRelObjectMaterialPageResponse {
/**
* 文件URL列表(完整路径)
*/
private
List
<
String
>
fileUrlList
;
private
List
<
OssFileInfo
>
fileUrlList
;
}
yd-oss-service/src/main/java/com/yd/oss/service/handler/
String
ToListTypeHandler.java
→
yd-oss-service/src/main/java/com/yd/oss/service/handler/
Json
ToListTypeHandler.java
View file @
4d153134
package
com
.
yd
.
oss
.
service
.
handler
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.yd.oss.feign.dto.OssFileInfo
;
import
org.apache.ibatis.type.BaseTypeHandler
;
import
org.apache.ibatis.type.JdbcType
;
import
org.apache.ibatis.type.MappedTypes
;
import
java.sql.CallableStatement
;
import
java.sql.PreparedStatement
;
import
java.sql.ResultSet
;
import
java.sql.SQLException
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@MappedTypes
(
List
.
class
)
public
class
StringToListTypeHandler
extends
BaseTypeHandler
<
List
<
String
>>
{
public
class
JsonToListTypeHandler
extends
BaseTypeHandler
<
List
<
OssFileInfo
>>
{
private
static
final
ObjectMapper
objectMapper
=
new
ObjectMapper
();
@Override
public
void
setNonNullParameter
(
PreparedStatement
ps
,
int
i
,
List
<
String
>
parameter
,
JdbcType
jdbcType
)
throws
SQLException
{
ps
.
setString
(
i
,
String
.
join
(
";"
,
parameter
));
public
void
setNonNullParameter
(
PreparedStatement
ps
,
int
i
,
List
<
OssFileInfo
>
parameter
,
JdbcType
jdbcType
)
throws
SQLException
{
try
{
ps
.
setString
(
i
,
objectMapper
.
writeValueAsString
(
parameter
));
}
catch
(
JsonProcessingException
e
)
{
throw
new
SQLException
(
e
);
}
}
@Override
public
List
<
String
>
getNullableResult
(
ResultSet
rs
,
String
columnName
)
throws
SQLException
{
public
List
<
OssFileInfo
>
getNullableResult
(
ResultSet
rs
,
String
columnName
)
throws
SQLException
{
String
value
=
rs
.
getString
(
columnName
);
return
convertStringToList
(
value
);
return
parseJsonArray
(
value
);
}
@Override
public
List
<
String
>
getNullableResult
(
ResultSet
rs
,
int
columnIndex
)
throws
SQLException
{
public
List
<
OssFileInfo
>
getNullableResult
(
ResultSet
rs
,
int
columnIndex
)
throws
SQLException
{
String
value
=
rs
.
getString
(
columnIndex
);
return
convertStringToList
(
value
);
return
parseJsonArray
(
value
);
}
@Override
public
List
<
String
>
getNullableResult
(
CallableStatement
cs
,
int
columnIndex
)
throws
SQLException
{
public
List
<
OssFileInfo
>
getNullableResult
(
CallableStatement
cs
,
int
columnIndex
)
throws
SQLException
{
String
value
=
cs
.
getString
(
columnIndex
);
return
convertStringToList
(
value
);
return
parseJsonArray
(
value
);
}
private
List
<
String
>
convertStringToList
(
String
value
)
{
private
List
<
OssFileInfo
>
parseJsonArray
(
String
value
)
{
if
(
value
==
null
||
value
.
trim
().
isEmpty
())
{
return
Collections
.
emptyList
();
}
return
Arrays
.
stream
(
value
.
split
(
";"
))
.
map
(
String:
:
trim
)
.
filter
(
s
->
!
s
.
isEmpty
())
.
collect
(
Collectors
.
toList
());
try
{
return
objectMapper
.
readValue
(
value
,
new
TypeReference
<
List
<
OssFileInfo
>>()
{});
}
catch
(
JsonProcessingException
e
)
{
return
Collections
.
emptyList
();
}
}
}
\ No newline at end of file
yd-oss-service/src/main/resources/mappers/RelObjectMaterialMapper.xml
View file @
4d153134
...
...
@@ -11,8 +11,8 @@
<result
property=
"dataType"
column=
"data_type"
/>
<result
property=
"precautions"
column=
"precautions"
/>
<!-- 使用类型处理器将分号分隔的字符串转换为List -->
<result
property=
"fileUrlList"
column=
"file_
url
s"
typeHandler=
"com.yd.oss.service.handler.
String
ToListTypeHandler"
/>
<result
property=
"fileUrlList"
column=
"file_
info
s"
typeHandler=
"com.yd.oss.service.handler.
Json
ToListTypeHandler"
/>
</resultMap>
<select
id=
"page"
resultMap=
"RelObjectMaterialResponseMap"
>
...
...
@@ -25,9 +25,12 @@
m.data_type,
m.precautions,
GROUP_CONCAT(
CONCAT('https://', f.bucket_name, '.', p.endpoint, '/', f.file_key)
JSON_OBJECT(
'fileUrl', CONCAT('https://', f.bucket_name, '.', p.endpoint, '/', f.file_key),
'fileName', f.original_name
)
SEPARATOR ';'
) as file_
url
s
) as file_
info
s
FROM rel_object_material rom
LEFT JOIN material m ON m.material_biz_id = rom.material_biz_id AND m.is_deleted = 0
LEFT JOIN oss_file f ON f.object_biz_id = rom.rel_object_material_biz_id
...
...
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