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
63b5bca3
Commit
63b5bca3
authored
Nov 10, 2024
by
tianbo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:气瓶充装对接日志调整
parent
80115998
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
43 additions
and
18 deletions
+43
-18
CylinderService.java
...eejoin/amos/api/openapi/face/service/CylinderService.java
+43
-18
No files found.
amos-boot-data/amos-boot-data-openapi/src/main/java/com/yeejoin/amos/api/openapi/face/service/CylinderService.java
View file @
63b5bca3
...
...
@@ -17,8 +17,6 @@ import org.springframework.beans.BeanUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.PlatformTransactionManager
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.ObjectUtils
;
import
org.typroject.tyboot.component.cache.Redis
;
import
org.typroject.tyboot.component.emq.EmqKeeper
;
...
...
@@ -26,10 +24,15 @@ import org.typroject.tyboot.core.foundation.context.RequestContext;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
javax.annotation.PostConstruct
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.concurrent.BlockingQueue
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.LinkedBlockingQueue
;
/**
* 气瓶service
...
...
@@ -48,11 +51,11 @@ public class CylinderService {
private
final
TmCylinderFillingRecordService
cylinderFillingRecordService
;
private
final
TmCylinderFillingService
cylinderFillingService
;
private
final
PlatformTransactionManager
transactionManager
;
private
final
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
)
;
private
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
private
final
BlockingQueue
<
CylinderFillingMessageModel
>
blockingQueue
=
new
LinkedBlockingQueue
<>(
);
public
CylinderService
(
RedisTemplate
redisTemplate
,
CylinderFillingDataValidationService
cylinderFillingDataValidationService
,
TmCylinderFillingMessageService
cylinderFillingMessageService
,
EmqKeeper
emqKeeper
,
TmCylinderFillingCheckService
cylinderFillingCheckService
,
TmCylinderFillingRecordService
cylinderFillingRecordService
,
TmCylinderFillingService
cylinderFillingService
,
PlatformTransactionManager
transactionManager
)
{
public
CylinderService
(
RedisTemplate
redisTemplate
,
CylinderFillingDataValidationService
cylinderFillingDataValidationService
,
TmCylinderFillingMessageService
cylinderFillingMessageService
,
EmqKeeper
emqKeeper
,
TmCylinderFillingCheckService
cylinderFillingCheckService
,
TmCylinderFillingRecordService
cylinderFillingRecordService
,
TmCylinderFillingService
cylinderFillingService
)
{
this
.
redisTemplate
=
redisTemplate
;
this
.
cylinderFillingDataValidationService
=
cylinderFillingDataValidationService
;
this
.
cylinderFillingMessageService
=
cylinderFillingMessageService
;
...
...
@@ -60,7 +63,6 @@ public class CylinderService {
this
.
cylinderFillingCheckService
=
cylinderFillingCheckService
;
this
.
cylinderFillingRecordService
=
cylinderFillingRecordService
;
this
.
cylinderFillingService
=
cylinderFillingService
;
this
.
transactionManager
=
transactionManager
;
}
@DSTransactional
...
...
@@ -101,8 +103,8 @@ public class CylinderService {
emqKeeper
.
getMqttClient
().
publish
(
"openapi/cylinder/filling"
,
JSONObject
.
fromObject
(
cylinderFillingMessage
).
toString
().
getBytes
(),
2
,
false
);
}
@Transactional
public
JSONArray
validateFillingData
(
JSONObject
jsonobject
,
CylinderFillingMessage
cylinderFillingMessage
)
throws
MqttException
{
//
@Transactional
public
JSONArray
validateFillingData
(
JSONObject
jsonobject
,
CylinderFillingMessage
cylinderFilling
Log
Message
)
throws
MqttException
{
CylinderFillingDataValidationResultModel
validateResult
=
null
;
try
{
...
...
@@ -110,13 +112,13 @@ public class CylinderService {
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
logger
.
error
(
"液化气体气瓶充装信息上报,数据校验失败"
);
cylinderFillingMessage
.
setMessage
(
e
.
getMessage
());
cylinderFilling
Log
Message
.
setMessage
(
e
.
getMessage
());
}
JSONArray
errorData
=
new
JSONArray
();
if
(!
ObjectUtils
.
isEmpty
(
validateResult
))
{
cylinderFillingMessage
.
setCylinderNumber
(
validateResult
.
getCylinderNumber
());
cylinderFilling
Log
Message
.
setCylinderNumber
(
validateResult
.
getCylinderNumber
());
List
<
String
>
message
=
new
ArrayList
<>();
int
errorNumber
=
0
;
JSONObject
error
=
new
JSONObject
();
...
...
@@ -144,23 +146,46 @@ public class CylinderService {
if
(!
ObjectUtils
.
isEmpty
(
validateResult
.
getSeqCodeErrorData
()))
{
errorNumber
+=
validateResult
.
getSeqCodeErrorData
().
size
();
error
.
put
(
"气瓶信息不存在:"
,
validateResult
.
getSeqCodeErrorData
());
message
.
add
(
"气瓶信息不存在数量:"
+
validateResult
.
getSeqCodeErrorData
().
size
());
message
.
add
(
"气瓶信息不存在数量:"
+
validateResult
.
getSeqCodeErrorData
().
size
()
+
"个"
);
errorData
.
add
(
error
);
}
if
(
errorNumber
<=
0
)
{
message
.
add
(
"液化气体气瓶充装信息成功数:"
+
validateResult
.
getSuccessCylinderNumber
()
+
"条"
);
cylinderFillingLogMessage
.
setMessage
(
"液化气体气瓶充装信息成功数:"
+
validateResult
.
getSuccessCylinderNumber
()
+
"条"
);
}
else
{
cylinderFillingMessage
.
setMessage
(
String
.
join
(
"条; "
,
message
)
+
"个"
);
CylinderFillingMessageModel
cylinderFillingMessageModel
=
new
CylinderFillingMessageModel
();
BeanUtils
.
copyProperties
(
cylinderFillingMessage
,
cylinderFillingMessageModel
);
cylinderFillingMessageService
.
createWithModel
(
cylinderFillingMessageModel
);
emqKeeper
.
getMqttClient
().
publish
(
"openapi/cylinder/filling"
,
JSONObject
.
fromObject
(
cylinderFillingMessage
).
toString
().
getBytes
(),
2
,
false
);
throw
new
BadRequest
(
error
.
toString
());
cylinderFillingLogMessage
.
setMessage
(
String
.
join
(
"条; "
,
message
));
// cylinderFillingMessageService.createWithModel(cylinderFillingMessageModel);
emqKeeper
.
getMqttClient
().
publish
(
"openapi/cylinder/filling"
,
JSONObject
.
fromObject
(
cylinderFillingLogMessage
).
toString
().
getBytes
(),
2
,
false
);
}
CylinderFillingMessageModel
cylinderFillingMessageModel
=
new
CylinderFillingMessageModel
();
BeanUtils
.
copyProperties
(
cylinderFillingLogMessage
,
cylinderFillingMessageModel
);
// 充装信息概览放入blockingQueue
blockingQueue
.
add
(
cylinderFillingMessageModel
);
}
else
{
errorData
.
add
(
new
JSONObject
().
put
(
"数据校验失败"
,
"数据校验失败"
));
}
return
errorData
;
}
@PostConstruct
void
init
()
{
ExecutorService
executorService
=
Executors
.
newFixedThreadPool
(
3
);
for
(
int
i
=
0
;
i
<
3
;
i
++)
{
executorService
.
execute
(()
->
{
try
{
while
(
true
)
{
logger
.
info
(
"处理气瓶对接错误信息入库~开始"
);
CylinderFillingMessageModel
cylinderFillingMessageModel
=
blockingQueue
.
take
();
cylinderFillingMessageService
.
createWithModel
(
cylinderFillingMessageModel
);
logger
.
info
(
"处理气瓶对接错误信息入库~完成"
);
}
}
catch
(
InterruptedException
e
)
{
Thread
.
currentThread
().
interrupt
();
logger
.
error
(
"处理气瓶对接错误信息入库异常"
,
e
);
throw
new
RuntimeException
(
e
);
}
});
}
}
}
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