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
1960b971
authored
Oct 07, 2023
by
杨伟程
Browse files
Options
_('Browse Files')
Download
Plain Diff
Merge branch 'dev' of
http://git.xmmakeit.com/huangjiay/iot-platform-server
into dev
parents
6f8e08f2
a7818924
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
604 additions
and
37 deletions
saas-module/src/main/java/com/makeit/controller/sys/SaasFileController.java
saas-module/src/main/java/com/makeit/controller/sys/SaasUploadController.java
server-api/server-api.iml
server-common/src/main/java/com/makeit/module/admin/dto/plat/PlatRoleDTOVO.java
server-common/src/main/java/com/makeit/module/iot/service/IotCommonService.java
server-common/src/main/java/com/makeit/module/iot/service/IotProductDeviceService.java
server-common/src/main/java/com/makeit/module/iot/vo/analysis/AnalysisVO.java
server-common/src/main/java/com/makeit/utils/msg/sender/MailMsgSender.java
server-module/server-module.iml
server-module/src/main/java/com/makeit/module/controller/children/alarm/PlatAlarmRecordChildrenController.java
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderSleepController.java
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatAlarmRecordQueryDTO.java
server-service/src/main/java/com/makeit/entity/platform/alarm/PlatAlarmRecord.java
server-service/src/main/java/com/makeit/entity/platform/auth/PlatRoleOrg.java
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmRecordService.java
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatRoleServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderSleepService.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderSleepServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRoomBedDeviceServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatSpaceServiceImpl.java
server-service/src/main/java/com/makeit/vo/platform/alarm/PlatAlarmRecordVO.java
server-service/src/main/resources/mappers/PlatAlarmConfigMapper.xml
server-web/platform-web.iml
saas-module/src/main/java/com/makeit/controller/sys/SaasFileController.java
0 → 100644
View file @
1960b971
package
com
.
makeit
.
controller
.
sys
;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.module.system.dto.SysFileDTOVO
;
import
com.makeit.module.system.entity.SysFile
;
import
com.makeit.module.system.service.SysFileService
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.storage.AccessoryRepository
;
import
com.makeit.utils.storage.DataWithMeta
;
import
com.makeit.utils.sys.FileUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.commons.lang3.StringUtils
;
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.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.util.UriUtils
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
java.net.URLEncoder
;
import
java.util.Arrays
;
import
java.util.List
;
@Api
(
tags
=
"saas-文件"
)
@RestController
@RequestMapping
(
"/saas/sys/file"
)
public
class
SaasFileController
{
@Autowired
public
AccessoryRepository
accessoryRepository
;
@Autowired
private
SysFileService
sysFileService
;
@ApiOperation
(
"获取文件临时路径路径"
)
@PostMapping
(
"getFileTmp"
)
public
ApiResponseEntity
<
SysFileDTOVO
>
getFileTmp
(
@RequestBody
BaseIdDTO
baseIdDTO
)
{
SysFileDTOVO
sysFileDTOVO
=
BeanDtoVoUtils
.
convert
(
sysFileService
.
getById
(
baseIdDTO
.
getId
()),
SysFileDTOVO
.
class
);
sysFileDTOVO
.
setFullUrl
(
accessoryRepository
.
getTmpURL
(
sysFileDTOVO
.
getUrl
()));
return
ApiResponseUtils
.
success
(
sysFileDTOVO
);
}
@ApiOperation
(
"获取文件路径"
)
@PostMapping
(
"getFile"
)
public
ApiResponseEntity
<
List
<
SysFileDTOVO
>>
getFile
(
@RequestBody
BaseIdDTO
baseIdDTO
)
{
return
ApiResponseUtils
.
success
(
FileUtil
.
convertMultiply
(
Arrays
.
asList
(
baseIdDTO
.
getId
())).
get
(
0
));
}
@ApiOperation
(
"获取文件路径集合"
)
@PostMapping
(
"getFileList"
)
public
ApiResponseEntity
<
List
<
List
<
SysFileDTOVO
>>>
getFile
(
@RequestBody
List
<
String
>
list
)
{
return
ApiResponseUtils
.
success
(
FileUtil
.
convertMultiply
(
list
));
}
//这种方式可以 只是不能设置下载文件名
// @ApiOperation("下载文件")
// @PostMapping("downloadFile")
// public byte[] downloadFile(@RequestBody BaseIdDTO baseIdDTO) {
// return aliyunOSSRepository.getBytes(UriUtils.decode(StringUtils.substringAfter(sysFileService.getById(baseIdDTO.getId()).getUrl(), "oss/"), "UTF-8"));
// }
void
downloadFile
(
HttpServletResponse
response
,
String
id
)
throws
IOException
{
SysFile
sysFile
=
sysFileService
.
getById
(
id
);
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"application/octet-stream"
);
// 设置文件头:最后一个参数是设置下载文件名
response
.
setHeader
(
"Content-disposition"
,
"attachment;filename="
+
URLEncoder
.
encode
(
sysFile
.
getFileName
(),
"UTF-8"
));
OutputStream
outputStream
=
response
.
getOutputStream
();
outputStream
.
write
(
accessoryRepository
.
getBytes
(
UriUtils
.
decode
(
StringUtils
.
substringAfter
(
sysFile
.
getUrl
(),
"oss/"
),
"UTF-8"
)));
}
//这样是可以
// private void previewFile(HttpServletResponse response, String id) throws IOException {
//
// SysFile sysFile = sysFileService.getById(id);
//
// response.setCharacterEncoding("UTF-8");
// response.setContentType("application/octet-stream");
// // 设置文件头:最后一个参数是设置下载文件名
// response.setHeader("Content-disposition", "inline;filename=" + URLEncoder.encode(sysFile.getFileName(), "UTF-8"));
//
// String suffix = sysFile.getUrl().substring(sysFile.getUrl().lastIndexOf("."));
//
// Map<String, String> map = new HashMap<>(16);
// map.put(".pdf", "application/pdf");
// map.put(".png", "image/png");
// map.put(".jpg", "image/jpg");
// map.put(".jpeg", "image/jpeg");
//
// String contentType = map.get(suffix);
// if (StringUtils.isNotBlank(contentType)) {
// response.setContentType(contentType);
// }
//
// OutputStream outputStream = response.getOutputStream();
// outputStream.write(aliyunOSSRepository.getBytes(UriUtils.decode(StringUtils.substringAfter(sysFile.getUrl(), "oss/"), "UTF-8")));
// outputStream.close();
// }
private
void
previewFile
(
HttpServletResponse
response
,
String
id
)
throws
IOException
{
SysFile
sysFile
=
sysFileService
.
getById
(
id
);
response
.
setCharacterEncoding
(
"UTF-8"
);
// 设置文件头:最后一个参数是设置下载文件名
response
.
setHeader
(
"Content-disposition"
,
"inline;filename="
+
URLEncoder
.
encode
(
sysFile
.
getFileName
(),
"UTF-8"
));
DataWithMeta
dataWithMeta
=
accessoryRepository
.
getDataWithMeta
(
UriUtils
.
decode
(
StringUtils
.
substringAfter
(
sysFile
.
getUrl
(),
"oss/"
),
"UTF-8"
));
response
.
setContentType
(
dataWithMeta
.
getContentType
());
OutputStream
outputStream
=
response
.
getOutputStream
();
outputStream
.
write
(
dataWithMeta
.
getBytes
());
outputStream
.
close
();
}
@ApiOperation
(
"下载文件(json id)"
)
@RequestMapping
(
value
=
"downloadFile"
,
method
=
{
RequestMethod
.
GET
,
RequestMethod
.
POST
})
public
void
downloadFile
(
HttpServletResponse
response
,
@RequestBody
BaseIdDTO
baseIdDTO
)
throws
IOException
{
downloadFile
(
response
,
baseIdDTO
.
getId
());
}
@ApiOperation
(
"预览文件(json id)"
)
@RequestMapping
(
value
=
"previewFile"
,
method
=
{
RequestMethod
.
GET
,
RequestMethod
.
POST
})
public
void
previewFile
(
HttpServletResponse
response
,
@RequestBody
BaseIdDTO
baseIdDTO
)
throws
IOException
{
previewFile
(
response
,
baseIdDTO
.
getId
());
}
@ApiOperation
(
"下载文件"
)
@RequestMapping
(
value
=
"downloadFileParam"
,
method
=
{
RequestMethod
.
GET
,
RequestMethod
.
POST
})
public
void
downloadFileParam
(
HttpServletResponse
response
,
String
id
)
throws
IOException
{
downloadFile
(
response
,
id
);
}
@ApiOperation
(
"预览文件"
)
@RequestMapping
(
value
=
"previewFileParam"
,
method
=
{
RequestMethod
.
GET
,
RequestMethod
.
POST
})
public
void
previewFileParam
(
HttpServletResponse
response
,
String
id
)
throws
IOException
{
previewFile
(
response
,
id
);
}
@ApiOperation
(
"批量保存"
)
@PostMapping
(
"addList"
)
public
ApiResponseEntity
<?>
addList
(
@RequestBody
List
<
SysFileDTOVO
>
list
)
{
List
<
SysFile
>
fileList
=
BeanDtoVoUtils
.
listVo
(
list
,
SysFile
.
class
);
sysFileService
.
saveBatch
(
fileList
);
return
ApiResponseUtils
.
success
(
StreamUtil
.
map
(
fileList
,
SysFile:
:
getId
));
}
}
saas-module/src/main/java/com/makeit/controller/sys/SaasUploadController.java
0 → 100644
View file @
1960b971
package
com
.
makeit
.
controller
.
sys
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.module.system.dto.SysFileDTOVO
;
import
com.makeit.module.system.dto.UploadKeyDTO
;
import
com.makeit.module.system.entity.SysFile
;
import
com.makeit.module.system.service.SysFileService
;
import
com.makeit.utils.contract.word.WordConverterUtil
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.storage.HwObsRepository
;
import
com.makeit.utils.storage.PostSignature
;
import
com.makeit.utils.sys.FileUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.StopWatch
;
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.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.List
;
/**
* @author liuhb
* @date 2021/12/14
*/
@Api
(
tags
=
"saas-文件"
)
@RestController
@RequestMapping
(
"/saas/storage"
)
public
class
SaasUploadController
extends
BaseController
{
@Autowired
private
SysFileService
sysFileService
;
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
SaasUploadController
.
class
);
// @ApiOperation(value = "获取key")
// @PostMapping("getKey")
// public String getKey(@ApiParam(value = "originalFilename") String originalFilename) {
// String fullPath = getFullPath(null, originalFilename);
// return getUri(accessoryRepository.getKey(fullPath));
// }
@ApiOperation
(
value
=
"获取key"
)
@PostMapping
(
"getKey"
)
public
SysFileDTOVO
getKey
(
@RequestBody
UploadKeyDTO
dto
)
{
SysFileDTOVO
sysFile
=
new
SysFileDTOVO
();
sysFile
.
setFileName
(
dto
.
getOriginalFilename
());
String
fullPath
=
getFullPath
(
null
,
dto
.
getOriginalFilename
());
sysFile
.
setUrl
(
getUri
(
HwObsRepository
.
APIURI
+
accessoryRepository
.
getKey
(
fullPath
)));
sysFile
.
setKey
(
accessoryRepository
.
getKey
(
fullPath
));
return
sysFile
;
}
@ApiOperation
(
value
=
"获取签名"
)
@PostMapping
(
"getSignature"
)
public
PostSignature
getPostSignature
()
{
return
accessoryRepository
.
getPostSignature
();
}
private
String
replaceSuffix
(
String
name
)
{
int
index
=
name
.
lastIndexOf
(
"."
);
return
name
.
substring
(
0
,
index
)
+
".pdf"
;
}
private
List
<
SysFile
>
uploadInternal
(
List
<
MultipartFile
>
files
,
String
convertToPdf
)
{
StopWatch
stopWatch
=
new
StopWatch
();
stopWatch
.
start
();
List
<
SysFile
>
sysFileList
=
StreamUtil
.
map
(
files
,
e
->
{
try
{
SysFile
sysFile
=
new
SysFile
();
sysFile
.
setFileName
(
e
.
getOriginalFilename
());
String
fullPath
=
getFullPath
(
null
,
e
.
getOriginalFilename
());
sysFile
.
setUrl
(
getUri
(
storageRepository
(
"1"
).
save
(
e
.
getBytes
(),
fullPath
)));
if
(
"1"
.
equals
(
convertToPdf
))
{
fullPath
=
getFullPath
(
null
,
replaceSuffix
(
e
.
getOriginalFilename
()));
sysFile
.
setPdfUrl
(
getUri
(
storageRepository
(
"1"
).
save
(
WordConverterUtil
.
convert
(
e
.
getInputStream
()),
fullPath
)));
}
sysFile
.
setMime
(
e
.
getContentType
());
return
sysFile
;
}
catch
(
IOException
ex
)
{
throw
new
RuntimeException
(
ex
);
}
});
sysFileService
.
saveBatch
(
sysFileList
);
stopWatch
.
stop
();
logger
.
info
(
"文件上传耗时:{} ms"
,
stopWatch
.
getLastTaskTimeMillis
());
return
sysFileList
;
}
private
List
<
SysFile
>
convertAndUploadInternal
(
List
<
MultipartFile
>
files
)
{
StopWatch
stopWatch
=
new
StopWatch
();
stopWatch
.
start
();
List
<
SysFile
>
sysFileList
=
StreamUtil
.
map
(
files
,
e
->
{
try
{
SysFile
sysFile
=
new
SysFile
();
sysFile
.
setFileName
(
replaceSuffix
(
e
.
getOriginalFilename
()));
String
fullPath
=
getFullPath
(
null
,
replaceSuffix
(
e
.
getOriginalFilename
()));
sysFile
.
setUrl
(
getUri
(
storageRepository
(
"1"
).
save
(
WordConverterUtil
.
convert
(
e
.
getInputStream
()),
fullPath
)));
sysFile
.
setMime
(
e
.
getContentType
());
return
sysFile
;
}
catch
(
IOException
ex
)
{
throw
new
RuntimeException
(
ex
);
}
});
sysFileService
.
saveBatch
(
sysFileList
);
stopWatch
.
stop
();
logger
.
info
(
"文件上传耗时:{} ms"
,
stopWatch
.
getLastTaskTimeMillis
());
return
sysFileList
;
}
@ApiOperation
(
value
=
"统一文件上传"
)
@PostMapping
(
"uploadFile"
)
public
ApiResponseEntity
<
List
<
String
>>
uploadFile
(
@ApiParam
(
value
=
"convertToPdf"
)
@RequestParam
(
defaultValue
=
"0"
)
String
convertToPdf
,
@ApiParam
(
value
=
"files"
)
List
<
MultipartFile
>
files
)
{
List
<
SysFile
>
sysFileList
=
uploadInternal
(
files
,
convertToPdf
);
return
ApiResponseUtils
.
success
(
StreamUtil
.
map
(
sysFileList
,
SysFile:
:
getId
));
}
@ApiOperation
(
value
=
"统一文件上传返回路径"
)
@PostMapping
(
"uploadFileUrl"
)
public
ApiResponseEntity
<
List
<
SysFileDTOVO
>>
uploadFileUrl
(
@ApiParam
(
value
=
"convertToPdf"
)
@RequestParam
(
defaultValue
=
"0"
)
String
convertToPdf
,
@ApiParam
(
value
=
"files"
)
List
<
MultipartFile
>
files
)
{
List
<
SysFile
>
sysFileList
=
uploadInternal
(
files
,
convertToPdf
);
List
<
SysFileDTOVO
>
voList
=
BeanDtoVoUtils
.
listVo
(
sysFileList
,
SysFileDTOVO
.
class
);
FileUtil
.
fillFullUrl
(
voList
);
FileUtil
.
fillPdfFullUrl
(
voList
);
return
ApiResponseUtils
.
success
(
voList
);
}
@ApiOperation
(
value
=
"统一转换为pdf后上传"
)
@PostMapping
(
"convertAndUploadFile"
)
public
ApiResponseEntity
<
List
<
String
>>
convertAndUploadFile
(
@ApiParam
(
value
=
"files"
)
List
<
MultipartFile
>
files
)
{
List
<
SysFile
>
sysFileList
=
convertAndUploadInternal
(
files
);
return
ApiResponseUtils
.
success
(
StreamUtil
.
map
(
sysFileList
,
SysFile:
:
getId
));
}
@ApiOperation
(
value
=
"统一转换为pdf后上传返回路径"
)
@PostMapping
(
"convertAndUploadFileUrl"
)
public
ApiResponseEntity
<
List
<
SysFileDTOVO
>>
convertAndUploadFileUrl
(
@ApiParam
(
value
=
"files"
)
List
<
MultipartFile
>
files
)
{
List
<
SysFile
>
sysFileList
=
convertAndUploadInternal
(
files
);
List
<
SysFileDTOVO
>
voList
=
BeanDtoVoUtils
.
listVo
(
sysFileList
,
SysFileDTOVO
.
class
);
FileUtil
.
fillFullUrl
(
voList
);
//FileUtil.fillPdfFullUrl(voList);
return
ApiResponseUtils
.
success
(
voList
);
}
//下面两个的作用
//返回给前端的路径 要基于下面两个转发
@ApiOperation
(
"获取oss文件"
)
@RequestMapping
(
value
=
"oss/**"
,
method
=
RequestMethod
.
GET
)
public
void
getOssFile
(
HttpServletRequest
req
,
HttpServletResponse
resp
)
throws
Exception
{
// String filepath = req.getRequestURI();
// filepath = UriUtils.decode(StringUtils.substringAfter(filepath, "oss"), "UTF-8");
// //.toString().split("\\?")[0];
// resp.sendRedirect(accessoryRepository.getPermanentURL(filepath));
resp
.
sendRedirect
(
accessoryRepository
.
getPermanentURL
(
req
.
getRequestURI
()));
}
@ApiOperation
(
"获取oss文件(临时路径)"
)
@RequestMapping
(
value
=
"tmp/oss/**"
,
method
=
RequestMethod
.
GET
)
public
void
getOssFileTmpPath
(
HttpServletRequest
req
,
HttpServletResponse
resp
)
throws
Exception
{
// String filepath = req.getRequestURI();
// filepath = UriUtils.decode(StringUtils.substringAfter(filepath, "tmp/oss"), "UTF-8");
// //.toString().split("\\?")[0];
// resp.sendRedirect(accessoryRepository.getTmpURL(filepath));
resp
.
sendRedirect
(
accessoryRepository
.
getTmpURL
(
req
.
getRequestURI
()));
}
//private String name;
// private String nameOrigin;
// private String extName;
// private Long fileSize;
// private String storeType;//video audio img pdf等
// private String relativePath;
}
server-api/server-api.iml
View file @
1960b971
...
@@ -172,7 +172,7 @@
...
@@ -172,7 +172,7 @@
<orderEntry
type=
"library"
name=
"Maven: com.sun.xml.bind:jaxb-impl:2.3.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.sun.xml.bind:jaxb-impl:2.3.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.aliyun:alibabacloud-gateway-spi:0.0.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.aliyun:alibabacloud-gateway-spi:0.0.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.aliyun:openapiutil:0.1.14"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.aliyun:openapiutil:0.1.14"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.huaweicloud:esdk-obs-java-bundle:3.23.
5
"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.huaweicloud:esdk-obs-java-bundle:3.23.
9
"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-core:2.14.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-core:2.14.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-api:2.14.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-api:2.14.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.commons:commons-lang3:3.12.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.commons:commons-lang3:3.12.0"
level=
"project"
/>
...
...
server-common/src/main/java/com/makeit/module/admin/dto/plat/PlatRoleDTOVO.java
View file @
1960b971
...
@@ -28,6 +28,8 @@ public class PlatRoleDTOVO extends BaseOrgDTO implements Serializable {
...
@@ -28,6 +28,8 @@ public class PlatRoleDTOVO extends BaseOrgDTO implements Serializable {
@ApiModelProperty
(
value
=
"部门名称"
)
@ApiModelProperty
(
value
=
"部门名称"
)
private
String
deptName
;
private
String
deptName
;
private
String
orgPath
;
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
@ApiModelProperty
(
value
=
"角色名称集合"
)
@ApiModelProperty
(
value
=
"角色名称集合"
)
private
List
<
String
>
nameList
;
private
List
<
String
>
nameList
;
...
...
server-common/src/main/java/com/makeit/module/iot/service/IotCommonService.java
View file @
1960b971
...
@@ -83,9 +83,20 @@ public class IotCommonService {
...
@@ -83,9 +83,20 @@ public class IotCommonService {
* ]
* ]
* @return
* @return
*/
*/
public
static
IotQueryParam
buildQueryParam
(
int
pageSize
)
{
public
static
IotQueryParam
buildQueryParam
(
int
page
Index
,
int
page
Size
)
{
IotQueryParam
iotQueryParam
=
new
IotQueryParam
();
IotQueryParam
iotQueryParam
=
new
IotQueryParam
();
iotQueryParam
.
setPageIndex
(
0
);
iotQueryParam
.
setPageIndex
(
pageIndex
);
iotQueryParam
.
setPageSize
(
pageSize
);
iotQueryParam
.
setSorts
(
buildSort
(
"timestamp"
));
iotQueryParam
.
setTerms
(
Lists
.
newArrayList
());
return
iotQueryParam
;
}
public
static
IotQueryParam
buildQueryParamByPageIndex
(
int
pageIndex
,
int
pageSize
)
{
IotQueryParam
iotQueryParam
=
new
IotQueryParam
();
iotQueryParam
.
setPageIndex
(
pageIndex
);
iotQueryParam
.
setPageSize
(
pageSize
);
iotQueryParam
.
setPageSize
(
pageSize
);
iotQueryParam
.
setSorts
(
buildSort
(
"timestamp"
));
iotQueryParam
.
setSorts
(
buildSort
(
"timestamp"
));
...
...
server-common/src/main/java/com/makeit/module/iot/service/IotProductDeviceService.java
View file @
1960b971
package
com
.
makeit
.
module
.
iot
.
service
;
package
com
.
makeit
.
module
.
iot
.
service
;
import
cn.hutool.core.date.DatePattern
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
...
@@ -20,14 +22,13 @@ import com.makeit.utils.data.convert.StreamUtil;
...
@@ -20,14 +22,13 @@ import com.makeit.utils.data.convert.StreamUtil;
import
com.makeit.utils.old.StringUtils
;
import
com.makeit.utils.old.StringUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.RandomUtils
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.time.Duration
;
import
java.time.*
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeFormatter
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
/**
* iot产品设备相关接口
* iot产品设备相关接口
...
@@ -40,6 +41,7 @@ public class IotProductDeviceService extends IotCommonService {
...
@@ -40,6 +41,7 @@ public class IotProductDeviceService extends IotCommonService {
public
static
final
String
REPORT_PROPERTY
=
"reportProperty"
;
public
static
final
String
REPORT_PROPERTY
=
"reportProperty"
;
private
static
final
DateTimeFormatter
DEFAULT_FORMATTER
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm"
);
/**
/**
* 获取设备信息
* 获取设备信息
*/
*/
...
@@ -47,7 +49,7 @@ public class IotProductDeviceService extends IotCommonService {
...
@@ -47,7 +49,7 @@ public class IotProductDeviceService extends IotCommonService {
String
url
=
iotUrl
+
DEVICE_PREFIX_URL
+
"_query"
;
String
url
=
iotUrl
+
DEVICE_PREFIX_URL
+
"_query"
;
// 条件可以自己改
// 条件可以自己改
IotQueryParam
iotQueryParam
=
buildQueryParam
(
10
);
IotQueryParam
iotQueryParam
=
buildQueryParam
(
0
,
10
);
String
body
=
JsonUtil
.
toJson
(
iotQueryParam
);
String
body
=
JsonUtil
.
toJson
(
iotQueryParam
);
...
@@ -129,14 +131,68 @@ public class IotProductDeviceService extends IotCommonService {
...
@@ -129,14 +131,68 @@ public class IotProductDeviceService extends IotCommonService {
}
}
public
List
<
String
>
getLastDayHourRange
(
LocalDateTime
startDateTime
)
{
int
count
=
24
;
List
<
String
>
list
=
Lists
.
newArrayList
();
String
startTime
;
String
endTime
;
for
(
int
i
=
count
;
i
>
0
;
i
--)
{
startTime
=
DateUtil
.
format
(
startDateTime
.
minusHours
(
i
),
DatePattern
.
NORM_DATETIME_PATTERN
);
endTime
=
DateUtil
.
format
(
startDateTime
.
minusHours
(
i
-
1
),
DatePattern
.
NORM_DATETIME_PATTERN
);
list
.
add
(
startTime
+
"~"
+
endTime
);
}
return
list
;
}
public
List
<
DeviceInfoContentBreathe
>
getDeviceLogByTimeRangeBreathe
(
String
deviceId
,
int
pageSize
,
LocalDateTime
startTime
,
LocalDateTime
endTime
)
{
public
List
<
DeviceInfoContentBreathe
>
getDeviceLogByTimeRangeBreathe
(
String
deviceId
,
int
pageSize
,
LocalDateTime
startTime
,
LocalDateTime
endTime
)
{
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
);
List
<
String
>
lastDayHourRange
=
getLastDayHourRange
(
startTime
);
for
(
String
hour
:
lastDayHourRange
)
{
String
[]
hourRangeArray
=
hour
.
split
(
"~"
);
List
<
DeviceOperationLogEntity
>
deviceOperationLogEntities
=
getDeviceLogByTimeRange
(
deviceId
,
REPORT_PROPERTY
,
5000
,
hourRangeArray
[
0
],
hourRangeArray
[
1
]);
List
<
DeviceInfoContentBreathe
>
deviceInfoContentBreatheList
=
StreamUtil
.
map
(
deviceOperationLogEntities
,
e
->
JsonUtil
.
toObj
((
String
)
e
.
getContent
(),
DeviceInfoContentBreathe
.
class
));
}
long
minute
=
1440
;
List
<
DeviceInfoContentBreathe
>
breatheList
=
Lists
.
newArrayList
();
DeviceInfoContentBreathe
deviceInfoContentBreathe
;
for
(
long
i
=
1
;
i
<=
minute
;
i
++)
{
int
brRandomLong
=
RandomUtils
.
nextInt
(
11
,
28
);
int
hrRandomLong
=
RandomUtils
.
nextInt
(
55
,
125
);
int
movebodyRandomLong
=
RandomUtils
.
nextInt
(
40
,
90
);
deviceInfoContentBreathe
=
new
DeviceInfoContentBreathe
();
LocalDateTime
localDateTime
=
startTime
.
plusMinutes
(
i
);
long
timeStamp
=
localDateTime
.
toInstant
(
ZoneOffset
.
UTC
).
toEpochMilli
();
deviceInfoContentBreathe
.
setTimestamp
(
timeStamp
);
DeviceInfoContentBreathe
.
Properties
properties
=
new
DeviceInfoContentBreathe
.
Properties
();
properties
.
setBr
(
brRandomLong
);
properties
.
setHr
(
hrRandomLong
);
properties
.
setBodymove
(
movebodyRandomLong
);
deviceInfoContentBreathe
.
setProperties
(
properties
);
breatheList
.
add
(
deviceInfoContentBreathe
);
}
/*
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
List<DeviceOperationLogEntity> deviceOperationLogEntityList = getDeviceLogByTimeRange(deviceId, REPORT_PROPERTY, pageSize, dateTimeFormatter.format(startTime), dateTimeFormatter.format(endTime));
List<DeviceOperationLogEntity> deviceOperationLogEntityList = getDeviceLogByTimeRange(deviceId, REPORT_PROPERTY, pageSize, dateTimeFormatter.format(startTime), dateTimeFormatter.format(endTime));
List
<
DeviceInfoContentBreathe
>
deviceInfoContentBreatheList
=
StreamUtil
.
map
(
deviceOperationLogEntityList
,
e
->
JsonUtil
.
toObj
((
String
)
e
.
getContent
(),
DeviceInfoContentBreathe
.
class
));
List<DeviceInfoContentBreathe> deviceInfoContentBreatheList = deviceOperationLogEntityList.stream()
.filter(deviceOperationLogEntity -> deviceOperationLogEntity.getType().contains(REPORT_PROPERTY))
.map(deviceOperationLogEntity -> {
DeviceInfoContentBreathe deviceInfoContentBreathe = JsonUtil.toObj((String) deviceOperationLogEntity.getContent(), DeviceInfoContentBreathe.class);
deviceInfoContentBreathe.setReportTime(formatLongTime(deviceInfoContentBreathe.getTimestamp()));
return deviceInfoContentBreathe;
})
.collect(Collectors.toList());
Map<String, List<DeviceInfoContentBreathe>> minuteMap = StreamUtil.groupBy(deviceInfoContentBreatheList, DeviceInfoContentBreathe::getReportTime);
for (Map.Entry<String, List<DeviceInfoContentBreathe>> entry : minuteMap.entrySet()) {
}*/
return
breatheList
;
}
return
deviceInfoContentBreatheList
;
public
static
String
formatLongTime
(
long
time
)
{
return
DEFAULT_FORMATTER
.
format
(
LocalDateTime
.
ofInstant
(
Instant
.
ofEpochMilli
(
time
),
ZoneId
.
systemDefault
()));
}
}
public
List
<
DeviceInfoContentSpace
>
getDeviceLogByTimeRangeSpace
(
String
deviceId
,
int
pageSize
,
LocalDateTime
startTime
,
LocalDateTime
endTime
)
{
public
List
<
DeviceInfoContentSpace
>
getDeviceLogByTimeRangeSpace
(
String
deviceId
,
int
pageSize
,
LocalDateTime
startTime
,
LocalDateTime
endTime
)
{
...
@@ -217,7 +273,7 @@ public class IotProductDeviceService extends IotCommonService {
...
@@ -217,7 +273,7 @@ public class IotProductDeviceService extends IotCommonService {
* @return
* @return
*/
*/
public
List
<
DeviceOperationLogEntity
>
getDeviceLogByTimeRange
(
String
deviceId
,
String
typeValue
,
int
pageSize
,
String
startTime
,
String
endTime
)
{
public
List
<
DeviceOperationLogEntity
>
getDeviceLogByTimeRange
(
String
deviceId
,
String
typeValue
,
int
pageSize
,
String
startTime
,
String
endTime
)
{
IotQueryParam
iotQueryParam
=
buildQueryParam
(
pageSize
);
IotQueryParam
iotQueryParam
=
buildQueryParam
(
0
,
pageSize
);
List
<
Term
>
terms
=
Lists
.
newArrayList
();
List
<
Term
>
terms
=
Lists
.
newArrayList
();
Term
term1
=
Term
.
builder
()
Term
term1
=
Term
.
builder
()
...
@@ -283,7 +339,7 @@ public class IotProductDeviceService extends IotCommonService {
...
@@ -283,7 +339,7 @@ public class IotProductDeviceService extends IotCommonService {
*/
*/
public
List
<
DeviceOperationLogEntity
>
getDeviceLog
(
String
deviceId
,
int
pageSize
,
String
typeValue
)
{
public
List
<
DeviceOperationLogEntity
>
getDeviceLog
(
String
deviceId
,
int
pageSize
,
String
typeValue
)
{
String
url
=
iotUrl
+
DEVICE_PREFIX_URL
+
deviceId
+
"/logs"
;
String
url
=
iotUrl
+
DEVICE_PREFIX_URL
+
deviceId
+
"/logs"
;
IotQueryParam
iotQueryParam
=
buildQueryParam
(
pageSize
);
IotQueryParam
iotQueryParam
=
buildQueryParam
(
0
,
pageSize
);
if
(
StringUtils
.
isNotEmpty
(
typeValue
))
{
if
(
StringUtils
.
isNotEmpty
(
typeValue
))
{
List
<
Term
>
terms
=
Lists
.
newArrayList
();
List
<
Term
>
terms
=
Lists
.
newArrayList
();
Term
term
=
Term
.
builder
()
Term
term
=
Term
.
builder
()
...
...
server-common/src/main/java/com/makeit/module/iot/vo/analysis/AnalysisVO.java
View file @
1960b971
...
@@ -7,8 +7,12 @@ public class AnalysisVO {
...
@@ -7,8 +7,12 @@ public class AnalysisVO {
private
Integer
totalHr
;
private
Integer
totalHr
;
private
Integer
avgHr
;
private
Integer
avgHr
;
private
Integer
maxHr
;
private
Integer
minHr
;
private
Integer
totalBr
;
private
Integer
totalBr
;
private
Integer
avgBr
;
private
Integer
avgBr
;
private
Integer
maxBr
;
private
Integer
minBr
;
private
Integer
actionCount
=
0
;
// 体动次数
private
Integer
actionCount
=
0
;
// 体动次数
private
Integer
turnedCount
=
0
;
// 翻身次数
private
Integer
turnedCount
=
0
;
// 翻身次数
...
...
server-common/src/main/java/com/makeit/utils/msg/sender/MailMsgSender.java
View file @
1960b971
...
@@ -3,6 +3,7 @@ package com.makeit.utils.msg.sender;
...
@@ -3,6 +3,7 @@ package com.makeit.utils.msg.sender;
import
com.makeit.utils.msg.SendTypeEnum
;
import
com.makeit.utils.msg.SendTypeEnum
;
import
com.makeit.utils.msg.dto.MsgSendDTO
;
import
com.makeit.utils.msg.dto.MsgSendDTO
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.mail.javamail.JavaMailSender
;
import
org.springframework.mail.javamail.JavaMailSender
;
...
@@ -10,6 +11,8 @@ import org.springframework.mail.javamail.MimeMessageHelper;
...
@@ -10,6 +11,8 @@ import org.springframework.mail.javamail.MimeMessageHelper;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.mail.internet.MimeMessage
;
import
javax.mail.internet.MimeMessage
;
import
java.util.Collection
;
import
java.util.Objects
;
@Component
@Component
@Slf4j
@Slf4j
...
@@ -35,7 +38,12 @@ public class MailMsgSender implements IMsgSender {
...
@@ -35,7 +38,12 @@ public class MailMsgSender implements IMsgSender {
MimeMessage
message
=
mailSender
.
createMimeMessage
();
MimeMessage
message
=
mailSender
.
createMimeMessage
();
MimeMessageHelper
helper
=
new
MimeMessageHelper
(
message
,
true
);
MimeMessageHelper
helper
=
new
MimeMessageHelper
(
message
,
true
);
helper
.
setFrom
(
from
);
helper
.
setFrom
(
from
);
helper
.
setTo
(
msgDTO
.
getEmailSet
().
toArray
(
new
String
[
msgDTO
.
getReceiverList
().
size
()]));
Collection
<
String
>
emailSet
=
msgDTO
.
getEmailSet
();
emailSet
.
removeIf
(
Objects:
:
isNull
);
if
(
CollectionUtils
.
isEmpty
(
emailSet
)){
return
;
}
helper
.
setTo
(
emailSet
.
toArray
(
new
String
[
emailSet
.
size
()]));
helper
.
setSubject
(
msgDTO
.
getSubject
());
helper
.
setSubject
(
msgDTO
.
getSubject
());
helper
.
setText
(
msgDTO
.
getOriContent
(),
false
);
helper
.
setText
(
msgDTO
.
getOriContent
(),
false
);
mailSender
.
send
(
message
);
mailSender
.
send
(
message
);
...
...
server-module/server-module.iml
View file @
1960b971
...
@@ -172,7 +172,7 @@
...
@@ -172,7 +172,7 @@
<orderEntry
type=
"library"
name=
"Maven: com.sun.xml.bind:jaxb-impl:2.3.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.sun.xml.bind:jaxb-impl:2.3.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.aliyun:alibabacloud-gateway-spi:0.0.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.aliyun:alibabacloud-gateway-spi:0.0.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.aliyun:openapiutil:0.1.14"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.aliyun:openapiutil:0.1.14"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.huaweicloud:esdk-obs-java-bundle:3.23.
5
"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.huaweicloud:esdk-obs-java-bundle:3.23.
9
"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-core:2.14.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-core:2.14.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-api:2.14.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-api:2.14.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.commons:commons-lang3:3.12.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.commons:commons-lang3:3.12.0"
level=
"project"
/>
...
...
server-module/src/main/java/com/makeit/module/controller/children/alarm/PlatAlarmRecordChildrenController.java
View file @
1960b971
...
@@ -36,5 +36,12 @@ public class PlatAlarmRecordChildrenController {
...
@@ -36,5 +36,12 @@ public class PlatAlarmRecordChildrenController {
public
ApiResponseEntity
<
PlatAlarmRecordVO
>
view
(
@RequestBody
BaseIdDTO
dto
)
{
public
ApiResponseEntity
<
PlatAlarmRecordVO
>
view
(
@RequestBody
BaseIdDTO
dto
)
{
return
ApiResponseUtils
.
success
(
platAlarmRecordService
.
view
(
dto
.
getId
()));
return
ApiResponseUtils
.
success
(
platAlarmRecordService
.
view
(
dto
.
getId
()));
}
}
@ApiOperation
(
"已读"
)
@PostMapping
(
"read"
)
public
ApiResponseEntity
<
Void
>
read
(
@RequestBody
BaseIdDTO
dto
)
{
platAlarmRecordService
.
read
(
dto
.
getId
());
return
ApiResponseUtils
.
success
();
}
}
}
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderSleepController.java
View file @
1960b971
...
@@ -5,6 +5,7 @@ import com.makeit.common.response.ApiResponseEntity;
...
@@ -5,6 +5,7 @@ import com.makeit.common.response.ApiResponseEntity;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.global.annotation.AuthIgnore
;
import
com.makeit.global.annotation.AuthIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.service.platform.elder.PlatElderSleepService
;
import
com.makeit.task.IotSyncTask
;
import
com.makeit.task.IotSyncTask
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
...
@@ -28,6 +29,8 @@ public class PlatElderSleepController {
...
@@ -28,6 +29,8 @@ public class PlatElderSleepController {
@Autowired
@Autowired
private
IotSyncTask
iotSyncTask
;
private
IotSyncTask
iotSyncTask
;
@Autowired
private
PlatElderSleepService
platElderSleepService
;
@ApiOperation
(
"测试"
)
@ApiOperation
(
"测试"
)
@PostMapping
(
"test"
)
@PostMapping
(
"test"
)
...
@@ -38,6 +41,15 @@ public class PlatElderSleepController {
...
@@ -38,6 +41,15 @@ public class PlatElderSleepController {
return
ApiResponseUtils
.
success
();
return
ApiResponseUtils
.
success
();
}
}
@ApiOperation
(
"测试"
)
@PostMapping
(
"test1"
)
@AuthIgnore
@TenantIdIgnore
public
ApiResponseEntity
<
Void
>
test1
()
{
platElderSleepService
.
test1
();
return
ApiResponseUtils
.
success
();
}
}
}
...
...
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatAlarmRecordQueryDTO.java
View file @
1960b971
...
@@ -58,6 +58,11 @@ public class PlatAlarmRecordQueryDTO extends BaseTenantDTO {
...
@@ -58,6 +58,11 @@ public class PlatAlarmRecordQueryDTO extends BaseTenantDTO {
//子女关联的老人id
//子女关联的老人id
private
List
<
String
>
elderIdList
;
private
List
<
String
>
elderIdList
;
/**
* 通知家属状态 0 未通知 1 已通知
*/
private
String
noticeStatus
;
}
}
server-service/src/main/java/com/makeit/entity/platform/alarm/PlatAlarmRecord.java
View file @
1960b971
...
@@ -86,6 +86,9 @@ public class PlatAlarmRecord extends BaseBusEntity {
...
@@ -86,6 +86,9 @@ public class PlatAlarmRecord extends BaseBusEntity {
@ApiModelProperty
(
"区域名称"
)
@ApiModelProperty
(
"区域名称"
)
private
String
regionName
;
private
String
regionName
;
@ApiModelProperty
(
value
=
"0-未读 1-已读"
)
private
String
readFlag
;
}
}
...
...
server-service/src/main/java/com/makeit/entity/platform/auth/PlatRoleOrg.java
View file @
1960b971
...
@@ -6,10 +6,12 @@ import lombok.Data;
...
@@ -6,10 +6,12 @@ import lombok.Data;
/**
/**
* 租户端角色部门关联表
* 租户端角色部门关联表
* 角色和所属部门 一对一
* @TableName plat_role_org
* @TableName plat_role_org
*/
*/
@TableName
(
value
=
"plat_role_org"
)
@TableName
(
value
=
"plat_role_org"
)
@Data
@Data
@Deprecated
public
class
PlatRoleOrg
extends
BaseBusEntity
{
public
class
PlatRoleOrg
extends
BaseBusEntity
{
/**
/**
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmRecordService.java
View file @
1960b971
...
@@ -61,4 +61,6 @@ public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> {
...
@@ -61,4 +61,6 @@ public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> {
void
getElderListByDeviceId
(
PlatAlarmCheckDTO
platAlarmCheckDTO
);
void
getElderListByDeviceId
(
PlatAlarmCheckDTO
platAlarmCheckDTO
);
void
dealAlarm
(
BaseIdDTO
dto
);
void
dealAlarm
(
BaseIdDTO
dto
);
void
read
(
String
id
);
}
}
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
View file @
1960b971
package
com
.
makeit
.
service
.
platform
.
alarm
.
impl
;
package
com
.
makeit
.
service
.
platform
.
alarm
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.common.dto.BaseIdDTO
;
...
@@ -120,6 +122,7 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -120,6 +122,7 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
String
[]
split
=
elderId
.
split
(
","
);
String
[]
split
=
elderId
.
split
(
","
);
PlatAlarmRecordQueryDTO
data
=
dto
.
getData
();
PlatAlarmRecordQueryDTO
data
=
dto
.
getData
();
data
.
setElderIdList
(
Arrays
.
asList
(
split
));
data
.
setElderIdList
(
Arrays
.
asList
(
split
));
data
.
setNoticeStatus
(
CommonEnum
.
YES
.
getValue
());
return
page
(
dto
);
return
page
(
dto
);
}
}
...
@@ -139,6 +142,7 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -139,6 +142,7 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
qw
.
or
().
apply
(
"find_in_set('"
+
elderId
+
"',elder_ids)"
);
qw
.
or
().
apply
(
"find_in_set('"
+
elderId
+
"',elder_ids)"
);
}
}
})
})
.
eq
(
StringUtils
.
isNotBlank
(
param
.
getNoticeStatus
()),
PlatAlarmRecord:
:
getNoticeStatus
,
param
.
getNoticeStatus
())
.
orderByDesc
(
BaseEntity:
:
getCreateDate
)
.
orderByDesc
(
BaseEntity:
:
getCreateDate
)
;
;
}
}
...
@@ -304,6 +308,9 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -304,6 +308,9 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
*/
*/
private
void
noticeByChannel
(
PlatAlarmConfig
alarmConfig
,
PlatAlarmRecord
alarmRecord
,
Set
<
String
>
phoneSet
,
Set
<
String
>
emailSet
,
List
<
SendTypeEnum
>
notifyChannelList
)
{
private
void
noticeByChannel
(
PlatAlarmConfig
alarmConfig
,
PlatAlarmRecord
alarmRecord
,
Set
<
String
>
phoneSet
,
Set
<
String
>
emailSet
,
List
<
SendTypeEnum
>
notifyChannelList
)
{
String
notifyChannel
=
alarmConfig
.
getNotifyChannel
();
String
notifyChannel
=
alarmConfig
.
getNotifyChannel
();
if
(
StringUtils
.
isEmpty
(
notifyChannel
)){
return
;
}
String
[]
split
=
notifyChannel
.
split
(
","
);
String
[]
split
=
notifyChannel
.
split
(
","
);
for
(
String
sendType
:
split
)
{
for
(
String
sendType
:
split
)
{
SendTypeEnum
sendTypeEnum
=
SendTypeEnum
.
getByValue
(
sendType
);
SendTypeEnum
sendTypeEnum
=
SendTypeEnum
.
getByValue
(
sendType
);
...
@@ -347,6 +354,8 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -347,6 +354,8 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
platAlarmRecord
.
setRemark
(
platAlarmCheckDTO
.
getRemark
());
platAlarmRecord
.
setRemark
(
platAlarmCheckDTO
.
getRemark
());
platAlarmRecord
.
setAbnormalValue
(
platAlarmCheckDTO
.
getAbnormalValue
());
platAlarmRecord
.
setAbnormalValue
(
platAlarmCheckDTO
.
getAbnormalValue
());
platAlarmRecord
.
setRegionName
(
platElder
.
getRegionName
());
platAlarmRecord
.
setRegionName
(
platElder
.
getRegionName
());
platAlarmRecord
.
setReadFlag
(
CommonEnum
.
NO
.
getValue
());
return
platAlarmRecord
;
return
platAlarmRecord
;
}
}
...
@@ -454,4 +463,13 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
...
@@ -454,4 +463,13 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
platAlarmRecord
.
setDealDate
(
LocalDateTime
.
now
());
platAlarmRecord
.
setDealDate
(
LocalDateTime
.
now
());
updateById
(
platAlarmRecord
);
updateById
(
platAlarmRecord
);
}
}
@Override
@Transactional
public
void
read
(
String
id
)
{
LambdaUpdateWrapper
<
PlatAlarmRecord
>
recordLambdaUpdateWrapper
=
Wrappers
.
lambdaUpdate
(
PlatAlarmRecord
.
class
)
.
eq
(
BaseEntity:
:
getId
,
id
)
.
set
(
PlatAlarmRecord:
:
getReadFlag
,
CommonEnum
.
YES
.
getValue
());
update
(
recordLambdaUpdateWrapper
);
}
}
}
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatRoleServiceImpl.java
View file @
1960b971
...
@@ -186,7 +186,10 @@ implements PlatRoleService {
...
@@ -186,7 +186,10 @@ implements PlatRoleService {
PlatRoleDTOVO
vo
=
BeanDtoVoUtils
.
convert
(
getById
(
id
),
PlatRoleDTOVO
.
class
);
PlatRoleDTOVO
vo
=
BeanDtoVoUtils
.
convert
(
getById
(
id
),
PlatRoleDTOVO
.
class
);
JoinUtil
.
join
(
Arrays
.
asList
(
vo
),
platOrgService
,
PlatRoleDTOVO:
:
getOrgId
,
PlatOrg:
:
getId
,
(
r
,
e
)
->
r
.
setDeptName
(
e
.
getName
()));
JoinUtil
.
join
(
Arrays
.
asList
(
vo
),
platOrgService
,
PlatRoleDTOVO:
:
getOrgId
,
PlatOrg:
:
getId
,
(
r
,
e
)
->{
r
.
setDeptName
(
e
.
getName
());
r
.
setOrgPath
(
e
.
getPath
()+
","
+
e
.
getId
());
}
);
List
<
PlatMenuDTOVO
>
assignMenuDTO
=
getAssignMenuDTO
(
id
);
List
<
PlatMenuDTOVO
>
assignMenuDTO
=
getAssignMenuDTO
(
id
);
List
<
PlatMenuDTOVO
>
tree
=
tree
(
assignMenuDTO
);
List
<
PlatMenuDTOVO
>
tree
=
tree
(
assignMenuDTO
);
...
...
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderSleepService.java
View file @
1960b971
...
@@ -14,4 +14,6 @@ import com.makeit.entity.platform.elder.PlatElderSleep;
...
@@ -14,4 +14,6 @@ import com.makeit.entity.platform.elder.PlatElderSleep;
public
interface
PlatElderSleepService
extends
IService
<
PlatElderSleep
>
{
public
interface
PlatElderSleepService
extends
IService
<
PlatElderSleep
>
{
void
elderSleepSleepAnalysisTask
();
void
elderSleepSleepAnalysisTask
();
void
test1
();
}
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderSleepServiceImpl.java
View file @
1960b971
This diff is collapsed.
Click to expand it.
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRoomBedDeviceServiceImpl.java
View file @
1960b971
...
@@ -97,12 +97,21 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM
...
@@ -97,12 +97,21 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM
PlatSpaceDeviceQueryDTO
dto
=
pageReqDTO
.
getData
();
PlatSpaceDeviceQueryDTO
dto
=
pageReqDTO
.
getData
();
LambdaQueryWrapper
<
PlatRoomBedDevice
>
queryWrapper1
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
PlatRoomBedDevice
>
queryWrapper1
=
new
LambdaQueryWrapper
<>();
queryWrapper1
.
select
(
PlatRoomBedDevice:
:
getDeviceId
);
// queryWrapper1.select(PlatRoomBedDevice::getDeviceId);
List
<
PlatRoomBedDevice
>
list
=
list
(
queryWrapper1
);
List
<
PlatRoomBedDevice
>
list1
=
new
ArrayList
<>();
if
(
CommonEnum
.
NO
.
getValue
().
equals
(
dto
.
getIsRoom
()))
{
if
(
CommonEnum
.
NO
.
getValue
().
equals
(
dto
.
getIsRoom
()))
{
queryWrapper1
.
isNotNull
(
PlatRoomBedDevice:
:
getBedId
);
queryWrapper1
.
eq
(
PlatRoomBedDevice:
:
getRoomId
,
dto
.
getRoomId
());
list
.
forEach
(
item
->{
if
(!
item
.
getRoomId
().
equals
(
dto
.
getRoomId
())
||
(
item
.
getRoomId
().
equals
(
dto
.
getRoomId
())
&&
StringUtil
.
isEmpty
(
item
.
getBedId
()))){
list1
.
add
(
item
);
}
}
List
<
PlatRoomBedDevice
>
list
=
list
(
queryWrapper1
);
});
}
List
<
String
>
listEquipmentIds
=
list
.
stream
().
map
(
item
->
item
.
getDeviceId
()).
collect
(
Collectors
.
toList
());
List
<
String
>
listEquipmentIds
=
list
.
stream
().
map
(
item
->
item
.
getDeviceId
()).
collect
(
Collectors
.
toList
());
String
orgId
=
""
;
String
orgId
=
""
;
...
...
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatSpaceServiceImpl.java
View file @
1960b971
...
@@ -107,12 +107,16 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
...
@@ -107,12 +107,16 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
space
.
setAddress
(
dto
.
getAddress
());
space
.
setAddress
(
dto
.
getAddress
());
space
.
setLatitude
(
dto
.
getLatitude
());
space
.
setLatitude
(
dto
.
getLatitude
());
space
.
setLongitude
(
dto
.
getLongitude
());
space
.
setLongitude
(
dto
.
getLongitude
());
space
.
setParentId
(
dto
.
getParentId
());
if
(
StringUtil
.
isEmpty
(
dto
.
getParentPath
())){
if
(
StringUtil
.
isEmpty
(
dto
.
getParentPath
())){
space
.
setParentPath
(
null
);
space
.
setParentPath
(
null
);
}
else
{
}
else
{
space
.
setParentPath
(
dto
.
getParentPath
());
space
.
setParentPath
(
dto
.
getParentPath
());
}
}
if
(
StringUtil
.
isEmpty
(
dto
.
getParentId
())){
space
.
setParentId
(
null
);
}
else
{
space
.
setParentId
(
dto
.
getParentId
());
}
//上级空间
//上级空间
PlatSpace
parentSpace
=
this
.
getById
(
dto
.
getParentId
());
PlatSpace
parentSpace
=
this
.
getById
(
dto
.
getParentId
());
...
@@ -177,6 +181,10 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
...
@@ -177,6 +181,10 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
.
in
(
PlatSpace:
:
getId
,
parentIds
));
.
in
(
PlatSpace:
:
getId
,
parentIds
));
if
(
CollectionUtils
.
isNotEmpty
(
arrayList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
arrayList
))
{
spaceList
.
addAll
(
arrayList
);
spaceList
.
addAll
(
arrayList
);
spaceList
=
spaceList
.
stream
()
.
collect
(
Collectors
.
collectingAndThen
(
Collectors
.
toCollection
(
()
->
new
TreeSet
<>(
Comparator
.
comparing
(
PlatSpace:
:
getId
))),
ArrayList:
:
new
));
}
}
}
else
{
}
else
{
spaceList
=
list
;
spaceList
=
list
;
...
@@ -370,12 +378,15 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
...
@@ -370,12 +378,15 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
try
{
try
{
List
<
PlatSpace
>
listPlatSpace
=
list
(
new
LambdaQueryWrapper
<>());
List
<
PlatSpace
>
listPlatSpace
=
list
(
new
LambdaQueryWrapper
<>());
List
<
PlatSpace
>
firstSpace
=
listPlatSpace
.
stream
().
filter
(
item
->
item
.
getParentId
()
==
null
).
collect
(
Collectors
.
toList
());
List
<
PlatSpace
>
firstSpace
=
listPlatSpace
.
stream
().
filter
(
item
->
StringUtil
.
isEmpty
(
item
.
getParentId
())
).
collect
(
Collectors
.
toList
());
Map
<
String
,
String
>
firstSpaceNameMap
=
firstSpace
.
stream
().
collect
(
Collectors
.
toMap
(
PlatSpace:
:
getName
,
PlatSpace:
:
getId
,
(
k1
,
k2
)
->
k1
));
Map
<
String
,
String
>
firstSpaceNameMap
=
firstSpace
.
stream
().
collect
(
Collectors
.
toMap
(
PlatSpace:
:
getName
,
PlatSpace:
:
getId
,
(
k1
,
k2
)
->
k1
));
List
<
PlatSpace
>
listChildren
=
listPlatSpace
.
stream
().
filter
(
item
->
item
.
getParentId
()
!=
null
).
collect
(
Collectors
.
toList
());
List
<
PlatSpace
>
listChildren
=
listPlatSpace
.
stream
().
filter
(
item
->
StringUtil
.
isNotEmpty
(
item
.
getParentId
())
).
collect
(
Collectors
.
toList
());
Map
<
String
,
List
<
PlatSpace
>>
childrenMap
=
listChildren
.
stream
().
collect
(
Collectors
.
groupingBy
(
PlatSpace:
:
getParentId
));
Map
<
String
,
List
<
PlatSpace
>>
childrenMap
=
listChildren
.
stream
().
collect
(
Collectors
.
groupingBy
(
PlatSpace:
:
getParentId
));
Map
<
String
,
String
>
childrenIdMap
=
listChildren
.
stream
().
collect
(
Collectors
.
toMap
(
item
->
item
.
getParentId
()
+
item
.
getName
(),
item
->
item
.
getId
(),
(
k1
,
k2
)
->
k1
));
Map
<
String
,
String
>
childrenIdMap
=
listChildren
.
stream
().
collect
(
Collectors
.
toMap
(
item
->
item
.
getParentId
()
+
"-"
+
item
.
getName
(),
item
->
item
.
getId
(),
(
k1
,
k2
)
->
k1
));
List
<
PlatRoom
>
rooms
=
platRoomService
.
list
();
Map
<
String
,
List
<
PlatRoom
>>
roomMap
=
rooms
.
stream
().
collect
(
Collectors
.
groupingBy
(
PlatRoom:
:
getSpaceId
));
List
<
PlatSpaceImportDTO
>
list
=
ExcelUtil
.
importExcel
(
null
,
3
,
excelFile
,
PlatSpaceImportDTO
.
class
);
List
<
PlatSpaceImportDTO
>
list
=
ExcelUtil
.
importExcel
(
null
,
3
,
excelFile
,
PlatSpaceImportDTO
.
class
);
...
@@ -426,10 +437,11 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
...
@@ -426,10 +437,11 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
key
=
key
+
"-"
+
item
.
getFloor
();
key
=
key
+
"-"
+
item
.
getFloor
();
}
}
if
(
listKey
.
contains
(
key
))
{
if
(
listKey
.
contains
(
key
+
"-"
+
item
.
getRoomName
()
))
{
errorVoList
.
add
(
new
ExcelErrorVo
(
i
+
3
,
excelField
.
get
(
0
),
"该空间下,房间名已存在"
));
errorVoList
.
add
(
new
ExcelErrorVo
(
i
+
3
,
excelField
.
get
(
0
),
"该空间下,房间名已存在"
));
errorFlag
=
true
;
errorFlag
=
true
;
}
}
listKey
.
add
(
key
+
"-"
+
item
.
getRoomName
());
if
(
errorFlag
)
{
if
(
errorFlag
)
{
errorCount
++;
errorCount
++;
...
@@ -530,19 +542,48 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
...
@@ -530,19 +542,48 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
platRoomDTO
.
setName
(
item
.
getRoomName
());
platRoomDTO
.
setName
(
item
.
getRoomName
());
platRoomDTO
.
setBedNumber
(
item
.
getBedNumber
());
platRoomDTO
.
setBedNumber
(
item
.
getBedNumber
());
String
spaceId
=
null
;
String
spaceId
=
null
;
if
(
firstId
!=
null
)
{
int
j
=
0
;
spaceId
=
firstId
;
if
(
fourId
!=
null
){
}
else
if
(
secondId
!=
null
)
{
spaceId
=
secondId
;
}
else
if
(
threeId
!=
null
)
{
spaceId
=
threeId
;
}
else
if
(
fourId
!=
null
)
{
spaceId
=
fourId
;
spaceId
=
fourId
;
j
=
3
;
}
else
if
(
threeId
!=
null
){
spaceId
=
threeId
;
j
=
2
;
}
else
if
(
secondId
!=
null
){
spaceId
=
secondId
;
j
=
1
;
}
else
if
(
firstId
!=
null
){
spaceId
=
firstId
;
}
//判断该层级是否最后一级
List
<
PlatSpace
>
childSpaes
=
list
(
new
QueryWrapper
<
PlatSpace
>().
lambda
()
.
eq
(
PlatSpace:
:
getParentId
,
spaceId
));
if
(!
childSpaes
.
isEmpty
()){
errorVoList
.
add
(
new
ExcelErrorVo
(
i
+
3
,
excelField
.
get
(
j
),
"该空间存在下级空间,不允许添加房间"
));
successCount
--;
errorCount
++;
continue
;
}
}
platRoomDTO
.
setSpaceId
(
spaceId
);
platRoomDTO
.
setSpaceId
(
spaceId
);
platRoomDTO
.
setSpacePath
(
spacePath
);
platRoomDTO
.
setSpacePath
(
spacePath
);
platRoomService
.
add
(
platRoomDTO
);
PlatRoom
platRoom
=
BeanDtoVoUtils
.
convert
(
platRoomDTO
,
PlatRoom
.
class
);
if
(
roomMap
.
get
(
spaceId
)!=
null
){
List
<
PlatRoom
>
roomList
=
roomMap
.
get
(
spaceId
);
List
<
String
>
roomNames
=
roomList
.
stream
().
map
(
PlatRoom:
:
getName
).
collect
(
Collectors
.
toList
());
if
(
roomNames
.
contains
(
platRoom
.
getName
())){
errorVoList
.
add
(
new
ExcelErrorVo
(
i
+
3
,
excelField
.
get
(
0
),
"该空间下,房间名已存在"
));
successCount
--;
errorCount
++;
continue
;
}
}
}
platRoomService
.
save
(
platRoom
);
platBedService
.
add
(
platRoom
);
}
}
if
(!
errorVoList
.
isEmpty
()){
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
}
}
excelImportVo
.
setTotalCount
(
list
.
size
());
excelImportVo
.
setTotalCount
(
list
.
size
());
excelImportVo
.
setErrorCount
(
errorCount
);
excelImportVo
.
setErrorCount
(
errorCount
);
...
...
server-service/src/main/java/com/makeit/vo/platform/alarm/PlatAlarmRecordVO.java
View file @
1960b971
...
@@ -59,5 +59,8 @@ public class PlatAlarmRecordVO extends BaseTenantDTO {
...
@@ -59,5 +59,8 @@ public class PlatAlarmRecordVO extends BaseTenantDTO {
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
createDate
;
private
LocalDateTime
createDate
;
@ApiModelProperty
(
value
=
"0-未读 1-已读"
)
private
String
readFlag
;
}
}
server-service/src/main/resources/mappers/PlatAlarmConfigMapper.xml
View file @
1960b971
...
@@ -7,10 +7,10 @@
...
@@ -7,10 +7,10 @@
<select
id=
"getHealthConfigList"
resultType=
"com.makeit.dto.platform.alarm.PlatHealthConfigDTO"
>
<select
id=
"getHealthConfigList"
resultType=
"com.makeit.dto.platform.alarm.PlatHealthConfigDTO"
>
select pehi.elder_id as platElderId,
select pehi.elder_id as platElderId,
pehi.respiratory_rate as
heart
RateStr,
pehi.respiratory_rate as
breath
RateStr,
pehi.respiratory_exception_time as
heart
Duration,
pehi.respiratory_exception_time as
breath
Duration,
pehi.heart_rate as
breath
RateStr,
pehi.heart_rate as
heart
RateStr,
pehi.heart_exception_time as
breath
Duration
pehi.heart_exception_time as
heart
Duration
from plat_elder_health_info pehi
from plat_elder_health_info pehi
left join plat_elder pe on pe.id = pehi.elder_id
left join plat_elder pe on pe.id = pehi.elder_id
where pehi.del_flag = 0
where pehi.del_flag = 0
...
...
server-web/platform-web.iml
View file @
1960b971
...
@@ -165,7 +165,7 @@
...
@@ -165,7 +165,7 @@
<orderEntry
type=
"library"
name=
"Maven: com.sun.xml.bind:jaxb-impl:2.3.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.sun.xml.bind:jaxb-impl:2.3.0"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.aliyun:alibabacloud-gateway-spi:0.0.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.aliyun:alibabacloud-gateway-spi:0.0.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.aliyun:openapiutil:0.1.14"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.aliyun:openapiutil:0.1.14"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.huaweicloud:esdk-obs-java-bundle:3.23.
5
"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.huaweicloud:esdk-obs-java-bundle:3.23.
9
"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-core:2.14.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-core:2.14.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-api:2.14.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-api:2.14.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.poi:poi:5.2.2"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.poi:poi:5.2.2"
level=
"project"
/>
...
...
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