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
88f442b6
Commit
88f442b6
authored
Aug 14, 2023
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新图片url
parent
4acb36d7
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
109 additions
and
34 deletions
+109
-34
ch-admin-api/src/main/java/com/wwdz/ch/admin/config/ShiroConfig.java
...i/src/main/java/com/wwdz/ch/admin/config/ShiroConfig.java
+1
-1
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/ItemController.java
...ain/java/com/wwdz/ch/admin/controller/ItemController.java
+2
-2
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
+52
-30
ch-core/src/main/java/com/wwdz/ch/core/consts/MediaTypeEnum.java
.../src/main/java/com/wwdz/ch/core/consts/MediaTypeEnum.java
+54
-0
ch-core/src/main/java/com/wwdz/ch/core/storage/QiniuStorage.java
.../src/main/java/com/wwdz/ch/core/storage/QiniuStorage.java
+0
-1
No files found.
ch-admin-api/src/main/java/com/wwdz/ch/admin/config/ShiroConfig.java
View file @
88f442b6
...
...
@@ -110,7 +110,7 @@ public class ShiroConfig {
filterChainDefinitionMap
.
put
(
"/admin/auth/index"
,
"anon"
);
filterChainDefinitionMap
.
put
(
"/admin/auth/403"
,
"anon"
);
filterChainDefinitionMap
.
put
(
"/actuator/health"
,
"anon"
);
// filterChainDefinitionMap.put("/admin/item/syn
", "anon");
filterChainDefinitionMap
.
put
(
"/admin/item/updateUrl
"
,
"anon"
);
// filterChainDefinitionMap.put("/admin/**", "anon");
filterChainDefinitionMap
.
put
(
"/admin/**"
,
"authc"
);
...
...
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/ItemController.java
View file @
88f442b6
...
...
@@ -61,8 +61,8 @@ public class ItemController {
return
result
;
}
// @GetMapping("/syn
")
@GetMapping
(
"/updateUrl
"
)
public
void
syn
()
{
synCoinJob
.
execut
e
();
synCoinJob
.
updateImageUrlOfsSiz
e
();
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/job/SynCoinJob.java
View file @
88f442b6
package
com.wwdz.ch.admin.job
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.core.consts.CommConsts
;
import
com.wwdz.ch.core.consts.CommonEnum
;
import
com.wwdz.ch.core.consts.MediaTypeEnum
;
import
com.wwdz.ch.core.storage.QiniuStorage
;
import
com.wwdz.ch.db.dao.CoinsDao
;
import
com.wwdz.ch.db.dao.ItemDao
;
import
com.wwdz.ch.db.domain.Coins
;
import
com.wwdz.ch.db.domain.Item
;
import
com.wwdz.ch.db.dto.request.CoinRequestDto
;
import
com.xxdxxs.utils.CommonUtils
;
import
com.xxdxxs.utils.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
javax.imageio.ImageIO
;
import
java.awt.image.BufferedImage
;
import
java.io.InputStream
;
import
java.net.MalformedURLException
;
import
java.net.URL
;
import
java.util.List
;
import
java.util.UUID
;
import
java.util.stream.IntStream
;
@Component
...
...
@@ -25,6 +37,9 @@ public class SynCoinJob {
@Autowired
CoinsDao
coinsDao
;
@Autowired
QiniuStorage
qiniuStorage
;
public
void
execute
()
{
...
...
@@ -78,7 +93,7 @@ public class SynCoinJob {
public
void
updateImageUrlOfsSize
()
{
logger
.
info
(
">>>>>>>>>>>>>>>>>>>>>>> 更新
item表
, 开始执行 <<<<<<<<<<<<<<<<<<<<<"
);
logger
.
info
(
">>>>>>>>>>>>>>>>>>>>>>> 更新
商品图片尺寸
, 开始执行 <<<<<<<<<<<<<<<<<<<<<"
);
try
{
CoinRequestDto
coinRequestDto
=
new
CoinRequestDto
();
coinRequestDto
.
setPage
(
1
);
...
...
@@ -87,41 +102,48 @@ public class SynCoinJob {
int
totalPageNum
=
pageInfo
.
getPages
();
logger
.
info
(
"total page : {}, total : {}"
,
totalPageNum
,
pageInfo
.
getTotal
());
IntStream
.
rangeClosed
(
1
,
totalPageNum
).
parallel
().
forEach
(
i
->
{
logger
.
info
(
">>>>>>>>>>>>>>>>> 当前
同步数据的页码: {} 同步
开始 <<<<<<<<<<<<<<<<<"
,
i
);
logger
.
info
(
">>>>>>>>>>>>>>>>> 当前
更新数据的页码: {} 更新
开始 <<<<<<<<<<<<<<<<<"
,
i
);
CoinRequestDto
dto
=
new
CoinRequestDto
();
dto
.
setPage
(
i
);
dto
.
setLimit
(
100
);
List
<
Coins
>
coinsList
=
coinsDao
.
findList
(
dto
);
coinsList
.
parallelStream
().
forEach
(
coins
->
{
Item
item
=
new
Item
();
item
.
setId
(
coins
.
getId
());
item
.
setName
(
coins
.
getName
());
item
.
setCid
(
coins
.
getCid
());
item
.
setIsOnSale
(
false
);
item
.
setIsStd
(
false
);
item
.
setSort
(
1
);
item
.
setImages
(
coins
.
getImages
());
item
.
setShareImage
(
null
);
item
.
setTopImage
(
null
);
item
.
setPrice
(
coins
.
getPrice
());
item
.
setDetail
(
coins
.
getDetail
());
item
.
setCreateTime
(
coins
.
getCreated
());
item
.
setSourceType
(
CommonEnum
.
SourceTypeEnum
.
SYSTEM_GET
.
getCode
());
item
.
setUpdateTime
(
coins
.
getUpdated
());
item
.
setIsDeleted
(
false
);
item
.
setBidTime
(
""
);
item
.
setRemark
(
null
);
item
.
setIsSetted
(
0
);
item
.
setOriginalExtra
(
coins
.
getExtra
());
item
.
setOriginalSourceUrl
(
coins
.
getSourceUrl
());
item
.
setSource
(
coins
.
getSource
());
itemDao
.
insert
(
item
);
PageInfo
<
Item
>
pageInfo2
=
itemDao
.
findByPage
(
coinRequestDto
);
List
<
Item
>
itemList
=
pageInfo2
.
getList
();
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
+
";"
;
}
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
();
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
;
}
catch
(
Exception
e
)
{
newImages
=
newImages
+
image
;
logger
.
error
(
"更新图片 url : {}"
,
e
);
}
}
Item
updateItem
=
new
Item
();
updateItem
.
setId
(
item
.
getId
());
updateItem
.
setImages
(
newImages
);
itemDao
.
update
(
updateItem
);
}
});
logger
.
info
(
">>>>>>>>>>>>>>>>>
同步数据的页码: {}, 同步
成功 <<<<<<<<<<<<<<<<<"
,
i
);
logger
.
info
(
">>>>>>>>>>>>>>>>>
更新商品图片尺寸的页码: {}, 更新
成功 <<<<<<<<<<<<<<<<<"
,
i
);
});
logger
.
info
(
">>>>>>>>>>>>>>>>>>>>>>>
同步coins表数据到item表
, 执行完毕 <<<<<<<<<<<<<<<<<<<<<"
);
logger
.
info
(
">>>>>>>>>>>>>>>>>>>>>>>
更新商品图片尺寸
, 执行完毕 <<<<<<<<<<<<<<<<<<<<<"
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"
同步coins表数据到item表
error {}"
,
e
);
logger
.
error
(
"
更新商品图片尺寸
error {}"
,
e
);
}
}
...
...
ch-core/src/main/java/com/wwdz/ch/core/consts/MediaTypeEnum.java
0 → 100644
View file @
88f442b6
package
com.wwdz.ch.core.consts
;
import
lombok.Getter
;
import
org.apache.commons.lang3.StringUtils
;
public
enum
MediaTypeEnum
{
// http://www.garykessler.net/library/file_sigs.html
IMAGE_JPG
(
"jpg"
,
"image/jpeg"
,
"FFD8FF"
),
IMAGE_GIF
(
"gif"
,
"image/gif"
,
"47494638"
),
IMAGE_PNG
(
"png"
,
"image/png"
,
"89504E47"
),
IMAGE_WEBP
(
"webp"
,
"image/webp"
,
"52494646"
),
OCTET_STREAM
(
"octet"
,
"application/octet-stream"
,
""
),
// http://tools.ietf.org/html/rfc3003
AUDIO_MP3
(
"mp3"
,
"audio/mp3"
,
""
),
AUDIO_AMR
(
"amr"
,
"audio/amr"
,
""
),
AUDIO_AAC
(
"aac"
,
"audio/aac"
,
""
),
AUDIO_WAV
(
"wav"
,
"audio/wav"
,
""
),
AUDIO_FLAC
(
"flac"
,
"audio/flac"
,
""
),
AUDIO_AIFF
(
"aiff"
,
"audio/aiff"
,
""
),
VIDEO_MP4
(
"mp4"
,
"video/mp4"
,
""
),
VIDEO_FLV
(
"flv"
,
"video/x-flv"
,
"464C56"
),
VIDEO_MOV
(
"mov"
,
"video/quicktime"
,
""
);
@Getter
private
final
String
ext
;
@Getter
private
final
String
mime
;
@Getter
private
final
String
magic
;
MediaTypeEnum
(
String
ext
,
String
mime
,
String
magic
)
{
this
.
ext
=
ext
;
this
.
mime
=
mime
;
this
.
magic
=
magic
;
}
public
static
MediaTypeEnum
getByExt
(
String
ext
)
{
if
(
StringUtils
.
isEmpty
(
ext
))
{
return
null
;
}
for
(
MediaTypeEnum
mediaTypeEnum
:
MediaTypeEnum
.
values
())
{
if
(
mediaTypeEnum
.
getExt
().
equals
(
ext
))
{
return
mediaTypeEnum
;
}
}
return
null
;
}
}
ch-core/src/main/java/com/wwdz/ch/core/storage/QiniuStorage.java
View file @
88f442b6
...
...
@@ -86,7 +86,6 @@ public class QiniuStorage implements Storage {
String
upToken
=
auth
.
uploadToken
(
bucketName
);
Response
response
=
uploadManager
.
put
(
inputStream
,
keyName
,
upToken
,
null
,
contentType
);
logger
.
info
(
"七牛存储结果 response:{}"
+
response
);
logger
.
info
(
"七牛存储结果 response:{}"
+
JsonUtils
.
from
(
response
));
logger
.
info
(
"七牛存储结果:"
+
response
.
statusCode
);
}
catch
(
QiniuException
ex
)
{
ex
.
printStackTrace
();
...
...
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