Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
device-new-platform
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
赵啸非
device-new-platform
Commits
5614dede
Commit
5614dede
authored
Sep 14, 2022
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加站点
parent
f71c1844
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
387 additions
and
5 deletions
+387
-5
device-manager-ui/admin/src/router.js
device-manager-ui/admin/src/router.js
+2
-0
device-manager-ui/admin/src/views/device/list.vue
device-manager-ui/admin/src/views/device/list.vue
+28
-0
device-manager/pom.xml
device-manager/pom.xml
+3
-1
device-manager/src/main/java/com/mortals/xhx/common/utils/QRCodeUtil.java
...rc/main/java/com/mortals/xhx/common/utils/QRCodeUtil.java
+305
-0
device-manager/src/main/java/com/mortals/xhx/module/device/web/DeviceController.java
...a/com/mortals/xhx/module/device/web/DeviceController.java
+32
-0
device-manager/src/main/java/com/mortals/xhx/module/sitestat/service/impl/SitestatServiceImpl.java
...xhx/module/sitestat/service/impl/SitestatServiceImpl.java
+15
-3
device-manager/src/main/resources/bootstrap.yml
device-manager/src/main/resources/bootstrap.yml
+2
-1
No files found.
device-manager-ui/admin/src/router.js
View file @
5614dede
...
@@ -56,6 +56,8 @@ const router = new Router({
...
@@ -56,6 +56,8 @@ const router = new Router({
...
restBuilder
(
'
product/version
'
,
'
product/version
'
),
//产品
...
restBuilder
(
'
product/version
'
,
'
product/version
'
),
//产品
...
restBuilder
(
'
site
'
,
'
site
'
),
// 站点管理
//以下为基础路由配置
//以下为基础路由配置
builder
(
''
,
'
Home
'
),
builder
(
''
,
'
Home
'
),
builder
(
'
index
'
,
'
Home
'
),
builder
(
'
index
'
,
'
Home
'
),
...
...
device-manager-ui/admin/src/views/device/list.vue
View file @
5614dede
...
@@ -174,6 +174,14 @@
...
@@ -174,6 +174,14 @@
<el-button
@
click=
"tree.open = false"
>
取 消
</el-button>
<el-button
@
click=
"tree.open = false"
>
取 消
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
<!-- 查看二维码弹窗 -->
<el-dialog
title=
"设备二维码"
:visible.sync=
"qrCodeDialog.visible"
width=
"350px"
>
<img
:src=
"qrCodeDialog.qrCode"
>
<p
style=
"word-wrap:break-word"
>
{{
qrCodeDialog
.
qrCodeUrl
}}
</p>
</el-dialog>
<!--
<dialog-show
ref=
"dialogform"
@
ok=
"getData"
/>
-->
<!--
<dialog-show
ref=
"dialogform"
@
ok=
"getData"
/>
-->
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
...
@@ -410,9 +418,27 @@ export default {
...
@@ -410,9 +418,27 @@ export default {
/
>
/
>
);
);
},
},
async
viewQrCode
(
id
)
{
try
{
const
{
qrCode
,
qrCodeUrl
}
=
await
this
.
$post
(
'
/device/viewQrCode
'
,
{
"
id
"
:
id
});
this
.
qrCodeDialog
.
qrCode
=
qrCode
;
this
.
qrCodeDialog
.
qrCodeUrl
=
qrCodeUrl
;
this
.
qrCodeDialog
.
visible
=
true
;
}
catch
(
error
)
{
this
.
$message
.
error
(
error
.
message
);
}
},
},
},
data
()
{
data
()
{
return
{
return
{
//二维码
qrCodeDialog
:
{
visible
:
false
,
qrCode
:
""
,
qrCodeUrl
:
""
,
},
// 用户导入参数
// 用户导入参数
upload
:
{
upload
:
{
// 是否显示弹出层(设备导入)
// 是否显示弹出层(设备导入)
...
@@ -551,6 +577,8 @@ export default {
...
@@ -551,6 +577,8 @@ export default {
)
:
(
)
:
(
""
""
)}
)}
<
span
>
<
/span
>
<
el
-
button
type
=
"
text
"
size
=
'
mini
'
onClick
=
{()
=>
this
.
viewQrCode
(
row
.
id
)}
>
二维码
<
/el-button
>
<
/div
>
<
/div
>
);
);
},
},
...
...
device-manager/pom.xml
View file @
5614dede
...
@@ -23,7 +23,8 @@
...
@@ -23,7 +23,8 @@
<properties>
<properties>
<profiles.active>
develop
</profiles.active>
<profiles.active>
develop
</profiles.active>
<profiles.server.port>
18222
</profiles.server.port>
<profiles.server.port>
18222
</profiles.server.port>
<profiles.queue.type></profiles.queue.type>
<profiles.platform.type>
standalone
</profiles.platform.type>
<profiles.queue.type>
rabbitmq
</profiles.queue.type>
<profiles.datasource.uri>
<profiles.datasource.uri>
<![CDATA[jdbc:mysql://localhost:3306/device-new-platform?allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong]]>
</profiles.datasource.uri>
<![CDATA[jdbc:mysql://localhost:3306/device-new-platform?allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong]]>
</profiles.datasource.uri>
<profiles.datasource.username>
root
</profiles.datasource.username>
<profiles.datasource.username>
root
</profiles.datasource.username>
...
@@ -60,6 +61,7 @@
...
@@ -60,6 +61,7 @@
<properties>
<properties>
<profiles.active>
test
</profiles.active>
<profiles.active>
test
</profiles.active>
<profiles.server.port>
18222
</profiles.server.port>
<profiles.server.port>
18222
</profiles.server.port>
<profiles.queue.type>
cloud
</profiles.queue.type>
<profiles.queue.type>
rabbitmq
</profiles.queue.type>
<profiles.queue.type>
rabbitmq
</profiles.queue.type>
<profiles.datasource.uri>
<profiles.datasource.uri>
<![CDATA[jdbc:mysql://192.168.0.98:3306/device-new-platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong]]>
</profiles.datasource.uri>
<![CDATA[jdbc:mysql://192.168.0.98:3306/device-new-platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong]]>
</profiles.datasource.uri>
...
...
device-manager/src/main/java/com/mortals/xhx/common/utils/QRCodeUtil.java
0 → 100644
View file @
5614dede
package
com.mortals.xhx.common.utils
;
import
com.google.zxing.*
;
import
com.google.zxing.client.j2se.BufferedImageLuminanceSource
;
import
com.google.zxing.common.BitMatrix
;
import
com.google.zxing.common.HybridBinarizer
;
import
com.google.zxing.qrcode.decoder.ErrorCorrectionLevel
;
import
com.mortals.framework.util.Base64
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
javax.imageio.ImageIO
;
import
java.awt.*
;
import
java.awt.geom.RoundRectangle2D
;
import
java.awt.image.BufferedImage
;
import
java.io.ByteArrayOutputStream
;
import
java.io.File
;
import
java.io.InputStream
;
import
java.io.OutputStream
;
import
java.util.Hashtable
;
import
java.util.Random
;
/**
* 二维码工具类
*
*/
public
class
QRCodeUtil
{
@SuppressWarnings
(
"unused"
)
private
static
Log
logger
=
LogFactory
.
getLog
(
QRCodeUtil
.
class
);
private
static
final
String
CHARSET
=
"utf-8"
;
private
static
final
String
FORMAT
=
"JPG"
;
// 二维码尺寸
private
static
final
int
QRCODE_SIZE
=
300
;
// LOGO宽度
private
static
final
int
LOGO_WIDTH
=
60
;
// LOGO高度
private
static
final
int
LOGO_HEIGHT
=
60
;
private
static
BufferedImage
createImage
(
String
content
,
String
logoPath
,
boolean
needCompress
)
throws
Exception
{
Hashtable
<
EncodeHintType
,
Object
>
hints
=
new
Hashtable
<
EncodeHintType
,
Object
>();
hints
.
put
(
EncodeHintType
.
ERROR_CORRECTION
,
ErrorCorrectionLevel
.
H
);
hints
.
put
(
EncodeHintType
.
CHARACTER_SET
,
CHARSET
);
hints
.
put
(
EncodeHintType
.
MARGIN
,
1
);
BitMatrix
bitMatrix
=
new
MultiFormatWriter
().
encode
(
content
,
BarcodeFormat
.
QR_CODE
,
QRCODE_SIZE
,
QRCODE_SIZE
,
hints
);
int
width
=
bitMatrix
.
getWidth
();
int
height
=
bitMatrix
.
getHeight
();
BufferedImage
image
=
new
BufferedImage
(
width
,
height
,
BufferedImage
.
TYPE_INT_RGB
);
for
(
int
x
=
0
;
x
<
width
;
x
++)
{
for
(
int
y
=
0
;
y
<
height
;
y
++)
{
image
.
setRGB
(
x
,
y
,
bitMatrix
.
get
(
x
,
y
)
?
0xFF000000
:
0xFFFFFFFF
);
}
}
if
(
logoPath
==
null
||
""
.
equals
(
logoPath
))
{
return
image
;
}
// 插入图片
QRCodeUtil
.
insertImage
(
image
,
logoPath
,
needCompress
);
return
image
;
}
/**
* 插入LOGO
*
* @param source
* 二维码图片
* @param logoPath
* LOGO图片地址
* @param needCompress
* 是否压缩
* @throws Exception
*/
private
static
void
insertImage
(
BufferedImage
source
,
String
logoPath
,
boolean
needCompress
)
throws
Exception
{
File
file
=
new
File
(
logoPath
);
if
(!
file
.
exists
())
{
throw
new
Exception
(
"logo file not found."
);
}
Image
src
=
ImageIO
.
read
(
new
File
(
logoPath
));
int
width
=
src
.
getWidth
(
null
);
int
height
=
src
.
getHeight
(
null
);
if
(
needCompress
)
{
// 压缩LOGO
if
(
width
>
LOGO_WIDTH
)
{
width
=
LOGO_WIDTH
;
}
if
(
height
>
LOGO_HEIGHT
)
{
height
=
LOGO_HEIGHT
;
}
Image
image
=
src
.
getScaledInstance
(
width
,
height
,
Image
.
SCALE_SMOOTH
);
BufferedImage
tag
=
new
BufferedImage
(
width
,
height
,
BufferedImage
.
TYPE_INT_RGB
);
Graphics
g
=
tag
.
getGraphics
();
g
.
drawImage
(
image
,
0
,
0
,
null
);
// 绘制缩小后的图
g
.
dispose
();
src
=
image
;
}
// 插入LOGO
Graphics2D
graph
=
source
.
createGraphics
();
int
x
=
(
QRCODE_SIZE
-
width
)
/
2
;
int
y
=
(
QRCODE_SIZE
-
height
)
/
2
;
graph
.
drawImage
(
src
,
x
,
y
,
width
,
height
,
null
);
Shape
shape
=
new
RoundRectangle2D
.
Float
(
x
,
y
,
width
,
width
,
6
,
6
);
graph
.
setStroke
(
new
BasicStroke
(
3
f
));
graph
.
draw
(
shape
);
graph
.
dispose
();
}
/**
* 生成二维码(内嵌LOGO) 二维码文件名随机,文件名可能会有重复
*
* @param content
* 内容
* @param logoPath
* LOGO地址
* @param destPath
* 存放目录
* @param needCompress
* 是否压缩LOGO
* @throws Exception
*/
public
static
String
encode
(
String
content
,
String
logoPath
,
String
destPath
,
boolean
needCompress
)
throws
Exception
{
BufferedImage
image
=
QRCodeUtil
.
createImage
(
content
,
logoPath
,
needCompress
);
mkdirs
(
destPath
);
String
fileName
=
new
Random
().
nextInt
(
99999999
)
+
"."
+
FORMAT
.
toLowerCase
();
ImageIO
.
write
(
image
,
FORMAT
,
new
File
(
destPath
+
"/"
+
fileName
));
return
fileName
;
}
/**
* 生成二维码(内嵌LOGO) 调用者指定二维码文件名
*
* @param content
* 内容
* @param logoPath
* LOGO地址
* @param destPath
* 存放目录
* @param fileName
* 二维码文件名
* @param needCompress
* 是否压缩LOGO
* @throws Exception
*/
public
static
String
encode
(
String
content
,
String
logoPath
,
String
destPath
,
String
fileName
,
boolean
needCompress
)
throws
Exception
{
BufferedImage
image
=
QRCodeUtil
.
createImage
(
content
,
logoPath
,
needCompress
);
mkdirs
(
destPath
);
fileName
=
fileName
.
substring
(
0
,
fileName
.
indexOf
(
"."
)
>
0
?
fileName
.
indexOf
(
"."
)
:
fileName
.
length
())
+
"."
+
FORMAT
.
toLowerCase
();
ImageIO
.
write
(
image
,
FORMAT
,
new
File
(
destPath
+
"/"
+
fileName
));
return
fileName
;
}
/**
* 当文件夹不存在时,mkdirs会自动创建多层目录,区别于mkdir. (mkdir如果父目录不存在则会抛出异常)
*
* @param destPath
* 存放目录
*/
public
static
void
mkdirs
(
String
destPath
)
{
File
file
=
new
File
(
destPath
);
if
(!
file
.
exists
()
&&
!
file
.
isDirectory
())
{
file
.
mkdirs
();
}
}
/**
* 生成二维码
*
* @param content
* 内容
* @param destPath
* 存储地址
* @throws Exception
*/
public
static
String
encode
(
String
content
,
String
destPath
)
throws
Exception
{
return
QRCodeUtil
.
encode
(
content
,
null
,
destPath
,
false
);
}
/**
* 生成二维码(内嵌LOGO)
*
* @param content
* 内容
* @param logoPath
* LOGO地址
* @param output
* 输出流
* @param needCompress
* 是否压缩LOGO
* @throws Exception
*/
public
static
void
encode
(
String
content
,
String
logoPath
,
OutputStream
output
,
boolean
needCompress
)
throws
Exception
{
BufferedImage
image
=
QRCodeUtil
.
createImage
(
content
,
logoPath
,
needCompress
);
ImageIO
.
write
(
image
,
FORMAT
,
output
);
}
/**
* 生成二维码
*
* @param content
* 内容
* @param output
* 输出流
* @throws Exception
*/
public
static
void
encode
(
String
content
,
OutputStream
output
)
throws
Exception
{
QRCodeUtil
.
encode
(
content
,
null
,
output
,
false
);
}
/**
* 将二维码转换成base64字符串
*
* @param content
* @param logoPath
* @param needCompress
* @return
* @throws Exception
*/
public
static
String
encode
(
String
content
,
String
logoPath
,
boolean
needCompress
)
throws
Exception
{
BufferedImage
image
=
QRCodeUtil
.
createImage
(
content
,
logoPath
,
needCompress
);
ByteArrayOutputStream
outputStream
=
new
ByteArrayOutputStream
();
ImageIO
.
write
(
image
,
FORMAT
,
outputStream
);
return
Base64
.
encode
(
outputStream
.
toByteArray
());
}
public
static
byte
[]
encodeToBytes
(
String
content
,
String
logoPath
,
boolean
needCompress
)
throws
Exception
{
BufferedImage
image
=
QRCodeUtil
.
createImage
(
content
,
logoPath
,
needCompress
);
ByteArrayOutputStream
outputStream
=
new
ByteArrayOutputStream
();
ImageIO
.
write
(
image
,
FORMAT
,
outputStream
);
return
outputStream
.
toByteArray
();
}
/**
* 解析二维码
*
* @param file
* 二维码图片
* @return
* @throws Exception
*/
public
static
String
decode
(
File
file
)
throws
Exception
{
BufferedImage
image
;
image
=
ImageIO
.
read
(
file
);
if
(
image
==
null
)
{
return
null
;
}
BufferedImageLuminanceSource
source
=
new
BufferedImageLuminanceSource
(
image
);
BinaryBitmap
bitmap
=
new
BinaryBitmap
(
new
HybridBinarizer
(
source
));
Result
result
;
Hashtable
<
DecodeHintType
,
Object
>
hints
=
new
Hashtable
<
DecodeHintType
,
Object
>();
hints
.
put
(
DecodeHintType
.
CHARACTER_SET
,
CHARSET
);
result
=
new
MultiFormatReader
().
decode
(
bitmap
,
hints
);
String
resultStr
=
result
.
getText
();
return
resultStr
;
}
/**
* 解析二维码
*
* @param path
* 二维码图片地址
* @return
* @throws Exception
*/
public
static
String
decode
(
String
path
)
throws
Exception
{
return
QRCodeUtil
.
decode
(
new
File
(
path
));
}
/**
* 解析二维码
*
* @param file
* 二维码图片
* @return
* @throws Exception
*/
public
static
String
decode
(
InputStream
inputStream
)
throws
Exception
{
BufferedImage
image
=
ImageIO
.
read
(
inputStream
);
if
(
image
==
null
)
{
return
null
;
}
BufferedImageLuminanceSource
source
=
new
BufferedImageLuminanceSource
(
image
);
BinaryBitmap
bitmap
=
new
BinaryBitmap
(
new
HybridBinarizer
(
source
));
Result
result
;
Hashtable
<
DecodeHintType
,
Object
>
hints
=
new
Hashtable
<
DecodeHintType
,
Object
>();
hints
.
put
(
DecodeHintType
.
CHARACTER_SET
,
CHARSET
);
result
=
new
MultiFormatReader
().
decode
(
bitmap
,
hints
);
String
resultStr
=
result
.
getText
();
return
resultStr
;
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
// String text =
// "https://mp.weixin.qq.com/a/~~qgbFJlgjTPg~wAWUfsCV6ni-VdasDWFqJg~~";
// QRCodeUtil.encode(text, "", "e:\\", "qrcodeTest", true);
// System.out.println(QRCodeUtil.decode("d:\\777.png"));
System
.
out
.
println
(
QRCodeUtil
.
decode
(
"e:\\4.png"
));
// https://mp.weixin.qq.com/a/~~7e4OEtdDP-A~N-WJjuAzvca5sdEzbkQ9hA~~
// https://mp.weixin.qq.com/a/~~hopFMAkydTI~RWT6ZsVRPo0jIZzPgXGVlg~~ 2
// https://mp.weixin.qq.com/a/~~GwiYx6fLcTQ~gglQBO3FfzX6SuWe2z65rg~~ 3
// https://mp.weixin.qq.com/a/~~UjQMf5HyHLM~8SjrWsLXuc-3XtoAgFPEIw~~ 4
// System.out.println(QRCodeUtil.encode(text,null, true).length());
}
}
device-manager/src/main/java/com/mortals/xhx/module/device/web/DeviceController.java
View file @
5614dede
...
@@ -3,6 +3,7 @@ package com.mortals.xhx.module.device.web;
...
@@ -3,6 +3,7 @@ package com.mortals.xhx.module.device.web;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.convert.Convert
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.annotation.UnAuth
;
import
com.mortals.framework.annotation.UnAuth
;
import
com.mortals.framework.ap.GlobalSysInfo
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.Context
;
...
@@ -15,6 +16,7 @@ import com.mortals.xhx.common.code.*;
...
@@ -15,6 +16,7 @@ import com.mortals.xhx.common.code.*;
import
com.mortals.xhx.common.pdu.RespData
;
import
com.mortals.xhx.common.pdu.RespData
;
import
com.mortals.xhx.common.pdu.site.SitePdu
;
import
com.mortals.xhx.common.pdu.site.SitePdu
;
import
com.mortals.xhx.common.pdu.skin.SkinBasePdu
;
import
com.mortals.xhx.common.pdu.skin.SkinBasePdu
;
import
com.mortals.xhx.common.utils.QRCodeUtil
;
import
com.mortals.xhx.feign.site.ISiteFeign
;
import
com.mortals.xhx.feign.site.ISiteFeign
;
import
com.mortals.xhx.feign.skin.ISkinBaseFeign
;
import
com.mortals.xhx.feign.skin.ISkinBaseFeign
;
import
com.mortals.xhx.module.device.model.DeviceEntity
;
import
com.mortals.xhx.module.device.model.DeviceEntity
;
...
@@ -147,6 +149,36 @@ public class DeviceController extends BaseCRUDJsonBodyMappingController<DeviceSe
...
@@ -147,6 +149,36 @@ public class DeviceController extends BaseCRUDJsonBodyMappingController<DeviceSe
return
rest
;
return
rest
;
}
}
/**
* 查看二维码
*/
@PostMapping
(
value
=
"viewQrCode"
)
public
String
viewQrCode
(
@RequestBody
DeviceEntity
deviceEntity
)
{
JSONObject
jsonObject
=
new
JSONObject
();
try
{
if
(
deviceEntity
.
getId
()
==
null
)
{
throw
new
AppException
(
"二维码为空"
);
}
String
qrCodeUrl
=
GlobalSysInfo
.
getParamValue
(
"qrcode"
,
"http://192.168.0.98:18222/m/test"
);
String
productType
=
"phj"
;
DeviceEntity
device
=
service
.
get
(
deviceEntity
.
getId
(),
null
);
if
(
ObjectUtils
.
isEmpty
(
device
))
throw
new
AppException
(
"当前设备不存在!"
);
// TODO: 2022/9/14 设备生成二维码内容待定
String
qrCode
=
qrCodeUrl
+
"?productType="
+
productType
+
"&deviceCode="
+
device
.
getDeviceCode
();
jsonObject
.
put
(
"qrCode"
,
"data:image/png;base64,"
+
QRCodeUtil
.
encode
(
qrCode
,
null
,
false
));
jsonObject
.
put
(
"qrCodeUrl"
,
qrCode
);
jsonObject
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
}
catch
(
Exception
e
)
{
log
.
error
(
"查看二维码错误"
,
e
);
jsonObject
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
jsonObject
.
put
(
KEY_RESULT_MSG
,
super
.
convertException
(
e
));
}
return
jsonObject
.
toJSONString
();
}
/**
/**
* 设备启用停用
* 设备启用停用
*/
*/
...
...
device-manager/src/main/java/com/mortals/xhx/module/sitestat/service/impl/SitestatServiceImpl.java
View file @
5614dede
...
@@ -21,6 +21,7 @@ import com.mortals.xhx.module.device.model.DeviceEntity;
...
@@ -21,6 +21,7 @@ import com.mortals.xhx.module.device.model.DeviceEntity;
import
com.mortals.xhx.module.device.model.DeviceQuery
;
import
com.mortals.xhx.module.device.model.DeviceQuery
;
import
com.mortals.xhx.module.device.service.DeviceService
;
import
com.mortals.xhx.module.device.service.DeviceService
;
import
com.mortals.xhx.module.site.model.SiteQuery
;
import
com.mortals.xhx.module.site.model.SiteQuery
;
import
com.mortals.xhx.module.site.model.SiteTreeSelect
;
import
com.mortals.xhx.module.site.service.SiteService
;
import
com.mortals.xhx.module.site.service.SiteService
;
import
com.mortals.xhx.module.sitestat.model.SitestatQuery
;
import
com.mortals.xhx.module.sitestat.model.SitestatQuery
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -36,6 +37,7 @@ import org.springframework.util.ObjectUtils;
...
@@ -36,6 +37,7 @@ import org.springframework.util.ObjectUtils;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
com
.
mortals
.
framework
.
web
.
BaseController
.*;
import
static
com
.
mortals
.
xhx
.
common
.
key
.
ErrorCode
.
ERROR_TOKEN_EXPIRED_CONTENT
;
import
static
com
.
mortals
.
xhx
.
common
.
key
.
ErrorCode
.
ERROR_TOKEN_EXPIRED_CONTENT
;
/**
/**
...
@@ -81,7 +83,7 @@ public class SitestatServiceImpl extends AbstractCRUDServiceImpl<SitestatDao, Si
...
@@ -81,7 +83,7 @@ public class SitestatServiceImpl extends AbstractCRUDServiceImpl<SitestatDao, Si
private
Result
<
SitestatEntity
>
getSitestatEntityResult
(
SitestatEntity
entity
,
PageInfo
pageInfo
,
Context
context
,
Result
<
SitestatEntity
>
res
)
{
private
Result
<
SitestatEntity
>
getSitestatEntityResult
(
SitestatEntity
entity
,
PageInfo
pageInfo
,
Context
context
,
Result
<
SitestatEntity
>
res
)
{
if
(
ObjectUtils
.
isEmpty
(
entity
.
getSiteId
()))
return
null
;
if
(
ObjectUtils
.
isEmpty
(
entity
.
getSiteId
()))
return
null
;
if
(
platFormType
.
equalsIgnoreCase
(
PlatformTypeEnum
.
CLOUD
.
getValue
()))
{
if
(
platFormType
.
equalsIgnoreCase
(
PlatformTypeEnum
.
STANDALONE
.
getValue
()))
{
//根据返回的id 筛选列表
//根据返回的id 筛选列表
Map
<
Long
,
SitestatEntity
>
collectMap
=
this
.
findToMap
(
new
SitestatEntity
(),
context
);
Map
<
Long
,
SitestatEntity
>
collectMap
=
this
.
findToMap
(
new
SitestatEntity
(),
context
);
List
<
SitestatEntity
>
list
=
this
.
siteService
.
find
(
new
SiteQuery
().
id
(
entity
.
getSiteId
())).
stream
().
filter
(
f
->
collectMap
.
containsKey
(
f
.
getId
())).
map
(
m
->
collectMap
.
get
(
m
.
getId
())).
collect
(
Collectors
.
toList
());
List
<
SitestatEntity
>
list
=
this
.
siteService
.
find
(
new
SiteQuery
().
id
(
entity
.
getSiteId
())).
stream
().
filter
(
f
->
collectMap
.
containsKey
(
f
.
getId
())).
map
(
m
->
collectMap
.
get
(
m
.
getId
())).
collect
(
Collectors
.
toList
());
...
@@ -112,7 +114,7 @@ public class SitestatServiceImpl extends AbstractCRUDServiceImpl<SitestatDao, Si
...
@@ -112,7 +114,7 @@ public class SitestatServiceImpl extends AbstractCRUDServiceImpl<SitestatDao, Si
}
}
}
}
return
null
;
return
res
;
}
}
private
Result
<
SitestatEntity
>
getSitestatsResult
(
SitestatEntity
entity
,
PageInfo
pageInfo
,
Result
<
SitestatEntity
>
res
)
{
private
Result
<
SitestatEntity
>
getSitestatsResult
(
SitestatEntity
entity
,
PageInfo
pageInfo
,
Result
<
SitestatEntity
>
res
)
{
...
@@ -185,7 +187,17 @@ public class SitestatServiceImpl extends AbstractCRUDServiceImpl<SitestatDao, Si
...
@@ -185,7 +187,17 @@ public class SitestatServiceImpl extends AbstractCRUDServiceImpl<SitestatDao, Si
return
resp
;
return
resp
;
}
}
}
else
{
}
else
{
return
JSON
.
toJSONString
(
siteService
.
siteTree
(
context
));
JSONObject
jsonObject
=
new
JSONObject
();
Map
<
String
,
Object
>
model
=
new
HashMap
<>();
List
<
SiteTreeSelect
>
siteTree
=
siteService
.
getSiteTree
(
context
);
if
(
ObjectUtils
.
isEmpty
(
siteTree
))
{
log
.
info
(
"为初始化站点树,重新构建!"
);
siteTree
=
siteService
.
siteTree
(
context
);
}
model
.
put
(
"siteTree"
,
siteTree
);
jsonObject
.
put
(
KEY_RESULT_DATA
,
model
);
jsonObject
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
return
jsonObject
.
toJSONString
();
}
}
return
JSON
.
toJSONString
(
Rest
.
fail
(
ErrorCode
.
ERROR_TOKEN_EXPIRED
,
ERROR_TOKEN_EXPIRED_CONTENT
));
return
JSON
.
toJSONString
(
Rest
.
fail
(
ErrorCode
.
ERROR_TOKEN_EXPIRED
,
ERROR_TOKEN_EXPIRED_CONTENT
));
}
}
...
...
device-manager/src/main/resources/bootstrap.yml
View file @
5614dede
platform
:
platform
:
type
:
standalone
# type: standalone
type
:
@
profiles.platform.type@
server
:
server
:
port
:
@
profiles.server.port@
port
:
@
profiles.server.port@
servlet
:
servlet
:
...
...
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