Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
4515351c
Commit
4515351c
authored
Aug 22, 2023
by
suhuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.电梯导出多线程
parent
832141da
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
81 additions
and
52 deletions
+81
-52
pom.xml
.../amos-boot-module-api/amos-boot-module-common-api/pom.xml
+5
-0
ExcelUtil.java
.../yeejoin/amos/boot/module/common/api/excel/ExcelUtil.java
+0
-0
BizCommonConstant.java
...os/boot/module/elevator/api/common/BizCommonConstant.java
+5
-0
TemplateExportController.java
...ule/elevator/biz/controller/TemplateExportController.java
+23
-6
AmosThreadPool.java
...t/module/elevator/biz/core/threadpool/AmosThreadPool.java
+18
-46
ElevatorAppRunner.java
...t/module/elevator/biz/service/impl/ElevatorAppRunner.java
+30
-0
No files found.
amos-boot-module/amos-boot-module-api/amos-boot-module-common-api/pom.xml
View file @
4515351c
...
...
@@ -22,5 +22,10 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
cn.hutool
</groupId>
<artifactId>
hutool-all
</artifactId>
<version>
5.8.16
</version>
</dependency>
</dependencies>
</project>
amos-boot-module/amos-boot-module-api/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/excel/ExcelUtil.java
View file @
4515351c
This diff is collapsed.
Click to expand it.
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-api/src/main/java/com/yeejoin/amos/boot/module/elevator/api/common/BizCommonConstant.java
View file @
4515351c
...
...
@@ -11,4 +11,9 @@ public interface BizCommonConstant {
* 所有平台企业数据redisKey
*/
String
COMPANY_TREE_REDIS_KEY
=
"REGULATOR_UNIT_TREE"
;
/**
* 电梯数据key
*/
String
OLD_ELEVATOR_REDIS_KEY
=
"OLD_ELEVATOR_REDIS_KEY"
;
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-biz/src/main/java/com/yeejoin/amos/boot/module/elevator/biz/controller/TemplateExportController.java
View file @
4515351c
...
...
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import
com.google.common.collect.Lists
;
import
com.yeejoin.amos.boot.biz.common.utils.DateUtils
;
import
com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil
;
import
com.yeejoin.amos.boot.module.elevator.api.common.BizCommonConstant
;
import
com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorDto
;
import
com.yeejoin.amos.boot.module.elevator.api.dto.ExportDto
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.TemplateExport
;
...
...
@@ -15,7 +16,10 @@ import com.yeejoin.amos.boot.module.elevator.api.service.IRescueStationService;
import
com.yeejoin.amos.boot.module.elevator.api.service.IUseUnitService
;
import
com.yeejoin.amos.boot.module.elevator.biz.service.impl.ElevatorServiceImpl
;
import
com.yeejoin.amos.boot.module.elevator.biz.service.impl.VoiceRecordFileServiceImpl
;
import
com.yeejoin.amos.boot.module.elevator.biz.utils.RedisUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
;
import
org.springframework.util.StopWatch
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.Api
;
...
...
@@ -25,6 +29,7 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.Executor
;
import
com.yeejoin.amos.boot.module.elevator.biz.service.impl.TemplateExportServiceImpl
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
...
...
@@ -69,6 +74,12 @@ public class TemplateExportController extends BaseController {
@Autowired
VoiceRecordFileServiceImpl
voiceRecordFileServiceImpl
;
@Autowired
RedisUtil
redisUtil
;
@Autowired
Executor
customExecutor
;
/**
* 新增模板表
*
...
...
@@ -177,7 +188,7 @@ public class TemplateExportController extends BaseController {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"根据字段类型导出"
,
notes
=
"根据字段类型导出"
)
@PostMapping
(
"/exportByTypeParams"
)
public
void
exportByTypeParams
(
@RequestBody
ExportDto
exportDto
,
HttpServletResponse
response
)
{
public
void
exportByTypeParams
(
@RequestBody
ExportDto
exportDto
,
HttpServletResponse
response
)
throws
Exception
{
if
(
ValidationUtil
.
isEmpty
(
exportDto
.
getExportArray
())
||
ValidationUtil
.
isEmpty
(
exportDto
.
getDataType
())
||
ValidationUtil
.
isEmpty
(
exportDto
.
getFileName
())
...
...
@@ -206,9 +217,16 @@ public class TemplateExportController extends BaseController {
heads
.
add
(
tempList
);
}
String
fileName
=
exportDto
.
getFileName
();
if
(
"ELEVATOR"
.
equals
(
exportDto
.
getExportType
()))
{
// 查询电梯数据
list
=
elevatorServiceImpl
.
selectExportData
(
exportDto
.
getExportId
());
sheetName
=
"电梯信息"
;
// 查询电梯数据
if
(
"ELEVATOR"
.
equals
(
exportDto
.
getExportType
()))
{
if
(
redisUtil
.
hasKey
(
BizCommonConstant
.
OLD_ELEVATOR_REDIS_KEY
)){
list
=
JSONObject
.
parseArray
(
redisUtil
.
get
(
BizCommonConstant
.
OLD_ELEVATOR_REDIS_KEY
).
toString
(),
ElevatorDto
.
class
);
}
else
{
list
=
elevatorServiceImpl
.
selectExportData
(
exportDto
.
getExportId
());
redisUtil
.
set
(
BizCommonConstant
.
OLD_ELEVATOR_REDIS_KEY
,
JSONObject
.
toJSONString
(
list
));
}
ExcelUtil
.
exportWithMplThread2
(
response
,
fileName
,
list
,
heads
,
exportDto
.
getFileType
(),
customExecutor
,
10
);
return
;
}
else
if
(
"MAINTENANCE_COMPANY"
.
equals
(
exportDto
.
getExportType
()))
{
// 查询维保单位数据
list
=
iMaintenanceUnitService
.
selectExportData
(
exportDto
.
getExportId
());
sheetName
=
"维保单位"
;
...
...
@@ -222,7 +240,6 @@ public class TemplateExportController extends BaseController {
sheetName
=
"通话录音"
;
list
=
voiceRecordFileServiceImpl
.
selectExportData
(
exportDto
.
getExportId
());
}
ExcelUtil
.
createTemplateWithHeaders
(
response
,
fileName
,
sheetName
,
list
,
heads
,
headstr
,
exportDto
.
getFileType
());
ExcelUtil
.
createTemplateWithHeaders
(
response
,
fileName
,
sheetName
,
list
,
heads
,
headstr
,
exportDto
.
getFileType
());
}
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-biz/src/main/java/com/yeejoin/amos/boot/module/elevator/biz/core/threadpool/AmosThreadPool.java
View file @
4515351c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
biz
.
core
.
threadpool
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.Executor
;
/**
* 线程池
*/
@Configuration
public
class
AmosThreadPool
{
/**
* 日志记录器
*/
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
AmosThreadPool
.
class
);
/**
* 单例
*/
private
static
AmosThreadPool
instance
;
/**
* 执行服务
*/
private
static
ExecutorService
executorService
;
/**
* 获取单例
*
* @return
*/
public
static
AmosThreadPool
getInstance
()
{
if
(
instance
==
null
)
{
synchronized
(
AmosThreadPool
.
class
)
{
if
(
instance
==
null
)
{
instance
=
new
AmosThreadPool
();
}
}
}
return
instance
;
}
static
{
executorService
=
Executors
.
newFixedThreadPool
(
20
);
}
/**
* 执行线程
*
* @param task
*/
public
void
execute
(
Runnable
task
)
{
executorService
.
execute
(
task
);
@Bean
public
Executor
customExecutor
()
{
ThreadPoolTaskExecutor
executor
=
new
ThreadPoolTaskExecutor
();
// 初始核心线程数
executor
.
setCorePoolSize
(
10
);
// 最大线程数
executor
.
setMaxPoolSize
(
20
);
// 任务队列容量
executor
.
setQueueCapacity
(
50
);
// 线程名前缀
executor
.
setThreadNamePrefix
(
"CustomExecutor-"
);
executor
.
initialize
();
return
executor
;
}
}
amos-boot-system-tzs/amos-boot-module-96333/amos-boot-module-96333-biz/src/main/java/com/yeejoin/amos/boot/module/elevator/biz/service/impl/ElevatorAppRunner.java
0 → 100644
View file @
4515351c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
elevator
.
biz
.
service
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.module.elevator.api.common.BizCommonConstant
;
import
com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorDto
;
import
com.yeejoin.amos.boot.module.elevator.biz.utils.RedisUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.ApplicationArguments
;
import
org.springframework.boot.ApplicationRunner
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
@Component
public
class
ElevatorAppRunner
implements
ApplicationRunner
{
@Autowired
RedisUtil
redisUtil
;
@Autowired
ElevatorServiceImpl
elevatorServiceImpl
;
@Override
public
void
run
(
ApplicationArguments
args
)
{
// 缓存电梯数据
List
<
ElevatorDto
>
list
=
elevatorServiceImpl
.
selectExportData
(
null
);
redisUtil
.
set
(
BizCommonConstant
.
OLD_ELEVATOR_REDIS_KEY
,
JSONObject
.
toJSONString
(
list
));
}
}
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