Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
BYOD
Project
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
tutingyin
BYOD
Commits
d1d89f8c
Commit
d1d89f8c
authored
May 17, 2024
by
tutingyin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor: 功能策略恢复-添加
parent
41635fed
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
51 changed files
with
2039 additions
and
221 deletions
+2039
-221
DeviceEquipmentInfo2VO.java
...com/skr/mdm/bean/vo/equipment/DeviceEquipmentInfo2VO.java
+144
-0
DeviceEquipmentVO.java
...java/com/skr/mdm/bean/vo/equipment/DeviceEquipmentVO.java
+20
-9
application-dev.yml
mdm_client/src/main/resources/application-dev.yml
+3
-3
application.yml
mdm_client/src/main/resources/application.yml
+14
-13
EquipmentCardBindServiceImpl.java
.../service/impl/equipment/EquipmentCardBindServiceImpl.java
+0
-47
EquipmentCardBindStateServiceImpl.java
...ice/impl/equipment/EquipmentCardBindStateServiceImpl.java
+0
-41
EquipmentInfoServiceImpl.java
.../mdm/service/impl/equipment/EquipmentInfoServiceImpl.java
+7
-7
UserLocationInfoServiceImpl.java
...r/mdm/service/impl/track/UserLocationInfoServiceImpl.java
+2
-1
CmdTypeConstants.java
.../src/main/java/com/skr/mdm/constant/CmdTypeConstants.java
+2
-6
StrategyCmdEnum.java
...mmon/src/main/java/com/skr/mdm/enums/StrategyCmdEnum.java
+35
-0
StrategyTypeEnum.java
...mon/src/main/java/com/skr/mdm/enums/StrategyTypeEnum.java
+28
-0
StrategyUrlEnum.java
...mmon/src/main/java/com/skr/mdm/enums/StrategyUrlEnum.java
+18
-0
GaodeMapAPIUtil.java
...ommon/src/main/java/com/skr/mdm/util/GaodeMapAPIUtil.java
+4
-9
StrategyUrlConfigDao.java
...o/src/main/java/com/skr/mdm/dao/StrategyUrlConfigDao.java
+39
-0
StrategyUrlDao.java
mdm_dao/src/main/java/com/skr/mdm/dao/StrategyUrlDao.java
+53
-0
StrategyUrlMapDao.java
mdm_dao/src/main/java/com/skr/mdm/dao/StrategyUrlMapDao.java
+41
-0
StrategyUrlUserDao.java
...dao/src/main/java/com/skr/mdm/dao/StrategyUrlUserDao.java
+47
-0
DeviceEquipmentDO.java
...o/src/main/java/com/skr/mdm/entity/DeviceEquipmentDO.java
+27
-19
RailStrategyDO.java
mdm_dao/src/main/java/com/skr/mdm/entity/RailStrategyDO.java
+88
-0
RailStrategyInfoDO.java
.../src/main/java/com/skr/mdm/entity/RailStrategyInfoDO.java
+283
-0
RailStrategyUserDO.java
.../src/main/java/com/skr/mdm/entity/RailStrategyUserDO.java
+49
-0
StrategyConfigDO.java
...ao/src/main/java/com/skr/mdm/entity/StrategyConfigDO.java
+86
-0
StrategyUrlConfigDO.java
...src/main/java/com/skr/mdm/entity/StrategyUrlConfigDO.java
+39
-0
StrategyUrlDO.java
mdm_dao/src/main/java/com/skr/mdm/entity/StrategyUrlDO.java
+55
-0
StrategyUrlMapDO.java
...ao/src/main/java/com/skr/mdm/entity/StrategyUrlMapDO.java
+39
-0
StrategyUrlUserDO.java
...o/src/main/java/com/skr/mdm/entity/StrategyUrlUserDO.java
+49
-0
DeviceEquipmentDao.xml
mdm_dao/src/main/resources/mapper/DeviceEquipmentDao.xml
+4
-3
FunctionStrategyManager.java
...ain/java/com/skr/mdm/manager/FunctionStrategyManager.java
+65
-0
ResponseResultManager.java
.../main/java/com/skr/mdm/manager/ResponseResultManager.java
+36
-0
StrategyManager.java
...er/src/main/java/com/skr/mdm/manager/StrategyManager.java
+21
-0
EquipmentImportData.java
.../com/skr/mdm/api/equipment/excel/EquipmentImportData.java
+4
-3
EquipmentImportDataListener.java
.../mdm/api/equipment/excel/EquipmentImportDataListener.java
+12
-11
EquipmentServiceImpl.java
.../mdm/api/equipment/service/impl/EquipmentServiceImpl.java
+7
-46
GaodeLieyingTerminalUserStrategyServiceImpl.java
...ice/impl/GaodeLieyingTerminalUserStrategyServiceImpl.java
+2
-1
FunctionStrategyController.java
...m/api/strategy/controller/FunctionStrategyController.java
+97
-0
StrategyController.java
...m/skr/mdm/api/strategy/controller/StrategyController.java
+70
-0
StrategyUrlConfigController.java
.../api/strategy/controller/StrategyUrlConfigController.java
+79
-0
UrlStrategyController.java
...kr/mdm/api/strategy/controller/UrlStrategyController.java
+88
-0
UrlImportData.java
...in/java/com/skr/mdm/api/strategy/excel/UrlImportData.java
+14
-0
UrlImportDataListener.java
...com/skr/mdm/api/strategy/excel/UrlImportDataListener.java
+90
-0
ConfigStrategyService.java
...m/skr/mdm/api/strategy/service/ConfigStrategyService.java
+13
-0
FunctionInfoStrategyService.java
...mdm/api/strategy/service/FunctionInfoStrategyService.java
+11
-0
FunctionStrategyService.java
...skr/mdm/api/strategy/service/FunctionStrategyService.java
+11
-0
StrategyService.java
...ava/com/skr/mdm/api/strategy/service/StrategyService.java
+19
-0
StrategyUrlConfigService.java
...kr/mdm/api/strategy/service/StrategyUrlConfigService.java
+25
-0
UrlStrategyService.java
.../com/skr/mdm/api/strategy/service/UrlStrategyService.java
+12
-0
FunctionStrategyServiceImpl.java
...pi/strategy/service/impl/FunctionStrategyServiceImpl.java
+0
-0
StrategyServiceImpl.java
...kr/mdm/api/strategy/service/impl/StrategyServiceImpl.java
+91
-0
StrategyUrlConfigServiceImpl.java
...i/strategy/service/impl/StrategyUrlConfigServiceImpl.java
+94
-0
UrlStrategyServiceImpl.java
...mdm/api/strategy/service/impl/UrlStrategyServiceImpl.java
+0
-0
application-dev.yml
mdm_website/src/main/resources/application-dev.yml
+2
-2
No files found.
mdm_bean/src/main/java/com/skr/mdm/bean/vo/equipment/DeviceEquipmentInfo2VO.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
bean
.
vo
.
equipment
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
/**
@ClassName:DeviceEquipmentInfo
@Author:Tty
@Description:设备详细信息
@Date:2020/9/1 17:55
@Version:1.0
*/
@Data
@ApiModel
(
"设备详细信息"
)
public
class
DeviceEquipmentInfo2VO
{
@ApiModelProperty
(
"设备名称"
)
private
String
equipmentName
;
@ApiModelProperty
(
"用户名称"
)
private
String
userName
;
@ApiModelProperty
(
"激活时间"
)
private
String
activationTime
;
@ApiModelProperty
(
"部门名称"
)
private
String
departmentName
;
@ApiModelProperty
(
"离线时间"
)
private
String
offlineTime
;
@ApiModelProperty
(
"固件版本"
)
private
String
firmwareVersion
;
@ApiModelProperty
(
"版本型号"
)
private
String
modelNumber
;
@ApiModelProperty
(
"版本号码"
)
private
String
versionNumber
;
@ApiModelProperty
(
"CPU 架构"
)
private
String
cpuArch
;
@ApiModelProperty
(
"CPU 制造厂商"
)
private
String
cpuMaker
;
@ApiModelProperty
(
"CPU 型号"
)
private
String
cpuModel
;
@ApiModelProperty
(
"CPU 额定主频"
)
private
String
cpuNominalMainFrequency
;
@ApiModelProperty
(
"CPU 核心数量"
)
private
Integer
cpuCore
;
@ApiModelProperty
(
"CPU 对虚拟化的支持"
)
private
String
cpuVirtualization
;
@ApiModelProperty
(
"物理内存总大小"
)
private
String
totalPhyMem
;
@ApiModelProperty
(
"物理内存使用率"
)
private
String
phyMemRate
;
@ApiModelProperty
(
"物理内存使用大小"
)
private
String
usedPhyMem
;
@ApiModelProperty
(
"实际可用的物理内存大小"
)
private
String
availPhyMem
;
@ApiModelProperty
(
"实际空闲的物理内存大小"
)
private
String
freePhyMem
;
@ApiModelProperty
(
"所有应用申请的虚拟内存总量"
)
private
String
totalVirtualMem
;
@ApiModelProperty
(
"系统中 Swap 分区总大小"
)
private
String
totalSwapSpace
;
@ApiModelProperty
(
"Swap 分区使用率"
)
private
String
swapRate
;
@ApiModelProperty
(
"Swap 分区使用量"
)
private
String
usedSwap
;
@ApiModelProperty
(
"Swap 分区空闲大小"
)
private
String
freeSwap
;
@ApiModelProperty
(
"CPU 瞬时使用率"
)
private
String
cpuPeak
;
@ApiModelProperty
(
"开机时长"
)
private
String
upTime
;
@ApiModelProperty
(
"系统架构信息"
)
private
String
sysArch
;
@ApiModelProperty
(
"系统名称"
)
private
String
sysName
;
@ApiModelProperty
(
"系统版本号"
)
private
String
sysVersion
;
@ApiModelProperty
(
"内核版本号"
)
private
String
sysKernelVersion
;
@ApiModelProperty
(
"当前登录用户的用户名"
)
private
String
sysLoginUser
;
@ApiModelProperty
(
"操作系统项目编号名"
)
private
String
osProjectNumName
;
@ApiModelProperty
(
"操作系统项目子编号名"
)
private
String
osSubProjectNumName
;
@ApiModelProperty
(
"操作系统产品标识码"
)
private
String
osProductId
;
@ApiModelProperty
(
"操作系统宿主机的虚拟机类型"
)
private
String
osHostVmType
;
@ApiModelProperty
(
"操作系统宿主机的云平台类型"
)
private
String
osCloudPlatformType
;
@ApiModelProperty
(
"操作系统是否为专用机系统"
)
private
String
osIsDedicatedSystem
;
@ApiModelProperty
(
"系统分辨率信息"
)
private
String
sysResolution
;
@ApiModelProperty
(
"系统硬件版本类别"
)
private
String
sysHwVersionType
;
@ApiModelProperty
(
"系统版本号/补丁版本号"
)
private
String
sysPatchVersion
;
@ApiModelProperty
(
"厂商信息"
)
private
String
biosVendor
;
@ApiModelProperty
(
"最后更新时间"
)
private
Date
updateTime
;
}
\ No newline at end of file
mdm_bean/src/main/java/com/skr/mdm/bean/vo/equipment/DeviceEquipmentVO.java
View file @
d1d89f8c
...
@@ -79,14 +79,27 @@ public class DeviceEquipmentVO {
...
@@ -79,14 +79,27 @@ public class DeviceEquipmentVO {
*/
*/
@ApiModelProperty
(
"设备型号"
)
@ApiModelProperty
(
"设备型号"
)
private
String
equipmentModel
;
private
String
equipmentModel
;
private
String
uuid
;
private
String
oaid
;
private
String
serialNumber
;
private
String
imei
;
@ApiModelProperty
(
"手机号"
)
/**
private
String
phoneNumber
;
* 主板名称信息
*/
private
String
motherboard
;
/**
* 生产日期
*/
private
String
productionDate
;
/**
* 厂商信息
*/
private
String
vendor
;
@ApiModelProperty
(
"纬度信息"
)
@ApiModelProperty
(
"纬度信息"
)
private
String
latitude
;
private
String
latitude
;
@ApiModelProperty
(
"经度信息"
)
@ApiModelProperty
(
"经度信息"
)
private
String
longitude
;
private
String
longitude
;
...
@@ -95,9 +108,7 @@ public class DeviceEquipmentVO {
...
@@ -95,9 +108,7 @@ public class DeviceEquipmentVO {
*/
*/
@ApiModelProperty
(
"最后在线时间"
)
@ApiModelProperty
(
"最后在线时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
offlineTime
;
private
Date
offlineTime
;
@ApiModelProperty
(
value
=
"机卡绑定(0:未绑定 1:绑定)"
)
@ApiModelProperty
(
value
=
"机卡绑定(0:未绑定 1:绑定)"
)
private
Integer
isCardBinding
;
private
Integer
isCardBinding
;
@ApiModelProperty
(
value
=
"解绑密码"
)
@ApiModelProperty
(
value
=
"解绑密码"
)
...
@@ -106,8 +117,8 @@ public class DeviceEquipmentVO {
...
@@ -106,8 +117,8 @@ public class DeviceEquipmentVO {
private
String
offlineUnlockCode
;
private
String
offlineUnlockCode
;
@ApiModelProperty
(
value
=
"卸载码"
)
@ApiModelProperty
(
value
=
"卸载码"
)
private
String
uninstallCode
;
private
String
uninstallCode
;
@ApiModelProperty
(
value
=
"锁定/已恢复插卡/已解绑"
)
private
String
simState
;
@ApiModelProperty
(
value
=
"客户端版本"
)
@ApiModelProperty
(
value
=
"客户端版本"
)
private
String
clientVersionCode
;
private
String
clientVersionCode
;
@ApiModelProperty
(
value
=
"绑定状态 (0:绑定 1:未绑定)"
)
@ApiModelProperty
(
value
=
"绑定状态 (0:绑定 1:未绑定)"
)
...
...
mdm_client/src/main/resources/application-dev.yml
View file @
d1d89f8c
ip
:
localhost
ip
:
localhost
server
:
server
:
port
:
80
69
port
:
80
72
websocket
:
websocket
:
port
:
807
0
port
:
807
3
spring
:
spring
:
application
:
application
:
name
:
MDMClient
name
:
MDMClient
datasource
:
datasource
:
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://localhost:3306/mdm_
byod
?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
url
:
jdbc:mysql://localhost:3306/mdm_
pc
?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
username
:
root
username
:
root
password
:
root
password
:
root
druid
:
druid
:
...
...
mdm_client/src/main/resources/application.yml
View file @
d1d89f8c
...
@@ -30,18 +30,18 @@ spring:
...
@@ -30,18 +30,18 @@ spring:
pathmatch
:
pathmatch
:
matching-strategy
:
ant_path_matcher
matching-strategy
:
ant_path_matcher
server
:
#
server:
ssl
:
#
ssl:
key-store
:
classpath:key/mdm.keystore
#表示密钥文件名
#
key-store: classpath:key/mdm.keystore #表示密钥文件名
key-alias
:
mdmKeystore
#表示密钥别名
#
key-alias: mdmKeystore #表示密钥别名
key-store-password
:
tkmdm999
#就是在cmd命令执行过程中输入的密码
#
key-store-password: tkmdm999 #就是在cmd命令执行过程中输入的密码
enabled
:
true
#
enabled: true
client-auth
:
need
#
client-auth: need
# 持有ssl证书的信任存储库
#
# 持有ssl证书的信任存储库
trust-store
:
classpath:key/mdm.keystore
#
trust-store: classpath:key/mdm.keystore
trust-store-password
:
tkmdm999
#
trust-store-password: tkmdm999
key-store-type
:
JKS
#
key-store-type: JKS
trust-store-type
:
JKS
#
trust-store-type: JKS
token
:
token
:
expire
:
expire
:
...
@@ -67,4 +67,4 @@ mybatis-plus:
...
@@ -67,4 +67,4 @@ mybatis-plus:
db-column-underline
:
true
db-column-underline
:
true
db-config
:
db-config
:
id-type
:
auto
id-type
:
auto
mapper-locations
:
classpath:mapper/*.xml
mapper-locations
:
classpath:mapper/*.xml
\ No newline at end of file
mdm_client_websocket/src/main/java/com/skr/mdm/service/impl/equipment/EquipmentCardBindServiceImpl.java
deleted
100644 → 0
View file @
41635fed
package
com
.
skr
.
mdm
.
service
.
impl
.
equipment
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper
;
import
com.skr.mdm.annotation.CmdHandler
;
import
com.skr.mdm.constant.CmdTypeConstants
;
import
com.skr.mdm.dao.DeviceEquipmentDao
;
import
com.skr.mdm.dto.EquipmentCardBindDTO
;
import
com.skr.mdm.entity.DeviceEquipmentDO
;
import
com.skr.mdm.result.ResponseResult
;
import
com.skr.mdm.service.CmdHandlerService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
/**
* 机卡绑定
* @author nfq
* @date 2021/2/4 14:38
*/
@Slf4j
@CmdHandler
(
cmdType
=
CmdTypeConstants
.
CARD_BIND_UNBIND
)
public
class
EquipmentCardBindServiceImpl
implements
CmdHandlerService
{
@Autowired
private
DeviceEquipmentDao
equipmentDao
;
@Override
public
ResponseResult
cmdHandler
(
Integer
equipmentId
,
String
data
)
{
try
{
EquipmentCardBindDTO
equipmentCardBindDTO
=
JSONUtil
.
toBean
(
data
,
EquipmentCardBindDTO
.
class
);
new
LambdaUpdateChainWrapper
<>(
equipmentDao
)
.
set
(
DeviceEquipmentDO:
:
getIsCardBinding
,
equipmentCardBindDTO
.
getBindState
())
.
set
(
equipmentCardBindDTO
.
getBindState
()
==
1
,
DeviceEquipmentDO:
:
getCardUnbindPassword
,
equipmentCardBindDTO
.
getUnbindPassword
())
.
set
(
StringUtils
.
isNotBlank
(
equipmentCardBindDTO
.
getRandomCode
()),
DeviceEquipmentDO:
:
getOfflineUnlockCode
,
equipmentCardBindDTO
.
getRandomCode
())
.
set
(
StringUtils
.
isNotBlank
(
equipmentCardBindDTO
.
getPhoneNumber
()),
DeviceEquipmentDO:
:
getPhoneNumber
,
equipmentCardBindDTO
.
getPhoneNumber
())
.
set
(
StringUtils
.
isNotBlank
(
equipmentCardBindDTO
.
getIccid
()),
DeviceEquipmentDO:
:
getIccid
,
equipmentCardBindDTO
.
getIccid
())
.
eq
(
DeviceEquipmentDO:
:
getId
,
equipmentId
)
.
update
();
return
ResponseResult
.
success
(
equipmentCardBindDTO
.
getCid
());
}
catch
(
Exception
e
)
{
log
.
error
(
"机卡绑定异常: "
+
equipmentId
+
data
,
e
);
return
ResponseResult
.
failure
();
}
}
}
\ No newline at end of file
mdm_client_websocket/src/main/java/com/skr/mdm/service/impl/equipment/EquipmentCardBindStateServiceImpl.java
deleted
100644 → 0
View file @
41635fed
package
com
.
skr
.
mdm
.
service
.
impl
.
equipment
;
import
com.skr.mdm.annotation.CmdHandler
;
import
com.skr.mdm.constant.CmdTypeConstants
;
import
com.skr.mdm.dao.DeviceEquipmentDao
;
import
com.skr.mdm.dto.EquipmentCardBindStateDTO
;
import
com.skr.mdm.entity.DeviceEquipmentDO
;
import
com.skr.mdm.result.ResponseResult
;
import
com.skr.mdm.service.CmdHandlerService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
/**
* 获取机卡绑定状态
*
* @author nfq
* @date 2023-03-07 17:26
*/
@Slf4j
@CmdHandler
(
cmdType
=
CmdTypeConstants
.
CARD_BIND_STATE
)
public
class
EquipmentCardBindStateServiceImpl
implements
CmdHandlerService
{
@Autowired
private
DeviceEquipmentDao
equipmentDao
;
@Override
public
ResponseResult
cmdHandler
(
Integer
equipmentId
,
String
data
)
{
try
{
DeviceEquipmentDO
equipmentDO
=
equipmentDao
.
selectById
(
equipmentId
);
EquipmentCardBindStateDTO
equipmentCardBindStateDTO
=
EquipmentCardBindStateDTO
.
builder
()
.
bindState
(
equipmentDO
.
getIsCardBinding
())
.
iccid
(
equipmentDO
.
getIccid
())
.
build
();
return
ResponseResult
.
success
(
equipmentCardBindStateDTO
);
}
catch
(
Exception
e
)
{
log
.
error
(
"查询机卡绑定状态异常: "
+
equipmentId
+
data
,
e
);
return
ResponseResult
.
failure
();
}
}
}
\ No newline at end of file
mdm_client_websocket/src/main/java/com/skr/mdm/service/impl/equipment/EquipmentInfoServiceImpl.java
View file @
d1d89f8c
...
@@ -49,18 +49,18 @@ public class EquipmentInfoServiceImpl implements CmdHandlerService {
...
@@ -49,18 +49,18 @@ public class EquipmentInfoServiceImpl implements CmdHandlerService {
.
eq
(
DeviceEquipmentDO:
:
getId
,
equipmentId
)
.
eq
(
DeviceEquipmentDO:
:
getId
,
equipmentId
)
.
update
();
.
update
();
}
}
equipmentInfoDO
.
setImei2
(
getImei2
(
equipmentInfoDO
.
getImei2
(),
equipmentId
,
loginUserDTO
.
get
Imei
()));
equipmentInfoDO
.
setImei2
(
getImei2
(
equipmentInfoDO
.
getImei2
(),
equipmentId
,
loginUserDTO
.
get
SerialNumber
()));
DeviceEquipmentInfoDO
deviceEquipmentInfoDO
=
new
LambdaQueryChainWrapper
<>(
equipmentInfoDao
)
DeviceEquipmentInfoDO
deviceEquipmentInfoDO
=
new
LambdaQueryChainWrapper
<>(
equipmentInfoDao
)
.
eq
(
DeviceEquipmentInfoDO:
:
getEquipmentId
,
equipmentId
)
.
eq
(
DeviceEquipmentInfoDO:
:
getEquipmentId
,
equipmentId
)
.
one
();
.
one
();
if
(
deviceEquipmentInfoDO
==
null
)
{
if
(
deviceEquipmentInfoDO
==
null
)
{
// 添加设备信息
// 添加设备信息
equipmentInfoDao
.
insert
(
equipmentInfoDO
);
equipmentInfoDao
.
insert
(
equipmentInfoDO
);
new
LambdaUpdateChainWrapper
<>(
equipmentDao
)
//
new LambdaUpdateChainWrapper<>(equipmentDao)
.
set
(
DeviceEquipmentDO:
:
getOaid
,
equipmentInfoDTO
.
getOaid
())
//
.set(DeviceEquipmentDO::getOaid, equipmentInfoDTO.getOaid())
.
set
(
DeviceEquipmentDO:
:
getUuid
,
equipmentInfoDTO
.
getUuid
())
//
.set(DeviceEquipmentDO::getUuid, equipmentInfoDTO.getUuid())
.
eq
(
DeviceEquipmentDO:
:
getId
,
equipmentId
)
//
.eq(DeviceEquipmentDO::getId, equipmentId)
.
update
();
//
.update();
return
ResponseResult
.
success
();
return
ResponseResult
.
success
();
}
}
// 修改设备信息
// 修改设备信息
...
@@ -90,7 +90,7 @@ public class EquipmentInfoServiceImpl implements CmdHandlerService {
...
@@ -90,7 +90,7 @@ public class EquipmentInfoServiceImpl implements CmdHandlerService {
if
(
StringUtils
.
isBlank
(
imeiLogin
))
{
if
(
StringUtils
.
isBlank
(
imeiLogin
))
{
// 同步IMEI1
// 同步IMEI1
new
LambdaUpdateChainWrapper
<>(
equipmentDao
)
new
LambdaUpdateChainWrapper
<>(
equipmentDao
)
.
set
(
DeviceEquipmentDO:
:
get
Imei
,
imeiFirst
)
.
set
(
DeviceEquipmentDO:
:
get
SerialNumber
,
imeiFirst
)
.
eq
(
DeviceEquipmentDO:
:
getId
,
equipmentId
)
.
eq
(
DeviceEquipmentDO:
:
getId
,
equipmentId
)
.
update
();
.
update
();
return
imeiEnd
;
return
imeiEnd
;
...
...
mdm_client_websocket/src/main/java/com/skr/mdm/service/impl/track/UserLocationInfoServiceImpl.java
View file @
d1d89f8c
...
@@ -105,4 +105,4 @@ public class UserLocationInfoServiceImpl implements CmdHandlerService {
...
@@ -105,4 +105,4 @@ public class UserLocationInfoServiceImpl implements CmdHandlerService {
}
}
}
}
}
}
\ No newline at end of file
mdm_common/src/main/java/com/skr/mdm/constant/CmdTypeConstants.java
View file @
d1d89f8c
...
@@ -11,7 +11,6 @@ public class CmdTypeConstants {
...
@@ -11,7 +11,6 @@ public class CmdTypeConstants {
*/
*/
public
static
final
short
APP_STRATEGY
=
0x384
;
public
static
final
short
APP_STRATEGY
=
0x384
;
public
static
final
short
APP_CONFIG
=
0x385
;
public
static
final
short
APP_CONFIG
=
0x385
;
public
static
final
short
CARD_BIND_STATE
=
0x386
;
public
static
final
short
INSTALLWHITE
=
0x387
;
public
static
final
short
INSTALLWHITE
=
0x387
;
public
static
final
short
RMOVESTRACB
=
0x388
;
public
static
final
short
RMOVESTRACB
=
0x388
;
public
static
final
short
UPDATEPWD
=
0x389
;
public
static
final
short
UPDATEPWD
=
0x389
;
...
@@ -255,10 +254,6 @@ public class CmdTypeConstants {
...
@@ -255,10 +254,6 @@ public class CmdTypeConstants {
*/
*/
public
static
final
short
ALARM_INFORM_LIST
=
0x3D6
;
public
static
final
short
ALARM_INFORM_LIST
=
0x3D6
;
/**
/**
* 机卡绑定解绑
*/
public
static
final
short
CARD_BIND_UNBIND
=
0x3D7
;
/**
* sim变动记录
* sim变动记录
*/
*/
public
static
final
short
SIM_CHANGE_RECORD
=
0x3D8
;
public
static
final
short
SIM_CHANGE_RECORD
=
0x3D8
;
...
@@ -361,4 +356,4 @@ public class CmdTypeConstants {
...
@@ -361,4 +356,4 @@ public class CmdTypeConstants {
public
static
final
short
URL_CALL_BACK
=
0x3F0
;
public
static
final
short
URL_CALL_BACK
=
0x3F0
;
}
}
\ No newline at end of file
mdm_common/src/main/java/com/skr/mdm/enums/StrategyCmdEnum.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* @author nfq
* @date 2020/9/18 11:59
*/
@Getter
@AllArgsConstructor
public
enum
StrategyCmdEnum
{
/**
* 策略指令
*/
ISSUED_RAIL_STRATEGY
(
"围栏策略下发"
,
"issuedRailStrategy"
),
ISSUED_CONFIG_STRATEGY
(
"配置策略下发"
,
"issuedConfigStrategy"
),
ISSUED_COMPLIANCE_STRATEGY
(
"合规策略下发"
,
"issuedComplianceStrategy"
),
DELETE_RAIL_STRATEGY
(
"围栏策略删除下发"
,
"deleteRailStrategy"
),
DELETE_CONFIG_STRATEGY
(
"配置策略删除下发"
,
"deleteConfigStrategy"
),
DELETE_COMPLIANCE_STRATEGY
(
"合规策略删除下发"
,
"deleteComplianceStrategy"
),
ENABLE_RAIL_STRATEGY
(
"启用围栏策略"
,
"enableRailStrategy"
),
DISABLE_RAIL_STRATEGY
(
"禁用围栏策略"
,
"disableRailStrategy"
),
ENABLE_CONFIG_STRATEGY
(
"启用配置策略"
,
"enableConfigStrategy"
),
DISABLE_CONFIG_STRATEGY
(
"禁用配置策略"
,
"disableConfigStrategy"
),
ENABLE_COMPLIANCE_STRATEGY
(
"启用合规策略"
,
"enableComplianceStrategy"
),
DISABLE_COMPLIANCE_STRATEGY
(
"禁用合规策略"
,
"disableComplianceStrategy"
);
private
final
String
cmdType
;
private
final
String
cmd
;
}
mdm_common/src/main/java/com/skr/mdm/enums/StrategyTypeEnum.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* @author nfq
* @date 2020/9/2 16:03
*/
@Getter
@AllArgsConstructor
public
enum
StrategyTypeEnum
{
/**
* 策略类型
*/
FUNCTION_STRATEGY
(
1
,
"功能策略"
),
CONFIG_STRATEGY
(
2
,
"配置策略"
),
URL_STRATEGY
(
3
,
"网址策略"
),
SYSTEM_COMPLIANCE_STRATEGY
(
1
,
"系统合规策略"
),
APP_COMPLIANCE_STRATEGY
(
2
,
"应用合规策略"
),
NETWORK_COMPLIANCE_STRATEGY
(
3
,
"网络合规策略"
),
CALL_WHITELIST_STRATEGY
(
1
,
"通话白名单策略"
),
CALLER_ID_STRATEGY
(
2
,
"来电显示策略"
);
private
Integer
strategyType
;
private
String
strategyName
;
}
mdm_common/src/main/java/com/skr/mdm/enums/StrategyUrlEnum.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
@AllArgsConstructor
@Getter
public
enum
StrategyUrlEnum
{
DELETE_URL
(
"删除网址策略"
,
"deleteUrl"
),
ENABLE_URL
(
"启用网址策略"
,
"enableUrl"
),
DISABLE_URL
(
"禁用网址策略"
,
"disableUr"
),
ISSUED_URL
(
"下发网址策略"
,
"issuedUrl"
);
private
final
String
cmdType
;
private
final
String
cmd
;
}
mdm_common/src/main/java/com/skr/mdm/util/GaodeMapAPIUtil.java
View file @
d1d89f8c
...
@@ -132,14 +132,8 @@ public class GaodeMapAPIUtil {
...
@@ -132,14 +132,8 @@ public class GaodeMapAPIUtil {
private
static
String
getTerminalName
(
GaodeTerminalQO
gaodeTerminalQO
,
String
desc
)
{
private
static
String
getTerminalName
(
GaodeTerminalQO
gaodeTerminalQO
,
String
desc
)
{
StringBuilder
name
=
new
StringBuilder
();
StringBuilder
name
=
new
StringBuilder
();
if
(
StringUtils
.
isNotBlank
(
gaodeTerminalQO
.
getImei
()))
{
if
(
StringUtils
.
isNotBlank
(
gaodeTerminalQO
.
getSerialNum
()))
{
name
.
append
(
"imei-"
).
append
(
gaodeTerminalQO
.
getImei
())
name
.
append
(
"serialNum-"
).
append
(
gaodeTerminalQO
.
getSerialNum
())
.
append
(
"_"
).
append
(
desc
);
}
else
if
(
StringUtils
.
isNotBlank
(
gaodeTerminalQO
.
getOaid
()))
{
name
.
append
(
"oaid-"
).
append
(
gaodeTerminalQO
.
getOaid
())
.
append
(
"_"
).
append
(
desc
);
}
else
if
(
StringUtils
.
isNotBlank
(
gaodeTerminalQO
.
getUuid
()))
{
name
.
append
(
"uuid-"
).
append
(
gaodeTerminalQO
.
getUuid
())
.
append
(
"_"
).
append
(
desc
);
.
append
(
"_"
).
append
(
desc
);
}
}
return
name
.
toString
();
return
name
.
toString
();
...
@@ -453,4 +447,4 @@ public class GaodeMapAPIUtil {
...
@@ -453,4 +447,4 @@ public class GaodeMapAPIUtil {
GaodeMapAPIUtil
.
KEY
=
KEY
;
GaodeMapAPIUtil
.
KEY
=
KEY
;
}
}
}
}
\ No newline at end of file
mdm_dao/src/main/java/com/skr/mdm/dao/StrategyUrlConfigDao.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
dao
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.skr.mdm.bean.qo.BaseQueryQO
;
import
com.skr.mdm.bean.vo.strategy.StrategyUrlConfigVO
;
import
com.skr.mdm.entity.StrategyUrlConfigDO
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* 网址配置(StrategyUrl)表数据库访问层
*
* @author nfq
* @since 2022-03-18 10:47:50
*/
@Repository
public
interface
StrategyUrlConfigDao
extends
BaseMapper
<
StrategyUrlConfigDO
>
{
/**
* 根据公司ID删除
* @param companyId 公司ID
*/
void
deleteByCompanyId
(
@Param
(
"companyId"
)
Integer
companyId
);
/**
* 批量新增数据(MyBatis原生foreach方法)
*
* @param entities List<StrategyUrl> 实例对象列表
* @return 影响行数
*/
int
insertBatch
(
@Param
(
"entities"
)
List
<
StrategyUrlConfigDO
>
entities
);
List
<
StrategyUrlConfigVO
>
listStrategyUrlVO
(
@Param
(
"param"
)
BaseQueryQO
baseQueryQO
,
@Param
(
"companyId"
)
Integer
companyId
);
}
\ No newline at end of file
mdm_dao/src/main/java/com/skr/mdm/dao/StrategyUrlDao.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
dao
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.skr.mdm.bean.bo.StrategyIssuedBO
;
import
com.skr.mdm.bean.qo.StrategyQueryQO
;
import
com.skr.mdm.bean.vo.strategy.StrategyVO
;
import
com.skr.mdm.entity.StrategyUrlDO
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* 网址白名单策略(StrategyUrlWhitelist)表数据库访问层
*
* @author nfq
* @since 2022-03-18 15:00:16
*/
@Repository
public
interface
StrategyUrlDao
extends
BaseMapper
<
StrategyUrlDO
>
{
/**
* 根据公司ID删除
* @param companyId 公司ID
*/
void
deleteByCompanyId
(
@Param
(
"companyId"
)
Integer
companyId
);
/**
* 批量新增数据(MyBatis原生foreach方法)
*
* @param entities List<StrategyUrlWhitelist> 实例对象列表
* @return 影响行数
*/
int
insertBatch
(
@Param
(
"entities"
)
List
<
StrategyUrlDO
>
entities
);
/**
* 获取未禁用设备网址策略
* @param equipmentId
* @param state
* @return
*/
List
<
StrategyIssuedBO
>
listStrategyIdByEquipmentId
(
@Param
(
"equipmentId"
)
Integer
equipmentId
,
@Param
(
"state"
)
Integer
state
,
@Param
(
"issuedState"
)
Integer
issuedState
);
/**
* 策略列表
* @param strategyQueryQO
* @return
*/
List
<
StrategyVO
>
listStrategy
(
StrategyQueryQO
strategyQueryQO
);
}
mdm_dao/src/main/java/com/skr/mdm/dao/StrategyUrlMapDao.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
dao
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.skr.mdm.bean.so.strategy.StrategyUrlInfoSO
;
import
com.skr.mdm.bean.vo.strategy.StrategyUrlInfoVO
;
import
com.skr.mdm.entity.StrategyUrlMapDO
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* 网址白名单策略和网址关系表(StrategyUrlMap)表数据库访问层
*
* @author nfq
* @since 2022-03-18 15:00:07
*/
@Repository
public
interface
StrategyUrlMapDao
extends
BaseMapper
<
StrategyUrlMapDO
>
{
/**
* 根据公司ID删除
* @param companyId 公司ID
*/
void
deleteByCompanyId
(
@Param
(
"companyId"
)
Integer
companyId
);
/**
* 批量新增数据(MyBatis原生foreach方法)
*
* @param entities List<StrategyUrlMap> 实例对象列表
* @return 影响行数
*/
int
insertBatch
(
@Param
(
"entities"
)
List
<
StrategyUrlMapDO
>
entities
);
List
<
StrategyUrlInfoSO
>
listStrategyUrlWhitelistInfoSO
(
@Param
(
"strategyId"
)
Integer
strategyId
);
List
<
StrategyUrlInfoVO
>
listStrategyUrlWhitelistInfoVO
(
@Param
(
"strategyId"
)
Integer
strategyId
);
}
\ No newline at end of file
mdm_dao/src/main/java/com/skr/mdm/dao/StrategyUrlUserDao.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
dao
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.skr.mdm.bean.vo.strategy.StrategyUserVO
;
import
com.skr.mdm.entity.StrategyUrlUserDO
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* 策略用户中间表(StrategyUrlWhitelistUser)表数据库访问层
*
* @author nfq
* @since 2022-03-18 15:00:16
*/
@Repository
public
interface
StrategyUrlUserDao
extends
BaseMapper
<
StrategyUrlUserDO
>
{
/**
* 根据设备ID删除
* @param equipmentIdList 设备ID集合
*/
void
deleteByEquipmentIdList
(
@Param
(
"equipmentIdList"
)
List
<
Integer
>
equipmentIdList
);
/**
* 批量新增数据(MyBatis原生foreach方法)
*
* @param entities List<StrategyUrlWhitelistUser> 实例对象列表
* @return 影响行数
*/
int
insertBatch
(
@Param
(
"entities"
)
List
<
StrategyUrlUserDO
>
entities
);
/**
* 网址白名单策略设备id
*
* @param list
* @return
*/
List
<
Integer
>
listEquipmentIdByStrategyIds
(
@Param
(
"list"
)
List
<
Integer
>
list
);
List
<
StrategyUserVO
>
listStrategyUser
(
@Param
(
"strategyId"
)
Integer
strategyId
,
@Param
(
"searchType"
)
Integer
searchType
,
@Param
(
"searchValue"
)
String
searchValue
);
}
\ No newline at end of file
mdm_dao/src/main/java/com/skr/mdm/entity/DeviceEquipmentDO.java
View file @
d1d89f8c
...
@@ -41,7 +41,7 @@ public class DeviceEquipmentDO implements Serializable {
...
@@ -41,7 +41,7 @@ public class DeviceEquipmentDO implements Serializable {
private
Integer
isDelete
;
private
Integer
isDelete
;
/**
/**
* 设备类型 1:
手机 2:手环 3:记录仪
* 设备类型 1:
pc
*/
*/
private
Integer
equipmentType
;
private
Integer
equipmentType
;
...
@@ -81,21 +81,25 @@ public class DeviceEquipmentDO implements Serializable {
...
@@ -81,21 +81,25 @@ public class DeviceEquipmentDO implements Serializable {
private
String
equipmentModel
;
private
String
equipmentModel
;
/**
/**
*
imei
*
主板名称信息
*/
*/
private
String
imei
;
private
String
motherboard
;
/**
/**
*
uuid
*
生产日期
*/
*/
private
String
uuid
;
private
String
productionDate
;
/**
/**
*
oaid
*
序列号
*/
*/
private
String
oaid
;
private
String
serialNumber
;
/**
/**
* 厂商信息
*/
private
String
vendor
;
/**
* 高德猎鹰终端id
* 高德猎鹰终端id
*/
*/
private
Integer
tid
;
private
Integer
tid
;
...
@@ -164,22 +168,24 @@ public class DeviceEquipmentDO implements Serializable {
...
@@ -164,22 +168,24 @@ public class DeviceEquipmentDO implements Serializable {
* 内网环境的上一次心跳毫秒值
* 内网环境的上一次心跳毫秒值
*/
*/
private
Date
heartbeatTime
;
private
Date
heartbeatTime
;
/**
// /**
* 机卡绑定(0:未绑定 1:绑定)
// * 机卡绑定(0:未绑定 1:绑定)
*/
// */
private
Integer
isCardBinding
;
// private Integer isCardBinding;
/**
// /**
* 解绑密码
// * 解绑密码
*/
// */
private
String
cardUnbindPassword
;
// private String cardUnbindPassword;
/**
/**
* 离线解锁码
* 离线解锁码
*/
*/
private
String
offlineUnlockCode
;
private
String
offlineUnlockCode
;
/**
//
/**
* iccid
//
* iccid
*/
//
*/
private
String
iccid
;
//
private String iccid;
/**
/**
* 创建时间
* 创建时间
...
@@ -191,4 +197,5 @@ public class DeviceEquipmentDO implements Serializable {
...
@@ -191,4 +197,5 @@ public class DeviceEquipmentDO implements Serializable {
*/
*/
private
Date
updateTime
;
private
Date
updateTime
;
}
}
\ No newline at end of file
mdm_dao/src/main/java/com/skr/mdm/entity/RailStrategyDO.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Builder
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 策略信息表(RailStrategy)实体类
*
* @author nfq
* @since 2020-08-24 17:58:38
*/
@Data
@Builder
@TableName
(
value
=
"rail_strategy"
)
public
class
RailStrategyDO
{
private
static
final
long
serialVersionUID
=
866490960639800082L
;
private
Integer
id
;
/**
* 策略名称
*/
private
String
strategyName
;
/**
* 策略状态(1:保存未下发 2:已下发(启用)3:禁用)
*/
private
Integer
state
;
/**
* 作用域 0: 无 1:个人域 2:工作域 3:个人域和工作域
*/
private
Integer
actionScope
;
/**
* 1: 有围栏策略 0:无围栏策略
*/
@TableField
(
value
=
"is_rail"
)
private
Integer
rail
;
/**
* 经度
*/
private
String
longitude
;
/**
* 纬度
*/
private
String
latitude
;
/**
* 自定义范围
*/
private
String
locs
;
/**
* 半径
*/
private
String
radius
;
/**
* 操作人
*/
private
String
operator
;
/**
* 操作时间
*/
private
Date
operateTime
;
/**
* 公司的id
*/
private
Integer
companyId
;
/**
* 全局类型( 1:公司全局 2:部门全局 3:个人)
*/
private
Integer
globalType
;
/**
* 部门全局ID数组
*/
private
String
departmentIds
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 修改时间
*/
private
Date
updateTime
;
}
\ No newline at end of file
mdm_dao/src/main/java/com/skr/mdm/entity/RailStrategyInfoDO.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 策略详情表(RailStrategyInfo)实体类
*
* @author nfq
* @since 2020-08-24 17:58:40
*/
@Data
@TableName
(
value
=
"rail_strategy_info"
)
public
class
RailStrategyInfoDO
{
private
static
final
long
serialVersionUID
=
509360419704436736L
;
/**
* 主键id(cj)
*/
private
Integer
id
;
/**
* 策略id
*/
private
Integer
strategyId
;
/**
* 0:法定节假日 1-7:(周一到周日,中间用逗号隔开)
*/
private
String
workDate
;
/**
* 有无时间限制(0:否 1:是)
*/
private
Integer
isTimeLimit
;
/**
* 同一时间段开始时间
*/
private
Date
beginDate
;
/**
* 同一时间段结束时间
*/
private
Date
endDate
;
/**
* 开始时间
*/
private
Date
beginTime
;
/**
* 结束时间
*/
private
Date
endTime
;
/**
* USB存储:0:非禁用
1:禁用
*/
private
Integer
usbConnection
;
/**
* USB调试:0:非禁用
1:禁用
*/
private
Integer
usbDebugging
;
/**
* 录音:0:非禁用
1:禁用
*/
private
Integer
record
;
/**
* 摄像头:0:非禁用
1:禁用
*/
private
Integer
camera
;
/**
* 0:非禁用
1:禁用
*/
private
Integer
wifi
;
/**
* 0:非禁用
1:禁用
*/
private
Integer
bluetooth
;
/**
* 移动数据:0:非禁用
1:禁用
*/
private
Integer
mobileData
;
/**
* 0:非禁用
1:禁用
*/
private
Integer
gps
;
/**
* 0:首先选择IP发送,离线状态短信发送;1:始终短信发送
*/
private
Integer
sentType
;
/**
* 通话 '0:非禁用\n1:禁用'
*/
private
Integer
conversation
;
/**
* 短信 '0:非禁用;1:禁用'
*/
private
Integer
sms
;
/**
* 状态:0:已启用;1:已停用;2:已过期
*/
private
Integer
status
;
/**
* sd卡:0:非禁用
1:禁用
*/
private
Integer
sdCard
;
/**
* 热点共享:0:非禁用
1:禁用
*/
private
Integer
hotShared
;
/**
* NFC:0:非禁用
1:禁用
*/
private
Integer
nfc
;
/**
* 任务键:0:非禁用
1:禁用
*/
private
Integer
task
;
/**
* HOME键:0:非禁用
1:禁用
*/
private
Integer
homeKey
;
/**
* 下拉菜单:0:非禁用
1:禁用
*/
private
Integer
stateMenu
;
/**
* 返回键:0:非禁用
1:禁用
*/
private
Integer
backKey
;
/**
* 一键拷贝:0:非禁用
1:禁用
*/
private
Integer
usbOtg
;
/**
* 安全模式:0:非禁用
1:禁用
*/
private
Integer
safeMode
;
/**
* 第二卡槽:0:非禁用1:禁用
*/
private
Integer
secondCardSlot
;
/**
* 系统截屏(0:非禁用1:禁用)
*/
private
Integer
sysScreenCapture
;
/**
* 系统录屏(0:非禁用1:禁用)
*/
private
Integer
sysScreenRecorder
;
/**
* 剪切板(0:非禁用1:禁用)
*/
private
Integer
shearPlate
;
/**
* 系统升级(0:非禁用1:禁用)
*/
private
Integer
sysUpgrade
;
/**
* APN(0:非禁用1:禁用)
*/
private
Integer
apn
;
/**
* 卡槽2数据业务(0:非禁用1:禁用)
*/
private
Integer
secondCardWork
;
/**
* VPN(0:非禁用1:禁用)
*/
private
Integer
vpn
;
/**
* 无线网络和WLAN定位设置菜单(0:非禁用1:禁用)
*/
private
Integer
networkSetting
;
/**
* 位置来源应用安装设置(0:非禁用1:禁用)
*/
private
Integer
apkSourceInstallation
;
/**
* 恢复出厂设置(0:非禁用1:禁用)
*/
private
Integer
recoveryStage
;
/**
* 添加多用户(0:非禁用1:禁用)
*/
private
Integer
addUsers
;
/**
* 强行停止系统签名(0:非禁用1:禁用)
*/
private
Integer
stopSign
;
/**
* setting应用(0:非禁用1:禁用)
*/
private
Integer
settingApp
;
/**
* 系统预装浏览器(0:非禁用1:禁用)
*/
private
Integer
sysInstallBrowser
;
/**
* 漫游数据业务(0:非禁用1:禁用)
*/
private
Integer
roamingData
;
/**
* 网络共享菜单(0:非禁用1:禁用)
*/
private
Integer
networkSharingMenu
;
/**
* 编辑WLAN设置(0:非禁用1:禁用)
*/
private
Integer
editWlanSetting
;
/**
* 蓝牙网络共享菜单(0:非禁用1:禁用)
*/
private
Integer
bluetoothNetworkSharingMenu
;
/**
* 密码可见(0:非禁用1:禁用)
*/
private
Integer
visiblePassword
;
/**
* usb网络共享菜单(0:非禁用1:禁用)
*/
private
Integer
usbNetworkSharingMenu
;
/**
* 更改系统时间跟时间设置(0:非禁用1:禁用)
*/
private
Integer
changeSysTime
;
/**
* 修改墙纸 (0:非禁用1:禁用)
*/
private
Integer
changeWallPaper
;
/**
* 安装未知来源的应用 (0:非禁用1:禁用)
*/
private
Integer
installUnknownSourceApp
;
/**
* 卸载应用 (0:非禁用1:禁用)
*/
private
Integer
uninstallApp
;
/**
* 安装应用 (0:非禁用1:禁用)
*/
private
Integer
installApp
;
/**
* 微信-摇一摇 (0:非禁用1:禁用)
*/
private
Integer
wechatShake
;
/**
* 微信-附近的人 (0:非禁用1:禁用)
*/
private
Integer
wechatNearbyPeople
;
/**
* QQ-查看附近 (0:非禁用1:禁用)
*/
private
Integer
qqViewNearby
;
/**
* 墙纸
*/
private
String
wallpaper
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 修改时间
*/
private
Date
updateTime
;
}
\ No newline at end of file
mdm_dao/src/main/java/com/skr/mdm/entity/RailStrategyUserDO.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Builder
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 策略用户中间表(RailStrategyUser)实体类
*
* @author nfq
* @since 2020-08-03 16:02:21
*/
@Data
@TableName
(
"rail_strategy_user"
)
@Builder
public
class
RailStrategyUserDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
56236598549153210L
;
private
Integer
id
;
/**
* 策略id
*/
private
Integer
strategyId
;
private
Integer
equipmentId
;
/**
* 状态 1:下发中 2:下发成功 3:执行中 4:执行成功
*/
private
Integer
state
;
/**
* 1:管控中 2:未管控
*/
private
Integer
mdmStatus
;
/**
* 下发时间
*/
private
Date
issuedTime
;
private
Date
createTime
;
private
Date
updateTime
;
}
\ No newline at end of file
mdm_dao/src/main/java/com/skr/mdm/entity/StrategyConfigDO.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Builder
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 策略信息主表(StrategyConfig)实体类
*
* @author nfq
* @since 2020-08-26 10:26:49
*/
@Data
@Builder
@TableName
(
value
=
"strategy_config"
)
public
class
StrategyConfigDO
{
private
static
final
long
serialVersionUID
=
-
20005608658511249L
;
private
Integer
id
;
/**
* 策略名称
*/
private
String
strategyName
;
/**
* 策略状态(1:保存未下发 2:已下发(启用)3:禁用)
*/
private
Integer
state
;
/**
* 作用域 0: 无 1:个人域 2:工作域 3:个人域和工作域
*/
private
Integer
actionScope
;
/**
* 1: 有围栏策略 0:无围栏策略
*/
@TableField
(
value
=
"is_rail"
)
private
Integer
rail
;
/**
* 经度
*/
private
String
longitude
;
/**
* 纬度
*/
private
String
latitude
;
/**
* 自定义范围
*/
private
String
locs
;
/**
* 半径
*/
private
String
radius
;
/**
* 操作人
*/
private
String
operator
;
/**
* 操作时间
*/
private
Date
operateTime
;
/**
* 公司id
*/
private
Integer
companyId
;
/**
* 全局类型( 1:公司全局 2:部门全局 3:个人)
*/
private
Integer
globalType
;
/**
* 部门全局ID数组
*/
private
String
departmentIds
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 修改时间
*/
private
Date
updateTime
;
}
\ No newline at end of file
mdm_dao/src/main/java/com/skr/mdm/entity/StrategyUrlConfigDO.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Builder
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 网址配置(StrategyUrl)实体类
*
* @author nfq
* @since 2022-03-18 10:47:51
*/
@Data
@Builder
@TableName
(
value
=
"strategy_url_config"
)
public
class
StrategyUrlConfigDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
23750829860251703L
;
private
Integer
id
;
/**
* 网址标题
*/
private
String
urlTitle
;
/**
* 网址
*/
private
String
url
;
private
Integer
companyId
;
private
Date
createTime
;
private
Date
updateTime
;
}
mdm_dao/src/main/java/com/skr/mdm/entity/StrategyUrlDO.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Builder
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 网址白名单策略(StrategyUrlWhitelist)实体类
*
* @author nfq
* @since 2022-03-18 15:00:16
*/
@Data
@Builder
@TableName
(
value
=
"strategy_url"
)
public
class
StrategyUrlDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
358972675730390147L
;
private
Integer
id
;
private
String
strategyName
;
/**
* 策略状态(1:保存未下发 2:已下发(启用)3:禁用)
*/
private
Integer
state
;
/**
* 策略类型(1:网址白名单 2:网址黑名单)
*/
private
String
strategyType
;
private
String
operator
;
private
Date
operateTime
;
/**
* 全局类型( 1:公司全局 2:部门全局 3:个人)
*/
private
Integer
globalType
;
/**
* 部门全局ID数组
*/
private
String
departmentIds
;
private
Integer
companyId
;
private
Date
createTime
;
private
Date
updateTime
;
}
mdm_dao/src/main/java/com/skr/mdm/entity/StrategyUrlMapDO.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Builder
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 网址白名单策略和网址关系表(StrategyUrlMap)实体类
*
* @author nfq
* @since 2022-03-18 15:00:09
*/
@Data
@Builder
@TableName
(
value
=
"strategy_url_map"
)
public
class
StrategyUrlMapDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
62696047037869403L
;
private
Integer
id
;
/**
* 网址白名单策略id
*/
private
Integer
strategyId
;
/**
* 网址id
*/
private
Integer
urlId
;
private
Integer
companyId
;
private
Date
createTime
;
private
Date
updateTime
;
}
mdm_dao/src/main/java/com/skr/mdm/entity/StrategyUrlUserDO.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Builder
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 策略用户中间表(StrategyUrlWhitelistUser)实体类
*
* @author nfq
* @since 2022-03-18 15:00:16
*/
@Data
@Builder
@TableName
(
value
=
"strategy_url_user"
)
public
class
StrategyUrlUserDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
460613016518410748L
;
private
Integer
id
;
/**
* 策略id
*/
private
Integer
strategyId
;
private
Integer
equipmentId
;
/**
* 状态 1:下发中 2:下发成功 3:执行中 4:执行成功
*/
private
Object
state
;
/**
* 1:管控中 2:未管控
*/
private
Integer
mdmStatus
;
/**
* 下发时间
*/
private
Date
issuedTime
;
private
Integer
companyId
;
private
Date
createTime
;
private
Date
updateTime
;
}
mdm_dao/src/main/resources/mapper/DeviceEquipmentDao.xml
View file @
d1d89f8c
...
@@ -271,11 +271,12 @@
...
@@ -271,11 +271,12 @@
we.bound_state,
we.bound_state,
we.equipment_model,
we.equipment_model,
au.phone_number,
au.phone_number,
we.imei,
we.serial_number,
we.vendor,
we.production_date,
we.motherboard,
we.is_card_binding,
we.is_card_binding,
we.card_unbind_password,
we.card_unbind_password,
we.uuid,
we.oaid,
we.tid,
we.tid,
we.trid,
we.trid,
we.uninstall_code,
we.uninstall_code,
...
...
mdm_manager/src/main/java/com/skr/mdm/manager/FunctionStrategyManager.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
manager
;
import
com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper
;
import
com.skr.mdm.bean.so.strategy.RailStrategyInfoSO
;
import
com.skr.mdm.bean.so.strategy.RailStrategySO
;
import
com.skr.mdm.dao.RailStrategyDao
;
import
com.skr.mdm.dao.RailStrategyInfoDao
;
import
com.skr.mdm.entity.RailStrategyDO
;
import
com.skr.mdm.entity.RailStrategyInfoDO
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 功能策略通用处理
* @author nfq
* @date 2022-10-21 16:42
*/
@Component
public
class
FunctionStrategyManager
{
@Autowired
private
RailStrategyDao
railStrategyDao
;
@Autowired
private
RailStrategyInfoDao
railStrategyInfoDao
;
/**
* 获取下发数据
*
* @param strategyIdList
* @param currentTime
* @return
*/
public
List
<
RailStrategySO
>
getRailStrategySOList
(
List
<
Integer
>
strategyIdList
,
Long
currentTime
)
{
List
<
RailStrategyDO
>
railStrategyDOList
=
railStrategyDao
.
selectBatchIds
(
strategyIdList
);
List
<
RailStrategySO
>
railStrategySOList
=
new
ArrayList
<>(
railStrategyDOList
.
size
());
if
(
CollectionUtils
.
isNotEmpty
(
railStrategyDOList
))
{
railStrategyDOList
.
forEach
(
railStrategyDO
->
{
RailStrategySO
railStrategySO
=
new
RailStrategySO
();
BeanUtils
.
copyProperties
(
railStrategyDO
,
railStrategySO
);
railStrategySO
.
setOperateTime
(
railStrategyDO
.
getOperateTime
().
getTime
());
railStrategySO
.
setSendTime
(
currentTime
);
List
<
RailStrategyInfoDO
>
railStrategyInfoDOList
=
new
LambdaQueryChainWrapper
<>(
railStrategyInfoDao
)
.
eq
(
RailStrategyInfoDO:
:
getStrategyId
,
railStrategyDO
.
getId
())
.
list
();
List
<
RailStrategyInfoSO
>
railStrategyInfoSOList
=
new
ArrayList
<>(
railStrategyInfoDOList
.
size
());
if
(
CollectionUtils
.
isNotEmpty
(
railStrategyInfoDOList
))
{
railStrategyInfoDOList
.
forEach
(
railStrategyInfoDO
->
{
RailStrategyInfoSO
railStrategyInfoSO
=
new
RailStrategyInfoSO
();
BeanUtils
.
copyProperties
(
railStrategyInfoDO
,
railStrategyInfoSO
);
railStrategyInfoSOList
.
add
(
railStrategyInfoSO
);
});
}
railStrategySO
.
setRailStrategyInfoSOList
(
railStrategyInfoSOList
);
railStrategySOList
.
add
(
railStrategySO
);
});
}
return
railStrategySOList
;
}
}
\ No newline at end of file
mdm_manager/src/main/java/com/skr/mdm/manager/ResponseResultManager.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
manager
;
import
com.google.common.collect.Lists
;
import
com.skr.mdm.enums.ResultCodeEnum
;
import
com.skr.mdm.result.ResponseResult
;
import
org.apache.commons.collections4.CollectionUtils
;
import
java.util.List
;
/**
* @author nfq
* @date 2022-10-20 14:09
*/
public
class
ResponseResultManager
{
private
static
List
<
ResponseResult
>
responseResultList
;
public
static
boolean
add
(
ResponseResult
responseResult
)
{
if
(
CollectionUtils
.
isEmpty
(
responseResultList
))
{
responseResultList
=
Lists
.
newArrayListWithExpectedSize
(
5
);
}
return
responseResultList
.
add
(
responseResult
);
}
public
static
ResponseResult
get
()
{
if
(
CollectionUtils
.
isNotEmpty
(
responseResultList
))
{
ResponseResult
responseResult
=
responseResultList
.
stream
()
.
filter
(
result
->
!
ResultCodeEnum
.
SUCCESS
.
getCode
().
equals
(
result
.
getCode
()))
.
findFirst
()
.
orElse
(
ResponseResult
.
success
());
responseResultList
.
clear
();
return
responseResult
;
}
return
ResponseResult
.
success
();
}
}
mdm_manager/src/main/java/com/skr/mdm/manager/StrategyManager.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
manager
;
import
com.skr.mdm.bean.qo.StrategyTypeQO
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @author nfq
* @date 2022-10-20 13:55
*/
public
class
StrategyManager
{
public
static
List
<
Integer
>
getStrategyIdList
(
List
<
StrategyTypeQO
>
strategyTypeQOList
,
Integer
strategyType
)
{
return
strategyTypeQOList
.
stream
().
filter
(
strategyTypeQO
->
strategyType
.
equals
(
strategyTypeQO
.
getStrategyType
()))
.
map
(
StrategyTypeQO:
:
getStrategyId
)
.
collect
(
Collectors
.
toList
());
}
}
mdm_website/src/main/java/com/skr/mdm/api/equipment/excel/EquipmentImportData.java
View file @
d1d89f8c
...
@@ -13,10 +13,10 @@ public class EquipmentImportData {
...
@@ -13,10 +13,10 @@ public class EquipmentImportData {
@ExcelProperty
(
value
=
"手机号"
)
@ExcelProperty
(
value
=
"手机号"
)
private
String
phoneNumber
;
private
String
phoneNumber
;
@ExcelProperty
(
value
=
"
IMEI
"
)
@ExcelProperty
(
value
=
"
serialNum
"
)
private
String
imei
;
private
String
serialNum
;
@ExcelProperty
(
value
=
"设备名"
)
@ExcelProperty
(
value
=
"设备名"
)
private
String
equipmentName
;
private
String
equipmentName
;
}
}
\ No newline at end of file
mdm_website/src/main/java/com/skr/mdm/api/equipment/excel/EquipmentImportDataListener.java
View file @
d1d89f8c
...
@@ -111,7 +111,7 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
...
@@ -111,7 +111,7 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
private
static
boolean
checkExcelHead
(
Map
<
Integer
,
String
>
headMap
)
{
private
static
boolean
checkExcelHead
(
Map
<
Integer
,
String
>
headMap
)
{
return
!
headMap
.
containsKey
(
0
)
||
!
headMap
.
containsKey
(
1
)
||
!
headMap
.
containsKey
(
2
)
return
!
headMap
.
containsKey
(
0
)
||
!
headMap
.
containsKey
(
1
)
||
!
headMap
.
containsKey
(
2
)
||
!
headMap
.
get
(
0
).
equals
(
"手机号"
)
||
!
headMap
.
get
(
1
).
equals
(
"
IMEI
"
)
||
!
headMap
.
get
(
2
).
equals
(
"设备名"
);
||
!
headMap
.
get
(
0
).
equals
(
"手机号"
)
||
!
headMap
.
get
(
1
).
equals
(
"
序列号
"
)
||
!
headMap
.
get
(
2
).
equals
(
"设备名"
);
}
}
private
void
initData
()
{
private
void
initData
()
{
...
@@ -130,7 +130,7 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
...
@@ -130,7 +130,7 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
.
list
();
.
list
();
if
(
CollectionUtils
.
isNotEmpty
(
deviceEquipmentDOList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
deviceEquipmentDOList
))
{
this
.
imeiSet
=
deviceEquipmentDOList
.
stream
()
this
.
imeiSet
=
deviceEquipmentDOList
.
stream
()
.
map
(
DeviceEquipmentDO:
:
get
Imei
)
.
map
(
DeviceEquipmentDO:
:
get
SerialNumber
)
.
filter
(
StringUtils:
:
isNotBlank
)
.
filter
(
StringUtils:
:
isNotBlank
)
.
collect
(
Collectors
.
toSet
());
.
collect
(
Collectors
.
toSet
());
this
.
equipmentNameMap
=
deviceEquipmentDOList
.
stream
()
this
.
equipmentNameMap
=
deviceEquipmentDOList
.
stream
()
...
@@ -188,12 +188,12 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
...
@@ -188,12 +188,12 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
return
;
return
;
}
}
// imei查重
// imei查重
if
(
CollectionUtils
.
isNotEmpty
(
imeiSet
)
&&
imeiSet
.
contains
(
data
.
get
Imei
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
imeiSet
)
&&
imeiSet
.
contains
(
data
.
get
SerialNum
()))
{
equipmentImportFailDTOList
.
add
(
covertEquipmentImportFailDTO
(
data
,
"IMEI与系统中重复"
));
equipmentImportFailDTOList
.
add
(
covertEquipmentImportFailDTO
(
data
,
"IMEI与系统中重复"
));
failCount
++;
failCount
++;
return
;
return
;
}
}
imeiSet
.
add
(
data
.
get
Imei
());
imeiSet
.
add
(
data
.
get
SerialNum
());
// 如果存在设备名进行查重 不存在自动生成设备名
// 如果存在设备名进行查重 不存在自动生成设备名
AuUserDO
userDO
=
userDOMap
.
get
(
data
.
getPhoneNumber
());
AuUserDO
userDO
=
userDOMap
.
get
(
data
.
getPhoneNumber
());
String
equipmentName
=
data
.
getEquipmentName
();
String
equipmentName
=
data
.
getEquipmentName
();
...
@@ -272,7 +272,7 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
...
@@ -272,7 +272,7 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
equipmentDO
.
setUserId
(
userDO
.
getId
());
equipmentDO
.
setUserId
(
userDO
.
getId
());
equipmentDO
.
setUserName
(
userDO
.
getUserName
());
equipmentDO
.
setUserName
(
userDO
.
getUserName
());
equipmentDO
.
setEquipmentType
(
1
);
equipmentDO
.
setEquipmentType
(
1
);
equipmentDO
.
set
Imei
(
data
.
getImei
());
equipmentDO
.
set
SerialNumber
(
data
.
getSerialNum
());
equipmentDO
.
setDepartmentId
(
userDO
.
getDepartmentId
());
equipmentDO
.
setDepartmentId
(
userDO
.
getDepartmentId
());
equipmentDO
.
setDepartmentName
(
userDO
.
getDepartmentName
());
equipmentDO
.
setDepartmentName
(
userDO
.
getDepartmentName
());
equipmentDO
.
setCompanyId
(
companyId
);
equipmentDO
.
setCompanyId
(
companyId
);
...
@@ -290,9 +290,9 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
...
@@ -290,9 +290,9 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
.
userName
(
equipmentDO
.
getUserName
())
.
userName
(
equipmentDO
.
getUserName
())
.
departmentName
(
equipmentDO
.
getDepartmentName
())
.
departmentName
(
equipmentDO
.
getDepartmentName
())
.
companyName
(
companyName
)
.
companyName
(
companyName
)
.
imei
(
equipmentDO
.
getImei
())
.
serialNum
(
equipmentDO
.
getSerialNumber
())
.
build
();
.
build
();
RegisterEquipmentUtil
.
registerGaodeTerminal
(
gaodeTerminalQO
,
equipmentDO
);
//
RegisterEquipmentUtil.registerGaodeTerminal(gaodeTerminalQO, equipmentDO);
}
}
}
}
...
@@ -309,7 +309,7 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
...
@@ -309,7 +309,7 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
equipmentImportFailDTOList
.
add
(
covertEquipmentImportFailDTO
(
data
,
"手机号格式错误"
));
equipmentImportFailDTOList
.
add
(
covertEquipmentImportFailDTO
(
data
,
"手机号格式错误"
));
return
true
;
return
true
;
}
}
if
(!
Pattern
.
matches
(
RegexConstants
.
IMEI_REGEX
,
data
.
get
Imei
())
&&
!
Pattern
.
matches
(
RegexConstants
.
IMEI_NUMBER_REGEX
,
data
.
getImei
()))
{
if
(!
Pattern
.
matches
(
RegexConstants
.
IMEI_REGEX
,
data
.
get
SerialNum
())
&&
!
Pattern
.
matches
(
RegexConstants
.
IMEI_NUMBER_REGEX
,
data
.
getSerialNum
()))
{
equipmentImportFailDTOList
.
add
(
covertEquipmentImportFailDTO
(
data
,
"IMEI格式错误"
));
equipmentImportFailDTOList
.
add
(
covertEquipmentImportFailDTO
(
data
,
"IMEI格式错误"
));
return
true
;
return
true
;
}
}
...
@@ -325,7 +325,7 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
...
@@ -325,7 +325,7 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
equipmentImportFailDTOList
.
add
(
covertEquipmentImportFailDTO
(
data
,
"手机号不能为空"
));
equipmentImportFailDTOList
.
add
(
covertEquipmentImportFailDTO
(
data
,
"手机号不能为空"
));
return
true
;
return
true
;
}
}
if
(
StringUtils
.
isBlank
(
data
.
get
Imei
()))
{
if
(
StringUtils
.
isBlank
(
data
.
get
SerialNum
()))
{
equipmentImportFailDTOList
.
add
(
covertEquipmentImportFailDTO
(
data
,
"IMEI不能为空"
));
equipmentImportFailDTOList
.
add
(
covertEquipmentImportFailDTO
(
data
,
"IMEI不能为空"
));
return
true
;
return
true
;
}
}
...
@@ -347,7 +347,7 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
...
@@ -347,7 +347,7 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
private
EquipmentImportFailDTO
covertEquipmentImportFailDTO
(
EquipmentImportData
userImportData
,
String
failInfo
)
{
private
EquipmentImportFailDTO
covertEquipmentImportFailDTO
(
EquipmentImportData
userImportData
,
String
failInfo
)
{
return
EquipmentImportFailDTO
.
builder
()
return
EquipmentImportFailDTO
.
builder
()
.
phoneNumber
(
userImportData
.
getPhoneNumber
())
.
phoneNumber
(
userImportData
.
getPhoneNumber
())
.
imei
(
userImportData
.
get
Imei
())
.
imei
(
userImportData
.
get
SerialNum
())
.
equipmentName
(
userImportData
.
getEquipmentName
())
.
equipmentName
(
userImportData
.
getEquipmentName
())
.
failInfo
(
failInfo
)
.
failInfo
(
failInfo
)
.
build
();
.
build
();
...
@@ -386,4 +386,4 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
...
@@ -386,4 +386,4 @@ public class EquipmentImportDataListener extends AnalysisEventListener<Equipment
return
currentEquipmentCount
>=
allowUseNumber
;
return
currentEquipmentCount
>=
allowUseNumber
;
}
}
}
}
\ No newline at end of file
mdm_website/src/main/java/com/skr/mdm/api/equipment/service/impl/EquipmentServiceImpl.java
View file @
d1d89f8c
...
@@ -16,15 +16,10 @@ import com.skr.mdm.api.equipment.service.EquipmentService;
...
@@ -16,15 +16,10 @@ import com.skr.mdm.api.equipment.service.EquipmentService;
import
com.skr.mdm.api.license.MdmLicenseVerify
;
import
com.skr.mdm.api.license.MdmLicenseVerify
;
import
com.skr.mdm.api.system.service.DepartmentService
;
import
com.skr.mdm.api.system.service.DepartmentService
;
import
com.skr.mdm.bean.dto.EquipmentExportDTO
;
import
com.skr.mdm.bean.dto.EquipmentExportDTO
;
import
com.skr.mdm.bean.qo.BaseQueryQO
;
import
com.skr.mdm.bean.qo.GaodeTerminalQO
;
import
com.skr.mdm.bean.qo.GaodeTerminalQO
;
import
com.skr.mdm.bean.qo.equipment.EquipmentAddUpdateQO
;
import
com.skr.mdm.bean.qo.equipment.EquipmentAddUpdateQO
;
import
com.skr.mdm.bean.qo.equipment.EquipmentPageQO
;
import
com.skr.mdm.bean.qo.equipment.EquipmentPageQO
;
import
com.skr.mdm.bean.vo.equipment.AppFlowStatisticsVO
;
import
com.skr.mdm.bean.vo.equipment.DeviceEquipmentVO
;
import
com.skr.mdm.bean.vo.equipment.DeviceEquipmentVO
;
import
com.skr.mdm.bean.vo.equipment.DeviceSimRecordVO
;
import
com.skr.mdm.bean.vo.equipment.EquipmentAppUseStatisticsVO
;
import
com.skr.mdm.bean.vo.statistics.AppUseDurationVO
;
import
com.skr.mdm.constant.RegexConstants
;
import
com.skr.mdm.constant.RegexConstants
;
import
com.skr.mdm.dao.*
;
import
com.skr.mdm.dao.*
;
import
com.skr.mdm.dto.LoginAdminDTO
;
import
com.skr.mdm.dto.LoginAdminDTO
;
...
@@ -103,9 +98,7 @@ public class EquipmentServiceImpl implements EquipmentService {
...
@@ -103,9 +98,7 @@ public class EquipmentServiceImpl implements EquipmentService {
.
userName
(
equipmentDO
.
getUserName
())
.
userName
(
equipmentDO
.
getUserName
())
.
departmentName
(
equipmentDO
.
getDepartmentName
())
.
departmentName
(
equipmentDO
.
getDepartmentName
())
.
companyName
(
companyDO
.
getCompanyName
())
.
companyName
(
companyDO
.
getCompanyName
())
.
imei
(
equipmentDO
.
getImei
())
.
serialNum
(
equipmentDO
.
getSerialNumber
())
.
oaid
(
equipmentDO
.
getOaid
())
.
uuid
(
equipmentDO
.
getUuid
())
.
build
();
.
build
();
RegisterEquipmentUtil
.
registerGaodeTerminal
(
gaodeTerminalQO
,
equipmentDO
);
RegisterEquipmentUtil
.
registerGaodeTerminal
(
gaodeTerminalQO
,
equipmentDO
);
}
}
...
@@ -190,49 +183,21 @@ public class EquipmentServiceImpl implements EquipmentService {
...
@@ -190,49 +183,21 @@ public class EquipmentServiceImpl implements EquipmentService {
if
(
countEquipmentName
>
0
)
{
if
(
countEquipmentName
>
0
)
{
throw
new
ServiceException
(
"该用户设备名称已存在!"
);
throw
new
ServiceException
(
"该用户设备名称已存在!"
);
}
}
if
(
StringUtils
.
isNotBlank
(
equipmentAddUpdateQO
.
get
Imei
()))
{
if
(
StringUtils
.
isNotBlank
(
equipmentAddUpdateQO
.
get
SerialNum
()))
{
if
(!
Pattern
.
matches
(
RegexConstants
.
IMEI_REGEX
,
equipmentAddUpdateQO
.
get
Imei
())
&&
if
(!
Pattern
.
matches
(
RegexConstants
.
IMEI_REGEX
,
equipmentAddUpdateQO
.
get
SerialNum
())
&&
!
Pattern
.
matches
(
RegexConstants
.
IMEI_NUMBER_REGEX
,
equipmentAddUpdateQO
.
get
Imei
()))
{
!
Pattern
.
matches
(
RegexConstants
.
IMEI_NUMBER_REGEX
,
equipmentAddUpdateQO
.
get
SerialNum
()))
{
throw
new
ServiceException
(
"IMEI格式错误!"
);
throw
new
ServiceException
(
"IMEI格式错误!"
);
}
}
Long
countPhoneNumber
=
new
LambdaQueryChainWrapper
<>(
equipmentDao
)
Long
countPhoneNumber
=
new
LambdaQueryChainWrapper
<>(
equipmentDao
)
.
eq
(
DeviceEquipmentDO:
:
getIsDelete
,
DeleteStateEnum
.
NON_DELETE
.
getState
())
.
eq
(
DeviceEquipmentDO:
:
getIsDelete
,
DeleteStateEnum
.
NON_DELETE
.
getState
())
.
eq
(
DeviceEquipmentDO:
:
getCompanyId
,
companyId
)
.
eq
(
DeviceEquipmentDO:
:
getCompanyId
,
companyId
)
.
eq
(
DeviceEquipmentDO:
:
get
Imei
,
equipmentAddUpdateQO
.
getImei
())
.
eq
(
DeviceEquipmentDO:
:
get
SerialNumber
,
equipmentAddUpdateQO
.
getSerialNum
())
.
ne
(
equipmentAddUpdateQO
.
getId
()
!=
null
,
DeviceEquipmentDO:
:
getId
,
equipmentAddUpdateQO
.
getId
())
.
ne
(
equipmentAddUpdateQO
.
getId
()
!=
null
,
DeviceEquipmentDO:
:
getId
,
equipmentAddUpdateQO
.
getId
())
.
count
();
.
count
();
if
(
countPhoneNumber
>
0
)
{
if
(
countPhoneNumber
>
0
)
{
throw
new
ServiceException
(
"设备IMEI已存在!"
);
throw
new
ServiceException
(
"设备IMEI已存在!"
);
}
}
}
}
if
(
StringUtils
.
isNotBlank
(
equipmentAddUpdateQO
.
getOaid
()))
{
if
(
equipmentAddUpdateQO
.
getOaid
().
length
()
>
32
)
{
throw
new
ServiceException
(
"OAID格式错误!"
);
}
Long
countPhoneNumber
=
new
LambdaQueryChainWrapper
<>(
equipmentDao
)
.
eq
(
DeviceEquipmentDO:
:
getIsDelete
,
DeleteStateEnum
.
NON_DELETE
.
getState
())
.
eq
(
DeviceEquipmentDO:
:
getCompanyId
,
companyId
)
.
eq
(
DeviceEquipmentDO:
:
getOaid
,
equipmentAddUpdateQO
.
getOaid
())
.
ne
(
equipmentAddUpdateQO
.
getId
()
!=
null
,
DeviceEquipmentDO:
:
getId
,
equipmentAddUpdateQO
.
getId
())
.
count
();
if
(
countPhoneNumber
>
0
)
{
throw
new
ServiceException
(
"设备OAID已存在!"
);
}
}
if
(
StringUtils
.
isNotBlank
(
equipmentAddUpdateQO
.
getUuid
()))
{
if
(
equipmentAddUpdateQO
.
getUuid
().
length
()
>
32
)
{
throw
new
ServiceException
(
"UUID格式错误!"
);
}
Long
countPhoneNumber
=
new
LambdaQueryChainWrapper
<>(
equipmentDao
)
.
eq
(
DeviceEquipmentDO:
:
getIsDelete
,
DeleteStateEnum
.
NON_DELETE
.
getState
())
.
eq
(
DeviceEquipmentDO:
:
getCompanyId
,
companyId
)
.
eq
(
DeviceEquipmentDO:
:
getUuid
,
equipmentAddUpdateQO
.
getUuid
())
.
ne
(
equipmentAddUpdateQO
.
getId
()
!=
null
,
DeviceEquipmentDO:
:
getId
,
equipmentAddUpdateQO
.
getId
())
.
count
();
if
(
countPhoneNumber
>
0
)
{
throw
new
ServiceException
(
"设备UUID已存在!"
);
}
}
}
}
@Override
@Override
...
@@ -248,9 +213,7 @@ public class EquipmentServiceImpl implements EquipmentService {
...
@@ -248,9 +213,7 @@ public class EquipmentServiceImpl implements EquipmentService {
new
LambdaUpdateChainWrapper
<>(
equipmentDao
)
new
LambdaUpdateChainWrapper
<>(
equipmentDao
)
.
set
(
DeviceEquipmentDO:
:
getEquipmentName
,
equipmentAddUpdateQO
.
getEquipmentName
())
.
set
(
DeviceEquipmentDO:
:
getEquipmentName
,
equipmentAddUpdateQO
.
getEquipmentName
())
.
set
(
DeviceEquipmentDO:
:
getEquipmentType
,
equipmentAddUpdateQO
.
getEquipmentType
())
.
set
(
DeviceEquipmentDO:
:
getEquipmentType
,
equipmentAddUpdateQO
.
getEquipmentType
())
.
set
(
StringUtils
.
isNotBlank
(
equipmentAddUpdateQO
.
getImei
()),
DeviceEquipmentDO:
:
getImei
,
equipmentAddUpdateQO
.
getImei
())
.
set
(
StringUtils
.
isNotBlank
(
equipmentAddUpdateQO
.
getSerialNum
()),
DeviceEquipmentDO:
:
getSerialNumber
,
equipmentAddUpdateQO
.
getSerialNum
())
.
set
(
StringUtils
.
isNotBlank
(
equipmentAddUpdateQO
.
getOaid
()),
DeviceEquipmentDO:
:
getOaid
,
equipmentAddUpdateQO
.
getOaid
())
.
set
(
StringUtils
.
isNotBlank
(
equipmentAddUpdateQO
.
getUuid
()),
DeviceEquipmentDO:
:
getUuid
,
equipmentAddUpdateQO
.
getUuid
())
.
set
(
DeviceEquipmentDO:
:
getUserId
,
equipmentAddUpdateQO
.
getUserId
())
.
set
(
DeviceEquipmentDO:
:
getUserId
,
equipmentAddUpdateQO
.
getUserId
())
.
set
(
DeviceEquipmentDO:
:
getUserName
,
userDO
.
getUserName
())
.
set
(
DeviceEquipmentDO:
:
getUserName
,
userDO
.
getUserName
())
.
set
(
DeviceEquipmentDO:
:
getDepartmentId
,
userDO
.
getDepartmentId
())
.
set
(
DeviceEquipmentDO:
:
getDepartmentId
,
userDO
.
getDepartmentId
())
...
@@ -266,9 +229,7 @@ public class EquipmentServiceImpl implements EquipmentService {
...
@@ -266,9 +229,7 @@ public class EquipmentServiceImpl implements EquipmentService {
.
userName
(
equipmentDO
.
getUserName
())
.
userName
(
equipmentDO
.
getUserName
())
.
departmentName
(
equipmentDO
.
getDepartmentName
())
.
departmentName
(
equipmentDO
.
getDepartmentName
())
.
companyName
(
companyDO
.
getCompanyName
())
.
companyName
(
companyDO
.
getCompanyName
())
.
imei
(
equipmentDO
.
getImei
())
.
serialNum
(
equipmentDO
.
getSerialNumber
())
.
oaid
(
equipmentDO
.
getOaid
())
.
uuid
(
equipmentDO
.
getUuid
())
.
build
();
.
build
();
GaodeMapAPIUtil
.
updateTerminal
(
gaodeTerminalQO
,
equipmentDO
.
getTid
());
GaodeMapAPIUtil
.
updateTerminal
(
gaodeTerminalQO
,
equipmentDO
.
getTid
());
}
}
...
...
mdm_website/src/main/java/com/skr/mdm/api/equipment/service/impl/GaodeLieyingTerminalUserStrategyServiceImpl.java
View file @
d1d89f8c
...
@@ -35,4 +35,4 @@ public class GaodeLieyingTerminalUserStrategyServiceImpl implements UserStrategy
...
@@ -35,4 +35,4 @@ public class GaodeLieyingTerminalUserStrategyServiceImpl implements UserStrategy
}
}
return
ResponseResult
.
success
(
GaodeMapAPIUtil
.
getTerminal
(
companyDO
.
getSid
(),
equipmentDO
.
getTid
()));
return
ResponseResult
.
success
(
GaodeMapAPIUtil
.
getTerminal
(
companyDO
.
getSid
(),
equipmentDO
.
getTid
()));
}
}
}
}
\ No newline at end of file
mdm_website/src/main/java/com/skr/mdm/api/strategy/controller/FunctionStrategyController.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
api
.
strategy
.
controller
;
import
com.skr.mdm.api.strategy.service.FunctionStrategyService
;
import
com.skr.mdm.bean.qo.StrategyUserQO
;
import
com.skr.mdm.bean.qo.strategy.RailStrategyQO
;
import
com.skr.mdm.dto.LoginAdminDTO
;
import
com.skr.mdm.result.ResponseResult
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
springfox.documentation.annotations.ApiIgnore
;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
/**
* @author nfq
* @date 2022/10/18 17:36
*/
@Validated
@RestController
@RequestMapping
(
"strategy/function"
)
@Api
(
tags
=
"功能策略"
)
public
class
FunctionStrategyController
{
@Autowired
private
FunctionStrategyService
functionStrategyService
;
@PostMapping
(
"add"
)
@ApiOperation
(
value
=
"创建"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:rail:add')"
)
public
ResponseResult
addStrategy
(
@RequestBody
@Valid
RailStrategyQO
railStrategyQO
,
@ApiIgnore
Authentication
authentication
)
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
functionStrategyService
.
addStrategy
(
railStrategyQO
,
loginAdminDTO
);
}
@PostMapping
(
"update"
)
@ApiOperation
(
value
=
"编辑"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:update')"
)
public
ResponseResult
updateStrategy
(
@RequestBody
@Valid
RailStrategyQO
railStrategyQO
,
@ApiIgnore
Authentication
authentication
)
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
functionStrategyService
.
updateStrategy
(
railStrategyQO
,
loginAdminDTO
);
}
@PostMapping
(
"user/list"
)
@ApiOperation
(
value
=
"作用人列表"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:user:list')"
)
public
ResponseResult
listStrategyUser
(
@RequestBody
@Valid
StrategyUserQO
strategyUserQO
)
{
return
functionStrategyService
.
listStrategyUser
(
strategyUserQO
);
}
@PostMapping
(
"user/delete"
)
@ApiOperation
(
value
=
"作用人删除"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:user:delete')"
)
public
ResponseResult
deleteStrategyUser
(
@RequestParam
@NotNull
(
message
=
"策略ID不能为空"
)
Integer
strategyId
,
@RequestParam
@NotEmpty
(
message
=
"设备ID不能为空"
)
List
<
Integer
>
equipmentIdList
,
@ApiIgnore
Authentication
authentication
)
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
functionStrategyService
.
deleteStrategyUser
(
strategyId
,
equipmentIdList
,
loginAdminDTO
);
}
@PostMapping
(
"state/change"
)
@ApiOperation
(
value
=
"启用禁用"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:able')"
)
public
ResponseResult
updateStrategyState
(
@RequestParam
@NotNull
(
message
=
"策略ID不能为空"
)
Integer
strategyId
,
@RequestParam
@NotNull
(
message
=
"策略状态不能为空"
)
Integer
state
,
@ApiIgnore
Authentication
authentication
)
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
functionStrategyService
.
updateStrategyState
(
strategyId
,
state
,
loginAdminDTO
);
}
@PostMapping
(
"info"
)
@ApiOperation
(
value
=
"详细信息"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:list')"
)
public
ResponseResult
strategyInfo
(
@RequestParam
@NotNull
(
message
=
"策略ID不能为空"
)
Integer
strategyId
)
{
return
functionStrategyService
.
strategyInfo
(
strategyId
);
}
@ApiOperation
(
"上传墙纸"
)
@PostMapping
(
"upload/wallpaper"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:rail:add')"
)
public
ResponseResult
uploadWallpaper
(
MultipartFile
file
,
@ApiIgnore
Authentication
authentication
)
throws
Exception
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
functionStrategyService
.
uploadWallPaper
(
file
,
loginAdminDTO
);
}
}
\ No newline at end of file
mdm_website/src/main/java/com/skr/mdm/api/strategy/controller/StrategyController.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
api
.
strategy
.
controller
;
import
com.skr.mdm.api.strategy.service.StrategyService
;
import
com.skr.mdm.bean.qo.StrategyQueryQO
;
import
com.skr.mdm.bean.qo.StrategyTypeIssuedQO
;
import
com.skr.mdm.bean.qo.StrategyTypeQO
;
import
com.skr.mdm.bean.vo.strategy.StrategyVO
;
import
com.skr.mdm.dto.LoginAdminDTO
;
import
com.skr.mdm.result.ResponseResult
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
springfox.documentation.annotations.ApiIgnore
;
import
javax.validation.Valid
;
import
java.util.List
;
/**
* @author nfq
* @date 2020/8/27 14:25
*/
@Validated
@RestController
@RequestMapping
(
"strategy"
)
@Api
(
tags
=
"常规策略管理"
)
public
class
StrategyController
{
@Autowired
private
StrategyService
strategyService
;
@ApiOperation
(
"策略列表"
)
@PostMapping
(
"list"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:list')"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"成功"
,
response
=
StrategyVO
.
class
)
})
public
ResponseResult
list
(
@RequestBody
@Valid
StrategyQueryQO
strategyQueryQO
,
@ApiIgnore
Authentication
authentication
)
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
strategyService
.
listStrategy
(
strategyQueryQO
,
loginAdminDTO
);
}
@ApiOperation
(
"删除策略"
)
@PostMapping
(
"delete"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:delete')"
)
public
ResponseResult
deleteStrategy
(
@RequestBody
@Valid
List
<
StrategyTypeQO
>
strategyTypeQOList
,
@ApiIgnore
Authentication
authentication
)
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
strategyService
.
delete
(
strategyTypeQOList
,
loginAdminDTO
);
}
@ApiOperation
(
"策略下发"
)
@PostMapping
(
"issued"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:issued')"
)
public
ResponseResult
issuedStrategy
(
@RequestBody
@Valid
StrategyTypeIssuedQO
strategyTypeIssuedQO
,
@ApiIgnore
Authentication
authentication
)
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
strategyService
.
issued
(
strategyTypeIssuedQO
,
loginAdminDTO
);
}
}
\ No newline at end of file
mdm_website/src/main/java/com/skr/mdm/api/strategy/controller/StrategyUrlConfigController.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
api
.
strategy
.
controller
;
import
com.skr.mdm.api.strategy.service.StrategyUrlConfigService
;
import
com.skr.mdm.bean.qo.BaseQueryQO
;
import
com.skr.mdm.bean.qo.strategy.StrategyUrlConfigQO
;
import
com.skr.mdm.dto.LoginAdminDTO
;
import
com.skr.mdm.result.ResponseResult
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
springfox.documentation.annotations.ApiIgnore
;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotEmpty
;
import
java.io.IOException
;
import
java.util.List
;
/**
* @author nfq
* @date 2022/03/18 10:58
*/
@Validated
@RequestMapping
(
"strategy/url/config"
)
@RestController
@Api
(
tags
=
"网址配置"
)
public
class
StrategyUrlConfigController
{
@Autowired
private
StrategyUrlConfigService
strategyUrlConfigService
;
@ApiOperation
(
"添加"
)
@PostMapping
(
"add"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:url:add')"
)
public
ResponseResult
add
(
@RequestBody
@Valid
StrategyUrlConfigQO
strategyUrlConfigQO
,
@ApiIgnore
Authentication
authentication
)
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
strategyUrlConfigService
.
add
(
strategyUrlConfigQO
,
loginAdminDTO
);
}
@ApiOperation
(
"编辑"
)
@PostMapping
(
"update"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:url:add')"
)
public
ResponseResult
update
(
@RequestBody
@Valid
StrategyUrlConfigQO
strategyUrlConfigQO
,
@ApiIgnore
Authentication
authentication
)
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
strategyUrlConfigService
.
update
(
strategyUrlConfigQO
,
loginAdminDTO
);
}
@ApiOperation
(
"删除"
)
@PostMapping
(
"delete"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:url:add')"
)
public
ResponseResult
delete
(
@RequestParam
@NotEmpty
(
message
=
"ID不能为空"
)
List
<
Integer
>
idList
,
@ApiIgnore
Authentication
authentication
)
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
strategyUrlConfigService
.
delete
(
idList
,
loginAdminDTO
);
}
@ApiOperation
(
"列表"
)
@PostMapping
(
"list"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:url:add')"
)
public
ResponseResult
list
(
@RequestBody
@Valid
BaseQueryQO
baseQueryQO
,
@ApiIgnore
Authentication
authentication
)
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
strategyUrlConfigService
.
list
(
baseQueryQO
,
loginAdminDTO
);
}
@ApiOperation
(
value
=
"导入"
)
@PostMapping
(
"import"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:url:add')"
)
public
ResponseResult
importExcel
(
MultipartFile
file
,
@ApiIgnore
Authentication
authentication
)
throws
IOException
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
strategyUrlConfigService
.
importExcel
(
file
,
loginAdminDTO
);
}
}
\ No newline at end of file
mdm_website/src/main/java/com/skr/mdm/api/strategy/controller/UrlStrategyController.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
api
.
strategy
.
controller
;
import
com.skr.mdm.api.strategy.service.UrlStrategyService
;
import
com.skr.mdm.bean.qo.StrategyUserQO
;
import
com.skr.mdm.bean.qo.strategy.StrategyUrlQO
;
import
com.skr.mdm.dto.LoginAdminDTO
;
import
com.skr.mdm.result.ResponseResult
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
springfox.documentation.annotations.ApiIgnore
;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
/**
* @author nfq
* @date 2022/0/18 17:36
*/
@Validated
@RestController
@RequestMapping
(
"strategy/url"
)
@Api
(
tags
=
"网址策略"
)
public
class
UrlStrategyController
{
@Autowired
private
UrlStrategyService
urlStrategyService
;
@PostMapping
(
"add"
)
@ApiOperation
(
value
=
"创建"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:config:add')"
)
public
ResponseResult
addStrategy
(
@RequestBody
@Valid
StrategyUrlQO
strategyUrlQO
,
@ApiIgnore
Authentication
authentication
)
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
urlStrategyService
.
addStrategy
(
strategyUrlQO
,
loginAdminDTO
);
}
@PostMapping
(
"update"
)
@ApiOperation
(
value
=
"编辑"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:update')"
)
public
ResponseResult
updateStrategy
(
@RequestBody
@Valid
StrategyUrlQO
strategyUrlQO
,
@ApiIgnore
Authentication
authentication
)
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
urlStrategyService
.
updateStrategy
(
strategyUrlQO
,
loginAdminDTO
);
}
@PostMapping
(
"user/list"
)
@ApiOperation
(
value
=
"作用人列表"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:user:list')"
)
public
ResponseResult
listStrategyUser
(
@RequestBody
@Valid
StrategyUserQO
strategyUserQO
)
{
return
urlStrategyService
.
listStrategyUser
(
strategyUserQO
);
}
@PostMapping
(
"user/delete"
)
@ApiOperation
(
value
=
"作用人删除"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:user:delete')"
)
public
ResponseResult
deleteStrategyUser
(
@RequestParam
@NotNull
(
message
=
"策略ID不能为空"
)
Integer
strategyId
,
@RequestParam
@NotEmpty
(
message
=
"设备ID不能为空"
)
List
<
Integer
>
equipmentIdList
,
@ApiIgnore
Authentication
authentication
)
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
urlStrategyService
.
deleteStrategyUser
(
strategyId
,
equipmentIdList
,
loginAdminDTO
);
}
@PostMapping
(
"state/change"
)
@ApiOperation
(
value
=
"启用禁用"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:able')"
)
public
ResponseResult
updateStrategyState
(
@RequestParam
@NotNull
(
message
=
"策略ID不能为空"
)
Integer
strategyId
,
@RequestParam
@NotNull
(
message
=
"策略状态不能为空"
)
Integer
state
,
@ApiIgnore
Authentication
authentication
)
{
LoginAdminDTO
loginAdminDTO
=
(
LoginAdminDTO
)
authentication
.
getPrincipal
();
return
urlStrategyService
.
updateStrategyState
(
strategyId
,
state
,
loginAdminDTO
);
}
@PostMapping
(
"info"
)
@ApiOperation
(
value
=
"详细信息"
)
@PreAuthorize
(
"hasAnyAuthority('sys:strategy:list')"
)
public
ResponseResult
strategyInfo
(
@RequestParam
@NotNull
(
message
=
"策略ID不能为空"
)
Integer
strategyId
)
{
return
urlStrategyService
.
strategyInfo
(
strategyId
);
}
}
\ No newline at end of file
mdm_website/src/main/java/com/skr/mdm/api/strategy/excel/UrlImportData.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
api
.
strategy
.
excel
;
import
lombok.Data
;
/**
* @author nfq
* @date 2022/03/01 18:31
*/
@Data
public
class
UrlImportData
{
private
String
urlTitle
;
private
String
url
;
}
mdm_website/src/main/java/com/skr/mdm/api/strategy/excel/UrlImportDataListener.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
api
.
strategy
.
excel
;
import
cn.hutool.json.JSONUtil
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.event.AnalysisEventListener
;
import
com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper
;
import
com.google.common.collect.Sets
;
import
com.skr.mdm.dao.StrategyUrlConfigDao
;
import
com.skr.mdm.entity.StrategyUrlConfigDO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* @author nfq
* @date 2021/10/22 10:41
*/
@Slf4j
public
class
UrlImportDataListener
extends
AnalysisEventListener
<
UrlImportData
>
{
private
static
final
int
BATCH_COUNT
=
100
;
private
final
StrategyUrlConfigDao
strategyUrlConfigDao
;
private
final
Integer
companyId
;
/**
* 缓存的数据
*/
private
Set
<
UrlImportData
>
list
=
Sets
.
newHashSetWithExpectedSize
(
BATCH_COUNT
);
public
UrlImportDataListener
(
StrategyUrlConfigDao
strategyUrlConfigDao
,
Integer
companyId
)
{
this
.
strategyUrlConfigDao
=
strategyUrlConfigDao
;
this
.
companyId
=
companyId
;
}
/**
* 这个每一条数据解析都会来调用
*
* @param data one row value. Is is same as {@link AnalysisContext#readRowHolder()}
* @param context
*/
@Override
public
void
invoke
(
UrlImportData
data
,
AnalysisContext
context
)
{
log
.
info
(
"解析到一条数据:{}"
,
JSONUtil
.
toJsonStr
(
data
));
list
.
add
(
data
);
if
(
list
.
size
()
>=
BATCH_COUNT
)
{
saveData
();
// 存储完成清理 list
list
=
Sets
.
newHashSetWithExpectedSize
(
BATCH_COUNT
);
}
}
/**
* 所有数据解析完成了 都会来调用
*
* @param context
*/
@Override
public
void
doAfterAllAnalysed
(
AnalysisContext
context
)
{
saveData
();
log
.
info
(
"所有数据解析完成!"
);
}
private
void
saveData
()
{
log
.
info
(
"{}条数据,开始存储数据库!"
,
list
.
size
());
List
<
StrategyUrlConfigDO
>
strategyUrlDOList
;
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
// 判重
List
<
String
>
urlList
=
list
.
stream
().
map
(
urlImportData
->
urlImportData
.
getUrl
()).
collect
(
Collectors
.
toList
());
List
<
StrategyUrlConfigDO
>
strategyUrlDOS
=
new
LambdaQueryChainWrapper
<>(
strategyUrlConfigDao
)
.
eq
(
StrategyUrlConfigDO:
:
getCompanyId
,
companyId
)
.
in
(
StrategyUrlConfigDO:
:
getUrl
,
urlList
)
.
list
();
if
(
CollectionUtils
.
isNotEmpty
(
strategyUrlDOS
))
{
List
<
String
>
repeatUrlList
=
strategyUrlDOS
.
stream
().
map
(
StrategyUrlConfigDO:
:
getUrl
).
collect
(
Collectors
.
toList
());
list
=
list
.
stream
().
filter
(
urlImportData
->
!
repeatUrlList
.
contains
(
urlImportData
.
getUrl
())).
collect
(
Collectors
.
toSet
());
}
// 保存
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
strategyUrlDOList
=
list
.
stream
().
map
(
urlImportData
->
{
return
StrategyUrlConfigDO
.
builder
().
urlTitle
(
urlImportData
.
getUrlTitle
()).
url
(
urlImportData
.
getUrl
()).
companyId
(
companyId
).
build
();
}).
collect
(
Collectors
.
toList
());
strategyUrlConfigDao
.
insertBatch
(
strategyUrlDOList
);
}
}
log
.
info
(
"存储数据库成功!"
);
}
}
mdm_website/src/main/java/com/skr/mdm/api/strategy/service/ConfigStrategyService.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
api
.
strategy
.
service
;
import
com.skr.mdm.api.template.DefaultStrategyService
;
import
com.skr.mdm.bean.qo.StrategyQueryQO
;
import
com.skr.mdm.bean.vo.strategy.StrategyVO
;
import
java.util.List
;
public
interface
ConfigStrategyService
extends
DefaultStrategyService
{
List
<
StrategyVO
>
listStrategy
(
StrategyQueryQO
strategyQueryQO
);
}
mdm_website/src/main/java/com/skr/mdm/api/strategy/service/FunctionInfoStrategyService.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
api
.
strategy
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.skr.mdm.entity.RailStrategyInfoDO
;
/**
* @author nfq
* @date 2022-10-18 15:14
*/
public
interface
FunctionInfoStrategyService
extends
IService
<
RailStrategyInfoDO
>
{
}
mdm_website/src/main/java/com/skr/mdm/api/strategy/service/FunctionStrategyService.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
api
.
strategy
.
service
;
import
com.skr.mdm.api.template.DefaultStrategyService
;
import
com.skr.mdm.dto.LoginAdminDTO
;
import
com.skr.mdm.result.ResponseResult
;
import
org.springframework.web.multipart.MultipartFile
;
public
interface
FunctionStrategyService
extends
DefaultStrategyService
{
ResponseResult
uploadWallPaper
(
MultipartFile
file
,
LoginAdminDTO
loginAdminDTO
)
throws
Exception
;
}
mdm_website/src/main/java/com/skr/mdm/api/strategy/service/StrategyService.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
api
.
strategy
.
service
;
import
com.skr.mdm.bean.qo.StrategyQueryQO
;
import
com.skr.mdm.bean.qo.StrategyTypeIssuedQO
;
import
com.skr.mdm.bean.qo.StrategyTypeQO
;
import
com.skr.mdm.dto.LoginAdminDTO
;
import
com.skr.mdm.result.ResponseResult
;
import
java.util.List
;
public
interface
StrategyService
{
ResponseResult
listStrategy
(
StrategyQueryQO
strategyQueryQO
,
LoginAdminDTO
loginAdminDTO
);
ResponseResult
issued
(
StrategyTypeIssuedQO
strategyTypeIssuedQO
,
LoginAdminDTO
loginAdminDTO
);
ResponseResult
delete
(
List
<
StrategyTypeQO
>
strategyTypeQOList
,
LoginAdminDTO
loginAdminDTO
);
}
mdm_website/src/main/java/com/skr/mdm/api/strategy/service/StrategyUrlConfigService.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
api
.
strategy
.
service
;
import
com.skr.mdm.bean.qo.BaseQueryQO
;
import
com.skr.mdm.bean.qo.strategy.StrategyUrlConfigQO
;
import
com.skr.mdm.dto.LoginAdminDTO
;
import
com.skr.mdm.result.ResponseResult
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.IOException
;
import
java.util.List
;
public
interface
StrategyUrlConfigService
{
ResponseResult
list
(
BaseQueryQO
baseQueryQO
,
LoginAdminDTO
loginAdminDTO
);
ResponseResult
add
(
StrategyUrlConfigQO
strategyUrlConfigQO
,
LoginAdminDTO
loginAdminDTO
);
ResponseResult
update
(
StrategyUrlConfigQO
strategyUrlConfigQO
,
LoginAdminDTO
loginAdminDTO
);
ResponseResult
delete
(
List
<
Integer
>
idList
,
LoginAdminDTO
loginAdminDTO
);
ResponseResult
importExcel
(
MultipartFile
file
,
LoginAdminDTO
loginAdminDTO
)
throws
IOException
;
}
\ No newline at end of file
mdm_website/src/main/java/com/skr/mdm/api/strategy/service/UrlStrategyService.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
api
.
strategy
.
service
;
import
com.skr.mdm.api.template.DefaultStrategyService
;
import
com.skr.mdm.bean.qo.StrategyQueryQO
;
import
com.skr.mdm.bean.vo.strategy.StrategyVO
;
import
java.util.List
;
public
interface
UrlStrategyService
extends
DefaultStrategyService
{
List
<
StrategyVO
>
listStrategy
(
StrategyQueryQO
strategyQueryQO
);
}
mdm_website/src/main/java/com/skr/mdm/api/strategy/service/impl/FunctionStrategyServiceImpl.java
0 → 100644
View file @
d1d89f8c
This diff is collapsed.
Click to expand it.
mdm_website/src/main/java/com/skr/mdm/api/strategy/service/impl/StrategyServiceImpl.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
api
.
strategy
.
service
.
impl
;
import
com.github.pagehelper.PageHelper
;
import
com.skr.mdm.api.strategy.service.ConfigStrategyService
;
import
com.skr.mdm.api.strategy.service.FunctionStrategyService
;
import
com.skr.mdm.api.strategy.service.StrategyService
;
import
com.skr.mdm.api.strategy.service.UrlStrategyService
;
import
com.skr.mdm.bean.qo.StrategyQueryQO
;
import
com.skr.mdm.bean.qo.StrategyTypeIssuedQO
;
import
com.skr.mdm.bean.qo.StrategyTypeQO
;
import
com.skr.mdm.dao.RailStrategyDao
;
import
com.skr.mdm.dto.LoginAdminDTO
;
import
com.skr.mdm.enums.StrategyTypeEnum
;
import
com.skr.mdm.manager.ResponseResultManager
;
import
com.skr.mdm.manager.StrategyManager
;
import
com.skr.mdm.result.ResponseResult
;
import
com.skr.mdm.util.PageUtil
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* @author nfq
* @date 2022-10-20 9:59
*/
@Service
public
class
StrategyServiceImpl
implements
StrategyService
{
@Autowired
private
RailStrategyDao
strategyDao
;
@Autowired
private
FunctionStrategyService
functionStrategyService
;
@Autowired
private
ConfigStrategyService
configStrategyService
;
@Autowired
private
UrlStrategyService
urlStrategyService
;
@Override
public
ResponseResult
listStrategy
(
StrategyQueryQO
strategyQueryQO
,
LoginAdminDTO
loginAdminDTO
)
{
strategyQueryQO
.
setCompanyId
(
loginAdminDTO
.
getCompanyId
());
PageHelper
.
startPage
(
strategyQueryQO
.
getPageNum
(),
strategyQueryQO
.
getPageSize
());
if
(
StrategyTypeEnum
.
FUNCTION_STRATEGY
.
getStrategyType
().
equals
(
strategyQueryQO
.
getStrategyType
()))
{
return
ResponseResult
.
success
(
PageUtil
.
getPageResult
(
strategyDao
.
listStrategy
(
strategyQueryQO
)));
}
if
(
StrategyTypeEnum
.
CONFIG_STRATEGY
.
getStrategyType
().
equals
(
strategyQueryQO
.
getStrategyType
()))
{
return
ResponseResult
.
success
(
PageUtil
.
getPageResult
(
configStrategyService
.
listStrategy
(
strategyQueryQO
)));
}
if
(
StrategyTypeEnum
.
URL_STRATEGY
.
getStrategyType
().
equals
(
strategyQueryQO
.
getStrategyType
()))
{
return
ResponseResult
.
success
(
PageUtil
.
getPageResult
(
urlStrategyService
.
listStrategy
(
strategyQueryQO
)));
}
return
ResponseResult
.
success
();
}
@Override
public
ResponseResult
issued
(
StrategyTypeIssuedQO
strategyTypeIssuedQO
,
LoginAdminDTO
loginAdminDTO
)
{
List
<
StrategyTypeQO
>
strategyTypeQOList
=
strategyTypeIssuedQO
.
getStrategyTypeQOList
();
if
(
CollectionUtils
.
isNotEmpty
(
strategyTypeQOList
))
{
ResponseResultManager
.
add
(
functionStrategyService
.
issuedStrategy
(
StrategyManager
.
getStrategyIdList
(
strategyTypeQOList
,
StrategyTypeEnum
.
FUNCTION_STRATEGY
.
getStrategyType
()),
strategyTypeIssuedQO
,
loginAdminDTO
));
ResponseResultManager
.
add
(
configStrategyService
.
issuedStrategy
(
StrategyManager
.
getStrategyIdList
(
strategyTypeQOList
,
StrategyTypeEnum
.
CONFIG_STRATEGY
.
getStrategyType
()),
strategyTypeIssuedQO
,
loginAdminDTO
));
ResponseResultManager
.
add
(
urlStrategyService
.
issuedStrategy
(
StrategyManager
.
getStrategyIdList
(
strategyTypeQOList
,
StrategyTypeEnum
.
URL_STRATEGY
.
getStrategyType
()),
strategyTypeIssuedQO
,
loginAdminDTO
));
}
return
ResponseResultManager
.
get
();
}
@Override
public
ResponseResult
delete
(
List
<
StrategyTypeQO
>
strategyTypeQOList
,
LoginAdminDTO
loginAdminDTO
)
{
if
(
CollectionUtils
.
isNotEmpty
(
strategyTypeQOList
))
{
ResponseResultManager
.
add
(
functionStrategyService
.
deleteStrategy
(
StrategyManager
.
getStrategyIdList
(
strategyTypeQOList
,
StrategyTypeEnum
.
FUNCTION_STRATEGY
.
getStrategyType
()),
loginAdminDTO
));
ResponseResultManager
.
add
(
configStrategyService
.
deleteStrategy
(
StrategyManager
.
getStrategyIdList
(
strategyTypeQOList
,
StrategyTypeEnum
.
CONFIG_STRATEGY
.
getStrategyType
()),
loginAdminDTO
));
ResponseResultManager
.
add
(
urlStrategyService
.
deleteStrategy
(
StrategyManager
.
getStrategyIdList
(
strategyTypeQOList
,
StrategyTypeEnum
.
URL_STRATEGY
.
getStrategyType
()),
loginAdminDTO
));
}
return
ResponseResultManager
.
get
();
}
}
mdm_website/src/main/java/com/skr/mdm/api/strategy/service/impl/StrategyUrlConfigServiceImpl.java
0 → 100644
View file @
d1d89f8c
package
com
.
skr
.
mdm
.
api
.
strategy
.
service
.
impl
;
import
com.alibaba.excel.EasyExcel
;
import
com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper
;
import
com.github.pagehelper.PageHelper
;
import
com.skr.mdm.api.strategy.excel.UrlImportData
;
import
com.skr.mdm.api.strategy.excel.UrlImportDataListener
;
import
com.skr.mdm.api.strategy.service.StrategyUrlConfigService
;
import
com.skr.mdm.bean.qo.BaseQueryQO
;
import
com.skr.mdm.bean.qo.strategy.StrategyUrlConfigQO
;
import
com.skr.mdm.dao.StrategyUrlConfigDao
;
import
com.skr.mdm.dto.LoginAdminDTO
;
import
com.skr.mdm.entity.StrategyUrlConfigDO
;
import
com.skr.mdm.result.ResponseResult
;
import
com.skr.mdm.util.PageUtil
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.IOException
;
import
java.util.List
;
/**
* @author nfq
* @date 2022/03/18 10:57
*/
@Service
public
class
StrategyUrlConfigServiceImpl
implements
StrategyUrlConfigService
{
@Autowired
private
StrategyUrlConfigDao
strategyUrlConfigDao
;
@Override
public
ResponseResult
list
(
BaseQueryQO
baseQueryQO
,
LoginAdminDTO
loginAdminDTO
)
{
PageHelper
.
startPage
(
baseQueryQO
.
getPageNum
(),
baseQueryQO
.
getPageSize
());
return
ResponseResult
.
success
(
PageUtil
.
getPageResult
(
strategyUrlConfigDao
.
listStrategyUrlVO
(
baseQueryQO
,
loginAdminDTO
.
getCompanyId
())));
}
@Override
public
ResponseResult
add
(
StrategyUrlConfigQO
strategyUrlConfigQO
,
LoginAdminDTO
loginAdminDTO
)
{
if
(
checkDuplicateUrl
(
strategyUrlConfigQO
,
loginAdminDTO
)
>
0
)
{
return
ResponseResult
.
failure
(
"网址已存在"
);
}
StrategyUrlConfigDO
strategyUrlConfigDO
=
getStrategyUrlConfigDO
(
strategyUrlConfigQO
,
loginAdminDTO
);
strategyUrlConfigDao
.
insert
(
strategyUrlConfigDO
);
return
ResponseResult
.
success
();
}
@Override
public
ResponseResult
update
(
StrategyUrlConfigQO
strategyUrlConfigQO
,
LoginAdminDTO
loginAdminDTO
)
{
if
(
checkDuplicateUrl
(
strategyUrlConfigQO
,
loginAdminDTO
)
>
0
)
{
return
ResponseResult
.
failure
(
"网址已存在"
);
}
StrategyUrlConfigDO
strategyUrlConfigDO
=
getStrategyUrlConfigDO
(
strategyUrlConfigQO
,
loginAdminDTO
);
strategyUrlConfigDao
.
updateById
(
strategyUrlConfigDO
);
return
ResponseResult
.
success
();
}
@Override
@Transactional
public
ResponseResult
delete
(
List
<
Integer
>
idList
,
LoginAdminDTO
loginAdminDTO
)
{
if
(
CollectionUtils
.
isNotEmpty
(
idList
))
{
strategyUrlConfigDao
.
deleteBatchIds
(
idList
);
}
return
ResponseResult
.
success
();
}
@Override
public
ResponseResult
importExcel
(
MultipartFile
file
,
LoginAdminDTO
loginAdminDTO
)
throws
IOException
{
UrlImportDataListener
urlImportDataListener
=
new
UrlImportDataListener
(
strategyUrlConfigDao
,
loginAdminDTO
.
getCompanyId
());
EasyExcel
.
read
(
file
.
getInputStream
(),
UrlImportData
.
class
,
urlImportDataListener
).
sheet
().
doRead
();
return
ResponseResult
.
success
();
}
private
long
checkDuplicateUrl
(
StrategyUrlConfigQO
strategyUrlConfigQO
,
LoginAdminDTO
loginAdminDTO
)
{
return
new
LambdaQueryChainWrapper
<>(
strategyUrlConfigDao
)
.
eq
(
StrategyUrlConfigDO:
:
getCompanyId
,
loginAdminDTO
.
getCompanyId
())
.
eq
(
StrategyUrlConfigDO:
:
getUrl
,
strategyUrlConfigQO
.
getUrl
())
.
ne
(
strategyUrlConfigQO
.
getId
()
!=
null
,
StrategyUrlConfigDO:
:
getId
,
strategyUrlConfigQO
.
getId
())
.
count
();
}
private
StrategyUrlConfigDO
getStrategyUrlConfigDO
(
StrategyUrlConfigQO
strategyUrlConfigQO
,
LoginAdminDTO
loginAdminDTO
)
{
StrategyUrlConfigDO
strategyUrlConfigDO
=
StrategyUrlConfigDO
.
builder
()
.
companyId
(
loginAdminDTO
.
getCompanyId
())
.
build
();
BeanUtils
.
copyProperties
(
strategyUrlConfigQO
,
strategyUrlConfigDO
);
return
strategyUrlConfigDO
;
}
}
\ No newline at end of file
mdm_website/src/main/java/com/skr/mdm/api/strategy/service/impl/UrlStrategyServiceImpl.java
0 → 100644
View file @
d1d89f8c
This diff is collapsed.
Click to expand it.
mdm_website/src/main/resources/application-dev.yml
View file @
d1d89f8c
ip
:
localhost
ip
:
localhost
server
:
server
:
port
:
80
80
port
:
80
71
spring
:
spring
:
application
:
application
:
name
:
MDMCloud
name
:
MDMCloud
datasource
:
datasource
:
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://${ip}:3306/mdm_
byod
?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
url
:
jdbc:mysql://${ip}:3306/mdm_
pc
?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
username
:
root
username
:
root
password
:
root
password
:
root
druid
:
druid
:
...
...
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