From 0720291b519d43247bd5fdeec47e2f0f20dc971a Mon Sep 17 00:00:00 2001 From: o2sword <171715986@qq.com> Date: Mon, 23 Nov 2020 13:32:27 +0800 Subject: [PATCH] =?UTF-8?q?cms=E5=AF=BC=E5=85=A5=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E5=8D=B3=E6=9D=83=E9=99=90=E5=88=B7=E6=96=B0=EF=BC=8C=E5=8E=9F?= =?UTF-8?q?=E4=B8=BA=E5=BC=82=E6=AD=A5=E5=88=B7=E6=96=B0=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../control/queue/QueueDataRowImport.java | 7 ++- .../CmsBatchOperationProcessService.java | 48 +++++++++++++++++++ 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/queue/QueueDataRowImport.java b/o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/queue/QueueDataRowImport.java index 5554a6abb2..79311f9162 100644 --- a/o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/queue/QueueDataRowImport.java +++ b/o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/queue/QueueDataRowImport.java @@ -19,6 +19,8 @@ import com.x.cms.core.entity.Document; import com.x.cms.core.entity.content.Data; public class QueueDataRowImport extends AbstractQueue { + + private CmsBatchOperationProcessService cmsBatchOperationProcessService = new CmsBatchOperationProcessService(); public void execute( ImportDataRow dataRow ) throws Exception { int curRow = dataRow.getCurRow(); @@ -114,9 +116,10 @@ public class QueueDataRowImport extends AbstractQueue { } if(flag) { - new CmsBatchOperationPersistService().addOperation( + cmsBatchOperationProcessService.refreshDocumentReview(document.getId()); + /*new CmsBatchOperationPersistService().addOperation( CmsBatchOperationProcessService.OPT_OBJ_DOCUMENT, - CmsBatchOperationProcessService.OPT_TYPE_PERMISSION, document.getId(), document.getId(), "导入新文档:ID=" + document.getId()); + CmsBatchOperationProcessService.OPT_TYPE_PERMISSION, document.getId(), document.getId(), "导入新文档:ID=" + document.getId());*/ } }else { System.out.println("数据导入不成功,propertyNames为空,无法识别数据列对应的属性!"); diff --git a/o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/service/CmsBatchOperationProcessService.java b/o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/service/CmsBatchOperationProcessService.java index acc121aeb5..8dadbcbe1e 100644 --- a/o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/service/CmsBatchOperationProcessService.java +++ b/o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/service/CmsBatchOperationProcessService.java @@ -276,6 +276,54 @@ public class CmsBatchOperationProcessService { CacheManager.notify( Document.class ); } + /** + * 根据数据库中的文档的信息,重新计算文档的Review信息 + * 全部删除,然后再重新插入Review记录 + * @param docId + * @throws Exception + */ + public void refreshDocumentReview(String docId ) throws Exception { + try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { + reviewService.refreshDocumentReview( emc, docId ); + + Document document = emc.find( docId, Document.class ); + if( document != null ) { + emc.beginTransaction( Document.class ); + document.setReviewed( true ); + + if( StringUtils.isEmpty( document.getAppAlias() )) { + document.setAppAlias( document.getAppName() ); + } + + document.setSequenceAppAlias( document.getAppAlias() + document.getId() ); + document.setSequenceCategoryAlias( document.getCategoryAlias() + document.getId() ); + if( StringUtils.isNotEmpty( document.getTitle() ) && document.getTitle().length() > 30 ) { + document.setSequenceTitle( document.getTitle().substring(0, 30) + document.getId() ); + }else { + document.setSequenceTitle( document.getTitle() + document.getId() ); + } + if( StringUtils.isNotEmpty( document.getCreatorPerson() ) && document.getCreatorPerson().length() > 50 ) { + document.setSequenceCreatorPerson( document.getCreatorPerson().substring(0, 50) + document.getId() ); + }else { + document.setSequenceCreatorPerson( document.getCreatorPerson() + document.getId() ); + } + if( StringUtils.isNotEmpty( document.getCreatorUnitName() ) && document.getCreatorUnitName().length() > 50 ) { + document.setSequenceCreatorUnitName( document.getCreatorUnitName().substring(0, 50) + document.getId() ); + }else { + document.setSequenceCreatorUnitName( document.getCreatorUnitName() + document.getId() ); + } + + emc.check( document, CheckPersistType.all ); + emc.commit(); + } + } catch (Exception e) { + logger.warn("refreshDocumentReview error:{}",e.getMessage()); + }finally { + CacheManager.notify( Review.class ); + CacheManager.notify( Document.class ); + } + } + /** * 将栏目下所有的文档删除,最后删除当前的批处理信息 -- GitLab