Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
chuanshan_gov_platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
廖旭伟
chuanshan_gov_platform
Commits
14f57ba1
Commit
14f57ba1
authored
Jun 19, 2024
by
廖旭伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
单事项申请初始状态改为3分钟内可撤销重新编辑,3分钟后提交审批
parent
c97a1d8b
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
135 additions
and
2 deletions
+135
-2
single-matter/src/main/java/com/mortals/xhx/common/utils/MatterApplyDelayQueueUtil.java
...m/mortals/xhx/common/utils/MatterApplyDelayQueueUtil.java
+36
-0
single-matter/src/main/java/com/mortals/xhx/common/utils/MatterApplyDelayTask.java
...va/com/mortals/xhx/common/utils/MatterApplyDelayTask.java
+43
-0
single-matter/src/main/java/com/mortals/xhx/daemon/applicationservice/MatterApplyDelayQueueService.java
...emon/applicationservice/MatterApplyDelayQueueService.java
+50
-0
single-matter/src/main/java/com/mortals/xhx/module/apply/service/impl/MatterApplyServiceImpl.java
...xhx/module/apply/service/impl/MatterApplyServiceImpl.java
+6
-2
No files found.
single-matter/src/main/java/com/mortals/xhx/common/utils/MatterApplyDelayQueueUtil.java
0 → 100644
View file @
14f57ba1
package
com.mortals.xhx.common.utils
;
import
java.util.concurrent.DelayQueue
;
public
class
MatterApplyDelayQueueUtil
{
private
MatterApplyDelayQueueUtil
(){
}
private
DelayQueue
<
MatterApplyDelayTask
>
delayQueue
=
new
DelayQueue
<>();
public
volatile
static
MatterApplyDelayQueueUtil
matterApplyDelayQueueUtil
;
public
static
MatterApplyDelayQueueUtil
getInstance
(){
if
(
matterApplyDelayQueueUtil
==
null
){
synchronized
(
MatterApplyDelayQueueUtil
.
class
){
if
(
matterApplyDelayQueueUtil
==
null
){
matterApplyDelayQueueUtil
=
new
MatterApplyDelayQueueUtil
();
}
}
}
return
matterApplyDelayQueueUtil
;
}
public
void
put
(
MatterApplyDelayTask
t
){
delayQueue
.
put
(
t
);
}
public
boolean
isEmpty
(){
return
delayQueue
.
isEmpty
();
}
public
MatterApplyDelayTask
poll
(){
return
delayQueue
.
poll
();
}
}
single-matter/src/main/java/com/mortals/xhx/common/utils/MatterApplyDelayTask.java
0 → 100644
View file @
14f57ba1
package
com.mortals.xhx.common.utils
;
import
com.mortals.xhx.module.apply.model.MatterApplyEntity
;
import
com.mortals.xhx.module.apply.service.MatterApplyService
;
import
java.util.Date
;
import
java.util.concurrent.Delayed
;
import
java.util.concurrent.TimeUnit
;
public
class
MatterApplyDelayTask
implements
Runnable
,
Delayed
{
private
long
expirationTime
;
private
MatterApplyService
matterApplyService
;
private
Long
matterApplyId
;
public
MatterApplyDelayTask
(
int
delaySeconds
,
MatterApplyService
matterApplyService
,
Long
matterApplyId
)
{
this
.
matterApplyId
=
matterApplyId
;
this
.
matterApplyService
=
matterApplyService
;
this
.
expirationTime
=
System
.
nanoTime
()
+
TimeUnit
.
NANOSECONDS
.
convert
(
delaySeconds
,
TimeUnit
.
SECONDS
);
}
@Override
public
int
compareTo
(
Delayed
o
)
{
MatterApplyDelayTask
other
=
(
MatterApplyDelayTask
)
o
;
return
Long
.
compare
(
this
.
expirationTime
,
other
.
expirationTime
);
}
@Override
public
long
getDelay
(
TimeUnit
unit
)
{
return
unit
.
convert
(
this
.
expirationTime
-
System
.
nanoTime
(),
TimeUnit
.
NANOSECONDS
);
}
@Override
public
void
run
()
{
MatterApplyEntity
entity
=
matterApplyService
.
get
(
matterApplyId
);
if
(
entity
!=
null
)
{
MatterApplyEntity
update
=
new
MatterApplyEntity
();
update
.
setId
(
entity
.
getId
());
update
.
setApplyState
(
0
);
update
.
setUpdateTime
(
new
Date
());
matterApplyService
.
update
(
update
);
}
}
}
single-matter/src/main/java/com/mortals/xhx/daemon/applicationservice/MatterApplyDelayQueueService.java
0 → 100644
View file @
14f57ba1
package
com.mortals.xhx.daemon.applicationservice
;
import
com.mortals.framework.springcloud.service.IApplicationService
;
import
com.mortals.xhx.common.utils.MatterApplyDelayQueueUtil
;
import
com.mortals.xhx.common.utils.MatterApplyDelayTask
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.springframework.stereotype.Component
;
/***
* 事项申请延迟队列
*/
@Component
@Slf4j
public
class
MatterApplyDelayQueueService
implements
IApplicationService
{
private
static
Log
logger
=
LogFactory
.
getLog
(
DemoStartService
.
class
);
protected
Boolean
stopped
=
false
;
@Override
public
void
start
()
{
logger
.
info
(
"启动事项申请延迟队列处理服务.."
);
Thread
sendThread
=
new
Thread
(
new
Runnable
()
{
@Override
public
void
run
()
{
int
waitTime
=
30000
;
while
(!
stopped
)
{
MatterApplyDelayTask
task
=
MatterApplyDelayQueueUtil
.
getInstance
().
poll
();
if
(
task
!=
null
)
{
task
.
run
();
}
else
{
try
{
Thread
.
sleep
(
waitTime
);
}
catch
(
InterruptedException
e2
)
{
}
}
}
}
});
sendThread
.
start
();
}
@Override
public
void
stop
()
{
this
.
stopped
=
true
;
logger
.
info
(
"停止事项申请延迟队列处理服务.."
);
}
}
single-matter/src/main/java/com/mortals/xhx/module/apply/service/impl/MatterApplyServiceImpl.java
View file @
14f57ba1
...
...
@@ -11,6 +11,8 @@ import com.mortals.xhx.base.system.user.service.UserService;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
com.mortals.xhx.common.pdu.RespData
;
import
com.mortals.xhx.common.pdu.matter.MatterDatumFilePdu
;
import
com.mortals.xhx.common.utils.MatterApplyDelayQueueUtil
;
import
com.mortals.xhx.common.utils.MatterApplyDelayTask
;
import
com.mortals.xhx.feign.matter.IMatterDatumFileFeign
;
import
com.mortals.xhx.module.apply.dao.MatterApplyDao
;
import
com.mortals.xhx.module.apply.model.MatterApplyDatumEntity
;
...
...
@@ -78,7 +80,7 @@ public class MatterApplyServiceImpl extends AbstractCRUDServiceImpl<MatterApplyD
}
entity
.
setSiteId
(
1
l
);
entity
.
setApplyTime
(
entity
.
getCreateTime
());
entity
.
setApplyState
(
0
);
entity
.
setApplyState
(
-
1
);
}
@Override
...
...
@@ -94,6 +96,7 @@ public class MatterApplyServiceImpl extends AbstractCRUDServiceImpl<MatterApplyD
}
matterApplyDatumService
.
save
(
entity
.
getApplyDatumList
(),
context
);
}
MatterApplyDelayQueueUtil
.
getInstance
().
put
(
new
MatterApplyDelayTask
(
180
,
this
,
entity
.
getId
()));
}
@Override
...
...
@@ -141,7 +144,7 @@ public class MatterApplyServiceImpl extends AbstractCRUDServiceImpl<MatterApplyD
}
if
(
context
!=
null
&&
context
.
getUser
()!=
null
){
String
loginName
=
context
.
getUser
().
getLoginName
();
if
(
loginName
.
equals
(
"
renl
in"
))
{
if
(
loginName
.
equals
(
"
adm
in"
))
{
params
.
setDeptCode
(
null
);
}
}
...
...
@@ -293,4 +296,5 @@ public class MatterApplyServiceImpl extends AbstractCRUDServiceImpl<MatterApplyD
protected
void
removeAfter
(
Long
[]
ids
,
Context
context
,
int
result
)
throws
AppException
{
matterApplyDatumService
.
remobeByApplyIds
(
ids
,
context
);
}
}
\ No newline at end of file
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