Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
黄嘉阳
/
iot-platform-server
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
975db581
authored
Nov 28, 2023
by
huangjy
Browse files
Options
_('Browse Files')
Download
Plain Diff
Merge remote-tracking branch 'origin/dev'
parents
74697a2c
e63e4fb8
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
223 additions
and
40 deletions
db/上线后sql/update.sql
saas-module/src/main/java/com/makeit/controller/device/SaasDeviceController.java
server-common/src/main/java/com/makeit/module/admin/dto/plat/PlatTenantDTOVO.java
server-common/src/main/java/com/makeit/utils/msg/config/WxConfig.java
server-common/src/main/java/com/makeit/utils/third/wechat/WechatLoginPhoneDTO.java
server-common/src/main/java/com/makeit/utils/third/wechat/WechatUtil.java
server-module/src/main/java/com/makeit/module/controller/device/PlatDeviceController.java
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderSleepController.java
server-service/src/main/java/com/makeit/dto/platform/device/PlatDeviceBaseAttrDTO.java
server-service/src/main/java/com/makeit/entity/platform/device/PlatDeviceOther.java
server-service/src/main/java/com/makeit/entity/saas/PlatTenant.java
server-service/src/main/java/com/makeit/service/platform/device/PlatDeviceService.java
server-service/src/main/java/com/makeit/service/platform/device/impl/PlatDeviceServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderSleepServiceImpl.java
server-service/src/main/java/com/makeit/service/saas/impl/PlatTenantServiceImpl.java
server-service/src/main/java/com/makeit/service/wechat/impl/PlatElderChildrenInfoUserLoginWechatServiceImpl.java
server-service/src/main/java/com/makeit/task/DayDurationTask.java
server-service/src/main/java/com/makeit/task/IotSyncTask.java
server-service/src/main/java/com/makeit/task/PlatElderReportTask.java
server-web/src/main/resources/application-dev.yml
server-web/src/main/resources/application.yml
server-web/src/main/resources/logback-spring.xml
db/上线后sql/update.sql
View file @
975db581
ALTER
TABLE
`plat_device_other`
ALTER
TABLE
`plat_device_other`
...
...
@@ -33,4 +33,8 @@ ADD COLUMN `license_info` varchar(255) COMMENT '许可证信息' AFTER `license`
ALTER
TABLE
`plat_device`
ADD
COLUMN
`expire_time`
int8
COMMENT
'过期时间'
AFTER
`license_info`
,
ADD
COLUMN
`activation_time`
int8
COMMENT
'激活时间'
AFTER
`expire_time`
;
\ No newline at end of file
ADD
COLUMN
`activation_time`
int8
COMMENT
'激活时间'
AFTER
`expire_time`
;
ALTER
TABLE
`plat_tenant`
ADD
COLUMN
`appid`
varchar
(
64
)
COMMENT
'appid'
AFTER
`url`
,
ADD
COLUMN
`secret`
varchar
(
64
)
COMMENT
'secret'
AFTER
`appid`
;
\ No newline at end of file
saas-module/src/main/java/com/makeit/controller/device/SaasDeviceController.java
View file @
975db581
...
...
@@ -20,10 +20,8 @@ import com.makeit.vo.platform.device.PlatDeviceListVO;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
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
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.List
;
...
...
@@ -68,7 +66,7 @@ public class SaasDeviceController {
return
ApiResponseUtils
.
success
(
platDeviceService
.
readDeviceProperties
(
dto
));
}
@ApiOperation
(
"编辑设备属性
主要写入usrServerInfo信息
"
)
@ApiOperation
(
"编辑设备属性"
)
@PostMapping
(
"editDeviceProperties"
)
@TenantIdIgnore
public
ApiResponseEntity
<?>
editDeviceProperties
(
@RequestBody
PlatDeviceAttrWechatDTO
dto
)
{
...
...
@@ -78,6 +76,7 @@ public class SaasDeviceController {
@ApiOperation
(
"编辑设备网络属性 主要写入usrServerInfo信息"
)
@PostMapping
(
"editDeviceNetInfo"
)
@TenantIdIgnore
public
ApiResponseEntity
<?>
editDeviceNetInfo
(
@RequestBody
PlatDeviceNetAttrWechatDTO
dto
)
{
platDeviceService
.
editDeviceNetInfo
(
dto
);
return
ApiResponseUtils
.
success
();
...
...
@@ -99,4 +98,14 @@ public class SaasDeviceController {
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"设备日志推送"
)
@PostMapping
(
"devicePushLog"
)
@TenantIdIgnore
@AuthIgnore
public
ApiResponseEntity
devicePushLog
(
@RequestParam
(
value
=
"file"
,
required
=
false
)
MultipartFile
multipartFile
,
@RequestParam
(
value
=
"deviceId"
)
String
deviceId
)
{
platDeviceService
.
devicePushLog
(
multipartFile
);
return
ApiResponseUtils
.
success
();
}
}
server-common/src/main/java/com/makeit/module/admin/dto/plat/PlatTenantDTOVO.java
View file @
975db581
...
...
@@ -61,4 +61,8 @@ public class PlatTenantDTOVO extends BaseIdDTO {
@ApiModelProperty
(
value
=
"租户平台地址"
)
private
String
url
;
@ApiModelProperty
(
value
=
"appid"
)
private
String
appid
;
@ApiModelProperty
(
value
=
"secret"
)
private
String
secret
;
}
server-common/src/main/java/com/makeit/utils/msg/config/WxConfig.java
View file @
975db581
...
...
@@ -4,6 +4,7 @@ import cn.binarywang.wx.miniapp.api.WxMaService;
import
cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl
;
import
cn.binarywang.wx.miniapp.config.WxMaConfig
;
import
cn.binarywang.wx.miniapp.config.impl.WxMaRedissonConfigImpl
;
import
lombok.Data
;
import
me.chanjar.weixin.mp.api.WxMpService
;
import
me.chanjar.weixin.mp.api.impl.WxMpServiceImpl
;
import
me.chanjar.weixin.mp.config.WxMpConfigStorage
;
...
...
@@ -15,6 +16,7 @@ import org.springframework.context.annotation.Bean;
import
org.springframework.context.annotation.Configuration
;
@Configuration
@Data
public
class
WxConfig
{
@Value
(
"${wx.miniapp.config.appid}"
)
...
...
server-common/src/main/java/com/makeit/utils/third/wechat/WechatLoginPhoneDTO.java
View file @
975db581
...
...
@@ -35,6 +35,10 @@ public class WechatLoginPhoneDTO {
@ApiModelProperty
(
value
=
"组织路径"
)
private
String
orgPath
;
@ApiModelProperty
(
value
=
"微信appid"
)
private
String
appid
;
@ApiModelProperty
(
value
=
"微信secret"
)
private
String
secret
;
}
server-common/src/main/java/com/makeit/utils/third/wechat/WechatUtil.java
View file @
975db581
...
...
@@ -3,6 +3,8 @@ package com.makeit.utils.third.wechat;
import
cn.binarywang.wx.miniapp.api.WxMaService
;
import
cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult
;
import
cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo
;
import
cn.binarywang.wx.miniapp.config.WxMaConfig
;
import
cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl
;
import
com.makeit.config.WxMaConfiguration
;
import
com.makeit.enums.CodeMessageEnum
;
import
com.makeit.exception.BusinessException
;
...
...
@@ -21,6 +23,10 @@ public class WechatUtil {
}
WxMaService
wxService
=
WxMaConfiguration
.
getMaService
();
WxMaDefaultConfigImpl
config
=
new
WxMaDefaultConfigImpl
();
config
.
setAppid
(
dto
.
getAppid
());
config
.
setSecret
(
dto
.
getSecret
());
wxService
.
setWxMaConfig
(
config
);
try
{
WxMaJscode2SessionResult
session
=
wxService
.
getUserService
().
getSessionInfo
(
code
);
...
...
server-module/src/main/java/com/makeit/module/controller/device/PlatDeviceController.java
View file @
975db581
...
...
@@ -93,6 +93,15 @@ public class PlatDeviceController {
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"编辑设备属性 "
)
@PostMapping
(
"editDeviceProperties1"
)
@AuthIgnore
@TenantIdIgnore
public
ApiResponseEntity
<?>
editDeviceProperties1
(
@RequestBody
PlatDeviceAttrWechatDTO
dto
)
{
platDeviceService
.
editDeviceProperties
(
dto
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"编辑设备网络属性 主要写入usrServerInfo信息"
)
@PostMapping
(
"editDeviceNetInfo"
)
public
ApiResponseEntity
<?>
editDeviceNetInfo
(
@RequestBody
PlatDeviceNetAttrWechatDTO
dto
)
{
...
...
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderSleepController.java
View file @
975db581
...
...
@@ -7,8 +7,7 @@ import com.makeit.dto.wechat.device.PlatDeviceAttrWechatDTO;
import
com.makeit.global.annotation.AuthIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.platform.elder.PlatElderReportMonthService
;
import
com.makeit.service.platform.elder.PlatElderSleepService
;
import
com.makeit.service.platform.elder.*
;
import
com.makeit.task.PlatElderReportTask
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -32,13 +31,17 @@ import org.springframework.web.bind.annotation.RestController;
public
class
PlatElderSleepController
{
@Autowired
private
PlatElderReportTask
platElderReportTask
;
@Autowired
private
PlatElderSleepService
platElderSleepService
;
@Autowired
private
PlatDeviceService
platDeviceService
;
@Autowired
private
PlatElderReportMonthService
platElderReportMonthService
;
@Autowired
private
PlatElderBreatheDayStatService
platElderBreatheDayStatService
;
@Autowired
private
PlatElderBreatheAnalysisService
platElderBreatheAnalysisService
;
@Autowired
private
PlatElderCoordinateRecordService
platElderCoordinateRecordService
;
...
...
@@ -55,7 +58,7 @@ public class PlatElderSleepController {
@PostMapping
(
"test2"
)
@AuthIgnore
public
ApiResponseEntity
<
Void
>
heartRespiratoryTask
()
{
platElder
ReportTask
.
heartRespiratoryTask
();
platElder
BreatheDayStatService
.
heartRespiratoryTask
();
return
ApiResponseUtils
.
success
();
}
...
...
@@ -63,7 +66,7 @@ public class PlatElderSleepController {
@PostMapping
(
"test3"
)
@AuthIgnore
public
ApiResponseEntity
<
Void
>
elderHeartRespiratoryAnalysisTask
()
{
platElder
ReportTask
.
elderHeartRespiratoryAnalysisTask
();
platElder
BreatheAnalysisService
.
elderHeartRespiratoryAnalysisTask
();
return
ApiResponseUtils
.
success
();
}
...
...
@@ -71,7 +74,7 @@ public class PlatElderSleepController {
@PostMapping
(
"test4"
)
@AuthIgnore
public
ApiResponseEntity
<
Void
>
elderSleepSleepAnalysisTask
()
{
platElder
ReportTask
.
elderSleepSleepAnalysisTask
();
platElder
SleepService
.
elderSleepSleepAnalysisTask
();
return
ApiResponseUtils
.
success
();
}
...
...
@@ -79,7 +82,7 @@ public class PlatElderSleepController {
@PostMapping
(
"test5"
)
@AuthIgnore
public
ApiResponseEntity
<
Void
>
coordinateRecordTask
()
{
platElder
ReportTask
.
coordinateRecordTask
();
platElder
CoordinateRecordService
.
coordinateRecordTask
();
return
ApiResponseUtils
.
success
();
}
...
...
server-service/src/main/java/com/makeit/dto/platform/device/PlatDeviceBaseAttrDTO.java
View file @
975db581
...
...
@@ -21,4 +21,32 @@ public class PlatDeviceBaseAttrDTO {
@ApiModelProperty
(
value
=
"\"最小值\":200,\"最大值\":380,\"步\n"
+
"进\":1,\"单位\":\"cm\""
)
private
Integer
radarHight
;
@ApiModelProperty
(
value
=
"雷达检测距离范围 示例:{\n"
+
"\"max\": 1000,\n"
+
"\"min\": 0,\n"
+
"}"
,
notes
=
"最大距离:\n"
+
"在侧装模式下,表示检测的最远的距\n"
+
"离,\n"
+
"在顶装区域的模式下,表示检测的最右\n"
+
"的距离\n"
+
"最小距离:\n"
+
"在侧装模式下,表示检测的最近的距\n"
+
"离,\n"
+
"在顶装区域的模式下,表示检测的最左\n"
+
"的距离"
)
private
DeviceAttrRange
radarDistance
;
@ApiModelProperty
(
value
=
"雷达检测角度范围 范围:±60 ,单位°,仅侧装有效 示例:{\n"
+
"\"max\": 60,\n"
+
"\"min\": -60,\n"
+
"}"
)
private
DeviceAttrRange
radarAngle
;
@ApiModelProperty
(
value
=
"雷达检测延迟时间 单位S ,范围:0-32768"
)
private
Integer
radarDelay
;
@Data
static
class
DeviceAttrRange
{
private
Integer
max
;
private
Integer
min
;
}
}
server-service/src/main/java/com/makeit/entity/platform/device/PlatDeviceOther.java
View file @
975db581
...
...
@@ -3,6 +3,7 @@ package com.makeit.entity.platform.device;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.makeit.common.entity.BaseBusEntity
;
import
com.makeit.dto.platform.device.PlatDeviceBaseAttrDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
server-service/src/main/java/com/makeit/entity/saas/PlatTenant.java
View file @
975db581
...
...
@@ -63,6 +63,8 @@ public class PlatTenant extends BaseEntity {
* 租户平台地址
*/
private
String
url
;
private
String
appid
;
private
String
secret
;
}
\ No newline at end of file
server-service/src/main/java/com/makeit/service/platform/device/PlatDeviceService.java
View file @
975db581
...
...
@@ -16,6 +16,7 @@ import com.makeit.shengwang.agora.vo.PlatAlarmCallDeviceVO;
import
com.makeit.vo.platform.device.PlatChildDeviceListVO
;
import
com.makeit.vo.platform.device.PlatDeviceListVO
;
import
com.makeit.vo.platform.device.PlatDeviceViewVO
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.List
;
...
...
@@ -88,4 +89,6 @@ public interface PlatDeviceService extends IService<PlatDevice> {
PlatAlarmCallDeviceVO
getDeviceRtmToken
(
PlatCallingDeviceDTO
dto
);
PlatAlarmCallDeviceVO
callingDevice
(
PlatCallingDeviceDTO
dto
);
void
devicePushLog
(
MultipartFile
multipartFile
);
}
server-service/src/main/java/com/makeit/service/platform/device/impl/PlatDeviceServiceImpl.java
View file @
975db581
...
...
@@ -77,6 +77,7 @@ 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.time.LocalDateTime
;
import
java.time.ZoneOffset
;
...
...
@@ -466,9 +467,11 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
editDeviceProperties
(
PlatDeviceAttrWechatDTO
dto
)
{
log
.
info
(
"写入设备属性请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
String
deviceId
=
dto
.
getDeviceId
();
Map
<
String
,
Object
>
map
=
getAttrMap
(
dto
);
PlatDeviceBaseAttrDTO
platDeviceBaseAttrDTO
=
getPlatDeviceBaseAttrDTO
(
deviceId
);
String
reqJson
=
JSON
.
toJSONString
(
dto
);
Map
<
String
,
Object
>
map
=
getReqMap
(
dto
,
platDeviceBaseAttrDTO
);
log
.
info
(
"写入设备属性请求参数:{}"
,
reqJson
);
String
result
=
devicePropertiesOperateService
.
deviceWriteAttr
(
deviceId
,
map
);
if
(
StringUtils
.
isNotEmpty
(
result
))
{
throw
new
RuntimeException
(
"设备写入失败:"
+
result
);
...
...
@@ -476,7 +479,7 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
List
<
PlatDeviceOther
>
platDeviceOtherList
=
platDeviceOtherService
.
list
(
new
QueryWrapper
<
PlatDeviceOther
>().
lambda
()
.
eq
(
PlatDeviceOther:
:
getOriDeviceId
,
deviceId
));
for
(
PlatDeviceOther
platDeviceOther
:
platDeviceOtherList
)
{
platDeviceOther
.
setAttribute
(
JSON
.
toJSONString
(
map
)
);
platDeviceOther
.
setAttribute
(
reqJson
);
platDeviceOtherService
.
updateById
(
platDeviceOther
);
}
if
(
dto
.
getRadarMount
()
!=
null
)
{
...
...
@@ -488,6 +491,34 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
}
}
private
PlatDeviceBaseAttrDTO
getPlatDeviceBaseAttrDTO
(
String
deviceId
)
{
PlatDeviceOther
deviceOther
=
platDeviceOtherService
.
getOne
(
new
QueryWrapper
<
PlatDeviceOther
>().
lambda
()
.
eq
(
PlatDeviceOther:
:
getOriDeviceId
,
deviceId
)
.
last
(
"limit 1"
));
PlatDeviceBaseAttrDTO
platDeviceBaseAttrDTO
=
JSON
.
parseObject
(
deviceOther
.
getAttribute
(),
PlatDeviceBaseAttrDTO
.
class
);
return
platDeviceBaseAttrDTO
;
}
private
static
Map
<
String
,
Object
>
getReqMap
(
PlatDeviceBaseAttrDTO
dto
,
PlatDeviceBaseAttrDTO
platDeviceBaseAttrDTO
)
{
Map
<
String
,
Object
>
map
=
Maps
.
newHashMap
();
if
(!
Objects
.
equals
(
platDeviceBaseAttrDTO
.
getRadarMode
(),
dto
.
getRadarMode
()))
{
map
.
put
(
"radarMode"
,
dto
.
getRadarMode
());
}
if
(!
Objects
.
equals
(
platDeviceBaseAttrDTO
.
getRadarMount
(),
dto
.
getRadarMount
()))
{
map
.
put
(
"radarMount"
,
dto
.
getRadarMount
());
}
if
(!
Objects
.
equals
(
platDeviceBaseAttrDTO
.
getRadarDelay
(),
dto
.
getRadarDelay
()))
{
map
.
put
(
"radarDelay"
,
dto
.
getRadarDelay
()
);
}
if
(!
Objects
.
equals
(
platDeviceBaseAttrDTO
.
getRadarDistance
(),
dto
.
getRadarDistance
()))
{
map
.
put
(
"radarDistance"
,
JSON
.
toJSONString
(
dto
.
getRadarDistance
()));
}
if
(!
Objects
.
equals
(
platDeviceBaseAttrDTO
.
getRadarAngle
(),
dto
.
getRadarAngle
()))
{
map
.
put
(
"radarAngle"
,
JSON
.
toJSONString
(
dto
.
getRadarAngle
()));
}
return
map
;
}
@Override
public
void
editDeviceNetInfo
(
PlatDeviceNetAttrWechatDTO
dto
)
{
String
deviceId
=
dto
.
getDeviceId
();
...
...
@@ -523,35 +554,42 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
if
(
dto
.
getRadarHight
()
!=
null
)
{
map
.
put
(
"radarHight"
,
dto
.
getRadarHight
()
);
}
if
(
dto
.
getRadarDelay
()
!=
null
)
{
map
.
put
(
"radarDelay"
,
dto
.
getRadarDelay
()
);
}
if
(
dto
.
getRadarDistance
()
!=
null
)
{
map
.
put
(
"radarDistance"
,
JSON
.
toJSONString
(
dto
.
getRadarDistance
()));
}
if
(
dto
.
getRadarAngle
()
!=
null
)
{
map
.
put
(
"radarAngle"
,
JSON
.
toJSONString
(
dto
.
getRadarAngle
()));
}
return
map
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
batchEditProperties
(
PlatDeviceAttrDTO
dto
)
{
if
(
CollectionUtils
.
isEmpty
(
dto
.
getDeviceIdList
()))
{
List
<
String
>
deviceIdList
=
dto
.
getDeviceIdList
();
if
(
CollectionUtils
.
isEmpty
(
deviceIdList
))
{
return
;
}
Map
<
String
,
Object
>
map
=
getAttrMap
(
dto
);
List
<
String
>
resultList
=
Lists
.
newArrayList
();
for
(
String
deviceId
:
dto
.
getDeviceIdList
())
{
String
reqJson
=
JSON
.
toJSONString
(
dto
);
for
(
String
deviceId
:
deviceIdList
)
{
PlatDeviceBaseAttrDTO
platDeviceBaseAttrDTO
=
getPlatDeviceBaseAttrDTO
(
deviceId
);
Map
<
String
,
Object
>
map
=
getReqMap
(
dto
,
platDeviceBaseAttrDTO
);
String
result
=
devicePropertiesOperateService
.
deviceWriteAttr
(
deviceId
,
map
);
if
(
StringUtils
.
isNotEmpty
(
result
))
{
resultList
.
add
(
result
);
throw
new
RuntimeException
(
"修改设备属性失败:"
+
result
);
}
List
<
PlatDeviceOther
>
otherList
=
platDeviceOtherService
.
list
(
new
QueryWrapper
<
PlatDeviceOther
>().
lambda
()
.
eq
(
PlatDeviceOther:
:
getOriDeviceId
,
deviceId
)
.
last
(
"limit 1"
));
.
eq
(
PlatDeviceOther:
:
getOriDeviceId
,
deviceId
));
for
(
PlatDeviceOther
platDeviceOther
:
otherList
)
{
platDeviceOther
.
setAttribute
(
JSON
.
toJSONString
(
map
)
);
platDeviceOther
.
setAttribute
(
reqJson
);
platDeviceOtherService
.
updateById
(
platDeviceOther
);
}
}
if
(
CollectionUtils
.
isNotEmpty
(
resultList
))
{
throw
new
RuntimeException
(
"修改设备属性失败:"
+
resultList
.
get
(
0
));
}
}
@Override
...
...
@@ -744,6 +782,12 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
active
(
BaseIdDTO
dto
)
{
PlatDevice
platDevice
=
getById
(
dto
.
getId
());
Map
<
String
,
Object
>
resMap
=
new
HashMap
<>();
resMap
.
put
(
"appid"
,
shengwangProperties
.
getAppId
());
String
AttrResult
=
devicePropertiesOperateService
.
deviceWriteAttr
(
platDevice
.
getOriDeviceId
(),
resMap
);
if
(
StringUtils
.
isNotEmpty
(
AttrResult
))
{
throw
new
RuntimeException
(
AttrResult
);
}
String
active
=
shengwangHttpUtil
.
active
(
platDevice
.
getOriDeviceId
());
ApiResponseEntity
responseEntity
=
JSON
.
parseObject
(
active
,
ApiResponseEntity
.
class
);
if
(
responseEntity
.
getCode
()
!=
200
)
{
...
...
@@ -761,7 +805,6 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
// 调用设备写入接口
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"license"
,
platDeviceActiveVO
.
getLicense
());
map
.
put
(
"appid"
,
shengwangProperties
.
getAppId
());
String
result
=
devicePropertiesOperateService
.
deviceWriteAttr
(
platDevice
.
getOriDeviceId
(),
map
);
if
(
StringUtils
.
isNotEmpty
(
result
))
{
...
...
@@ -792,4 +835,9 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
public
PlatAlarmCallDeviceVO
getDeviceRtmToken
(
PlatCallingDeviceDTO
dto
)
{
return
shengwangService
.
callingDeviceAuthIgnoreRtm
(
dto
);
}
@Override
public
void
devicePushLog
(
MultipartFile
multipartFile
)
{
}
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderSleepServiceImpl.java
View file @
975db581
...
...
@@ -721,7 +721,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
public
List
<
String
>
getLastDayHourRange
()
{
int
count
=
24
;
LocalDateTime
localDateTime
=
getDayStart
(
LocalDate
.
now
())
.
plusHours
(
8
)
;
LocalDateTime
localDateTime
=
getDayStart
(
LocalDate
.
now
());
List
<
String
>
list
=
Lists
.
newArrayList
();
String
startTime
;
String
endTime
;
...
...
server-service/src/main/java/com/makeit/service/saas/impl/PlatTenantServiceImpl.java
View file @
975db581
package
com
.
makeit
.
service
.
saas
.
impl
;
import
cn.binarywang.wx.miniapp.api.WxMaService
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
...
...
@@ -8,6 +9,7 @@ import com.makeit.common.entity.BaseBusEntity;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.config.WxMaConfiguration
;
import
com.makeit.dto.platform.sys.PlatLogoConfigDTO
;
import
com.makeit.entity.platform.auth.PlatOrg
;
import
com.makeit.entity.platform.auth.PlatUser
;
...
...
@@ -38,6 +40,7 @@ import com.makeit.service.saas.SaasUserService;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.PageUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.msg.config.WxConfig
;
import
com.makeit.utils.redis.RedisCacheUtil
;
import
com.makeit.utils.user.plat.PlatUserUtil
;
import
com.makeit.utils.user.plat.PlatUserVO
;
...
...
@@ -85,6 +88,8 @@ public class PlatTenantServiceImpl extends ServiceImpl<PlatTenantMapper, PlatTen
private
IotOrgService
iotOrgService
;
@Autowired
private
PlatLogoConfigService
platLogoConfigService
;
@Autowired
private
WxConfig
wxConfig
;
private
LambdaQueryWrapper
<
PlatTenant
>
listLambdaQueryWrapper
(
PlatTenantVO
dto
,
boolean
userAccountLike
)
{
...
...
@@ -258,6 +263,13 @@ public class PlatTenantServiceImpl extends ServiceImpl<PlatTenantMapper, PlatTen
checkCode
(
dto
);
PlatTenant
tntTenant
=
BeanDtoVoUtils
.
convert
(
dto
,
PlatTenant
.
class
);
if
(
StringUtils
.
isEmpty
(
tntTenant
.
getAppid
()))
{
tntTenant
.
setAppid
(
wxConfig
.
getAppId
());
}
if
(
StringUtils
.
isEmpty
(
tntTenant
.
getSecret
()))
{
tntTenant
.
setSecret
(
wxConfig
.
getMpSecret
());
}
//新租户同步到iot
PlatTenantVO
platTenantVO
=
new
PlatTenantVO
();
platTenantVO
.
setName
(
dto
.
getName
());
...
...
server-service/src/main/java/com/makeit/service/wechat/impl/PlatElderChildrenInfoUserLoginWechatServiceImpl.java
View file @
975db581
...
...
@@ -3,15 +3,17 @@ package com.makeit.service.wechat.impl;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.makeit.dto.platform.auth.PlatOrgSplitDTO
;
import
com.makeit.entity.platform.elder.PlatElderChildrenInfo
;
import
com.makeit.entity.saas.PlatTenant
;
import
com.makeit.enums.Const
;
import
com.makeit.enums.HeaderConst
;
import
com.makeit.global.aspect.misc.nofill.NoFillUtil
;
import
com.makeit.service.platform.auth.PlatOrgService
;
import
com.makeit.service.platform.elder.PlatElderChildrenInfoService
;
import
com.makeit.service.saas.PlatTenantService
;
import
com.makeit.service.wechat.PlatElderChildrenInfoUserLoginWechatService
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.id.IdGen
;
import
com.makeit.utils.request.RequestUtil
;
import
com.makeit.utils.msg.config.WxConfig
;
import
com.makeit.utils.old.StringUtils
;
import
com.makeit.utils.sys.FileUtil
;
import
com.makeit.utils.third.wechat.WechatLoginPhoneDTO
;
import
com.makeit.utils.third.wechat.WxUserInfo
;
...
...
@@ -35,13 +37,16 @@ public class PlatElderChildrenInfoUserLoginWechatServiceImpl implements PlatElde
private
PlatElderChildrenInfoService
platElderChildrenInfoService
;
@Autowired
private
PlatOrgService
platOrgService
;
private
PlatTenantService
platTenantService
;
@Autowired
private
WxConfig
wxConfig
;
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
PlatElderChildrenInfoUserLoginWechatServiceImpl
.
class
);
@Override
@Transactional
public
WechatUserInfo
login
(
WechatLoginPhoneDTO
dto
)
{
buildAppIdAndSecret
(
dto
);
WxUserInfo
userInfo
=
WechatUtil
.
login
(
dto
);
...
...
@@ -99,6 +104,25 @@ public class PlatElderChildrenInfoUserLoginWechatServiceImpl implements PlatElde
}
private
void
buildAppIdAndSecret
(
WechatLoginPhoneDTO
dto
)
{
boolean
hasAppid
=
StringUtils
.
isNotEmpty
(
dto
.
getAppid
());
if
(
hasAppid
)
{
PlatTenant
platTenant
=
platTenantService
.
getOne
(
new
QueryWrapper
<
PlatTenant
>().
lambda
()
.
eq
(
PlatTenant:
:
getAppid
,
dto
.
getAppid
())
.
last
(
"limit 1"
));
if
(
platTenant
!=
null
)
{
dto
.
setAppid
(
platTenant
.
getAppid
());
dto
.
setSecret
(
platTenant
.
getSecret
());
}
else
{
dto
.
setAppid
(
wxConfig
.
getAppId
());
dto
.
setSecret
(
wxConfig
.
getAppSecret
());
}
}
else
{
dto
.
setAppid
(
wxConfig
.
getAppId
());
dto
.
setSecret
(
wxConfig
.
getAppSecret
());
}
}
@Override
public
void
logout
()
{
TokenUtil
.
wechatLogout
();
...
...
server-service/src/main/java/com/makeit/task/DayDurationTask.java
View file @
975db581
...
...
@@ -3,11 +3,13 @@ package com.makeit.task;
import
com.makeit.utils.DayDurationUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
@Component
@Slf4j
@ConditionalOnProperty
(
value
=
{
"iot.sync.enable"
},
havingValue
=
"true"
)
public
class
DayDurationTask
{
@Autowired
...
...
server-service/src/main/java/com/makeit/task/IotSyncTask.java
View file @
975db581
...
...
@@ -3,11 +3,13 @@ package com.makeit.task;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
@Component
@Slf4j
@ConditionalOnProperty
(
value
=
{
"iot.sync.enable"
},
havingValue
=
"true"
)
public
class
IotSyncTask
{
@Autowired
...
...
server-service/src/main/java/com/makeit/task/PlatElderReportTask.java
View file @
975db581
...
...
@@ -7,11 +7,13 @@ import com.makeit.service.platform.elder.PlatElderCoordinateRecordService;
import
com.makeit.service.platform.elder.PlatElderSleepService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
@Component
@Slf4j
@ConditionalOnProperty
(
value
=
{
"iot.sync.enable"
},
havingValue
=
"true"
)
public
class
PlatElderReportTask
{
@Autowired
...
...
@@ -56,7 +58,7 @@ public class PlatElderReportTask {
/**
* 长者睡眠分析
*/
@Scheduled
(
cron
=
"0 0
3
* * ?"
)
@Scheduled
(
cron
=
"0 0
8
* * ?"
)
@TenantIdIgnore
public
void
elderSleepSleepAnalysisTask
()
{
log
.
info
(
"开始定时分析长者睡眠质量"
);
...
...
server-web/src/main/resources/application-dev.yml
View file @
975db581
...
...
@@ -111,6 +111,8 @@ iot:
url
:
https://iot.qa.insightica.cn/api/
clientId
:
fyxmb5h52iKwE2Hi
secureKey
:
22fZbnH36wdHn7ZTyKKHraFw233npcez
sync
:
enable
:
false
mqtt
:
username
:
admin|1693982115969
...
...
server-web/src/main/resources/application.yml
View file @
975db581
...
...
@@ -14,8 +14,8 @@ spring:
idle-timeout
:
60000
login-timeout
:
5
max-lifetime
:
60000
maximum-pool-size
:
1
0
minimum-idle
:
5
maximum-pool-size
:
5
0
minimum-idle
:
10
read-only
:
false
#jackson时间格式化
...
...
@@ -156,3 +156,7 @@ rsa:
config
:
pk
:
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDNWwXoRRnYSSYp0z5H+LjWIbsMxYO0yLMtBhUSlRM12L62O57FWh+ENphkmMF1LZlG0hPo3rD70Ur6JuaEqwQvk3NA2qXPC+7LczN21JxtSI3mFrQcALvfuENU9WYVUC8ZktyRpYV7djWw/iJS7ugX//D6lsX0oA6GGGT0ubiw9wIDAQAB
sk
:
MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAM1bBehFGdhJJinTPkf4uNYhuwzFg7TIsy0GFRKVEzXYvrY7nsVaH4Q2mGSYwXUtmUbSE+jesPvRSvom5oSrBC+Tc0Dapc8L7stzM3bUnG1IjeYWtBwAu9+4Q1T1ZhVQLxmS3JGlhXt2NbD+IlLu6Bf/8PqWxfSgDoYYZPS5uLD3AgMBAAECgYEAkpAiWTHoTjt252cDDm7vzLRqQaU+aOrNJpcutwJ6oXW+N2W53XSDBePJRBLaD/2pZahN2WgGvNMVRhA5efpskxifl31x2JJ7/wzNwkNdupGnhfuEvtoPs77TieXS0Zz5p1SbmqABDkUsVeEUa7aj93LZZsLg5S57OrG0+EizC+ECQQDsutESdwBuBcSI4F4yNbGVFfLPJvf4CfYCUqetwuE7xKbci6LIoEcxBG4YbOZKimrU8Qu34IAEK4ym2xuAZvFZAkEA3hJnPPuk67aOb755HpNchtnjbz/Y5Pw6ZIPP+6I+RZcj1QEbMoTG8uUrDHIiKG8oOKUi1L11I0SCj+TuriyazwJBAKtAklKbR/JPtdeXCE2mTisdz6NP+36yJgeUJ70qB6onHtbZJQ+h8x5gqAx/azFtZM9a+TEx9SoPHxbt1r1SuzECQAhv9pAwl3GFPCAuwndQ7gEJokSFzn3Uv3s2Lt7GqUsHlQrwwdHHja+I2XvdkkKrBoIwdARVNnAimDtTXWYst60CQDxqAPn5arLRwSf8eaO2LceAIEdAIFrtfgKyavpmf6OaRMKhabES+UKlF0bggAl8JBPLTWZA+pWA3AjKHp+5qik=
iot
:
sync
:
enable
:
true
\ No newline at end of file
server-web/src/main/resources/logback-spring.xml
View file @
975db581
...
...
@@ -7,6 +7,11 @@
<property
name=
"pattern"
value=
"%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{appName}] [%X{profile}] [%X{traceId:-},%X{spanId:-}] [%X{requestId}] [%X{userId}] [%thread] %-5level %logger{50} - %msg%n"
/>
<springProfile
name=
"dev"
>
<property
name=
"logback.logdir"
value=
"/home/group1_lzy/iot-server/logs"
/>
<property
name=
"logback.appname"
value=
"app"
/>
</springProfile>
<springProfile
name=
"prod"
>
<property
name=
"logback.logdir"
value=
"/home/group1_lzy/iot-server/logs"
/>
<property
name=
"logback.appname"
value=
"app"
/>
...
...
@@ -127,6 +132,11 @@
<appender-ref
ref=
"FILEERRORLOG"
/>
<appender-ref
ref=
"FILEWARNLOG"
/>
</logger>
<logger
name=
"com.makeit"
level=
"ERROR"
additivity=
"false"
>
<appender-ref
ref=
"FILEINFOLOG"
/>
<appender-ref
ref=
"FILEERRORLOG"
/>
<appender-ref
ref=
"FILEWARNLOG"
/>
</logger>
</springProfile>
<springProfile
name=
"test"
>
...
...
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