记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
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
董敬伟
liquidnet-bus-v1
Commits
bb9ad915
Commit
bb9ad915
authored
Oct 09, 2022
by
GaoHu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
二维码修改
parent
651521e0
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
154 additions
and
7 deletions
+154
-7
list.html
...ain/resources/templates/zhengzai/smile/userList/list.html
+2
-2
pom.xml
...dnet-client-admin/liquidnet-client-admin-zhengzai/pom.xml
+13
-0
SmileUserServiceImpl.java
...min/zhengzai/smile/service/impl/SmileUserServiceImpl.java
+13
-5
QRCodeUtil.java
...quidnet/client/admin/zhengzai/smile/utils/QRCodeUtil.java
+126
-0
No files found.
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/smile/userList/list.html
View file @
bb9ad915
...
...
@@ -255,8 +255,8 @@
setTimeout
(()
=>
{
let
qrCode
=
`<div style="height:300px;display: flex;flex-direction: column;justify-content: space-around;align-items: center;">
<p style="width: 100%;text-align: center;">查看二维码</p>
<img src="https://api.qrserver.com/v1/create-qr-code?data=
${
hostname
}
/%23/ticket/detail?id=
${
perId
}
&
agentId=
${
uid
}
" style="width: 200px;height: 200px;">
<p>地址链接:'https://api.qrserver.com/v1/create-qr-code?data=
${
hostname
}
/
%23
/ticket/detail?id=
${
perId
}
&agentId=
${
uid
}
'</p>
<img src="https://api.qrserver.com/v1/create-qr-code?data=
${
hostname
}
/%23/ticket/detail?id=
${
perId
}
%26
agentId=
${
uid
}
" style="width: 200px;height: 200px;">
<p>地址链接:'https://api.qrserver.com/v1/create-qr-code?data=
${
hostname
}
/
#
/ticket/detail?id=
${
perId
}
&agentId=
${
uid
}
'</p>
<p>演出名称:
${
title
}
</p>
</div>`
$
.
modal
.
confirm
(
qrCode
,()
=>
{
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/pom.xml
View file @
bb9ad915
...
...
@@ -168,6 +168,19 @@
<version>
1.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
<!--二维码生成-->
<!--<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.5.0</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.3.3</version>
</dependency>-->
</dependencies>
</project>
\ No newline at end of file
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/smile/service/impl/SmileUserServiceImpl.java
View file @
bb9ad915
...
...
@@ -8,6 +8,7 @@ import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import
com.liquidnet.client.admin.common.utils.StringUtils
;
import
com.liquidnet.client.admin.zhengzai.smile.dto.*
;
import
com.liquidnet.client.admin.zhengzai.smile.service.ISmileUserService
;
import
com.liquidnet.client.admin.zhengzai.smile.utils.QRCodeUtil
;
import
com.liquidnet.client.admin.zhengzai.smile.utils.SmileRedisUtils
;
import
com.liquidnet.commons.lang.util.BeanUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
...
...
@@ -27,6 +28,7 @@ import com.liquidnet.service.smile.mapper.SmileUserMapper;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
...
...
@@ -59,6 +61,9 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser
@Autowired
KylinPerformancesMapper
kylinPerformancesMapper
;
/*@Value("${client:admin:h5Url}")
private String h5Url;*/
@Override
public
List
<
SmileUser
>
userList
(
SmileUserParam
smileUserParam
)
{
try
{
...
...
@@ -110,6 +115,9 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser
.
select
(
KylinPerformances:
:
getTitle
));
smileUserVo
.
setTitle
(
kylinPerformances
.
getTitle
());
smileUserVo
.
setPerId
(
smileAgent
.
getPerformanceId
());
//获取特邀代理二维码url地址
/*String url = h5Url + "/#/ticket/detail?id=" + smileUserVo.getPerId() + "&agentId=" + smileUserVo.getUid();
QRCodeUtil.createCodeToFile(url,null,smileUserVo.getUid().count(".png"));*/
}
else
{
smileUserVo
=
new
SmileUserVo
().
copy
(
smileUser
);
}
...
...
@@ -259,12 +267,12 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser
@Override
public
List
<
SmileUserVo
>
getList
(
String
phone
)
{
List
<
SmileUserVo
>
smileUserVoList
=
new
ArrayList
<>();
if
(!
StringUtils
.
isEmpty
(
phone
)
&&
phone
.
length
()
>=
6
)
{
if
(!
StringUtils
.
isEmpty
(
phone
)
&&
phone
.
length
()
>=
6
)
{
LambdaQueryWrapper
<
SmileUser
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
like
(
SmileUser:
:
getPhone
,
phone
);
queryWrapper
.
eq
(
SmileUser:
:
getDelTag
,
0
);
queryWrapper
.
eq
(
SmileUser:
:
getState
,
0
);
queryWrapper
.
in
(
SmileUser:
:
getType
,
1
,
2
);
queryWrapper
.
like
(
SmileUser:
:
getPhone
,
phone
);
queryWrapper
.
eq
(
SmileUser:
:
getDelTag
,
0
);
queryWrapper
.
eq
(
SmileUser:
:
getState
,
0
);
queryWrapper
.
in
(
SmileUser:
:
getType
,
1
,
2
);
List
<
SmileUser
>
smileUsers
=
smileUserMapper
.
selectList
(
queryWrapper
);
smileUserVoList
=
smileUsers
.
stream
().
map
(
smileUser
->
{
SmileUserVo
smileUserVo
=
SmileUserVo
.
getNew
();
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/smile/utils/QRCodeUtil.java
0 → 100644
View file @
bb9ad915
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
smile
.
utils
;
/*import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import com.liquidnet.commons.lang.util.FilesUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.imageio.ImageIO;
import javax.swing.filechooser.FileSystemView;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;*/
/**
* 二维码工具
**/
public
class
QRCodeUtil
{
/*private static final Logger log= LoggerFactory.getLogger(QRCodeUtil.class);
//CODE_WIDTH:二维码宽度,单位像素
private static final int CODE_WIDTH = 400;
//CODE_HEIGHT:二维码高度,单位像素
private static final int CODE_HEIGHT = 400;
//FRONT_COLOR:二维码前景色,0x000000 表示黑色
private static final int FRONT_COLOR = 0x000000;
//BACKGROUND_COLOR:二维码背景色,0xFFFFFF 表示白色
//演示用 16 进制表示,和前端页面 CSS 的取色是一样的,注意前后景颜色应该对比明显,如常见的黑白
private static final int BACKGROUND_COLOR = 0xFFFFFF;
public static void createCodeToFile(String content, File codeImgFileSaveDir, String fileName) {
File codeImgFile = null;
try {
if (StringUtils.isBlank(content) || StringUtils.isBlank(fileName)) {
return;
}
content = content.trim();
if (codeImgFileSaveDir == null || codeImgFileSaveDir.isFile()) {
//二维码图片存在目录为空,默认放在桌面...
codeImgFileSaveDir = FileSystemView.getFileSystemView().getHomeDirectory();
}
if (!codeImgFileSaveDir.exists()) {
//二维码图片存在目录不存在,开始创建...
codeImgFileSaveDir.mkdirs();
}
//核心代码-生成二维码
BufferedImage bufferedImage = getBufferedImage(content);
codeImgFile = new File(codeImgFileSaveDir, fileName);
ImageIO.write(bufferedImage, "png", codeImgFile);
log.info("二维码图片生成成功:" + codeImgFile.getPath());
} catch (Exception e) {
e.printStackTrace();
} finally {
//删除生成的图片
FilesUtils.deleteTempFile(codeImgFile);
}
}
*//**
* 生成二维码并输出到输出流, 通常用于输出到网页上进行显示,输出到网页与输出到磁盘上的文件中,区别在于最后一句 ImageIO.write
* write(RenderedImage im,String formatName,File output):写到文件中
* write(RenderedImage im,String formatName,OutputStream output):输出到输出流中
* @param content :二维码内容
* @param outputStream :输出流,比如 HttpServletResponse 的 getOutputStream
*//*
public static void createCodeToOutputStream(String content, OutputStream outputStream) {
try {
if (StringUtils.isBlank(content)) {
return;
}
content = content.trim();
//核心代码-生成二维码
BufferedImage bufferedImage = getBufferedImage(content);
//区别就是这一句,输出到输出流中,如果第三个参数是 File,则输出到文件中
ImageIO.write(bufferedImage, "png", outputStream);
log.info("二维码图片生成到输出流成功...");
} catch (Exception e) {
e.printStackTrace();
}
}
//核心代码-生成二维码
private static BufferedImage getBufferedImage(String content) throws WriterException {
//com.google.zxing.EncodeHintType:编码提示类型,枚举类型
Map<EncodeHintType, Object> hints = new HashMap();
//EncodeHintType.CHARACTER_SET:设置字符编码类型
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
//EncodeHintType.ERROR_CORRECTION:设置误差校正
//ErrorCorrectionLevel:误差校正等级,L = ~7% correction、M = ~15% correction、Q = ~25% correction、H = ~30% correction
//不设置时,默认为 L 等级,等级不一样,生成的图案不同,但扫描的结果是一样的
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
//EncodeHintType.MARGIN:设置二维码边距,单位像素,值越小,二维码距离四周越近
hints.put(EncodeHintType.MARGIN, 1);
MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
BitMatrix bitMatrix = multiFormatWriter.encode(content, BarcodeFormat.QR_CODE, CODE_WIDTH, CODE_HEIGHT, hints);
BufferedImage bufferedImage = new BufferedImage(CODE_WIDTH, CODE_HEIGHT, BufferedImage.TYPE_INT_BGR);
for (int x = 0; x < CODE_WIDTH; x++) {
for (int y = 0; y < CODE_HEIGHT; y++) {
bufferedImage.setRGB(x, y, bitMatrix.get(x, y) ? FRONT_COLOR : BACKGROUND_COLOR);
}
}
return bufferedImage;
}
public static void main(String[] args) {
String content = "https://testm.zhengzai.tv/#/ticket/detail?id=1636396377417728005471027&agentId=22263112850549";
QRCodeUtil.createCodeToFile(content,null,"22263112850549.png");
}*/
}
\ No newline at end of file
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