Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-manage3.0
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
haoban3.0
haoban-manage3.0
Commits
5446b449
Commit
5446b449
authored
Oct 28, 2024
by
王祖波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
合成图片并生成mediaId
parent
53082c5f
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
15 additions
and
27 deletions
+15
-27
ImageCombined.java
...haoban/manage/service/context/combined/ImageCombined.java
+9
-15
MaterialServiceImpl.java
...oban/manage/service/service/impl/MaterialServiceImpl.java
+2
-3
MaterialApiServiceImpl.java
...nage/service/service/out/impl/MaterialApiServiceImpl.java
+2
-4
QWmediaTest.java
haoban-manage3-service/src/test/java/QWmediaTest.java
+2
-5
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/context/
draw/ImageDraw
.java
→
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/context/
combined/ImageCombined
.java
View file @
5446b449
package
com
.
gic
.
haoban
.
manage
.
service
.
context
.
draw
;
package
com
.
gic
.
haoban
.
manage
.
service
.
context
.
combined
;
import
com.gic.haoban.manage.api.qdto.combined.CombinedQDTO
;
import
com.gic.haoban.manage.service.context.chat.BusinessManager
;
...
...
@@ -19,9 +19,9 @@ import java.util.concurrent.TimeUnit;
/**
* Created by wangzubo on 2024/10/27.
*/
public
class
Image
Draw
{
public
class
Image
Combined
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
BusinessManager
.
class
);
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ImageCombined
.
class
);
private
static
final
Cache
<
String
,
BufferedImage
>
imageCache
=
Caffeine
.
newBuilder
()
.
maximumWeight
(
100
*
1024
*
1024
)
// 100MB
...
...
@@ -43,20 +43,14 @@ public class ImageDraw {
private
static
final
String
STORE_NAME
=
"门店CCA"
;
private
static
final
String
GUIDE_NAME
=
"宇智222为您推荐"
;
private
static
final
String
OUTPUT_PATH
=
"/Users/wang/Downloads/output_image3.jpg"
;
public
static
void
main
(
String
[]
args
)
{
try
{
BufferedImage
largeImage
=
loadImageWithCache
(
LARGE_IMAGE_URL
);
BufferedImage
qrCodeImage
=
ImageIO
.
read
(
new
URL
(
QR_CODE_URL
));
public
static
void
main
(
String
[]
args
)
throws
Exception
{
BufferedImage
largeImage
=
loadImageWithCache
(
LARGE_IMAGE_URL
);
BufferedImage
qrCodeImage
=
ImageIO
.
read
(
new
URL
(
QR_CODE_URL
));
int
showStyle
=
0
;
int
showStyle
=
0
;
BufferedImage
combinedImage
=
generateImage
(
largeImage
,
qrCodeImage
,
showStyle
,
STORE_NAME
,
GUIDE_NAME
);
ImageIO
.
write
(
combinedImage
,
"jpg"
,
new
File
(
OUTPUT_PATH
));
System
.
out
.
println
(
"图像生成成功!"
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
BufferedImage
combinedImage
=
generateImage
(
largeImage
,
qrCodeImage
,
showStyle
,
STORE_NAME
,
GUIDE_NAME
);
ImageIO
.
write
(
combinedImage
,
"jpg"
,
new
File
(
OUTPUT_PATH
));
}
public
static
byte
[]
getCombinedImage
(
CombinedQDTO
combinedQDTO
)
throws
Exception
{
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/MaterialServiceImpl.java
View file @
5446b449
...
...
@@ -6,11 +6,10 @@ import java.util.*;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.commons.util.HttpClient
;
import
com.gic.haoban.manage.api.qdto.combined.CombinedQDTO
;
import
com.gic.haoban.manage.service.context.
draw.ImageDraw
;
import
com.gic.haoban.manage.service.context.
combined.ImageCombined
;
import
com.gic.redis.data.util.RedisUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.time.DateUtils
;
...
...
@@ -358,7 +357,7 @@ public class MaterialServiceImpl implements MaterialService {
String
[]
arr
=
null
;
String
imageUrl
=
combinedQDTO
.
getImageUrl
();
//合成图片
byte
[]
combinedImageData
=
Image
Draw
.
getCombinedImage
(
combinedQDTO
);
byte
[]
combinedImageData
=
Image
Combined
.
getCombinedImage
(
combinedQDTO
);
if
(
combinedImageData
==
null
)
{
return
jsonResponse
;
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/MaterialApiServiceImpl.java
View file @
5446b449
...
...
@@ -10,9 +10,8 @@ import java.util.concurrent.TimeUnit;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
cn.hutool.core.collection.ListUtil
;
import
com.gic.haoban.manage.api.qdto.combined.CombinedQDTO
;
import
com.gic.haoban.manage.service.context.
draw.ImageDraw
;
import
com.gic.haoban.manage.service.context.
combined.ImageCombined
;
import
com.gic.redis.data.util.RedisUtil
;
import
com.google.common.collect.Lists
;
import
org.apache.commons.collections.CollectionUtils
;
...
...
@@ -45,7 +44,6 @@ import com.gic.haoban.manage.service.service.MaterialCategoryService;
import
com.gic.haoban.manage.service.service.MaterialService
;
import
com.gic.haoban.manage.service.service.MiniprogramSettingService
;
import
com.gic.haoban.manage.service.service.WxEnterpriseService
;
import
com.gic.haoban.manage.service.util.CommonUtil
;
import
com.gic.wechat.api.enums.QywxMediaTypeEnum
;
import
com.gic.wechat.api.service.qywx.QywxSuiteApiService
;
import
com.github.pagehelper.PageHelper
;
...
...
@@ -527,7 +525,7 @@ public class MaterialApiServiceImpl implements MaterialApiService {
return
com
.
gic
.
api
.
base
.
commons
.
ServiceResponse
.
failure
(
"9999"
,
"参数异常"
)
;
}
String
unionString
=
combinedQDTO
.
getUnionString
();
String
key
=
Image
Draw
.
IMAGE_REDIS_KEY
+
unionString
;
String
key
=
Image
Combined
.
IMAGE_REDIS_KEY
+
unionString
;
String
cache
=
(
String
)
RedisUtil
.
getCache
(
key
);
if
(
StringUtils
.
isNotBlank
(
cache
))
{
return
com
.
gic
.
api
.
base
.
commons
.
ServiceResponse
.
success
(
cache
);
...
...
haoban-manage3-service/src/test/java/QWmediaTest.java
View file @
5446b449
import
com.alibaba.fastjson.JSON
;
import
com.gic.api.base.commons.JSONResponse
;
import
com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO
;
import
com.gic.haoban.manage.api.qdto.combined.CombinedQDTO
;
import
com.gic.haoban.manage.service.context.
draw.ImageDraw
;
import
com.gic.haoban.manage.service.context.
combined.ImageCombined
;
import
com.gic.haoban.manage.service.service.WxEnterpriseService
;
import
com.gic.wechat.api.enums.QywxMediaTypeEnum
;
import
com.gic.wechat.api.service.qywx.QywxSuiteApiService
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
...
...
@@ -39,7 +36,7 @@ public class QWmediaTest {
combinedQDTO
.
setLineOne
(
STORE_NAME
);
combinedQDTO
.
setLineTwo
(
GUIDE_NAME
);
String
[]
arr
=
null
;
byte
[]
combinedImageData
=
Image
Draw
.
getCombinedImage
(
combinedQDTO
);
byte
[]
combinedImageData
=
Image
Combined
.
getCombinedImage
(
combinedQDTO
);
// 将 BufferedImage 写入 ByteArrayOutputStream
if
(
LARGE_IMAGE_URL
.
contains
(
"?"
))
{
arr
=
LARGE_IMAGE_URL
.
split
(
"\\?"
)[
0
].
split
(
"/"
)
;
...
...
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