Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
fuyue82
o2oa
提交
765c0424
o2oa
项目概览
fuyue82
/
o2oa
与 Fork 源项目一致
Fork自
浙江兰德纵横网络技术股份有限公司 / o2oa
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
o2oa
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
765c0424
编写于
3月 10, 2022
作者:
O
o2sword
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
内容管理增加发布提醒接口1
上级
b5dd0435
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
150 addition
and
200 deletion
+150
-200
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/MessageFactory.java
.../main/java/com/x/cms/assemble/control/MessageFactory.java
+11
-6
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/document/ActionPersistDeleteDocument.java
...e/control/jaxrs/document/ActionPersistDeleteDocument.java
+25
-13
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/document/ActionPersistPublishContent.java
...e/control/jaxrs/document/ActionPersistPublishContent.java
+0
-30
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/document/ActionPersistSaveDocument.java
...ble/control/jaxrs/document/ActionPersistSaveDocument.java
+0
-31
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/queue/QueueSendDocumentNotify.java
...x/cms/assemble/control/queue/QueueSendDocumentNotify.java
+11
-17
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/service/DocumentCommentInfoService.java
.../assemble/control/service/DocumentCommentInfoService.java
+27
-22
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/service/UserManagerService.java
...om/x/cms/assemble/control/service/UserManagerService.java
+76
-20
o2server/x_cms_core_entity/src/main/java/com/x/cms/core/entity/Document.java
..._entity/src/main/java/com/x/cms/core/entity/Document.java
+0
-61
未找到文件。
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/MessageFactory.java
浏览文件 @
765c0424
package
com.x.cms.assemble.control
;
import
com.x.base.core.project.config.Config
;
import
com.x.base.core.project.logger.Logger
;
import
com.x.base.core.project.logger.LoggerFactory
;
import
com.x.base.core.project.message.MessageConnector
;
...
...
@@ -10,14 +11,18 @@ public class MessageFactory {
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
MessageFactory
.
class
);
public
static
void
cms_publish
(
String
person
,
MessageWo
messageWo
)
throws
Exception
{
String
title
=
"新信息发布:"
+
messageWo
.
getTitle
();
logger
.
debug
(
"cms send notification:["
+
title
+
"] for target person:"
+
person
);
MessageConnector
.
send
(
MessageConnector
.
TYPE_CMS_PUBLISH
,
title
,
person
,
messageWo
);
if
(
Config
.
messages
().
get
(
MessageConnector
.
TYPE_CMS_PUBLISH
)!=
null
)
{
String
title
=
"新信息发布:"
+
messageWo
.
getTitle
();
logger
.
debug
(
"cms send notification:["
+
title
+
"] for target person:"
+
person
);
MessageConnector
.
send
(
MessageConnector
.
TYPE_CMS_PUBLISH
,
title
,
person
,
messageWo
);
}
}
public
static
void
cms_publish_creator
(
MessageWo
messageWo
)
throws
Exception
{
String
title
=
"新信息发布:"
+
messageWo
.
getTitle
();
logger
.
debug
(
"cms send notification:["
+
title
+
"] for target person:"
+
messageWo
.
getCreatorPerson
()
);
MessageConnector
.
send
(
MessageConnector
.
TYPE_CMS_PUBLISH_TO_CREATOR
,
title
,
messageWo
.
getCreatorPerson
(),
messageWo
);
if
(
Config
.
messages
().
get
(
MessageConnector
.
TYPE_CMS_PUBLISH_TO_CREATOR
)!=
null
)
{
String
title
=
"新信息发布:"
+
messageWo
.
getTitle
();
logger
.
debug
(
"cms send notification:["
+
title
+
"] for target person:"
+
messageWo
.
getCreatorPerson
());
MessageConnector
.
send
(
MessageConnector
.
TYPE_CMS_PUBLISH_TO_CREATOR
,
title
,
messageWo
.
getCreatorPerson
(),
messageWo
);
}
}
}
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/document/ActionPersistDeleteDocument.java
浏览文件 @
765c0424
...
...
@@ -16,6 +16,7 @@ import com.x.cms.assemble.control.ThisApplication;
import
com.x.cms.assemble.control.service.CmsBatchOperationPersistService
;
import
com.x.cms.assemble.control.service.CmsBatchOperationProcessService
;
import
com.x.cms.core.entity.Document
;
import
com.x.cms.core.entity.DocumentCommend
;
import
com.x.cms.core.entity.DocumentCommentInfo
;
import
com.x.cms.core.entity.FileInfo
;
import
com.x.query.core.entity.Item
;
...
...
@@ -23,6 +24,10 @@ import com.x.query.core.entity.Item;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
/**
* 删除文档
* @author sword
*/
public
class
ActionPersistDeleteDocument
extends
BaseAction
{
@AuditLog
(
operation
=
"删除文档"
)
...
...
@@ -31,10 +36,10 @@ public class ActionPersistDeleteDocument extends BaseAction {
List
<
String
>
allFileInfoIds
=
null
;
FileInfo
fileInfo
=
null
;
StorageMapping
mapping
=
null
;
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
Business
business
=
new
Business
(
emc
);
//先判断需要操作的文档信息是否存在,根据ID进行一次查询,如果不存在不允许继续操作
Document
document
=
business
.
getDocumentFactory
().
get
(
id
);
if
(
null
==
document
)
{
...
...
@@ -42,17 +47,17 @@ public class ActionPersistDeleteDocument extends BaseAction {
result
.
error
(
exception
);
throw
exception
;
}
//进行数据库持久化操作
emc
.
beginTransaction
(
Document
.
class
);
emc
.
beginTransaction
(
Item
.
class
);
emc
.
beginTransaction
(
FileInfo
.
class
);
emc
.
beginTransaction
(
DocumentCommentInfo
.
class
);
//删除与该文档有关的所有数据信息
DocumentDataHelper
documentDataHelper
=
new
DocumentDataHelper
(
emc
,
document
);
documentDataHelper
.
remove
();
allFileInfoIds
=
business
.
getFileInfoFactory
().
listAllByDocument
(
id
);
if
(
allFileInfoIds
!=
null
&&
!
allFileInfoIds
.
isEmpty
()
){
for
(
String
fileInfoId
:
allFileInfoIds
){
...
...
@@ -66,7 +71,7 @@ public class ActionPersistDeleteDocument extends BaseAction {
emc
.
remove
(
fileInfo
,
CheckRemoveType
.
all
);
}
}
List
<
String
>
commentIds
=
business
.
documentCommentInfoFactory
().
listWithDocument
(
id
);
if
(
ListTools
.
isNotEmpty
(
commentIds
))
{
DocumentCommentInfo
documentCommentInfo
=
null
;
...
...
@@ -75,31 +80,38 @@ public class ActionPersistDeleteDocument extends BaseAction {
emc
.
remove
(
documentCommentInfo
,
CheckRemoveType
.
all
);
}
}
List
<
String
>
commendIds
=
business
.
documentCommendFactory
().
listByDocument
(
id
,
null
,
null
);
if
(
ListTools
.
isNotEmpty
(
commendIds
))
{
emc
.
beginTransaction
(
DocumentCommend
.
class
);
emc
.
delete
(
DocumentCommend
.
class
,
commendIds
);
}
//删除文档信息
emc
.
remove
(
document
,
CheckRemoveType
.
all
);
emc
.
commit
();
CacheManager
.
notify
(
Document
.
class
);
CacheManager
.
notify
(
DocumentCommend
.
class
);
CacheManager
.
notify
(
DocumentCommentInfo
.
class
);
CacheManager
.
notify
(
Item
.
class
);
new
CmsBatchOperationPersistService
().
addOperation
(
CmsBatchOperationProcessService
.
OPT_OBJ_DOCUMENT
,
new
CmsBatchOperationPersistService
().
addOperation
(
CmsBatchOperationProcessService
.
OPT_OBJ_DOCUMENT
,
CmsBatchOperationProcessService
.
OPT_TYPE_DELETE
,
id
,
id
,
"文档删除:ID="
+
id
);
logService
.
log
(
emc
,
effectivePerson
.
getDistinguishedName
(),
document
.
getCategoryAlias
()
+
":"
+
document
.
getTitle
(),
document
.
getAppId
(),
document
.
getCategoryId
(),
document
.
getId
(),
""
,
"DOCUMENT"
,
"删除"
);
Wo
wo
=
new
Wo
();
wo
.
setId
(
document
.
getId
()
);
result
.
setData
(
wo
);
//检查是否需要删除热点图片
try
{
ThisApplication
.
queueDocumentDelete
.
send
(
id
);
}
catch
(
Exception
e1
)
{
e1
.
printStackTrace
();
}
}
catch
(
Throwable
th
)
{
th
.
printStackTrace
();
result
.
error
(
th
);
...
...
@@ -110,4 +122,4 @@ public class ActionPersistDeleteDocument extends BaseAction {
public
static
class
Wo
extends
WoId
{
}
}
\ No newline at end of file
}
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/document/ActionPersistPublishContent.java
浏览文件 @
765c0424
...
...
@@ -613,12 +613,6 @@ public class ActionPersistPublishContent extends BaseAction {
private
List
<
String
>
authorGroupList
;
private
List
<
String
>
remindPersonList
;
private
List
<
String
>
remindUnitList
;
private
List
<
String
>
remindGroupList
;
private
List
<
String
>
managerList
;
private
List
<
String
>
pictureList
;
...
...
@@ -960,30 +954,6 @@ public class ActionPersistPublishContent extends BaseAction {
this
.
authorGroupList
=
authorGroupList
;
}
public
List
<
String
>
getRemindPersonList
()
{
return
remindPersonList
;
}
public
void
setRemindPersonList
(
List
<
String
>
remindPersonList
)
{
this
.
remindPersonList
=
remindPersonList
;
}
public
List
<
String
>
getRemindUnitList
()
{
return
remindUnitList
;
}
public
void
setRemindUnitList
(
List
<
String
>
remindUnitList
)
{
this
.
remindUnitList
=
remindUnitList
;
}
public
List
<
String
>
getRemindGroupList
()
{
return
remindGroupList
;
}
public
void
setRemindGroupList
(
List
<
String
>
remindGroupList
)
{
this
.
remindGroupList
=
remindGroupList
;
}
public
List
<
String
>
getManagerList
()
{
return
managerList
;
}
...
...
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/jaxrs/document/ActionPersistSaveDocument.java
浏览文件 @
765c0424
...
...
@@ -219,34 +219,6 @@ public class ActionPersistSaveDocument extends BaseAction {
}
}
// if (check) {
// if ( StringUtils.isNotEmpty(identity)) {
// document.setCreatorIdentity( identity );
// document.setCreatorPerson( userManagerService.getPersonNameWithIdentity( identity ) );
// document.setCreatorUnitName( userManagerService.getUnitNameByIdentity( identity ) );
// document.setCreatorTopUnitName( userManagerService.getTopUnitNameByIdentity( identity ) );
// } else {
// if ("xadmin".equalsIgnoreCase( effectivePerson.getDistinguishedName() )) {
// document.setCreatorIdentity("xadmin");
// document.setCreatorPerson("xadmin");
// document.setCreatorUnitName("xadmin");
// document.setCreatorTopUnitName("xadmin");
// } else {
// //取第一个身份
// identity = userManagerService.getMajorIdentityWithPerson(effectivePerson.getDistinguishedName());
// if( StringUtils.isNotEmpty(identity) ) {
// document.setCreatorIdentity( identity );
// document.setCreatorPerson( effectivePerson.getDistinguishedName() );
// document.setCreatorUnitName( userManagerService.getUnitNameByIdentity( identity ) );
// document.setCreatorTopUnitName( userManagerService.getTopUnitNameByIdentity( identity ) );
// }else {
// Exception exception = new ExceptionPersonHasNoIdentity(effectivePerson.getDistinguishedName());
// result.error(exception);
// }
// }
// }
// }
if
(
check
)
{
if
(
StringUtils
.
equals
(
wi
.
getDocStatus
(),
"published"
))
{
if
(
document
.
getPublishTime
()
==
null
)
{
...
...
@@ -257,9 +229,6 @@ public class ActionPersistSaveDocument extends BaseAction {
if
(
check
)
{
if
(
StringUtils
.
isEmpty
(
document
.
getTitle
()))
{
// check = false;
// Exception exception = new ExceptionDocumentTitleEmpty();
// result.error(exception);
document
.
setTitle
(
appInfo
.
getAppName
()
+
" - "
+
categoryInfo
.
getCategoryName
()
+
" - 无标题文档"
);
}
}
...
...
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/queue/QueueSendDocumentNotify.java
浏览文件 @
765c0424
...
...
@@ -22,11 +22,12 @@ import org.apache.commons.lang3.StringUtils;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* Document正式发布后,向所有的阅读者推送消息通知
* Document正式发布后,向通知对象或者所有的阅读者推送消息通知
* @author sword
*/
public
class
QueueSendDocumentNotify
extends
AbstractQueue
<
String
>
{
...
...
@@ -40,18 +41,17 @@ public class QueueSendDocumentNotify extends AbstractQueue<String> {
logger
.
debug
(
"can not send publish notify , document is NULL!"
);
return
;
}
List
<
String
>
persons
=
null
;
final
List
<
String
>
persons
=
new
ArrayList
<>()
;
Document
document
=
null
;
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
document
=
emc
.
find
(
documentId
,
Document
.
class
);
if
(
document
!=
null
&&
StringUtils
.
equals
(
"信息"
,
document
.
getDocumentType
())
&&
Config
.
messages
().
get
(
MessageConnector
.
TYPE_CMS_PUBLISH
)!=
null
)
{
logger
.
debug
(
"send publish notify for new document:"
+
document
.
getTitle
()
);
AppInfo
appInfo
=
emc
.
find
(
document
.
getAppId
(),
AppInfo
.
class
);
AppInfo
appInfo
=
emc
.
find
(
document
.
getAppId
(),
AppInfo
.
class
);
CategoryInfo
category
=
emc
.
find
(
document
.
getCategoryId
(),
CategoryInfo
.
class
);
if
(
appInfo
!=
null
&&
category
!=
null
)
{
ReviewService
reviewService
=
new
ReviewService
();
persons
=
reviewService
.
listPermissionPersons
(
appInfo
,
category
,
document
);
persons
.
addAll
(
reviewService
.
listPermissionPersons
(
appInfo
,
category
,
document
)
);
if
(
ListTools
.
isNotEmpty
(
persons
))
{
//有可能是*, 一般是所有的人员标识列表
if
(
persons
.
contains
(
"*"
)
&&
!
BooleanUtils
.
isFalse
(
category
.
getBlankToAllNotify
()))
{
...
...
@@ -69,33 +69,27 @@ public class QueueSendDocumentNotify extends AbstractQueue<String> {
}
if
(
StringUtils
.
isNotEmpty
(
topUnitName
))
{
//取顶层组织的所有人
persons
=
listPersonWithUnit
(
topUnitName
);
}
else
{
persons
=
new
ArrayList
<>();
persons
.
addAll
(
listPersonWithUnit
(
topUnitName
));
}
}
}
}
else
{
logger
.
debug
(
"can not send publish notify for document, category or appinfo not exists! ID: "
+
document
.
getId
());
}
}
}
if
(
ListTools
.
isNotEmpty
(
persons
))
{
//去一下重复
HashSet
<
String
>
set
=
new
HashSet
<
String
>(
persons
);
List
<
String
>
personList
=
persons
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
persons
.
clear
();
persons
.
addAll
(
set
);
MessageWo
wo
=
MessageWo
.
copier
.
copy
(
document
);
for
(
String
person
:
person
s
)
{
for
(
String
person
:
person
List
)
{
if
(
!
StringUtils
.
equals
(
"*"
,
person
))
{
MessageFactory
.
cms_publish
(
person
,
wo
);
}
}
personList
.
clear
();
logger
.
debug
(
documentId
+
" cms send total count:"
+
persons
.
size
()
);
}
if
(
document
!=
null
&&
StringUtils
.
equals
(
"信息"
,
document
.
getDocumentType
())
&&
StringUtils
.
isNotBlank
(
document
.
getCreatorPerson
())){
if
(
document
!=
null
&&
StringUtils
.
isNotBlank
(
document
.
getCreatorPerson
())){
MessageWo
wo
=
MessageWo
.
copier
.
copy
(
document
);
MessageFactory
.
cms_publish_creator
(
wo
);
}
...
...
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/service/DocumentCommentInfoService.java
浏览文件 @
765c0424
...
...
@@ -6,6 +6,7 @@ import com.x.base.core.entity.annotation.CheckPersistType;
import
com.x.base.core.entity.annotation.CheckRemoveType
;
import
com.x.cms.assemble.control.Business
;
import
com.x.cms.core.entity.Document
;
import
com.x.cms.core.entity.DocumentCommend
;
import
com.x.cms.core.entity.DocumentCommentContent
;
import
com.x.cms.core.entity.DocumentCommentInfo
;
import
com.x.cms.core.express.tools.filter.QueryFilter
;
...
...
@@ -18,20 +19,20 @@ class DocumentCommentInfoService {
/**
* 根据评论信息的标识查询评论信息的信息
* @param emc
* @param
flag
主要是ID
* @param
id
主要是ID
* @return
* @throws Exception
* @throws Exception
*/
public
DocumentCommentInfo
get
(
EntityManagerContainer
emc
,
String
id
)
throws
Exception
{
Business
business
=
new
Business
(
emc
);
return
business
.
documentCommentInfoFactory
().
get
(
id
);
}
public
DocumentCommentContent
getContent
(
EntityManagerContainer
emc
,
String
id
)
throws
Exception
{
Business
business
=
new
Business
(
emc
);
return
business
.
documentCommentInfoFactory
().
getContent
(
id
);
}
}
/**
* 根据过滤条件查询符合要求的评论信息信息数量
* @param emc
...
...
@@ -40,10 +41,10 @@ class DocumentCommentInfoService {
* @throws Exception
*/
public
Long
countWithFilter
(
EntityManagerContainer
emc
,
QueryFilter
queryFilter
)
throws
Exception
{
Business
business
=
new
Business
(
emc
);
Business
business
=
new
Business
(
emc
);
return
business
.
documentCommentInfoFactory
().
countWithFilter
(
queryFilter
);
}
/**
* 根据过滤条件查询符合要求的评论信息信息列表
* @param emc
...
...
@@ -58,7 +59,7 @@ class DocumentCommentInfoService {
Business
business
=
new
Business
(
emc
);
return
business
.
documentCommentInfoFactory
().
listWithFilter
(
maxCount
,
orderField
,
orderType
,
queryFilter
);
}
/**
* 根据条件查询符合条件的评论信息信息ID,根据上一条的sequnce查询指定数量的信息
* @param emc
...
...
@@ -78,9 +79,10 @@ class DocumentCommentInfoService {
/**
* 向数据库持久化评论信息信息
* @param emc
* @param documentCommentInfo
* @param object
* @param content
* @return
* @throws Exception
* @throws Exception
*/
public
DocumentCommentInfo
save
(
EntityManagerContainer
emc
,
DocumentCommentInfo
object
,
String
content
)
throws
Exception
{
Document
document
=
null
;
...
...
@@ -89,17 +91,17 @@ class DocumentCommentInfoService {
if
(
StringUtils
.
isEmpty
(
object
.
getId
()
)
){
object
.
setId
(
DocumentCommentInfo
.
createId
()
);
}
Business
business
=
new
Business
(
emc
);
Business
business
=
new
Business
(
emc
);
documentCommentInfo
=
emc
.
find
(
object
.
getId
(),
DocumentCommentInfo
.
class
);
documentCommentContent
=
emc
.
find
(
object
.
getId
(),
DocumentCommentContent
.
class
);
document
=
emc
.
find
(
object
.
getId
(),
Document
.
class
);
emc
.
beginTransaction
(
DocumentCommentContent
.
class
);
emc
.
beginTransaction
(
DocumentCommentInfo
.
class
);
Integer
maxOrder
=
0
;
if
(
documentCommentInfo
==
null
){
// 保存一个新的对象
maxOrder
=
business
.
documentCommentInfoFactory
().
getMaxOrder
(
object
.
getDocumentId
()
);
if
(
maxOrder
==
null
)
{
...
...
@@ -125,9 +127,9 @@ class DocumentCommentInfoService {
}
object
.
copyTo
(
documentCommentInfo
,
JpaObject
.
FieldsUnmodify
);
object
.
setOrderNumber
(
orderNumber
);
emc
.
check
(
documentCommentInfo
,
CheckPersistType
.
all
);
emc
.
check
(
documentCommentInfo
,
CheckPersistType
.
all
);
}
if
(
documentCommentContent
==
null
){
// 保存一个新的评论内容对象
documentCommentContent
=
new
DocumentCommentContent
();
documentCommentContent
.
setId
(
documentCommentInfo
.
getId
()
);
...
...
@@ -135,9 +137,9 @@ class DocumentCommentInfoService {
emc
.
persist
(
documentCommentContent
,
CheckPersistType
.
all
);
}
else
{
//对象已经存在,更新评论内容对象信息
documentCommentContent
.
setContent
(
content
);
emc
.
check
(
documentCommentContent
,
CheckPersistType
.
all
);
emc
.
check
(
documentCommentContent
,
CheckPersistType
.
all
);
}
emc
.
commit
();
return
documentCommentInfo
;
}
...
...
@@ -146,9 +148,9 @@ class DocumentCommentInfoService {
* 根据评论信息标识删除评论信息信息
* @param emc
* @param id
* @throws Exception
* @throws Exception
*/
public
void
delete
(
EntityManagerContainer
emc
,
String
id
)
throws
Exception
{
public
void
delete
(
EntityManagerContainer
emc
,
String
id
)
throws
Exception
{
DocumentCommentInfo
documentCommentInfo
=
emc
.
find
(
id
,
DocumentCommentInfo
.
class
);
DocumentCommentContent
documentCommentConent
=
emc
.
find
(
id
,
DocumentCommentContent
.
class
);
if
(
documentCommentInfo
!=
null
)
{
...
...
@@ -165,9 +167,12 @@ class DocumentCommentInfoService {
if
(
documentCommentConent
!=
null
)
{
emc
.
remove
(
documentCommentConent
,
CheckRemoveType
.
all
);
}
Business
business
=
new
Business
(
emc
);
List
<
String
>
commendIdList
=
business
.
documentCommendFactory
().
listByComment
(
documentCommentInfo
.
getId
(),
null
);
emc
.
delete
(
DocumentCommend
.
class
,
commendIdList
);
emc
.
commit
();
}
}
}
o2server/x_cms_assemble_control/src/main/java/com/x/cms/assemble/control/service/UserManagerService.java
浏览文件 @
765c0424
...
...
@@ -2,8 +2,13 @@ package com.x.cms.assemble.control.service;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.regex.Matcher
;
import
com.x.base.core.project.logger.Logger
;
import
com.x.base.core.project.logger.LoggerFactory
;
import
com.x.cms.assemble.control.jaxrs.document.ActionPersistSaveDocument
;
import
com.x.cms.core.entity.AppInfo
;
import
com.x.organization.core.entity.PersistenceProperties
;
import
org.apache.commons.lang3.StringUtils
;
import
com.x.base.core.container.EntityManagerContainer
;
...
...
@@ -18,14 +23,16 @@ import com.x.cms.assemble.control.ThisApplication;
/**
* 组织人员角色相关信息的服务类
*
*
* @author O2LEE
*/
public
class
UserManagerService
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
UserManagerService
.
class
);
/**
* 根据人员名称获取人员
*
*
* @param personName
* @return
* @throws Exception
...
...
@@ -54,7 +61,7 @@ public class UserManagerService {
/**
* 根据员工姓名获取组织名称 如果用户有多个身份,则取组织级别最大的组织名称
*
*
* @param personName
* @return
* @throws Exception
...
...
@@ -90,7 +97,7 @@ public class UserManagerService {
/**
* 根据身份名称获取身份所属的组织名称
*
*
* @param identity
* @return
* @throws Exception
...
...
@@ -111,7 +118,7 @@ public class UserManagerService {
/**
* 根据人员姓名获取人员所属的一级组织名称,如果人员有多个身份,则取组织等级最大的身份
*
*
* @param personName
* @return
* @throws Exception
...
...
@@ -142,15 +149,14 @@ public class UserManagerService {
/**
* 根据身份名称获取身份所属的顶层组织名称
*
*
* @param identity
* @return
* @throws Exception
*/
public
String
getTopUnitNameByIdentity
(
String
identity
)
throws
Exception
{
Business
business
=
null
;
try
(
EntityManagerContainer
emc
=
EntityManagerContainerFactory
.
instance
().
create
())
{
business
=
new
Business
(
emc
);
try
{
Business
business
=
new
Business
(
null
);
return
business
.
organization
().
unit
().
getWithIdentityWithLevel
(
identity
,
1
);
}
catch
(
NullPointerException
e
)
{
return
null
;
...
...
@@ -161,7 +167,7 @@ public class UserManagerService {
/**
* 根据个人姓名,根据个人姓名获取主身份
*
*
* @param personName
* @return
* @throws Exception
...
...
@@ -200,7 +206,7 @@ public class UserManagerService {
/**
* 根据用户的身份查询用户的姓名
*
*
* @param identity
* @return
* @throws Exception
...
...
@@ -222,7 +228,7 @@ public class UserManagerService {
/**
* 获取人员所属的所有组织名称列表
*
*
* @param personName
* @return
* @throws Exception
...
...
@@ -250,7 +256,7 @@ public class UserManagerService {
/**
* 根据用户姓名查询用户所有的身份信息
*
*
* @param personName
* @return
* @throws Exception
...
...
@@ -279,7 +285,7 @@ public class UserManagerService {
/**
* 列示人员所拥有的所有角色信息
*
*
* @param personName
* @return
* @throws Exception
...
...
@@ -311,7 +317,7 @@ public class UserManagerService {
/**
* 列示人员所拥有的所有群组信息
*
*
* @param personName
* @return
* @throws Exception
...
...
@@ -343,7 +349,7 @@ public class UserManagerService {
/**
* 判断用户是否有指定的平台角色,比如CMS系统管理员
*
*
* @param personName
* @param roleName
* @return
...
...
@@ -385,7 +391,7 @@ public class UserManagerService {
/**
* 判断指定人员是否是管理员 1、xadmin 2、拥有manager角色 3、拥有CMSManager@CMSManagerSystemRole@R角色
*
*
* @param effectivePerson
* @return
* @throws Exception
...
...
@@ -448,6 +454,56 @@ public class UserManagerService {
return
null
;
}
/**
* 根据人员、组织、群组查询人员信息
* 参数name必须为xx@xx@x格式
* @param name
* @return
*/
public
List
<
String
>
listPersonWithName
(
String
name
)
{
List
<
String
>
list
=
new
ArrayList
<>();
if
(
StringUtils
.
isEmpty
(
name
)
||
name
.
indexOf
(
"@"
)
==
-
1
)
{
return
list
;
}
Matcher
matcher
=
PersistenceProperties
.
Person
.
distinguishedName_pattern
.
matcher
(
name
);
if
(
matcher
.
find
()){
list
.
add
(
name
);
return
list
;
}
matcher
=
PersistenceProperties
.
Unit
.
distinguishedName_pattern
.
matcher
(
name
);
if
(
matcher
.
find
())
{
try
{
Business
business
=
new
Business
(
null
);
return
business
.
organization
().
person
().
listWithUnitSubNested
(
name
);
}
catch
(
Exception
e
)
{
logger
.
warn
(
"根据组织【{}】查询人员异常:{}"
,
name
,
e
.
getMessage
());
}
}
matcher
=
PersistenceProperties
.
Identity
.
distinguishedName_pattern
.
matcher
(
name
);
if
(
matcher
.
find
()){
try
{
Business
business
=
new
Business
(
null
);
String
person
=
business
.
organization
().
person
().
getWithIdentity
(
name
);
if
(
StringUtils
.
isNotBlank
(
person
)){
list
.
add
(
person
);
}
return
list
;
}
catch
(
Exception
e
)
{
logger
.
warn
(
"根据组织【{}】查询人员异常:{}"
,
name
,
e
.
getMessage
());
}
}
matcher
=
PersistenceProperties
.
Group
.
distinguishedName_pattern
.
matcher
(
name
);
if
(
matcher
.
find
())
{
try
{
Business
business
=
new
Business
(
null
);
return
business
.
organization
().
person
().
listWithGroup
(
name
);
}
catch
(
Exception
e
)
{
logger
.
warn
(
"根据组织【{}】查询人员异常:{}"
,
name
,
e
.
getMessage
());
}
}
return
list
;
}
/**
* 根据组织名称,查询组织内所有的人员标识,包括下级组织<br/>
* 2020-06-12 改为使用唯一标识查询<br/>
...
...
@@ -543,7 +599,7 @@ public class UserManagerService {
/**
* 查询系统内所有顶级组织的数量
*
*
* @return
* @throws Exception
*/
...
...
@@ -562,7 +618,7 @@ public class UserManagerService {
/**
* 判断指定组织是否是顶级组织
*
*
* @param unitName
* @return
* @throws Exception
...
...
@@ -648,4 +704,4 @@ public class UserManagerService {
}
return
false
;
}
}
\ No newline at end of file
}
o2server/x_cms_core_entity/src/main/java/com/x/cms/core/entity/Document.java
浏览文件 @
765c0424
...
...
@@ -379,43 +379,6 @@ public class Document extends SliceJpaObject {
@CheckPersist
(
allowEmpty
=
true
)
private
List
<
String
>
authorGroupList
;
public
static
final
String
remindPersonList_FIELDNAME
=
"remindPersonList"
;
@FieldDescribe
(
"发布提醒人员"
)
@PersistentCollection
(
fetch
=
FetchType
.
EAGER
)
@OrderColumn
(
name
=
ORDERCOLUMNCOLUMN
)
@ContainerTable
(
name
=
TABLE
+
ContainerTableNameMiddle
+
remindPersonList_FIELDNAME
,
joinIndex
=
@Index
(
name
=
TABLE
+
IndexNameMiddle
+
remindPersonList_FIELDNAME
+
JoinIndexNameSuffix
))
@ElementColumn
(
length
=
AbstractPersistenceProperties
.
organization_name_length
,
name
=
ColumnNamePrefix
+
remindPersonList_FIELDNAME
)
@ElementIndex
(
name
=
TABLE
+
IndexNameMiddle
+
remindPersonList_FIELDNAME
+
ElementIndexNameSuffix
)
@CheckPersist
(
allowEmpty
=
true
)
private
List
<
String
>
remindPersonList
;
public
static
final
String
remindUnitList_FIELDNAME
=
"remindUnitList"
;
@FieldDescribe
(
"发布提醒组织"
)
@PersistentCollection
(
fetch
=
FetchType
.
EAGER
)
@OrderColumn
(
name
=
ORDERCOLUMNCOLUMN
)
@ContainerTable
(
name
=
TABLE
+
ContainerTableNameMiddle
+
remindUnitList_FIELDNAME
,
joinIndex
=
@Index
(
name
=
TABLE
+
IndexNameMiddle
+
remindUnitList_FIELDNAME
+
JoinIndexNameSuffix
))
@ElementColumn
(
length
=
AbstractPersistenceProperties
.
organization_name_length
,
name
=
ColumnNamePrefix
+
remindUnitList_FIELDNAME
)
@ElementIndex
(
name
=
TABLE
+
IndexNameMiddle
+
remindUnitList_FIELDNAME
+
ElementIndexNameSuffix
)
@CheckPersist
(
allowEmpty
=
true
)
private
List
<
String
>
remindUnitList
;
public
static
final
String
remindGroupList_FIELDNAME
=
"remindGroupList"
;
@FieldDescribe
(
"发布提醒群组"
)
@PersistentCollection
(
fetch
=
FetchType
.
EAGER
)
@OrderColumn
(
name
=
ORDERCOLUMNCOLUMN
)
@ContainerTable
(
name
=
TABLE
+
ContainerTableNameMiddle
+
remindGroupList_FIELDNAME
,
joinIndex
=
@Index
(
name
=
TABLE
+
IndexNameMiddle
+
remindGroupList_FIELDNAME
+
JoinIndexNameSuffix
))
@ElementColumn
(
length
=
AbstractPersistenceProperties
.
organization_name_length
,
name
=
ColumnNamePrefix
+
remindGroupList_FIELDNAME
)
@ElementIndex
(
name
=
TABLE
+
IndexNameMiddle
+
remindGroupList_FIELDNAME
+
ElementIndexNameSuffix
)
@CheckPersist
(
allowEmpty
=
true
)
private
List
<
String
>
remindGroupList
;
public
static
final
String
managerList_FIELDNAME
=
"managerList"
;
@FieldDescribe
(
"管理者"
)
@PersistentCollection
(
fetch
=
FetchType
.
EAGER
)
...
...
@@ -796,30 +759,6 @@ public class Document extends SliceJpaObject {
this
.
description
=
description
;
}
public
List
<
String
>
getRemindPersonList
()
{
return
remindPersonList
;
}
public
void
setRemindPersonList
(
List
<
String
>
remindPersonList
)
{
this
.
remindPersonList
=
remindPersonList
;
}
public
List
<
String
>
getRemindUnitList
()
{
return
remindUnitList
;
}
public
void
setRemindUnitList
(
List
<
String
>
remindUnitList
)
{
this
.
remindUnitList
=
remindUnitList
;
}
public
List
<
String
>
getRemindGroupList
()
{
return
remindGroupList
;
}
public
void
setRemindGroupList
(
List
<
String
>
remindGroupList
)
{
this
.
remindGroupList
=
remindGroupList
;
}
public
Boolean
getReviewed
()
{
return
reviewed
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录