Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_backend
Commits
65dbfc3c
Commit
65dbfc3c
authored
Aug 15, 2023
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新图片url
parent
88f442b6
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
47 additions
and
15 deletions
+47
-15
ch-admin-api/src/main/java/com/wwdz/ch/admin/job/SynCoinJob.java
...n-api/src/main/java/com/wwdz/ch/admin/job/SynCoinJob.java
+33
-13
ch-core/src/main/resources/application-dev.yml
ch-core/src/main/resources/application-dev.yml
+1
-1
ch-core/src/main/resources/application-prod.yml
ch-core/src/main/resources/application-prod.yml
+1
-1
ch-dao/src/main/java/com/wwdz/ch/db/dao/ItemDao.java
ch-dao/src/main/java/com/wwdz/ch/db/dao/ItemDao.java
+2
-0
ch-dao/src/main/java/com/wwdz/ch/db/impl/ItemDaoImpl.java
ch-dao/src/main/java/com/wwdz/ch/db/impl/ItemDaoImpl.java
+10
-0
No files found.
ch-admin-api/src/main/java/com/wwdz/ch/admin/job/SynCoinJob.java
View file @
65dbfc3c
...
...
@@ -19,9 +19,13 @@ import org.springframework.stereotype.Component;
import
javax.imageio.ImageIO
;
import
java.awt.image.BufferedImage
;
import
java.io.ByteArrayInputStream
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.net.MalformedURLException
;
import
java.net.URL
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.UUID
;
import
java.util.stream.IntStream
;
...
...
@@ -106,37 +110,36 @@ public class SynCoinJob {
CoinRequestDto
dto
=
new
CoinRequestDto
();
dto
.
setPage
(
i
);
dto
.
setLimit
(
100
);
PageInfo
<
Item
>
pageInfo2
=
itemDao
.
findByPage
(
coinRequestDto
);
List
<
Item
>
itemList
=
pageInfo2
.
getList
();
List
<
Item
>
itemList
=
itemDao
.
findListByPage
(
dto
);
itemList
.
parallelStream
().
forEach
(
item
->
{
String
imageUrl
=
item
.
getImages
();
if
(
StringUtils
.
hasLength
(
imageUrl
))
{
String
[]
images
=
imageUrl
.
split
(
";"
);
String
newImages
=
""
;
for
(
String
image
:
images
)
{
if
(
StringUtils
.
hasLength
(
newImages
)
)
{
newImages
=
newImages
+
";"
;
String
Buffer
stringBuffer
=
new
StringBuffer
()
;
Arrays
.
stream
(
images
).
parallel
().
forEach
(
image
->
{
if
(
stringBuffer
.
length
()
!=
0
)
{
stringBuffer
.
append
(
";"
)
;
}
try
{
URL
url
=
new
URL
(
image
);
InputStream
inputStream
=
url
.
openStream
();
BufferedImage
bufferedImage
=
ImageIO
.
read
(
inputStream
);
String
keyName
=
CommConsts
.
UPLOAD_PRE_DIRECTORY
+
CommonUtils
.
getUUID
()
+
"_"
+
bufferedImage
.
getWidth
()
+
"x"
+
bufferedImage
.
getHeight
()
+
"."
+
MediaTypeEnum
.
IMAGE_JPG
.
getExt
();
InputStream
imageStream
=
url
.
openStream
();
InputStream
imageStream
=
bufferedImageToInputStream
(
bufferedImage
,
MediaTypeEnum
.
IMAGE_JPG
.
getExt
());
qiniuStorage
.
store
(
imageStream
,
1
,
MediaTypeEnum
.
IMAGE_JPG
.
getMime
(),
keyName
);
String
urlOfSize
=
qiniuStorage
.
generateUrl
(
keyName
);
logger
.
info
(
">>>>>>>>>>>>> id : {} ; new URL = {}"
,
item
.
getId
(),
urlOfSize
);
newImages
=
newImages
+
urlOfSize
;
stringBuffer
.
append
(
urlOfSize
)
;
}
catch
(
Exception
e
)
{
newImages
=
newImages
+
image
;
logger
.
error
(
"更新图片 url : {}"
,
e
);
}
stringBuffer
.
append
(
image
);
logger
.
error
(
"更新图片错误 id: {} , url : {}, error :{}"
,
item
.
getId
(),
image
,
e
);
}
});
Item
updateItem
=
new
Item
();
updateItem
.
setId
(
item
.
getId
());
updateItem
.
setImages
(
newImages
);
updateItem
.
setImages
(
stringBuffer
.
toString
()
);
itemDao
.
update
(
updateItem
);
logger
.
info
(
">>>>>>>>>>>>> id : {} ; 更新图片地址成功 !!!"
,
item
.
getId
());
}
});
logger
.
info
(
">>>>>>>>>>>>>>>>> 更新商品图片尺寸的页码: {}, 更新成功 <<<<<<<<<<<<<<<<<"
,
i
);
...
...
@@ -148,4 +151,21 @@ public class SynCoinJob {
}
/**
* 将BufferedImage转换为InputStream
*
* @param image 数据源
* @param type 图片格式
* @return
*/
private
static
InputStream
bufferedImageToInputStream
(
BufferedImage
image
,
String
type
)
{
try
(
ByteArrayOutputStream
os
=
new
ByteArrayOutputStream
())
{
ImageIO
.
write
(
image
,
type
,
os
);
return
new
ByteArrayInputStream
(
os
.
toByteArray
());
}
catch
(
IOException
e
)
{
logger
.
error
(
"bufferedImageToInputStream 出错,原因: {}"
,
e
);
}
return
null
;
}
}
ch-core/src/main/resources/application-dev.yml
View file @
65dbfc3c
...
...
@@ -134,7 +134,7 @@ spring:
username
:
owner
password
:
VS1xaA37hyu1wJSw
initial-size
:
10
max-active
:
1
00
max-active
:
2
00
min-idle
:
10
max-wait
:
600000
pool-prepared-statements
:
true
...
...
ch-core/src/main/resources/application-prod.yml
View file @
65dbfc3c
...
...
@@ -133,7 +133,7 @@ spring:
username
:
quanku
password
:
3N0W8i0b1Wm35MJ5
initial-size
:
10
max-active
:
1
00
max-active
:
2
00
min-idle
:
10
max-wait
:
60000
pool-prepared-statements
:
true
...
...
ch-dao/src/main/java/com/wwdz/ch/db/dao/ItemDao.java
View file @
65dbfc3c
...
...
@@ -17,6 +17,8 @@ public interface ItemDao {
List
<
Item
>
findList
(
CoinRequestDto
coinRequestDto
);
List
<
Item
>
findListByPage
(
CoinRequestDto
coinRequestDto
);
PageInfo
<
Item
>
findByPage
(
CoinRequestDto
coinRequestDto
);
Item
findDetails
(
Long
id
);
...
...
ch-dao/src/main/java/com/wwdz/ch/db/impl/ItemDaoImpl.java
View file @
65dbfc3c
...
...
@@ -50,6 +50,16 @@ public class ItemDaoImpl implements ItemDao {
return
itemMapper
.
selectByExample
(
example
);
}
@Override
public
List
<
Item
>
findListByPage
(
CoinRequestDto
coinRequestDto
)
{
ItemExample
example
=
new
ItemExample
();
ItemExample
.
Criteria
criteria
=
example
.
createCriteria
();
example
.
setOrderByClause
(
"create_time asc"
);
PageHelper
.
startPage
(
coinRequestDto
.
getPage
(),
coinRequestDto
.
getLimit
());
return
itemMapper
.
selectByExampleWithBLOBs
(
example
);
}
@Override
public
PageInfo
<
Item
>
findByPage
(
CoinRequestDto
coinRequestDto
)
{
ItemExample
example
=
new
ItemExample
();
...
...
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