Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mqttsnet
thinglinks
提交
4adbd9da
thinglinks
项目概览
mqttsnet
/
thinglinks
通知
1
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
thinglinks
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
4adbd9da
编写于
11月 20, 2021
作者:
很久是多久
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
broker和设备业务分离
上级
f03c146e
变更
49
隐藏空白更改
内联
并排
Showing
49 changed file
with
1259 addition
and
235 deletion
+1259
-235
mqtts-api/mqtts-api-link/pom.xml
mqtts-api/mqtts-api-link/pom.xml
+33
-0
mqtts-api/mqtts-api-link/src/main/java/net/mqtts/link/api/RemoteMqttsDeviceActionService.java
...va/net/mqtts/link/api/RemoteMqttsDeviceActionService.java
+26
-0
mqtts-api/mqtts-api-link/src/main/java/net/mqtts/link/api/RemoteMqttsDeviceDatasService.java
...ava/net/mqtts/link/api/RemoteMqttsDeviceDatasService.java
+24
-0
mqtts-api/mqtts-api-link/src/main/java/net/mqtts/link/api/RemoteMqttsDeviceService.java
...ain/java/net/mqtts/link/api/RemoteMqttsDeviceService.java
+44
-0
mqtts-api/mqtts-api-link/src/main/java/net/mqtts/link/api/domain/MqttsDevice.java
.../src/main/java/net/mqtts/link/api/domain/MqttsDevice.java
+319
-0
mqtts-api/mqtts-api-link/src/main/java/net/mqtts/link/api/domain/MqttsDeviceAction.java
...ain/java/net/mqtts/link/api/domain/MqttsDeviceAction.java
+4
-2
mqtts-api/mqtts-api-link/src/main/java/net/mqtts/link/api/domain/MqttsDeviceDatas.java
...main/java/net/mqtts/link/api/domain/MqttsDeviceDatas.java
+4
-2
mqtts-api/mqtts-api-link/src/main/java/net/mqtts/link/api/factory/RemoteMqttsDeviceActionFallbackFactory.java
...k/api/factory/RemoteMqttsDeviceActionFallbackFactory.java
+30
-0
mqtts-api/mqtts-api-link/src/main/java/net/mqtts/link/api/factory/RemoteMqttsDeviceDatasFallbackFactory.java
...nk/api/factory/RemoteMqttsDeviceDatasFallbackFactory.java
+31
-0
mqtts-api/mqtts-api-link/src/main/java/net/mqtts/link/api/factory/RemoteMqttsDeviceFallbackFactory.java
...ts/link/api/factory/RemoteMqttsDeviceFallbackFactory.java
+35
-0
mqtts-api/mqtts-api-link/src/main/resources/META-INF/spring.factories
...tts-api-link/src/main/resources/META-INF/spring.factories
+4
-0
mqtts-api/pom.xml
mqtts-api/pom.xml
+1
-0
mqtts-common/mqtts-common-core/src/main/java/net/mqtts/common/core/constant/ServiceNameConstants.java
.../net/mqtts/common/core/constant/ServiceNameConstants.java
+5
-0
mqtts-modules/mqtts-modules-broker/pom.xml
mqtts-modules/mqtts-modules-broker/pom.xml
+194
-0
mqtts-modules/mqtts-modules-broker/src/main/java/net/mqtts/broker/Actors/PublishActor.java
...r/src/main/java/net/mqtts/broker/Actors/PublishActor.java
+1
-1
mqtts-modules/mqtts-modules-broker/src/main/java/net/mqtts/broker/MqttsBrokerApplication.java
...rc/main/java/net/mqtts/broker/MqttsBrokerApplication.java
+32
-0
mqtts-modules/mqtts-modules-broker/src/main/java/net/mqtts/broker/service/DemoMessageInterceptor.java
...java/net/mqtts/broker/service/DemoMessageInterceptor.java
+5
-11
mqtts-modules/mqtts-modules-broker/src/main/java/net/mqtts/broker/service/DeviceActionInterceptor.java
...ava/net/mqtts/broker/service/DeviceActionInterceptor.java
+13
-14
mqtts-modules/mqtts-modules-broker/src/main/java/net/mqtts/broker/service/DeviceDatasInterceptor.java
...java/net/mqtts/broker/service/DeviceDatasInterceptor.java
+9
-9
mqtts-modules/mqtts-modules-broker/src/main/java/net/mqtts/broker/service/MessageRegistryImpl.java
...in/java/net/mqtts/broker/service/MessageRegistryImpl.java
+1
-1
mqtts-modules/mqtts-modules-broker/src/main/java/net/mqtts/broker/service/PasswordAuthenticationImpl.java
.../net/mqtts/broker/service/PasswordAuthenticationImpl.java
+7
-10
mqtts-modules/mqtts-modules-broker/src/main/resources/META-INF/services/io.github.quickmsg.common.auth.PasswordAuthentication
...ces/io.github.quickmsg.common.auth.PasswordAuthentication
+1
-0
mqtts-modules/mqtts-modules-broker/src/main/resources/META-INF/services/io.github.quickmsg.common.http.HttpActor
...ETA-INF/services/io.github.quickmsg.common.http.HttpActor
+1
-0
mqtts-modules/mqtts-modules-broker/src/main/resources/META-INF/services/io.github.quickmsg.common.interceptor.Interceptor
...ervices/io.github.quickmsg.common.interceptor.Interceptor
+3
-0
mqtts-modules/mqtts-modules-broker/src/main/resources/META-INF/services/io.github.quickmsg.common.message.MessageRegistry
...ervices/io.github.quickmsg.common.message.MessageRegistry
+1
-0
mqtts-modules/mqtts-modules-broker/src/main/resources/META-INF/services/io.github.quickmsg.core.http.AbstractHttpActor
...F/services/io.github.quickmsg.core.http.AbstractHttpActor
+0
-0
mqtts-modules/mqtts-modules-broker/src/main/resources/banner.txt
...odules/mqtts-modules-broker/src/main/resources/banner.txt
+19
-0
mqtts-modules/mqtts-modules-broker/src/main/resources/logback.xml
...dules/mqtts-modules-broker/src/main/resources/logback.xml
+74
-0
mqtts-modules/mqtts-modules-link/pom.xml
mqtts-modules/mqtts-modules-link/pom.xml
+3
-29
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/MqttsLinkApplication.java
...nk/src/main/java/net/mqtts/link/MqttsLinkApplication.java
+0
-6
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/controller/device/MqttsDeviceActionController.java
...s/link/controller/device/MqttsDeviceActionController.java
+58
-0
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/controller/device/MqttsDeviceController.java
...t/mqtts/link/controller/device/MqttsDeviceController.java
+33
-25
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/controller/device/MqttsDeviceDatasController.java
...ts/link/controller/device/MqttsDeviceDatasController.java
+60
-0
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/mapper/device/MqttsDeviceActionMapper.java
...net/mqtts/link/mapper/device/MqttsDeviceActionMapper.java
+28
-21
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/mapper/device/MqttsDeviceDatasMapper.java
.../net/mqtts/link/mapper/device/MqttsDeviceDatasMapper.java
+6
-1
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/mapper/device/MqttsDeviceMapper.java
.../java/net/mqtts/link/mapper/device/MqttsDeviceMapper.java
+1
-2
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/service/device/MqttsDeviceActionService.java
...t/mqtts/link/service/device/MqttsDeviceActionService.java
+17
-22
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/service/device/MqttsDeviceDatasService.java
...et/mqtts/link/service/device/MqttsDeviceDatasService.java
+17
-22
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/service/device/MqttsDeviceService.java
...ava/net/mqtts/link/service/device/MqttsDeviceService.java
+2
-2
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/service/device/impl/MqttsDeviceActionServiceImpl.java
...ink/service/device/impl/MqttsDeviceActionServiceImpl.java
+22
-22
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/service/device/impl/MqttsDeviceDatasServiceImpl.java
...link/service/device/impl/MqttsDeviceDatasServiceImpl.java
+11
-1
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/service/device/impl/MqttsDeviceServiceImpl.java
...qtts/link/service/device/impl/MqttsDeviceServiceImpl.java
+1
-1
mqtts-modules/mqtts-modules-link/src/main/resources/META-INF/services/io.github.quickmsg.common.auth.PasswordAuthentication
...ces/io.github.quickmsg.common.auth.PasswordAuthentication
+0
-1
mqtts-modules/mqtts-modules-link/src/main/resources/META-INF/services/io.github.quickmsg.common.http.HttpActor
...ETA-INF/services/io.github.quickmsg.common.http.HttpActor
+0
-1
mqtts-modules/mqtts-modules-link/src/main/resources/META-INF/services/io.github.quickmsg.common.interceptor.Interceptor
...ervices/io.github.quickmsg.common.interceptor.Interceptor
+0
-3
mqtts-modules/mqtts-modules-link/src/main/resources/META-INF/services/io.github.quickmsg.common.message.MessageRegistry
...ervices/io.github.quickmsg.common.message.MessageRegistry
+0
-1
mqtts-modules/mqtts-modules-link/src/main/resources/mapper/link/device/MqttsDeviceActionMapper.xml
.../resources/mapper/link/device/MqttsDeviceActionMapper.xml
+40
-10
mqtts-modules/mqtts-modules-link/src/main/resources/mapper/link/device/MqttsDeviceDatasMapper.xml
...n/resources/mapper/link/device/MqttsDeviceDatasMapper.xml
+34
-10
mqtts-modules/mqtts-modules-link/src/main/resources/mapper/link/device/MqttsDeviceMapper.xml
...c/main/resources/mapper/link/device/MqttsDeviceMapper.xml
+5
-5
未找到文件。
mqtts-api/mqtts-api-link/pom.xml
0 → 100644
浏览文件 @
4adbd9da
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
mqtts-api
</artifactId>
<groupId>
net.mqtts
</groupId>
<version>
3.1.0
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
mqtts-api-link
</artifactId>
<description>
mqtts-api-link 设备接口模块
</description>
<dependencies>
<!-- mqtts Common Core-->
<dependency>
<groupId>
net.mqtts
</groupId>
<artifactId>
mqtts-common-core
</artifactId>
<version>
3.1.0
</version>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
mqtts-api/mqtts-api-link/src/main/java/net/mqtts/link/api/RemoteMqttsDeviceActionService.java
0 → 100644
浏览文件 @
4adbd9da
package
net.mqtts.link.api
;
import
net.mqtts.common.core.constant.ServiceNameConstants
;
import
net.mqtts.common.core.domain.R
;
import
net.mqtts.link.api.domain.MqttsDeviceAction
;
import
net.mqtts.link.api.factory.RemoteMqttsDeviceActionFallbackFactory
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
/**
* 设备动作服务
*
* @author mqtts
*/
@FeignClient
(
contextId
=
"remoteMqttsDeviceActionService"
,
value
=
ServiceNameConstants
.
MQTTS_LINK
,
fallbackFactory
=
RemoteMqttsDeviceActionFallbackFactory
.
class
)
public
interface
RemoteMqttsDeviceActionService
{
/**
* 新增设备动作
*
* @param mqttsDeviceAction
* @return
*/
@PostMapping
(
"/device/action/add"
)
public
R
add
(
@RequestBody
MqttsDeviceAction
mqttsDeviceAction
);
}
mqtts-api/mqtts-api-link/src/main/java/net/mqtts/link/api/RemoteMqttsDeviceDatasService.java
0 → 100644
浏览文件 @
4adbd9da
package
net.mqtts.link.api
;
import
net.mqtts.common.core.constant.ServiceNameConstants
;
import
net.mqtts.common.core.domain.R
;
import
net.mqtts.link.api.domain.MqttsDeviceDatas
;
import
net.mqtts.link.api.factory.RemoteMqttsDeviceDatasFallbackFactory
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
/**
* 设备消息服务
*
* @author shisen
*/
@FeignClient
(
contextId
=
"remoteMqttsDeviceDatasService"
,
value
=
ServiceNameConstants
.
MQTTS_LINK
,
fallbackFactory
=
RemoteMqttsDeviceDatasFallbackFactory
.
class
)
public
interface
RemoteMqttsDeviceDatasService
{
/**
* 新增设备消息
*/
@PostMapping
(
"/device/datas/add"
)
public
R
add
(
@RequestBody
MqttsDeviceDatas
mqttsDeviceDatas
);
}
mqtts-api/mqtts-api-link/src/main/java/net/mqtts/link/api/RemoteMqttsDeviceService.java
0 → 100644
浏览文件 @
4adbd9da
package
net.mqtts.link.api
;
import
net.mqtts.common.core.constant.ServiceNameConstants
;
import
net.mqtts.common.core.domain.R
;
import
net.mqtts.link.api.domain.MqttsDevice
;
import
net.mqtts.link.api.factory.RemoteMqttsDeviceFallbackFactory
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
/**
* 设备管理服务
*
* @author shisen
*/
@FeignClient
(
contextId
=
"remoteMqttsDeviceService"
,
value
=
ServiceNameConstants
.
MQTTS_LINK
,
fallbackFactory
=
RemoteMqttsDeviceFallbackFactory
.
class
)
public
interface
RemoteMqttsDeviceService
{
/**
* 认证接口
*
* @param clientId
* @param userName
* @param password
* @param deviceStatus
* @param protocolType
* @return
*/
@GetMapping
(
"/device/findOneByClientIdAndUserNameAndPasswordAndDeviceStatusAndProtocolType"
)
public
R
<
MqttsDevice
>
findOneByClientIdAndUserNameAndPasswordAndDeviceStatusAndProtocolType
(
@RequestParam
(
value
=
"clientId"
,
required
=
true
)
String
clientId
,
@RequestParam
(
value
=
"userName"
,
required
=
true
)
String
userName
,
@RequestParam
(
value
=
"password"
,
required
=
true
)
String
password
,
@RequestParam
(
value
=
"deviceStatus"
,
required
=
true
)
String
deviceStatus
,
@RequestParam
(
value
=
"protocolType"
,
required
=
true
)
String
protocolType
);
/**
* 更新设备在线状态
*
* @param mqttsDevice
* @return
*/
@PutMapping
(
"/device/updateConnectStatusByClientId"
)
public
R
updateConnectStatusByClientId
(
@RequestBody
MqttsDevice
mqttsDevice
);
}
mqtts-
modules/mqtts-modules-link/src/main/java/net/mqtts/link/domain/device
/MqttsDevice.java
→
mqtts-
api/mqtts-api-link/src/main/java/net/mqtts/link/api/domain
/MqttsDevice.java
浏览文件 @
4adbd9da
package
net.mqtts.link.domain.device
;
import
java.math.BigDecimal
;
package
net.mqtts.link.api.domain
;
import
net.mqtts.common.core.annotation.Excel
;
import
net.mqtts.common.core.web.domain.BaseEntity
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
java.math.BigDecimal
;
/**
* 设备管理对象 mqtts_device
*
*
* @author mqtts
* @date 2021-10-22
*/
public
class
MqttsDevice
extends
BaseEntity
{
public
class
MqttsDevice
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/** id */
/**
* id
*/
@Excel
(
name
=
"id"
)
private
Long
id
;
/** 客户端标识 */
/**
* 客户端标识
*/
@Excel
(
name
=
"客户端标识"
)
private
String
clientId
;
/** 用户名 */
/**
* 用户名
*/
private
String
userName
;
/** 密码 */
/**
* 密码
*/
private
String
password
;
/** 认证方式 */
/**
* 认证方式
*/
@Excel
(
name
=
"认证方式"
)
private
String
authMode
;
/** 设备标识 */
/**
* 设备标识
*/
@Excel
(
name
=
"设备标识"
)
private
String
deviceId
;
/** 设备名称 */
/**
* 设备名称
*/
@Excel
(
name
=
"设备名称"
)
private
String
deviceName
;
/** 纬度 */
/**
* 纬度
*/
private
BigDecimal
latitude
;
/** 经度 */
/**
* 经度
*/
private
BigDecimal
longitude
;
/** 连接实例 */
/**
* 连接实例
*/
@Excel
(
name
=
"连接实例"
)
private
String
connector
;
/** 设备描述 */
/**
* 设备描述
*/
@Excel
(
name
=
"设备描述"
)
private
String
deviceDescription
;
/** 设备状态 */
/**
* 设备状态
*/
@Excel
(
name
=
"设备状态"
)
private
String
deviceStatus
;
/** 连接状态 */
/**
* 连接状态
*/
@Excel
(
name
=
"连接状态"
)
private
String
connectStatus
;
/** 是否遗言 */
/**
* 是否遗言
*/
@Excel
(
name
=
"是否遗言"
)
private
String
isWill
;
/** 设备标签 */
/**
* 设备标签
*/
@Excel
(
name
=
"设备标签"
)
private
String
deviceTags
;
/** 产品型号 */
/**
* 产品型号
*/
@Excel
(
name
=
"产品型号"
)
private
String
productId
;
/** 厂商ID */
/**
* 厂商ID
*/
@Excel
(
name
=
"厂商ID"
)
private
String
manufacturerId
;
/** 产品协议类型 */
/**
* 产品协议类型
*/
@Excel
(
name
=
"产品协议类型"
)
private
String
protocolType
;
/** 设备类型 */
/**
* 设备类型
*/
@Excel
(
name
=
"设备类型"
)
private
String
deviceType
;
public
void
setId
(
Long
id
)
{
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
Long
getId
()
{
public
Long
getId
()
{
return
id
;
}
public
void
setClientId
(
String
clientId
)
{
public
void
setClientId
(
String
clientId
)
{
this
.
clientId
=
clientId
;
}
public
String
getClientId
()
{
public
String
getClientId
()
{
return
clientId
;
}
public
void
setUserName
(
String
userName
)
{
public
void
setUserName
(
String
userName
)
{
this
.
userName
=
userName
;
}
public
String
getUserName
()
{
public
String
getUserName
()
{
return
userName
;
}
public
void
setPassword
(
String
password
)
{
public
void
setPassword
(
String
password
)
{
this
.
password
=
password
;
}
public
String
getPassword
()
{
public
String
getPassword
()
{
return
password
;
}
public
void
setAuthMode
(
String
authMode
)
{
public
void
setAuthMode
(
String
authMode
)
{
this
.
authMode
=
authMode
;
}
public
String
getAuthMode
()
{
public
String
getAuthMode
()
{
return
authMode
;
}
public
void
setDeviceId
(
String
deviceId
)
{
public
void
setDeviceId
(
String
deviceId
)
{
this
.
deviceId
=
deviceId
;
}
public
String
getDeviceId
()
{
public
String
getDeviceId
()
{
return
deviceId
;
}
public
void
setDeviceName
(
String
deviceName
)
{
public
void
setDeviceName
(
String
deviceName
)
{
this
.
deviceName
=
deviceName
;
}
public
String
getDeviceName
()
{
public
String
getDeviceName
()
{
return
deviceName
;
}
public
void
setLatitude
(
BigDecimal
latitude
)
{
public
void
setLatitude
(
BigDecimal
latitude
)
{
this
.
latitude
=
latitude
;
}
public
BigDecimal
getLatitude
()
{
public
BigDecimal
getLatitude
()
{
return
latitude
;
}
public
void
setLongitude
(
BigDecimal
longitude
)
{
public
void
setLongitude
(
BigDecimal
longitude
)
{
this
.
longitude
=
longitude
;
}
public
BigDecimal
getLongitude
()
{
public
BigDecimal
getLongitude
()
{
return
longitude
;
}
public
void
setConnector
(
String
connector
)
{
public
void
setConnector
(
String
connector
)
{
this
.
connector
=
connector
;
}
public
String
getConnector
()
{
public
String
getConnector
()
{
return
connector
;
}
public
void
setDeviceDescription
(
String
deviceDescription
)
{
public
void
setDeviceDescription
(
String
deviceDescription
)
{
this
.
deviceDescription
=
deviceDescription
;
}
public
String
getDeviceDescription
()
{
public
String
getDeviceDescription
()
{
return
deviceDescription
;
}
public
void
setDeviceStatus
(
String
deviceStatus
)
{
public
void
setDeviceStatus
(
String
deviceStatus
)
{
this
.
deviceStatus
=
deviceStatus
;
}
public
String
getDeviceStatus
()
{
public
String
getDeviceStatus
()
{
return
deviceStatus
;
}
public
void
setConnectStatus
(
String
connectStatus
)
{
public
void
setConnectStatus
(
String
connectStatus
)
{
this
.
connectStatus
=
connectStatus
;
}
public
String
getConnectStatus
()
{
public
String
getConnectStatus
()
{
return
connectStatus
;
}
public
void
setIsWill
(
String
isWill
)
{
public
void
setIsWill
(
String
isWill
)
{
this
.
isWill
=
isWill
;
}
public
String
getIsWill
()
{
public
String
getIsWill
()
{
return
isWill
;
}
public
void
setDeviceTags
(
String
deviceTags
)
{
public
void
setDeviceTags
(
String
deviceTags
)
{
this
.
deviceTags
=
deviceTags
;
}
public
String
getDeviceTags
()
{
public
String
getDeviceTags
()
{
return
deviceTags
;
}
public
void
setProductId
(
String
productId
)
{
public
void
setProductId
(
String
productId
)
{
this
.
productId
=
productId
;
}
public
String
getProductId
()
{
public
String
getProductId
()
{
return
productId
;
}
public
void
setManufacturerId
(
String
manufacturerId
)
{
public
void
setManufacturerId
(
String
manufacturerId
)
{
this
.
manufacturerId
=
manufacturerId
;
}
public
String
getManufacturerId
()
{
public
String
getManufacturerId
()
{
return
manufacturerId
;
}
public
void
setProtocolType
(
String
protocolType
)
{
public
void
setProtocolType
(
String
protocolType
)
{
this
.
protocolType
=
protocolType
;
}
public
String
getProtocolType
()
{
public
String
getProtocolType
()
{
return
protocolType
;
}
public
void
setDeviceType
(
String
deviceType
)
{
public
void
setDeviceType
(
String
deviceType
)
{
this
.
deviceType
=
deviceType
;
}
public
String
getDeviceType
()
{
public
String
getDeviceType
()
{
return
deviceType
;
}
public
MqttsDevice
()
{
}
public
MqttsDevice
(
String
connectStatus
,
String
clientId
)
{
this
.
connectStatus
=
connectStatus
;
this
.
clientId
=
clientId
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"id"
,
getId
())
.
append
(
"clientId"
,
getClientId
())
.
append
(
"userName"
,
getUserName
())
.
append
(
"password"
,
getPassword
())
.
append
(
"authMode"
,
getAuthMode
())
.
append
(
"deviceId"
,
getDeviceId
())
.
append
(
"deviceName"
,
getDeviceName
())
.
append
(
"latitude"
,
getLatitude
())
.
append
(
"longitude"
,
getLongitude
())
.
append
(
"connector"
,
getConnector
())
.
append
(
"deviceDescription"
,
getDeviceDescription
())
.
append
(
"deviceStatus"
,
getDeviceStatus
())
.
append
(
"connectStatus"
,
getConnectStatus
())
.
append
(
"isWill"
,
getIsWill
())
.
append
(
"deviceTags"
,
getDeviceTags
())
.
append
(
"productId"
,
getProductId
())
.
append
(
"manufacturerId"
,
getManufacturerId
())
.
append
(
"protocolType"
,
getProtocolType
())
.
append
(
"deviceType"
,
getDeviceType
())
.
append
(
"createBy"
,
getCreateBy
())
.
append
(
"createTime"
,
getCreateTime
())
.
append
(
"updateBy"
,
getUpdateBy
())
.
append
(
"updateTime"
,
getUpdateTime
())
.
append
(
"remark"
,
getRemark
())
.
toString
();
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"id"
,
getId
())
.
append
(
"clientId"
,
getClientId
())
.
append
(
"userName"
,
getUserName
())
.
append
(
"password"
,
getPassword
())
.
append
(
"authMode"
,
getAuthMode
())
.
append
(
"deviceId"
,
getDeviceId
())
.
append
(
"deviceName"
,
getDeviceName
())
.
append
(
"latitude"
,
getLatitude
())
.
append
(
"longitude"
,
getLongitude
())
.
append
(
"connector"
,
getConnector
())
.
append
(
"deviceDescription"
,
getDeviceDescription
())
.
append
(
"deviceStatus"
,
getDeviceStatus
())
.
append
(
"connectStatus"
,
getConnectStatus
())
.
append
(
"isWill"
,
getIsWill
())
.
append
(
"deviceTags"
,
getDeviceTags
())
.
append
(
"productId"
,
getProductId
())
.
append
(
"manufacturerId"
,
getManufacturerId
())
.
append
(
"protocolType"
,
getProtocolType
())
.
append
(
"deviceType"
,
getDeviceType
())
.
append
(
"createBy"
,
getCreateBy
())
.
append
(
"createTime"
,
getCreateTime
())
.
append
(
"updateBy"
,
getUpdateBy
())
.
append
(
"updateTime"
,
getUpdateTime
())
.
append
(
"remark"
,
getRemark
())
.
toString
();
}
}
mqtts-
modules/mqtts-modules-link/src/main/java/net/mqtts/link/domain/device
/MqttsDeviceAction.java
→
mqtts-
api/mqtts-api-link/src/main/java/net/mqtts/link/api/domain
/MqttsDeviceAction.java
浏览文件 @
4adbd9da
package
net.mqtts.link.
domain.device
;
package
net.mqtts.link.
api.domain
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
lombok.Data
;
/**
...
...
@@ -27,6 +28,7 @@ import lombok.Data;
* @Version: 1.0
*/
/**
* 设备动作数据
*/
...
...
mqtts-
modules/mqtts-modules-link/src/main/java/net/mqtts/link/domain/device
/MqttsDeviceDatas.java
→
mqtts-
api/mqtts-api-link/src/main/java/net/mqtts/link/api/domain
/MqttsDeviceDatas.java
浏览文件 @
4adbd9da
package
net.mqtts.link.
domain.device
;
package
net.mqtts.link.
api.domain
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
lombok.Data
;
/**
...
...
@@ -27,6 +28,7 @@ import lombok.Data;
* @Version: 1.0
*/
/**
* 设备消息
*/
...
...
mqtts-api/mqtts-api-link/src/main/java/net/mqtts/link/api/factory/RemoteMqttsDeviceActionFallbackFactory.java
0 → 100644
浏览文件 @
4adbd9da
package
net.mqtts.link.api.factory
;
import
net.mqtts.common.core.domain.R
;
import
net.mqtts.link.api.RemoteMqttsDeviceActionService
;
import
net.mqtts.link.api.domain.MqttsDeviceAction
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
/**
* 设备动作服务降级处理
*
* @author shisen
*/
@Component
public
class
RemoteMqttsDeviceActionFallbackFactory
implements
FallbackFactory
<
RemoteMqttsDeviceActionService
>
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
RemoteMqttsDeviceActionFallbackFactory
.
class
);
@Override
public
RemoteMqttsDeviceActionService
create
(
Throwable
throwable
)
{
log
.
error
(
"设备消息服务调用失败:{}"
,
throwable
.
getMessage
());
return
new
RemoteMqttsDeviceActionService
()
{
@Override
public
R
add
(
MqttsDeviceAction
mqttsDeviceAction
)
{
return
R
.
fail
(
"新增设备动作失败:"
+
throwable
.
getMessage
());
}
};
}
}
mqtts-api/mqtts-api-link/src/main/java/net/mqtts/link/api/factory/RemoteMqttsDeviceDatasFallbackFactory.java
0 → 100644
浏览文件 @
4adbd9da
package
net.mqtts.link.api.factory
;
import
net.mqtts.common.core.domain.R
;
import
net.mqtts.link.api.RemoteMqttsDeviceDatasService
;
import
net.mqtts.link.api.domain.MqttsDeviceDatas
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
/**
* 设备消息服务降级处理
*
* @author shisen
*/
@Component
public
class
RemoteMqttsDeviceDatasFallbackFactory
implements
FallbackFactory
<
RemoteMqttsDeviceDatasService
>
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
RemoteMqttsDeviceDatasFallbackFactory
.
class
);
@Override
public
RemoteMqttsDeviceDatasService
create
(
Throwable
throwable
)
{
log
.
error
(
"设备消息服务调用失败:{}"
,
throwable
.
getMessage
());
return
new
RemoteMqttsDeviceDatasService
()
{
@Override
public
R
add
(
MqttsDeviceDatas
mqttsDeviceDatas
)
{
return
R
.
fail
(
"新增设备消息失败:"
+
throwable
.
getMessage
());
}
};
}
}
mqtts-api/mqtts-api-link/src/main/java/net/mqtts/link/api/factory/RemoteMqttsDeviceFallbackFactory.java
0 → 100644
浏览文件 @
4adbd9da
package
net.mqtts.link.api.factory
;
import
net.mqtts.common.core.domain.R
;
import
net.mqtts.link.api.RemoteMqttsDeviceService
;
import
net.mqtts.link.api.domain.MqttsDevice
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
/**
* 设备管理服务降级处理
*
* @author shisen
*/
@Component
public
class
RemoteMqttsDeviceFallbackFactory
implements
FallbackFactory
<
RemoteMqttsDeviceService
>
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
RemoteMqttsDeviceFallbackFactory
.
class
);
@Override
public
RemoteMqttsDeviceService
create
(
Throwable
throwable
)
{
log
.
error
(
"设备管理服务调用失败:{}"
,
throwable
.
getMessage
());
return
new
RemoteMqttsDeviceService
()
{
@Override
public
R
<
MqttsDevice
>
findOneByClientIdAndUserNameAndPasswordAndDeviceStatusAndProtocolType
(
String
clientId
,
String
userName
,
String
password
,
String
deviceStatus
,
String
protocolType
)
{
return
R
.
fail
(
"认证接口失败:"
+
throwable
.
getMessage
());
}
@Override
public
R
updateConnectStatusByClientId
(
MqttsDevice
mqttsDevice
)
{
return
R
.
fail
(
"更新设备在线状态失败:"
+
throwable
.
getMessage
());
}
};
}
}
mqtts-api/mqtts-api-link/src/main/resources/META-INF/spring.factories
0 → 100644
浏览文件 @
4adbd9da
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
net.mqtts.link.api.factory.RemoteMqttsDeviceFallbackFactory,\
net.mqtts.link.api.factory.RemoteMqttsDeviceActionFallbackFactory, \
net.mqtts.link.api.factory.RemoteMqttsDeviceDatasFallbackFactory
mqtts-api/pom.xml
浏览文件 @
4adbd9da
...
...
@@ -10,6 +10,7 @@
<modules>
<module>
mqtts-api-system
</module>
<module>
mqtts-api-link
</module>
</modules>
<artifactId>
mqtts-api
</artifactId>
...
...
mqtts-common/mqtts-common-core/src/main/java/net/mqtts/common/core/constant/ServiceNameConstants.java
浏览文件 @
4adbd9da
...
...
@@ -21,4 +21,9 @@ public class ServiceNameConstants
* 文件服务的serviceid
*/
public
static
final
String
FILE_SERVICE
=
"mqtts-file"
;
/**
* Link服务
*/
public
static
final
String
MQTTS_LINK
=
"mqtts-link"
;
}
mqtts-modules/mqtts-modules-broker/pom.xml
0 → 100644
浏览文件 @
4adbd9da
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
mqtts-modules
</artifactId>
<groupId>
net.mqtts
</groupId>
<version>
3.1.0
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
mqtts-modules-broker
</artifactId>
<description>
mqtts-modules-broker broker模块
</description>
<properties>
<!--打包目录-->
<mqtts.package.url>
D:\mqtts-server\broker
</mqtts.package.url>
<!--启动类目录-->
<mqtts.mainClass.url>
net.mqtts.broker.MqttsBrokerApplication
</mqtts.mainClass.url>
</properties>
<dependencies>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>
com.alibaba.cloud
</groupId>
<artifactId>
spring-cloud-starter-alibaba-nacos-discovery
</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>
com.alibaba.cloud
</groupId>
<artifactId>
spring-cloud-starter-alibaba-nacos-config
</artifactId>
</dependency>
<!-- SpringBoot Actuator -->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-actuator
</artifactId>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
</dependency>
<!-- mqtts Common DataSource -->
<dependency>
<groupId>
net.mqtts
</groupId>
<artifactId>
mqtts-common-datasource
</artifactId>
<version>
3.1.0
</version>
</dependency>
<!-- mqtts Common DataScope -->
<dependency>
<groupId>
net.mqtts
</groupId>
<artifactId>
mqtts-common-datascope
</artifactId>
<version>
3.1.0
</version>
</dependency>
<!-- https://github.com/quickmsg/smqtt V1.0.9 -->
<dependency>
<groupId>
io.github.quickmsg
</groupId>
<artifactId>
smqtt-spring-boot-starter
</artifactId>
<version>
1.0.9
</version>
<!-- 去除非必要版本 -->
<exclusions>
<exclusion>
<groupId>
io.github.quickmsg
</groupId>
<artifactId>
smqtt-ui
</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
net.mqtts
</groupId>
<artifactId>
mqtts-api-link
</artifactId>
<version>
3.1.0
</version>
</dependency>
</dependencies>
<build>
<plugins>
<!--打包jar-->
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-jar-plugin
</artifactId>
<configuration>
<!-- <!–不打包资源文件–>-->
<excludes>
<exclude>
*.**
</exclude>
<exclude>
*/*.xml
</exclude>
</excludes>
<archive>
<manifest>
<addClasspath>
true
</addClasspath>
<!--MANIFEST.MF 中 Class-Path 加入前缀-->
<classpathPrefix>
../lib/
</classpathPrefix>
<!--jar包不包含唯一版本标识-->
<useUniqueVersions>
false
</useUniqueVersions>
<!--指定入口类-->
<mainClass>
${mqtts.mainClass.url}
</mainClass>
</manifest>
<manifestEntries>
<!--MANIFEST.MF 中 Class-Path 加入资源文件目录-->
<Class-Path>
./resources/
</Class-Path>
</manifestEntries>
</archive>
<outputDirectory>
${iot.package.url}
</outputDirectory>
</configuration>
</plugin>
<!--拷贝依赖 copy-dependencies-->
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-dependency-plugin
</artifactId>
<version>
3.2.0
</version>
<executions>
<execution>
<id>
copy-dependencies
</id>
<phase>
package
</phase>
<goals>
<goal>
copy-dependencies
</goal>
</goals>
<configuration>
<outputDirectory>
${mqtts.lib.package.url}
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!--拷贝资源文件 copy-resources-->
<plugin>
<artifactId>
maven-resources-plugin
</artifactId>
<executions>
<execution>
<id>
copy-resources
</id>
<phase>
package
</phase>
<goals>
<goal>
copy-resources
</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>
src/main/resources
</directory>
</resource>
</resources>
<outputDirectory>
${mqtts.package.url}/resources
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!--spring boot repackage,依赖 maven-jar-plugin 打包的jar包 重新打包成 spring boot 的jar包-->
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<version>
2.5.5
</version>
<configuration>
<!--重写包含依赖,包含不存在的依赖,jar里没有pom里的依赖-->
<includes>
<include>
<groupId>
null
</groupId>
<artifactId>
null
</artifactId>
</include>
</includes>
<layout>
ZIP
</layout>
<!--使用外部配置文件,jar包里没有资源文件-->
<addResources>
true
</addResources>
<outputDirectory>
${mqtts.package.url}
</outputDirectory>
</configuration>
<executions>
<execution>
<goals>
<goal>
repackage
</goal>
</goals>
<configuration>
<!--配置jar包特殊标识 配置后,保留原文件,生成新文件 *-run.jar -->
<!--配置jar包特殊标识 不配置,原文件命名为 *.jar.original,生成新文件 *.jar -->
<!--<classifier>run</classifier>-->
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
mqtts-modules/mqtts-modules-
link/src/main/java/net/mqtts/link/controll
er/Actors/PublishActor.java
→
mqtts-modules/mqtts-modules-
broker/src/main/java/net/mqtts/brok
er/Actors/PublishActor.java
浏览文件 @
4adbd9da
package
net.mqtts.
link.controll
er.Actors
;
package
net.mqtts.
brok
er.Actors
;
import
io.github.quickmsg.common.annotation.AllowCors
;
import
io.github.quickmsg.common.annotation.Router
;
...
...
mqtts-modules/mqtts-modules-broker/src/main/java/net/mqtts/broker/MqttsBrokerApplication.java
0 → 100644
浏览文件 @
4adbd9da
package
net.mqtts.broker
;
import
io.github.quickmsg.starter.EnableMqttServer
;
import
net.mqtts.common.security.annotation.EnableCustomConfig
;
import
net.mqtts.common.security.annotation.EnableRyFeignClients
;
import
net.mqtts.common.swagger.annotation.EnableCustomSwagger2
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.web.bind.annotation.CrossOrigin
;
/**
* Broker
*
* @author mqtts
*/
@EnableMqttServer
@EnableCustomSwagger2
@EnableRyFeignClients
//实现跨域注解
//origin="*"代表所有域名都可访问
//maxAge飞行前响应的缓存持续时间的最大年龄,简单来说就是Cookie的有效期 单位为秒
//若maxAge是负数,则代表为临时Cookie,不会被持久化,Cookie信息保存在浏览器内存中,浏览器关闭Cookie就消失
@CrossOrigin
(
origins
=
"*"
,
maxAge
=
3600
)
@SpringBootApplication
public
class
MqttsBrokerApplication
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
MqttsBrokerApplication
.
class
,
args
);
System
.
out
.
println
(
"(♥◠‿◠)ノ゙ Broker模块启动成功 ლ(´ڡ`ლ)゙ "
);
}
}
mqtts-modules/mqtts-modules-
link/src/main/java/net/mqtts/link/service/impl
/DemoMessageInterceptor.java
→
mqtts-modules/mqtts-modules-
broker/src/main/java/net/mqtts/broker/service
/DemoMessageInterceptor.java
浏览文件 @
4adbd9da
package
net.mqtts.
link.service.impl
;
package
net.mqtts.
broker.service
;
import
com.alibaba.fastjson.JSONObject
;
import
io.github.quickmsg.common.channel.MqttChannel
;
import
io.github.quickmsg.common.config.Configuration
;
import
io.github.quickmsg.common.context.ReceiveContext
;
...
...
@@ -8,22 +7,17 @@ import io.github.quickmsg.common.interceptor.Interceptor;
import
io.github.quickmsg.common.interceptor.Invocation
;
import
io.github.quickmsg.common.message.HeapMqttMessage
;
import
io.github.quickmsg.common.message.SmqttMessage
;
import
io.github.quickmsg.common.protocol.ProtocolAdaptor
;
import
io.github.quickmsg.common.rule.DslExecutor
;
import
io.github.quickmsg.common.utils.MessageUtils
;
import
io.netty.buffer.ByteBuf
;
import
io.netty.handler.codec.mqtt.*
;
import
io.netty.util.CharsetUtil
;
import
io.netty.handler.codec.mqtt.MqttFixedHeader
;
import
io.netty.handler.codec.mqtt.MqttMessage
;
import
io.netty.handler.codec.mqtt.MqttPublishMessage
;
import
io.netty.handler.codec.mqtt.MqttPublishVariableHeader
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Service
;
import
reactor.core.scheduler.Schedulers
;
import
java.nio.charset.StandardCharsets
;
import
java.util.Arrays
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* @Description: mqtt消息拦截器示例
...
...
mqtts-modules/mqtts-modules-
link/src/main/java/net/mqtts/link/service/impl
/DeviceActionInterceptor.java
→
mqtts-modules/mqtts-modules-
broker/src/main/java/net/mqtts/broker/service
/DeviceActionInterceptor.java
浏览文件 @
4adbd9da
package
net.mqtts.
link.service.impl
;
package
net.mqtts.
broker.service
;
import
cn.hutool.core.date.LocalDateTimeUtil
;
import
cn.hutool.core.lang.copier.Copier
;
import
io.github.quickmsg.common.channel.MqttChannel
;
import
io.github.quickmsg.common.config.Configuration
;
import
io.github.quickmsg.common.context.ReceiveContext
;
...
...
@@ -13,16 +12,15 @@ import io.github.quickmsg.common.rule.DslExecutor;
import
io.github.quickmsg.common.utils.MessageUtils
;
import
io.netty.handler.codec.mqtt.*
;
import
lombok.extern.slf4j.Slf4j
;
import
net.mqtts.link.
domain.device.MqttsDeviceAction
;
import
net.mqtts.link.
domain.device.MqttsDeviceDatas
;
import
net.mqtts.link.
service.device.MqttsDeviceActionSer
vice
;
import
net.mqtts.link.
service.device.MqttsDeviceService
;
import
net.mqtts.link.
api.RemoteMqttsDeviceActionService
;
import
net.mqtts.link.
api.RemoteMqttsDeviceService
;
import
net.mqtts.link.
api.domain.MqttsDe
vice
;
import
net.mqtts.link.
api.domain.MqttsDeviceAction
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.PostConstruct
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
...
...
@@ -45,10 +43,10 @@ public class DeviceActionInterceptor implements Interceptor {
private
static
DeviceActionInterceptor
DeviceActionInterceptor
;
@Autowired
private
MqttsDeviceService
mqttsDeviceService
;
private
Remote
MqttsDeviceService
mqttsDeviceService
;
@Autowired
private
MqttsDeviceActionService
mqttsDeviceActionService
;
private
Remote
MqttsDeviceActionService
mqttsDeviceActionService
;
@PostConstruct
...
...
@@ -73,8 +71,8 @@ public class DeviceActionInterceptor implements Interceptor {
DslExecutor
dslExecutor
=
mqttReceiveContext
.
getDslExecutor
();
MqttMessage
message
=
smqttMessage
.
getMessage
();
//TODO MQTT动作数据处理
List
<
MqttMessageType
>
mqttMessageType
=
Arrays
.
asList
(
MqttMessageType
.
PUBLISH
,
MqttMessageType
.
DISCONNECT
,
MqttMessageType
.
PINGRESP
,
MqttMessageType
.
SUBSCRIBE
,
MqttMessageType
.
UNSUBSCRIBE
);
if
(!
smqttMessage
.
getIsCluster
()
&&
mqttMessageType
.
contains
(
message
.
fixedHeader
().
messageType
())
)
{
List
<
MqttMessageType
>
mqttMessageType
=
Arrays
.
asList
(
MqttMessageType
.
PUBLISH
,
MqttMessageType
.
DISCONNECT
,
MqttMessageType
.
PINGRESP
,
MqttMessageType
.
SUBSCRIBE
,
MqttMessageType
.
UNSUBSCRIBE
);
if
(!
smqttMessage
.
getIsCluster
()
&&
mqttMessageType
.
contains
(
message
.
fixedHeader
().
messageType
())
)
{
MqttPublishMessage
publishMessage
=
(
MqttPublishMessage
)
message
;
HeapMqttMessage
heapMqttMessage
=
this
.
clusterMessage
(
publishMessage
,
mqttChannel
,
smqttMessage
.
getTimestamp
());
MqttsDeviceAction
mqttsDeviceAction
=
new
MqttsDeviceAction
();
...
...
@@ -83,8 +81,8 @@ public class DeviceActionInterceptor implements Interceptor {
mqttsDeviceAction
.
setStatus
(
message
.
decoderResult
().
toString
());
mqttsDeviceAction
.
setMessage
(
heapMqttMessage
.
getTopic
());
mqttsDeviceAction
.
setCreate_time
(
LocalDateTimeUtil
.
now
());
DeviceActionInterceptor
.
mqttsDeviceActionService
.
insert
(
mqttsDeviceAction
);
DeviceActionInterceptor
.
mqttsDeviceService
.
updateConnectStatusByClientId
(
mqttChannel
.
getStatus
().
toString
(),
mqttChannel
.
getClientIdentifier
(
));
DeviceActionInterceptor
.
mqttsDeviceActionService
.
add
(
mqttsDeviceAction
);
DeviceActionInterceptor
.
mqttsDeviceService
.
updateConnectStatusByClientId
(
new
MqttsDevice
(
mqttChannel
.
getStatus
().
toString
(),
mqttChannel
.
getClientIdentifier
()
));
}
// 拦截业务
return
invocation
.
proceed
();
// 放行
...
...
@@ -116,7 +114,8 @@ public class DeviceActionInterceptor implements Interceptor {
/**
* 排序
*值越大权重越高
* 值越大权重越高
*
* @return 排序
*/
@Override
...
...
mqtts-modules/mqtts-modules-
link/src/main/java/net/mqtts/link/service/impl
/DeviceDatasInterceptor.java
→
mqtts-modules/mqtts-modules-
broker/src/main/java/net/mqtts/broker/service
/DeviceDatasInterceptor.java
浏览文件 @
4adbd9da
package
net.mqtts.
link.service.impl
;
package
net.mqtts.
broker.service
;
import
cn.hutool.core.date.LocalDateTimeUtil
;
import
io.github.quickmsg.common.channel.MqttChannel
;
...
...
@@ -12,12 +12,11 @@ import io.github.quickmsg.common.rule.DslExecutor;
import
io.github.quickmsg.common.utils.MessageUtils
;
import
io.netty.handler.codec.mqtt.*
;
import
lombok.extern.slf4j.Slf4j
;
import
net.mqtts.link.
domain.device.MqttsDeviceDatas
;
import
net.mqtts.link.
service.device.MqttsDeviceDatasService
;
import
net.mqtts.link.
api.RemoteMqttsDeviceDatasService
;
import
net.mqtts.link.
api.domain.MqttsDeviceDatas
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Service
;
import
reactor.core.scheduler.Schedulers
;
import
javax.annotation.PostConstruct
;
...
...
@@ -40,13 +39,13 @@ public class DeviceDatasInterceptor implements Interceptor {
private
static
DeviceDatasInterceptor
DeviceDatasInterceptor
;
@Autowired
private
MqttsDeviceDatasService
m
qttsDeviceDatasService
;
private
RemoteMqttsDeviceDatasService
remoteM
qttsDeviceDatasService
;
@PostConstruct
public
void
init
()
{
DeviceDatasInterceptor
=
this
;
DeviceDatasInterceptor
.
mqttsDeviceDatasService
=
this
.
m
qttsDeviceDatasService
;
DeviceDatasInterceptor
.
remoteMqttsDeviceDatasService
=
this
.
remoteM
qttsDeviceDatasService
;
}
/**
...
...
@@ -67,15 +66,15 @@ public class DeviceDatasInterceptor implements Interceptor {
if
(!
smqttMessage
.
getIsCluster
()
&&
message
instanceof
MqttPublishMessage
&&
message
.
fixedHeader
().
messageType
()
==
MqttMessageType
.
PUBLISH
)
{
MqttPublishMessage
publishMessage
=
(
MqttPublishMessage
)
message
;
HeapMqttMessage
heapMqttMessage
=
this
.
clusterMessage
(
publishMessage
,
mqttChannel
,
smqttMessage
.
getTimestamp
());
log
.
info
(
"Topic->{}"
+
heapMqttMessage
.
getTopic
()+
"Message->{}"
+
new
String
(
heapMqttMessage
.
getMessage
()));
log
.
info
(
"Topic->{}"
+
heapMqttMessage
.
getTopic
()
+
"Message->{}"
+
new
String
(
heapMqttMessage
.
getMessage
()));
MqttsDeviceDatas
mqttsDeviceDatas
=
new
MqttsDeviceDatas
();
mqttsDeviceDatas
.
setDevice_id
(
heapMqttMessage
.
getClientIdentifier
());
mqttsDeviceDatas
.
setTopic
(
heapMqttMessage
.
getTopic
());
mqttsDeviceDatas
.
setMessage_id
(
String
.
valueOf
(
heapMqttMessage
.
getTimestamp
()));
mqttsDeviceDatas
.
setMessage
(
new
String
(
heapMqttMessage
.
getMessage
()).
trim
());
mqttsDeviceDatas
.
setMessage
(
new
String
(
heapMqttMessage
.
getMessage
()
,
"UTF-8"
).
trim
());
mqttsDeviceDatas
.
setStatus
(
message
.
decoderResult
().
toString
());
mqttsDeviceDatas
.
setCreate_time
(
LocalDateTimeUtil
.
now
());
DeviceDatasInterceptor
.
mqttsDeviceDatasService
.
insert
(
mqttsDeviceDatas
);
DeviceDatasInterceptor
.
remoteMqttsDeviceDatasService
.
add
(
mqttsDeviceDatas
);
/* if (mqttReceiveContext.getConfiguration().getClusterConfig().isEnable()) {
mqttReceiveContext.getClusterRegistry().spreadPublishMessage(heapMqttMessage).subscribeOn(Schedulers.boundedElastic()).subscribe();
}
...
...
@@ -110,6 +109,7 @@ public class DeviceDatasInterceptor implements Interceptor {
.
qos
(
fixedHeader
.
qosLevel
().
value
())
.
build
();
}
/**
* 排序
* 值越大权重越高
...
...
mqtts-modules/mqtts-modules-
link/src/main/java/net/mqtts/link/service/impl
/MessageRegistryImpl.java
→
mqtts-modules/mqtts-modules-
broker/src/main/java/net/mqtts/broker/service
/MessageRegistryImpl.java
浏览文件 @
4adbd9da
package
net.mqtts.
link.service.impl
;
package
net.mqtts.
broker.service
;
import
io.github.quickmsg.common.message.MessageRegistry
;
import
io.github.quickmsg.common.message.RetainMessage
;
...
...
mqtts-modules/mqtts-modules-
link/src/main/java/net/mqtts/link/service/impl
/PasswordAuthenticationImpl.java
→
mqtts-modules/mqtts-modules-
broker/src/main/java/net/mqtts/broker/service
/PasswordAuthenticationImpl.java
浏览文件 @
4adbd9da
package
net.mqtts.
link.service.impl
;
package
net.mqtts.
broker.service
;
import
io.github.quickmsg.common.auth.PasswordAuthentication
;
import
lombok.extern.slf4j.Slf4j
;
import
net.mqtts.link.common.enums.DeviceConnectStatus
;
import
net.mqtts.link.common.enums.DeviceStatus
;
import
net.mqtts.link.common.enums.ProtocolType
;
import
net.mqtts.link.domain.device.MqttsDevice
;
import
net.mqtts.link.service.device.MqttsDeviceService
;
import
net.mqtts.link.api.RemoteMqttsDeviceService
;
import
net.mqtts.link.api.domain.MqttsDevice
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Service
;
...
...
@@ -33,7 +30,7 @@ public class PasswordAuthenticationImpl implements PasswordAuthentication {
private
static
PasswordAuthenticationImpl
PasswordAuthenticationImpl
;
@Autowired
private
MqttsDeviceService
mqttsDeviceService
;
private
Remote
MqttsDeviceService
mqttsDeviceService
;
@PostConstruct
...
...
@@ -52,10 +49,10 @@ public class PasswordAuthenticationImpl implements PasswordAuthentication {
*/
@Override
public
boolean
auth
(
String
userName
,
byte
[]
passwordInBytes
,
String
clientIdentifier
)
{
MqttsDevice
oneByClientIdAndUserNameAndPassword
=
PasswordAuthenticationImpl
.
mqttsDeviceService
.
findOneByClientIdAndUserNameAndPasswordAndDeviceStatusAndProtocolType
(
clientIdentifier
,
userName
,
new
String
(
passwordInBytes
),
DeviceStatus
.
ENABLE
.
getValue
(),
ProtocolType
.
MQTT
.
getValue
()
);
if
(
Optional
.
ofNullable
(
oneByClientIdAndUserNameAndPassword
).
isPresent
())
{
MqttsDevice
mqttsDevice
=
PasswordAuthenticationImpl
.
mqttsDeviceService
.
findOneByClientIdAndUserNameAndPasswordAndDeviceStatusAndProtocolType
(
clientIdentifier
,
userName
,
new
String
(
passwordInBytes
),
"ENABLE"
,
"MQTT"
).
getData
(
);
if
(
Optional
.
ofNullable
(
mqttsDevice
).
isPresent
())
{
//更改设备在线状态为在线
PasswordAuthenticationImpl
.
mqttsDeviceService
.
updateConnectStatusByClientId
(
DeviceConnectStatus
.
ONLINE
.
getValue
(),
clientIdentifier
);
PasswordAuthenticationImpl
.
mqttsDeviceService
.
updateConnectStatusByClientId
(
new
MqttsDevice
(
"INIT"
,
clientIdentifier
)
);
return
true
;
}
return
false
;
...
...
mqtts-modules/mqtts-modules-broker/src/main/resources/META-INF/services/io.github.quickmsg.common.auth.PasswordAuthentication
0 → 100644
浏览文件 @
4adbd9da
net.mqtts.broker.service.PasswordAuthenticationImpl
\ No newline at end of file
mqtts-modules/mqtts-modules-broker/src/main/resources/META-INF/services/io.github.quickmsg.common.http.HttpActor
0 → 100644
浏览文件 @
4adbd9da
net.mqtts.broker.Actors.PublishActor
\ No newline at end of file
mqtts-modules/mqtts-modules-broker/src/main/resources/META-INF/services/io.github.quickmsg.common.interceptor.Interceptor
0 → 100644
浏览文件 @
4adbd9da
net.mqtts.broker.service.DemoMessageInterceptor
net.mqtts.broker.service.DeviceActionInterceptor
net.mqtts.broker.service.DeviceDatasInterceptor
\ No newline at end of file
mqtts-modules/mqtts-modules-broker/src/main/resources/META-INF/services/io.github.quickmsg.common.message.MessageRegistry
0 → 100644
浏览文件 @
4adbd9da
net.mqtts.broker.service.MessageRegistryImpl
\ No newline at end of file
mqtts-modules/mqtts-modules-
link
/src/main/resources/META-INF/services/io.github.quickmsg.core.http.AbstractHttpActor
→
mqtts-modules/mqtts-modules-
broker
/src/main/resources/META-INF/services/io.github.quickmsg.core.http.AbstractHttpActor
浏览文件 @
4adbd9da
文件已移动
mqtts-modules/mqtts-modules-broker/src/main/resources/banner.txt
0 → 100644
浏览文件 @
4adbd9da
Spring Boot Version: ${spring-boot.version}
Spring Application Name: ${spring.application.name}
,----, ,----,
____ ,/ .`| ,/ .`|
,' , `. ,----.. ,` .' : ,` .' : .--.--.
,-+-,.' _ | / / \ ; ; / ; ; // / '.
,-+-. ; , || / . : .'___,/ ,'.'___,/ ,'| : /`. /
,--.'|' | ;| . / ;. \| : | | : | ; | |--`
| | ,', | ':. ; / ` ;; |.'; ; ; |.'; ; | : ;_
| | / | | ||; | ; \ ; |`----' | | `----' | | \ \ `.
' | : | : |,| : | ; | ' ' : ; ' : ; `----. \
; . | ; |--' . | ' ' ' : | | ' | | ' __ \ \ |
| : | | , ' ; \; / | ' : | ' : | / /`--' /
| : ' |/ \ \ ', . \ ; |.' ; |.' '--'. /
; | |`-' ; : ; | '---' '---' `--'---'
| ;/ \ \ .'`--"
'---' `---`
mqtts-modules/mqtts-modules-broker/src/main/resources/logback.xml
0 → 100644
浏览文件 @
4adbd9da
<?xml version="1.0" encoding="UTF-8"?>
<configuration
scan=
"true"
scanPeriod=
"60 seconds"
debug=
"false"
>
<!-- 日志存放路径 -->
<property
name=
"log.path"
value=
"logs/mqtts-broker"
/>
<!-- 日志输出格式 -->
<property
name=
"log.pattern"
value=
"%black(mqtts.net) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger) - %cyan(%msg%n)"
/>
<!-- mqtts.net输出 -->
<appender
name=
"console"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<encoder>
<pattern>
${log.pattern}
</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender
name=
"file_info"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<file>
${log.path}/info.log
</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<!-- 日志文件名格式 -->
<fileNamePattern>
${log.path}/info.%d{yyyy-MM-dd}.log
</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>
60
</maxHistory>
</rollingPolicy>
<encoder>
<pattern>
${log.pattern}
</pattern>
</encoder>
<filter
class=
"ch.qos.logback.classic.filter.LevelFilter"
>
<!-- 过滤的级别 -->
<level>
INFO
</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>
ACCEPT
</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>
DENY
</onMismatch>
</filter>
</appender>
<appender
name=
"file_error"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<file>
${log.path}/error.log
</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<!-- 日志文件名格式 -->
<fileNamePattern>
${log.path}/error.%d{yyyy-MM-dd}.log
</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>
60
</maxHistory>
</rollingPolicy>
<encoder>
<pattern>
${log.pattern}
</pattern>
</encoder>
<filter
class=
"ch.qos.logback.classic.filter.LevelFilter"
>
<!-- 过滤的级别 -->
<level>
ERROR
</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>
ACCEPT
</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>
DENY
</onMismatch>
</filter>
</appender>
<!-- 系统模块日志级别控制 -->
<logger
name=
"net.mqtts"
level=
"info"
/>
<!-- Spring日志级别控制 -->
<logger
name=
"org.springframework"
level=
"warn"
/>
<root
level=
"info"
>
<appender-ref
ref=
"console"
/>
</root>
<!--系统操作日志-->
<root
level=
"info"
>
<appender-ref
ref=
"file_info"
/>
<appender-ref
ref=
"file_error"
/>
</root>
</configuration>
\ No newline at end of file
mqtts-modules/mqtts-modules-link/pom.xml
浏览文件 @
4adbd9da
...
...
@@ -89,40 +89,14 @@
<version>
3.1.0
</version>
</dependency>
<!-- https://github.com/quickmsg/smqtt V1.0.9 -->
<dependency>
<groupId>
io.github.quickmsg
</groupId>
<artifactId>
smqtt-spring-boot-starter
</artifactId>
<version>
1.0.9
</version>
<!-- 去除非必要版本 -->
<exclusions>
<exclusion>
<groupId>
io.github.quickmsg
</groupId>
<artifactId>
smqtt-ui
</artifactId>
</exclusion>
</exclusions>
<groupId>
net.mqtts
</groupId>
<artifactId>
mqtts-api-link
</artifactId>
<version>
3.1.0
</version>
</dependency>
</dependencies>
<!--<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.5</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>-->
<build>
<plugins>
<!--打包jar-->
...
...
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/MqttsLinkApplication.java
浏览文件 @
4adbd9da
package
net.mqtts.link
;
import
io.github.quickmsg.starter.EnableMqttServer
;
import
net.mqtts.common.security.annotation.EnableCustomConfig
;
import
net.mqtts.common.security.annotation.EnableRyFeignClients
;
import
net.mqtts.common.swagger.annotation.EnableCustomSwagger2
;
import
net.mqtts.link.service.impl.PasswordAuthenticationImpl
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.web.bind.annotation.CrossOrigin
;
import
java.util.Iterator
;
import
java.util.ServiceLoader
;
/**
* Link
*
* @author mqtts
*/
@EnableMqttServer
@EnableCustomConfig
@EnableCustomSwagger2
@EnableRyFeignClients
...
...
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/controller/device/MqttsDeviceActionController.java
0 → 100644
浏览文件 @
4adbd9da
package
net.mqtts.link.controller.device
;
import
net.mqtts.common.core.domain.R
;
import
net.mqtts.common.core.web.controller.BaseController
;
import
net.mqtts.common.core.web.domain.AjaxResult
;
import
net.mqtts.common.core.web.page.TableDataInfo
;
import
net.mqtts.common.log.annotation.Log
;
import
net.mqtts.common.log.enums.BusinessType
;
import
net.mqtts.common.security.annotation.PreAuthorize
;
import
net.mqtts.link.api.domain.MqttsDeviceAction
;
import
net.mqtts.link.service.device.MqttsDeviceActionService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 设备动作Controller
*
* @author shisen
* @date 2021-11-20
*/
@RestController
@RequestMapping
(
"/device/action"
)
public
class
MqttsDeviceActionController
extends
BaseController
{
@Autowired
private
MqttsDeviceActionService
mqttsDeviceActionService
;
/**
* 查询设备动作列表
*/
@PreAuthorize
(
hasPermi
=
"link:device:action:list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
MqttsDeviceAction
mqttsDeviceAction
)
{
startPage
();
List
<
MqttsDeviceAction
>
list
=
mqttsDeviceActionService
.
selectMqttsDeviceActionList
(
mqttsDeviceAction
);
return
getDataTable
(
list
);
}
/**
* 新增设备动作
*/
@Log
(
title
=
"设备动作"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
(
"/add"
)
public
R
add
(
@RequestBody
MqttsDeviceAction
mqttsDeviceAction
)
{
return
R
.
ok
(
mqttsDeviceActionService
.
insertOrUpdate
(
mqttsDeviceAction
));
}
/**
* 删除设备动作
*/
@PreAuthorize
(
hasPermi
=
"link:device:action:remove"
)
@Log
(
title
=
"设备管理"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
public
AjaxResult
remove
(
@PathVariable
Long
[]
ids
)
{
return
toAjax
(
mqttsDeviceActionService
.
deleteMqttsDeviceActionByIds
(
ids
));
}
}
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/controller/device/MqttsDeviceController.java
浏览文件 @
4adbd9da
...
...
@@ -4,6 +4,7 @@ import java.util.List;
import
java.io.IOException
;
import
javax.servlet.http.HttpServletResponse
;
import
net.mqtts.common.core.domain.R
;
import
net.mqtts.common.core.utils.poi.ExcelUtil
;
import
net.mqtts.common.core.web.controller.BaseController
;
import
net.mqtts.common.core.web.domain.AjaxResult
;
...
...
@@ -11,28 +12,20 @@ import net.mqtts.common.core.web.page.TableDataInfo;
import
net.mqtts.common.log.annotation.Log
;
import
net.mqtts.common.log.enums.BusinessType
;
import
net.mqtts.common.security.annotation.PreAuthorize
;
import
net.mqtts.link.api.domain.MqttsDevice
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
net.mqtts.link.domain.device.MqttsDevice
;
import
org.springframework.web.bind.annotation.*
;
import
net.mqtts.link.service.device.MqttsDeviceService
;
/**
* 设备管理Controller
*
*
* @author mqtts
* @date 2021-10-22
*/
@RestController
@RequestMapping
(
"/device"
)
public
class
MqttsDeviceController
extends
BaseController
{
public
class
MqttsDeviceController
extends
BaseController
{
@Autowired
private
MqttsDeviceService
mqttsDeviceService
;
...
...
@@ -41,8 +34,7 @@ public class MqttsDeviceController extends BaseController
*/
@PreAuthorize
(
hasPermi
=
"link:device:list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
MqttsDevice
mqttsDevice
)
{
public
TableDataInfo
list
(
MqttsDevice
mqttsDevice
)
{
startPage
();
List
<
MqttsDevice
>
list
=
mqttsDeviceService
.
selectMqttsDeviceList
(
mqttsDevice
);
return
getDataTable
(
list
);
...
...
@@ -54,8 +46,7 @@ public class MqttsDeviceController extends BaseController
@PreAuthorize
(
hasPermi
=
"link:device:export"
)
@Log
(
title
=
"设备管理"
,
businessType
=
BusinessType
.
EXPORT
)
@PostMapping
(
"/export"
)
public
void
export
(
HttpServletResponse
response
,
MqttsDevice
mqttsDevice
)
throws
IOException
{
public
void
export
(
HttpServletResponse
response
,
MqttsDevice
mqttsDevice
)
throws
IOException
{
List
<
MqttsDevice
>
list
=
mqttsDeviceService
.
selectMqttsDeviceList
(
mqttsDevice
);
ExcelUtil
<
MqttsDevice
>
util
=
new
ExcelUtil
<
MqttsDevice
>(
MqttsDevice
.
class
);
util
.
exportExcel
(
response
,
list
,
"设备管理数据"
);
...
...
@@ -66,8 +57,7 @@ public class MqttsDeviceController extends BaseController
*/
@PreAuthorize
(
hasPermi
=
"link:device:query"
)
@GetMapping
(
value
=
"/{id}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"id"
)
Long
id
)
{
public
AjaxResult
getInfo
(
@PathVariable
(
"id"
)
Long
id
)
{
return
AjaxResult
.
success
(
mqttsDeviceService
.
selectMqttsDeviceById
(
id
));
}
...
...
@@ -77,8 +67,7 @@ public class MqttsDeviceController extends BaseController
@PreAuthorize
(
hasPermi
=
"link:device:add"
)
@Log
(
title
=
"设备管理"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
public
AjaxResult
add
(
@RequestBody
MqttsDevice
mqttsDevice
)
{
public
AjaxResult
add
(
@RequestBody
MqttsDevice
mqttsDevice
)
{
return
toAjax
(
mqttsDeviceService
.
insertMqttsDevice
(
mqttsDevice
));
}
...
...
@@ -88,8 +77,7 @@ public class MqttsDeviceController extends BaseController
@PreAuthorize
(
hasPermi
=
"link:device:edit"
)
@Log
(
title
=
"设备管理"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
public
AjaxResult
edit
(
@RequestBody
MqttsDevice
mqttsDevice
)
{
public
AjaxResult
edit
(
@RequestBody
MqttsDevice
mqttsDevice
)
{
return
toAjax
(
mqttsDeviceService
.
updateMqttsDevice
(
mqttsDevice
));
}
...
...
@@ -98,9 +86,29 @@ public class MqttsDeviceController extends BaseController
*/
@PreAuthorize
(
hasPermi
=
"link:device:remove"
)
@Log
(
title
=
"设备管理"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
public
AjaxResult
remove
(
@PathVariable
Long
[]
ids
)
{
@DeleteMapping
(
"/{ids}"
)
public
AjaxResult
remove
(
@PathVariable
Long
[]
ids
)
{
return
toAjax
(
mqttsDeviceService
.
deleteMqttsDeviceByIds
(
ids
));
}
/**
* 更新设备在线状态
*/
@Log
(
title
=
"设备管理"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
(
"/updateConnectStatusByClientId"
)
public
R
updateConnectStatusByClientId
(
@RequestBody
MqttsDevice
mqttsDevice
)
{
return
R
.
ok
(
mqttsDeviceService
.
updateConnectStatusByClientId
(
mqttsDevice
.
getConnectStatus
(),
mqttsDevice
.
getClientId
()));
}
/**
* 认证接口
*/
@GetMapping
(
"/findOneByClientIdAndUserNameAndPasswordAndDeviceStatusAndProtocolType"
)
public
R
<
MqttsDevice
>
findOneByClientIdAndUserNameAndPasswordAndDeviceStatusAndProtocolType
(
@RequestParam
(
value
=
"clientId"
,
required
=
true
)
String
clientId
,
@RequestParam
(
value
=
"userName"
,
required
=
true
)
String
userName
,
@RequestParam
(
value
=
"password"
,
required
=
true
)
String
password
,
@RequestParam
(
value
=
"deviceStatus"
,
required
=
true
)
String
deviceStatus
,
@RequestParam
(
value
=
"protocolType"
,
required
=
true
)
String
protocolType
)
{
return
R
.
ok
(
mqttsDeviceService
.
findOneByClientIdAndUserNameAndPasswordAndDeviceStatusAndProtocolType
(
clientId
,
userName
,
password
,
deviceStatus
,
protocolType
));
}
}
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/controller/device/MqttsDeviceDatasController.java
0 → 100644
浏览文件 @
4adbd9da
package
net.mqtts.link.controller.device
;
import
net.mqtts.common.core.domain.R
;
import
net.mqtts.common.core.web.controller.BaseController
;
import
net.mqtts.common.core.web.domain.AjaxResult
;
import
net.mqtts.common.core.web.page.TableDataInfo
;
import
net.mqtts.common.log.annotation.Log
;
import
net.mqtts.common.log.enums.BusinessType
;
import
net.mqtts.common.security.annotation.PreAuthorize
;
import
net.mqtts.link.api.domain.MqttsDeviceDatas
;
import
net.mqtts.link.service.device.MqttsDeviceDatasService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 设备消息Controller
*
* @author shisen
* @date 2021-11-20
*/
@RestController
@RequestMapping
(
"/device/datas"
)
public
class
MqttsDeviceDatasController
extends
BaseController
{
@Autowired
private
MqttsDeviceDatasService
mqttsDeviceDatasService
;
/**
* 查询设备消息
*/
@PreAuthorize
(
hasPermi
=
"link:device:datas:list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
MqttsDeviceDatas
mqttsDeviceDatas
)
{
startPage
();
List
<
MqttsDeviceDatas
>
list
=
mqttsDeviceDatasService
.
selectMqttsDeviceDatasList
(
mqttsDeviceDatas
);
return
getDataTable
(
list
);
}
/**
* 新增设备消息
*/
@Log
(
title
=
"设备消息"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
(
"/add"
)
public
R
add
(
@RequestBody
MqttsDeviceDatas
mqttsDeviceDatas
)
{
return
R
.
ok
(
mqttsDeviceDatasService
.
insertOrUpdate
(
mqttsDeviceDatas
));
}
/**
* 删除设备消息
*/
@PreAuthorize
(
hasPermi
=
"link:device:datas:remove"
)
@Log
(
title
=
"设备消息"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
public
AjaxResult
remove
(
@PathVariable
Long
[]
ids
)
{
return
toAjax
(
mqttsDeviceDatasService
.
deleteMqttsDeviceDatasByIds
(
ids
));
}
}
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/mapper/device/MqttsDeviceActionMapper.java
浏览文件 @
4adbd9da
package
net.mqtts.link.mapper.device
;
import
java.util.List
;
import
net.mqtts.link.domain.device.MqttsDeviceAction
;
import
net.mqtts.link.api.domain.MqttsDeviceAction
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
/**
* @Description: java类作用描述
* @Author: ShiHuan Sun
* @E-mail: 13733918655@163.com
* @Website: http://mqtts.net
* @CreateDate: 2021/11/18$ 9:41$
* @UpdateUser: ShiHuan Sun
* @UpdateDate: 2021/11/18$ 9:41$
* @UpdateRemark: 修改内容
* @Version: 1.0
*/
* @Description: java类作用描述
* @Author: ShiHuan Sun
* @E-mail: 13733918655@163.com
* @Website: http://mqtts.net
* @CreateDate: 2021/11/18$ 9:41$
* @UpdateUser: ShiHuan Sun
* @UpdateDate: 2021/11/18$ 9:41$
* @UpdateRemark: 修改内容
* @Version: 1.0
*/
@Mapper
public
interface
MqttsDeviceActionMapper
{
/**
* delete by primary key
*
* @param id primaryKey
* @return deleteCount
*/
...
...
@@ -37,6 +29,7 @@ public interface MqttsDeviceActionMapper {
/**
* insert record to table
*
* @param record the record
* @return insert count
*/
...
...
@@ -50,13 +43,23 @@ public interface MqttsDeviceActionMapper {
/**
* insert record to table selective
*
* @param record the record
* @return insert count
*/
int
insertSelective
(
MqttsDeviceAction
record
);
/**
* 查询设备动作列表
*
* @param record
* @return
*/
List
<
MqttsDeviceAction
>
selectMqttsDeviceActionList
(
MqttsDeviceAction
record
);
/**
* select by primary key
*
* @param id primary key
* @return object by primary key
*/
...
...
@@ -64,6 +67,7 @@ public interface MqttsDeviceActionMapper {
/**
* update record selective
*
* @param record the updated record
* @return update count
*/
...
...
@@ -73,6 +77,7 @@ public interface MqttsDeviceActionMapper {
/**
* update record
*
* @param record the updated record
* @return update count
*/
...
...
@@ -83,4 +88,6 @@ public interface MqttsDeviceActionMapper {
int
updateBatchSelective
(
List
<
MqttsDeviceAction
>
list
);
int
batchInsert
(
@Param
(
"list"
)
List
<
MqttsDeviceAction
>
list
);
int
deleteMqttsDeviceActionByIds
(
Long
[]
ids
);
}
\ No newline at end of file
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/mapper/device/MqttsDeviceDatasMapper.java
浏览文件 @
4adbd9da
package
net.mqtts.link.mapper.device
;
import
java.util.List
;
import
net.mqtts.link.domain.device.MqttsDeviceDatas
;
import
net.mqtts.link.api.domain.MqttsDeviceDatas
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -55,6 +56,8 @@ public interface MqttsDeviceDatasMapper {
*/
int
insertSelective
(
MqttsDeviceDatas
record
);
List
<
MqttsDeviceDatas
>
selectMqttsDeviceDatasList
(
MqttsDeviceDatas
record
);
/**
* select by primary key
* @param id primary key
...
...
@@ -83,4 +86,6 @@ public interface MqttsDeviceDatasMapper {
int
updateBatchSelective
(
List
<
MqttsDeviceDatas
>
list
);
int
batchInsert
(
@Param
(
"list"
)
List
<
MqttsDeviceDatas
>
list
);
int
deleteMqttsDeviceDatasByIds
(
Long
[]
ids
);
}
\ No newline at end of file
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/mapper/device/MqttsDeviceMapper.java
浏览文件 @
4adbd9da
package
net.mqtts.link.mapper.device
;
import
net.mqtts.link.api.domain.MqttsDevice
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
net.mqtts.link.domain.device.MqttsDevice
;
/**
* 设备管理Mapper接口
*
...
...
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/service/device/MqttsDeviceActionService.java
浏览文件 @
4adbd9da
package
net.mqtts.link.service.device
;
import
java.util.List
;
import
net.mqtts.link.domain.device.MqttsDeviceAction
;
/**
* @Description: java类作用描述
* @Author: ShiHuan Sun
* @E-mail: 13733918655@163.com
* @Website: http://mqtts.net
* @CreateDate: 2021/11/18$ 9:41$
import
net.mqtts.link.api.domain.MqttsDeviceAction
;
* @UpdateUser: ShiHuan Sun
* @UpdateDate: 2021/11/18$ 9:41$
* @UpdateRemark: 修改内容
* @Version: 1.0
import
java.util.List
;
*/
public
interface
MqttsDeviceActionService
{
/**
* @Description: java类作用描述
* @Author: ShiHuan Sun
* @E-mail: 13733918655@163.com
* @Website: http://mqtts.net
* @CreateDate: 2021/11/18$ 9:41$
* @UpdateUser: ShiHuan Sun
* @UpdateDate: 2021/11/18$ 9:41$
* @UpdateRemark: 修改内容
* @Version: 1.0
*/
public
interface
MqttsDeviceActionService
{
int
deleteByPrimaryKey
(
Long
id
);
...
...
@@ -38,6 +30,8 @@ public interface MqttsDeviceActionService{
int
insertSelective
(
MqttsDeviceAction
record
);
List
<
MqttsDeviceAction
>
selectMqttsDeviceActionList
(
MqttsDeviceAction
record
);
MqttsDeviceAction
selectByPrimaryKey
(
Long
id
);
int
updateByPrimaryKeySelective
(
MqttsDeviceAction
record
);
...
...
@@ -52,4 +46,5 @@ public interface MqttsDeviceActionService{
int
batchInsert
(
List
<
MqttsDeviceAction
>
list
);
int
deleteMqttsDeviceActionByIds
(
Long
[]
ids
);
}
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/service/device/MqttsDeviceDatasService.java
浏览文件 @
4adbd9da
package
net.mqtts.link.service.device
;
import
java.util.List
;
import
net.mqtts.link.domain.device.MqttsDeviceDatas
;
/**
* @Description: java类作用描述
* @Author: ShiHuan Sun
* @E-mail: 13733918655@163.com
* @Website: http://mqtts.net
* @CreateDate: 2021/11/18$ 9:41$
import
net.mqtts.link.api.domain.MqttsDeviceDatas
;
* @UpdateUser: ShiHuan Sun
* @UpdateDate: 2021/11/18$ 9:41$
* @UpdateRemark: 修改内容
* @Version: 1.0
import
java.util.List
;
*/
public
interface
MqttsDeviceDatasService
{
/**
* @Description: java类作用描述
* @Author: ShiHuan Sun
* @E-mail: 13733918655@163.com
* @Website: http://mqtts.net
* @CreateDate: 2021/11/18$ 9:41$
* @UpdateUser: ShiHuan Sun
* @UpdateDate: 2021/11/18$ 9:41$
* @UpdateRemark: 修改内容
* @Version: 1.0
*/
public
interface
MqttsDeviceDatasService
{
int
deleteByPrimaryKey
(
Long
id
);
...
...
@@ -38,6 +30,8 @@ public interface MqttsDeviceDatasService{
int
insertSelective
(
MqttsDeviceDatas
record
);
List
<
MqttsDeviceDatas
>
selectMqttsDeviceDatasList
(
MqttsDeviceDatas
record
);
MqttsDeviceDatas
selectByPrimaryKey
(
Long
id
);
int
updateByPrimaryKeySelective
(
MqttsDeviceDatas
record
);
...
...
@@ -52,4 +46,5 @@ public interface MqttsDeviceDatasService{
int
batchInsert
(
List
<
MqttsDeviceDatas
>
list
);
int
deleteMqttsDeviceDatasByIds
(
Long
[]
ids
);
}
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/service/device/MqttsDeviceService.java
浏览文件 @
4adbd9da
package
net.mqtts.link.service.device
;
import
java.util.List
;
import
net.mqtts.link.api.domain.MqttsDevice
;
import
net.mqtts.link.domain.device.MqttsDevice
;
import
java.util.List
;
/**
* 设备管理Service接口
...
...
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/service/device/impl/MqttsDeviceActionServiceImpl.java
浏览文件 @
4adbd9da
package
net.mqtts.link.service.device.impl
;
import
net.mqtts.link.
domain.device
.MqttsDeviceAction
;
import
net.mqtts.link.
api.domain
.MqttsDeviceAction
;
import
net.mqtts.link.mapper.device.MqttsDeviceActionMapper
;
import
net.mqtts.link.service.device.MqttsDeviceActionService
;
import
org.springframework.stereotype.Service
;
...
...
@@ -9,28 +9,18 @@ import javax.annotation.Resource;
import
java.util.List
;
/**
* @Description: java类作用描述
* @Author: ShiHuan Sun
* @E-mail: 13733918655@163.com
* @Website: http://mqtts.net
* @CreateDate: 2021/11/18$ 9:41$
* @UpdateUser: ShiHuan Sun
* @UpdateDate: 2021/11/18$ 9:41$
* @UpdateRemark: 修改内容
* @Version: 1.0
*/
* @Description: java类作用描述
* @Author: ShiHuan Sun
* @E-mail: 13733918655@163.com
* @Website: http://mqtts.net
* @CreateDate: 2021/11/18$ 9:41$
* @UpdateUser: ShiHuan Sun
* @UpdateDate: 2021/11/18$ 9:41$
* @UpdateRemark: 修改内容
* @Version: 1.0
*/
@Service
public
class
MqttsDeviceActionServiceImpl
implements
MqttsDeviceActionService
{
public
class
MqttsDeviceActionServiceImpl
implements
MqttsDeviceActionService
{
@Resource
private
MqttsDeviceActionMapper
mqttsDeviceActionMapper
;
...
...
@@ -65,6 +55,11 @@ public class MqttsDeviceActionServiceImpl implements MqttsDeviceActionService{
return
mqttsDeviceActionMapper
.
insertSelective
(
record
);
}
@Override
public
List
<
MqttsDeviceAction
>
selectMqttsDeviceActionList
(
MqttsDeviceAction
record
)
{
return
mqttsDeviceActionMapper
.
selectMqttsDeviceActionList
(
record
);
}
@Override
public
MqttsDeviceAction
selectByPrimaryKey
(
Long
id
)
{
return
mqttsDeviceActionMapper
.
selectByPrimaryKey
(
id
);
...
...
@@ -100,4 +95,9 @@ public class MqttsDeviceActionServiceImpl implements MqttsDeviceActionService{
return
mqttsDeviceActionMapper
.
batchInsert
(
list
);
}
@Override
public
int
deleteMqttsDeviceActionByIds
(
Long
[]
ids
)
{
return
mqttsDeviceActionMapper
.
deleteMqttsDeviceActionByIds
(
ids
);
}
}
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/service/device/impl/MqttsDeviceDatasServiceImpl.java
浏览文件 @
4adbd9da
package
net.mqtts.link.service.device.impl
;
import
net.mqtts.link.
domain.device
.MqttsDeviceDatas
;
import
net.mqtts.link.
api.domain
.MqttsDeviceDatas
;
import
net.mqtts.link.mapper.device.MqttsDeviceDatasMapper
;
import
net.mqtts.link.service.device.MqttsDeviceDatasService
;
import
org.springframework.stereotype.Service
;
...
...
@@ -65,6 +65,11 @@ public class MqttsDeviceDatasServiceImpl implements MqttsDeviceDatasService{
return
mqttsDeviceDatasMapper
.
insertSelective
(
record
);
}
@Override
public
List
<
MqttsDeviceDatas
>
selectMqttsDeviceDatasList
(
MqttsDeviceDatas
record
)
{
return
mqttsDeviceDatasMapper
.
selectMqttsDeviceDatasList
(
record
);
}
@Override
public
MqttsDeviceDatas
selectByPrimaryKey
(
Long
id
)
{
return
mqttsDeviceDatasMapper
.
selectByPrimaryKey
(
id
);
...
...
@@ -100,4 +105,9 @@ public class MqttsDeviceDatasServiceImpl implements MqttsDeviceDatasService{
return
mqttsDeviceDatasMapper
.
batchInsert
(
list
);
}
@Override
public
int
deleteMqttsDeviceDatasByIds
(
Long
[]
ids
)
{
return
mqttsDeviceDatasMapper
.
deleteMqttsDeviceDatasByIds
(
ids
);
}
}
mqtts-modules/mqtts-modules-link/src/main/java/net/mqtts/link/service/device/impl/MqttsDeviceServiceImpl.java
浏览文件 @
4adbd9da
...
...
@@ -2,7 +2,7 @@ package net.mqtts.link.service.device.impl;
import
net.mqtts.common.core.utils.DateUtils
;
import
net.mqtts.common.security.service.TokenService
;
import
net.mqtts.link.
domain.device
.MqttsDevice
;
import
net.mqtts.link.
api.domain
.MqttsDevice
;
import
net.mqtts.link.mapper.device.MqttsDeviceMapper
;
import
net.mqtts.link.service.device.MqttsDeviceService
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
mqtts-modules/mqtts-modules-link/src/main/resources/META-INF/services/io.github.quickmsg.common.auth.PasswordAuthentication
已删除
100644 → 0
浏览文件 @
f03c146e
net.mqtts.link.service.impl.PasswordAuthenticationImpl
\ No newline at end of file
mqtts-modules/mqtts-modules-link/src/main/resources/META-INF/services/io.github.quickmsg.common.http.HttpActor
已删除
100644 → 0
浏览文件 @
f03c146e
net.mqtts.link.controller.Actors.PublishActor
\ No newline at end of file
mqtts-modules/mqtts-modules-link/src/main/resources/META-INF/services/io.github.quickmsg.common.interceptor.Interceptor
已删除
100644 → 0
浏览文件 @
f03c146e
net.mqtts.link.service.impl.DemoMessageInterceptor
net.mqtts.link.service.impl.DeviceActionInterceptor
net.mqtts.link.service.impl.DeviceDatasInterceptor
\ No newline at end of file
mqtts-modules/mqtts-modules-link/src/main/resources/META-INF/services/io.github.quickmsg.common.message.MessageRegistry
已删除
100644 → 0
浏览文件 @
f03c146e
net.mqtts.link.service.impl.MessageRegistryImpl
\ No newline at end of file
mqtts-modules/mqtts-modules-link/src/main/resources/mapper/link/device/MqttsDeviceActionMapper.xml
浏览文件 @
4adbd9da
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"net.mqtts.link.mapper.device.MqttsDeviceActionMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"net.mqtts.link.
domain.device
.MqttsDeviceAction"
>
<resultMap
id=
"BaseResultMap"
type=
"net.mqtts.link.
api.domain
.MqttsDeviceAction"
>
<!--@mbg.generated-->
<!--@Table mqtts.mqtts_device_action-->
<id
column=
"id"
jdbcType=
"BIGINT"
property=
"id"
/>
...
...
@@ -10,11 +10,21 @@
<result
column=
"status"
jdbcType=
"VARCHAR"
property=
"status"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"create_time"
/>
</resultMap>
<resultMap
extends=
"BaseResultMap"
id=
"ResultMapWithBLOBs"
type=
"net.mqtts.link.
domain.device
.MqttsDeviceAction"
>
<resultMap
extends=
"BaseResultMap"
id=
"ResultMapWithBLOBs"
type=
"net.mqtts.link.
api.domain
.MqttsDeviceAction"
>
<!--@mbg.generated-->
<!--@Table mqtts.mqtts_device_action-->
<result
column=
"message"
jdbcType=
"LONGVARCHAR"
property=
"message"
/>
</resultMap>
<resultMap
id=
"MqttsDeviceActionResult"
type=
"net.mqtts.link.api.domain.MqttsDeviceAction"
>
<id
column=
"id"
jdbcType=
"BIGINT"
property=
"id"
/>
<result
column=
"device_id"
jdbcType=
"VARCHAR"
property=
"device_id"
/>
<result
column=
"action_type"
jdbcType=
"VARCHAR"
property=
"action_type"
/>
<result
column=
"status"
jdbcType=
"VARCHAR"
property=
"status"
/>
<result
column=
"message"
jdbcType=
"LONGVARCHAR"
property=
"message"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"create_time"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
<!--@mbg.generated-->
id, device_id, action_type, `status`, create_time
...
...
@@ -23,6 +33,19 @@
<!--@mbg.generated-->
message
</sql>
<sql
id=
"selectMqttsDeviceActionVo"
>
select id, device_id, action_type, message, status, create_time from mqtts_device_action
</sql>
<select
id=
"selectMqttsDeviceActionList"
parameterType=
"net.mqtts.link.api.domain.MqttsDeviceAction"
resultMap=
"MqttsDeviceActionResult"
>
<include
refid=
"selectMqttsDeviceActionVo"
/>
<where>
<if
test=
"status != null and status != ''"
>
and status = #{status}
</if>
<if
test=
"deviceId != null and deviceId != ''"
>
and device_id = #{deviceId}
</if>
</where>
</select>
<select
id=
"selectByPrimaryKey"
parameterType=
"java.lang.Long"
resultMap=
"ResultMapWithBLOBs"
>
<!--@mbg.generated-->
select
...
...
@@ -37,14 +60,14 @@
delete from mqtts.mqtts_device_action
where id = #{id,jdbcType=BIGINT}
</delete>
<insert
id=
"insert"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDeviceAction"
useGeneratedKeys=
"true"
>
<insert
id=
"insert"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDeviceAction"
useGeneratedKeys=
"true"
>
<!--@mbg.generated-->
insert into mqtts.mqtts_device_action (device_id, action_type, `status`,
create_time, message)
values (#{device_id,jdbcType=VARCHAR}, #{action_type,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR},
#{create_time,jdbcType=TIMESTAMP}, #{message,jdbcType=LONGVARCHAR})
</insert>
<insert
id=
"insertSelective"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDeviceAction"
useGeneratedKeys=
"true"
>
<insert
id=
"insertSelective"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDeviceAction"
useGeneratedKeys=
"true"
>
<!--@mbg.generated-->
insert into mqtts.mqtts_device_action
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
...
...
@@ -82,7 +105,7 @@
</if>
</trim>
</insert>
<update
id=
"updateByPrimaryKeySelective"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDeviceAction"
>
<update
id=
"updateByPrimaryKeySelective"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDeviceAction"
>
<!--@mbg.generated-->
update mqtts.mqtts_device_action
<set>
...
...
@@ -104,7 +127,7 @@
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update
id=
"updateByPrimaryKeyWithBLOBs"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDeviceAction"
>
<update
id=
"updateByPrimaryKeyWithBLOBs"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDeviceAction"
>
<!--@mbg.generated-->
update mqtts.mqtts_device_action
set device_id = #{device_id,jdbcType=VARCHAR},
...
...
@@ -114,7 +137,7 @@
message = #{message,jdbcType=LONGVARCHAR}
where id = #{id,jdbcType=BIGINT}
</update>
<update
id=
"updateByPrimaryKey"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDeviceAction"
>
<update
id=
"updateByPrimaryKey"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDeviceAction"
>
<!--@mbg.generated-->
update mqtts.mqtts_device_action
set device_id = #{device_id,jdbcType=VARCHAR},
...
...
@@ -213,7 +236,7 @@
#{item.create_time,jdbcType=TIMESTAMP}, #{item.message,jdbcType=LONGVARCHAR})
</foreach>
</insert>
<insert
id=
"insertOrUpdate"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDeviceAction"
useGeneratedKeys=
"true"
>
<insert
id=
"insertOrUpdate"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDeviceAction"
useGeneratedKeys=
"true"
>
<!--@mbg.generated-->
insert into mqtts.mqtts_device_action
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
...
...
@@ -246,7 +269,7 @@
create_time = #{create_time,jdbcType=TIMESTAMP},
</trim>
</insert>
<insert
id=
"insertOrUpdateWithBLOBs"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDeviceAction"
useGeneratedKeys=
"true"
>
<insert
id=
"insertOrUpdateWithBLOBs"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDeviceAction"
useGeneratedKeys=
"true"
>
<!--@mbg.generated-->
insert into mqtts.mqtts_device_action
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
...
...
@@ -282,7 +305,7 @@
message = #{message,jdbcType=LONGVARCHAR},
</trim>
</insert>
<insert
id=
"insertOrUpdateSelective"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDeviceAction"
useGeneratedKeys=
"true"
>
<insert
id=
"insertOrUpdateSelective"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDeviceAction"
useGeneratedKeys=
"true"
>
<!--@mbg.generated-->
insert into mqtts.mqtts_device_action
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
...
...
@@ -348,4 +371,11 @@
</if>
</trim>
</insert>
<delete
id=
"deleteMqttsDeviceActionByIds"
parameterType=
"String"
>
delete from mqtts_device_action where id in
<foreach
item=
"id"
collection=
"array"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
mqtts-modules/mqtts-modules-link/src/main/resources/mapper/link/device/MqttsDeviceDatasMapper.xml
浏览文件 @
4adbd9da
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"net.mqtts.link.mapper.device.MqttsDeviceDatasMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"net.mqtts.link.
domain.device
.MqttsDeviceDatas"
>
<resultMap
id=
"BaseResultMap"
type=
"net.mqtts.link.
api.domain
.MqttsDeviceDatas"
>
<!--@mbg.generated-->
<!--@Table mqtts.mqtts_device_datas-->
<id
column=
"id"
jdbcType=
"BIGINT"
property=
"id"
/>
...
...
@@ -11,11 +11,12 @@
<result
column=
"status"
jdbcType=
"VARCHAR"
property=
"status"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"create_time"
/>
</resultMap>
<resultMap
extends=
"BaseResultMap"
id=
"ResultMapWithBLOBs"
type=
"net.mqtts.link.
domain.device
.MqttsDeviceDatas"
>
<resultMap
extends=
"BaseResultMap"
id=
"ResultMapWithBLOBs"
type=
"net.mqtts.link.
api.domain
.MqttsDeviceDatas"
>
<!--@mbg.generated-->
<!--@Table mqtts.mqtts_device_datas-->
<result
column=
"message"
jdbcType=
"LONGVARCHAR"
property=
"message"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
<!--@mbg.generated-->
id, device_id, message_id, topic, `status`, create_time
...
...
@@ -24,6 +25,20 @@
<!--@mbg.generated-->
message
</sql>
<sql
id=
"selectMqttsDeviceDatasVo"
>
select id, device_id, message_id, topic, `status`, message,create_time from mqtts_device_datas
</sql>
<select
id=
"selectMqttsDeviceDatasList"
parameterType=
"net.mqtts.link.api.domain.MqttsDeviceDatas"
resultMap=
"BaseResultMap"
>
<include
refid=
"selectMqttsDeviceDatasVo"
/>
<where>
<if
test=
"status != null and status != ''"
>
and status = #{status}
</if>
<if
test=
"deviceId != null and deviceId != ''"
>
and device_id = #{deviceId}
</if>
</where>
</select>
<select
id=
"selectByPrimaryKey"
parameterType=
"java.lang.Long"
resultMap=
"ResultMapWithBLOBs"
>
<!--@mbg.generated-->
select
...
...
@@ -38,7 +53,7 @@
delete from mqtts.mqtts_device_datas
where id = #{id,jdbcType=BIGINT}
</delete>
<insert
id=
"insert"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDeviceDatas"
useGeneratedKeys=
"true"
>
<insert
id=
"insert"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDeviceDatas"
useGeneratedKeys=
"true"
>
<!--@mbg.generated-->
insert into mqtts.mqtts_device_datas (device_id, message_id, topic,
`status`, create_time, message
...
...
@@ -47,7 +62,7 @@
#{status,jdbcType=VARCHAR}, #{create_time,jdbcType=TIMESTAMP}, #{message,jdbcType=LONGVARCHAR}
)
</insert>
<insert
id=
"insertSelective"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDeviceDatas"
useGeneratedKeys=
"true"
>
<insert
id=
"insertSelective"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDeviceDatas"
useGeneratedKeys=
"true"
>
<!--@mbg.generated-->
insert into mqtts.mqtts_device_datas
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
...
...
@@ -91,7 +106,7 @@
</if>
</trim>
</insert>
<update
id=
"updateByPrimaryKeySelective"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDeviceDatas"
>
<update
id=
"updateByPrimaryKeySelective"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDeviceDatas"
>
<!--@mbg.generated-->
update mqtts.mqtts_device_datas
<set>
...
...
@@ -116,7 +131,7 @@
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update
id=
"updateByPrimaryKeyWithBLOBs"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDeviceDatas"
>
<update
id=
"updateByPrimaryKeyWithBLOBs"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDeviceDatas"
>
<!--@mbg.generated-->
update mqtts.mqtts_device_datas
set device_id = #{device_id,jdbcType=VARCHAR},
...
...
@@ -127,7 +142,7 @@
message = #{message,jdbcType=LONGVARCHAR}
where id = #{id,jdbcType=BIGINT}
</update>
<update
id=
"updateByPrimaryKey"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDeviceDatas"
>
<update
id=
"updateByPrimaryKey"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDeviceDatas"
>
<!--@mbg.generated-->
update mqtts.mqtts_device_datas
set device_id = #{device_id,jdbcType=VARCHAR},
...
...
@@ -240,7 +255,7 @@
)
</foreach>
</insert>
<insert
id=
"insertOrUpdate"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDeviceDatas"
useGeneratedKeys=
"true"
>
<insert
id=
"insertOrUpdate"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDeviceDatas"
useGeneratedKeys=
"true"
>
<!--@mbg.generated-->
insert into mqtts.mqtts_device_datas
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
...
...
@@ -276,7 +291,7 @@
create_time = #{create_time,jdbcType=TIMESTAMP},
</trim>
</insert>
<insert
id=
"insertOrUpdateWithBLOBs"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDeviceDatas"
useGeneratedKeys=
"true"
>
<insert
id=
"insertOrUpdateWithBLOBs"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDeviceDatas"
useGeneratedKeys=
"true"
>
<!--@mbg.generated-->
insert into mqtts.mqtts_device_datas
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
...
...
@@ -315,7 +330,7 @@
message = #{message,jdbcType=LONGVARCHAR},
</trim>
</insert>
<insert
id=
"insertOrUpdateSelective"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDeviceDatas"
useGeneratedKeys=
"true"
>
<insert
id=
"insertOrUpdateSelective"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDeviceDatas"
useGeneratedKeys=
"true"
>
<!--@mbg.generated-->
insert into mqtts.mqtts_device_datas
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
...
...
@@ -390,4 +405,13 @@
</if>
</trim>
</insert>
<delete
id=
"deleteMqttsDeviceDatasByIds"
parameterType=
"String"
>
delete from mqtts_device_action where id in
<foreach
item=
"id"
collection=
"array"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
mqtts-modules/mqtts-modules-link/src/main/resources/mapper/link/device/MqttsDeviceMapper.xml
浏览文件 @
4adbd9da
...
...
@@ -29,7 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update_time,
remark
</sql>
<resultMap
id=
"BaseResultMap"
type=
"net.mqtts.link.
domain.device
.MqttsDevice"
>
<resultMap
id=
"BaseResultMap"
type=
"net.mqtts.link.
api.domain
.MqttsDevice"
>
<result
column=
"id"
property=
"id"
/>
<result
column=
"client_id"
property=
"clientId"
/>
<result
column=
"user_name"
property=
"userName"
/>
...
...
@@ -55,7 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
column=
"update_time"
property=
"updateTime"
/>
<result
column=
"remark"
property=
"remark"
/>
</resultMap>
<resultMap
type=
"net.mqtts.link.
domain.device
.MqttsDevice"
id=
"MqttsDeviceResult"
>
<resultMap
type=
"net.mqtts.link.
api.domain
.MqttsDevice"
id=
"MqttsDeviceResult"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"clientId"
column=
"client_id"
/>
<result
property=
"userName"
column=
"user_name"
/>
...
...
@@ -86,7 +86,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select id, client_id, user_name, password, auth_mode, device_id, device_name, latitude, longitude, connector, device_description, device_status, connect_status, is_will, device_tags, product_id, manufacturer_id, protocol_type, device_type, create_by, create_time, update_by, update_time, remark from mqtts_device
</sql>
<select
id=
"selectMqttsDeviceList"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDevice"
resultMap=
"MqttsDeviceResult"
>
<select
id=
"selectMqttsDeviceList"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDevice"
resultMap=
"MqttsDeviceResult"
>
<include
refid=
"selectMqttsDeviceVo"
/>
<where>
<if
test=
"clientId != null and clientId != ''"
>
and client_id like concat('%', #{clientId}, '%')
</if>
...
...
@@ -108,7 +108,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where id = #{id}
</select>
<insert
id=
"insertMqttsDevice"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDevice"
>
<insert
id=
"insertMqttsDevice"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDevice"
>
insert into mqtts_device
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
id,
</if>
...
...
@@ -164,7 +164,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
</insert>
<update
id=
"updateMqttsDevice"
parameterType=
"net.mqtts.link.
domain.device
.MqttsDevice"
>
<update
id=
"updateMqttsDevice"
parameterType=
"net.mqtts.link.
api.domain
.MqttsDevice"
>
update mqtts_device
<trim
prefix=
"SET"
suffixOverrides=
","
>
<if
test=
"clientId != null and clientId != ''"
>
client_id = #{clientId},
</if>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录