Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-operate-sys-cscec
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
fulixin
dsk-operate-sys-cscec
Commits
179344ec
Commit
179344ec
authored
Mar 01, 2024
by
施翔轲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
定时更新项目台账列表解析状态
parent
25e26e46
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
59 additions
and
3 deletions
+59
-3
TenantTimerTask.java
...n/src/main/java/com/dsk/web/schedule/TenantTimerTask.java
+17
-3
CbProjectRecordService.java
...in/java/com/dsk/cscec/service/CbProjectRecordService.java
+5
-0
CbProjectRecordServiceImpl.java
...om/dsk/cscec/service/impl/CbProjectRecordServiceImpl.java
+37
-0
No files found.
dsk-admin/src/main/java/com/dsk/web/schedule/TenantTimerTask.java
View file @
179344ec
...
@@ -2,12 +2,15 @@ package com.dsk.web.schedule;
...
@@ -2,12 +2,15 @@ package com.dsk.web.schedule;
import
com.dsk.common.tenant.helper.TenantHelper
;
import
com.dsk.common.tenant.helper.TenantHelper
;
import
com.dsk.cscec.service.AdvisoryBodyService
;
import
com.dsk.cscec.service.AdvisoryBodyService
;
import
com.dsk.cscec.service.CbProjectRecordService
;
import
com.dsk.system.service.ISysTenantService
;
import
com.dsk.system.service.ISysTenantService
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
/**
/**
* 租户相关定时任务类
* 租户相关定时任务类
*
*
...
@@ -18,9 +21,12 @@ import org.springframework.stereotype.Component;
...
@@ -18,9 +21,12 @@ import org.springframework.stereotype.Component;
@RequiredArgsConstructor
@RequiredArgsConstructor
@Slf4j
@Slf4j
public
class
TenantTimerTask
{
public
class
TenantTimerTask
{
@Resource
private
final
ISysTenantService
tenantService
;
private
ISysTenantService
tenantService
;
private
final
AdvisoryBodyService
advisoryBodyService
;
@Resource
private
AdvisoryBodyService
advisoryBodyService
;
@Resource
private
CbProjectRecordService
projectRecordService
;
/**
/**
* 每10分钟扫描并禁用已过期租户账号
* 每10分钟扫描并禁用已过期租户账号
...
@@ -40,4 +46,12 @@ public class TenantTimerTask {
...
@@ -40,4 +46,12 @@ public class TenantTimerTask {
TenantHelper
.
ignore
(
advisoryBodyService:
:
updateAdvisoryBodyBusinessScope
);
TenantHelper
.
ignore
(
advisoryBodyService:
:
updateAdvisoryBodyBusinessScope
);
}
}
/**
* 每2分钟刷新一次项目台账列表内"解析中"项目的状态
*/
@Scheduled
(
cron
=
"0 0/2 * * * ?"
)
public
void
updateCbProjectRecordParseStatus
()
{
log
.
info
(
"每2分钟刷新一次项目台账列表内\"解析中\"项目的状态"
);
TenantHelper
.
ignore
(
projectRecordService:
:
updateCbProjectRecordParseStatus
);
}
}
}
\ No newline at end of file
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/CbProjectRecordService.java
View file @
179344ec
...
@@ -104,4 +104,9 @@ public interface CbProjectRecordService extends IService<CbProjectRecord> {
...
@@ -104,4 +104,9 @@ public interface CbProjectRecordService extends IService<CbProjectRecord> {
* @return 删除结果
* @return 删除结果
*/
*/
Integer
deleteDraft
(
Long
projectId
);
Integer
deleteDraft
(
Long
projectId
);
/**
* 每2分钟刷新一次项目台账列表内"解析中"项目的状态
*/
void
updateCbProjectRecordParseStatus
();
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/CbProjectRecordServiceImpl.java
View file @
179344ec
...
@@ -23,6 +23,7 @@ import com.dsk.cscec.domain.vo.CbProjectRecordSearchVo;
...
@@ -23,6 +23,7 @@ import com.dsk.cscec.domain.vo.CbProjectRecordSearchVo;
import
com.dsk.cscec.mapper.CbProjectFileMapper
;
import
com.dsk.cscec.mapper.CbProjectFileMapper
;
import
com.dsk.cscec.mapper.CbProjectRecordMapper
;
import
com.dsk.cscec.mapper.CbProjectRecordMapper
;
import
com.dsk.cscec.service.*
;
import
com.dsk.cscec.service.*
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -39,6 +40,7 @@ import java.util.stream.Collectors;
...
@@ -39,6 +40,7 @@ import java.util.stream.Collectors;
* @since 2024-02-05 11:37:53
* @since 2024-02-05 11:37:53
*/
*/
@Service
(
"cbProjectRecordService"
)
@Service
(
"cbProjectRecordService"
)
@Slf4j
public
class
CbProjectRecordServiceImpl
extends
ServiceImpl
<
CbProjectRecordMapper
,
CbProjectRecord
>
implements
CbProjectRecordService
{
public
class
CbProjectRecordServiceImpl
extends
ServiceImpl
<
CbProjectRecordMapper
,
CbProjectRecord
>
implements
CbProjectRecordService
{
@Resource
@Resource
private
CbProjectRecordMapper
baseMapper
;
private
CbProjectRecordMapper
baseMapper
;
...
@@ -419,6 +421,41 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
...
@@ -419,6 +421,41 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
return
baseMapper
.
deleteById
(
projectRecord
);
return
baseMapper
.
deleteById
(
projectRecord
);
}
}
/**
* 每2分钟刷新一次项目台账列表内"解析中"项目的状态
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
updateCbProjectRecordParseStatus
()
{
//查询所有解析中的项目
List
<
CbProjectRecord
>
projectRecordList
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
CbProjectRecord
>()
.
eq
(
CbProjectRecord:
:
getProjectFileStatus
,
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSING
));
a:
for
(
CbProjectRecord
projectRecord
:
projectRecordList
)
{
//查询该项目的所有文件
List
<
CbProjectFile
>
projectFileList
=
projectFileMapper
.
selectList
(
new
LambdaQueryWrapper
<
CbProjectFile
>()
.
eq
(
CbProjectFile:
:
getProjectId
,
projectRecord
.
getId
()));
int
failNum
=
0
;
for
(
CbProjectFile
projectFile
:
projectFileList
)
{
//如果有一个文件处于解析中,则该项目的解析状态继续保持解析中
if
(
projectFile
.
getFileParseStatus
().
equals
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSING
))
{
continue
a
;
}
else
if
(
projectFile
.
getFileParseStatus
().
equals
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_FAIL
))
{
failNum
++;
}
}
//所有文件遍历完后,如果存在解析失败的文件,则项目的解析状态改为解析失败
if
(
failNum
>
0
)
{
log
.
info
(
"项目台账列表:ID为"
+
projectRecord
.
getId
()
+
"的项目解析失败"
);
projectRecord
.
setProjectFileStatus
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_FAIL
);
baseMapper
.
updateById
(
projectRecord
);
}
}
}
/**
/**
* 校验项目是否存在
* 校验项目是否存在
*
*
...
...
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