Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
apps-collaboration
Project
Project
Details
Activity
Releases
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
高燕
apps-collaboration
Commits
773e8844
Commit
773e8844
authored
Sep 08, 2020
by
gaoyingwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update:修改统一用户部分接口以及修改发送协同接口
parent
dbf852b4
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
576 additions
and
213 deletions
+576
-213
CollaborationController.java
...pps/collaboration/controller/CollaborationController.java
+1
-1
ThirdparyServlet.java
...va/com/seeyon/apps/thirdparyServlet/ThirdparyServlet.java
+434
-0
SyncService.java
.../java/com/seeyon/ctp/common/sync/manager/SyncService.java
+0
-195
XmlUtil.java
src/main/java/com/seeyon/ctp/common/util/XmlUtil.java
+42
-16
ServletAuthenticator.java
...om/seeyon/ctp/common/web/filter/ServletAuthenticator.java
+79
-0
CollaborationResource.java
.../com/seeyon/ctp/rest/resources/CollaborationResource.java
+16
-1
spring-collaboration-manager.xml
...gin/collaboration/spring/spring-collaboration-manager.xml
+4
-0
No files found.
src/main/java/com/seeyon/apps/collaboration/controller/CollaborationController.java
View file @
773e8844
...
@@ -2359,7 +2359,7 @@ public class CollaborationController extends BaseController {
...
@@ -2359,7 +2359,7 @@ public class CollaborationController extends BaseController {
}
}
}
}
// 判断是外部调用下单的流程
// 判断是外部调用下单的流程
if
(
"XDLC"
.
equals
(
ctpTemplate
.
getTempleteNumber
())
&&
isFinished
){
if
(
(
"XDLC"
.
equals
(
ctpTemplate
.
getTempleteNumber
())
||
"ECXDLC"
.
equals
(
ctpTemplate
.
getTempleteNumber
()))
&&
isFinished
){
String
DIC_DATA_URL
=
"http://192.168.3.13:8081/TJYW/getWaitHand/oaUpdateData"
;
String
DIC_DATA_URL
=
"http://192.168.3.13:8081/TJYW/getWaitHand/oaUpdateData"
;
// 调用外部接口,修改门户订单状态,并将最终审核后的数据提交给OA,此时相关填写数据已修改
// 调用外部接口,修改门户订单状态,并将最终审核后的数据提交给OA,此时相关填写数据已修改
...
...
src/main/java/com/seeyon/apps/thirdparyServlet/ThirdparyServlet.java
0 → 100644
View file @
773e8844
This diff is collapsed.
Click to expand it.
src/main/java/com/seeyon/ctp/common/sync/manager/SyncService.java
deleted
100644 → 0
View file @
dbf852b4
package
com
.
seeyon
.
ctp
.
common
.
sync
.
manager
;
import
java.util.Map
;
import
com.eetrust.eim.plugin.constants.UapuConstants
;
import
com.eetrust.eim.plugin.pojo.SyncResult
;
import
com.eetrust.eim.plugin.pojo.uapu.SyncUapuOrg
;
import
com.eetrust.eim.plugin.pojo.uapu.SyncUapuSimpleUser
;
import
com.eetrust.eim.plugin.service.AbstractSimpleUapuService
;
import
com.eetrust.eim.plugin.util.SyncUtil
;
import
com.eetrust.eim.plugin.util.XmlParser
;
public
class
SyncService
extends
AbstractSimpleUapuService
{
/**
* 添加或修改组织机构
* @param dept
* @return 返回错误信息:null为成功
*/
public
SyncResult
addOrModUapuOrg
(
SyncUapuOrg
dept
)
throws
Exception
{
String
uniCode
=
dept
.
getSyncUniCode
();
//组织机构唯一标识
//需要必填的属性未填写,返回错误
if
(
uniCode
==
null
||
uniCode
.
trim
().
equals
(
""
))
{
return
XmlParser
.
getInstance
().
getSyncResult
(
"SYNC_ERR_1_1_0003"
);
}
String
deptName
=
dept
.
getDeptName
();
//组织机构名称
String
deptStatus
=
dept
.
getDeptStatus
();
//组织机构状态:1为启用;2为停用(请根据系统自身情况进行转换)
String
parentCode
=
dept
.
getParentCode
();
//组织机构上级部门
String
showNum
=
dept
.
getShowNum
();
//组织机构排序号
Map
<
String
,
String
>
otherAttributesMap
=
dept
.
getSingleValueMap
();
//组织机构的其它属性,键为英文名
//String address = otherAttributesMap.get("address"); //如果统一用户管理系统中存在地址字段,且属性名为address,则能够通过本方式获取到(注意null的判断)
//将获取到的信息存库
//如果使用了spring,可以通过以下方式获取spring中注入的bean对象,代码示例如下:
//IDeptDAO deptDAO = (IDeptDAO)SyncUtil.getInstance().getBean("deptDAO");//引号中为spring中注入bean的name
//保存或更新成功后,直接返回null即可。
//return null;
//如果在保存或更新过程中出现问题,请返回错误信息(见错误码表),代码示例如下:
//return XmlParser.getInstance().getSyncResult("SYNC_ERR_1_1_0003");
//当返回错误为其它错误时,建议填写错误信息,以便于运维过程中排查问题,代码示例如下:
//return XmlParser.getInstance().getSyncResult("SYNC_ERR_1_1_9999", "sql执行过程中出现错误,用户手机号重复");
return
null
;
}
/**
* 添加或修改用户
*@param user
* @return 返回错误信息:null为成功
*/
public
SyncResult
addOrModUapuUser
(
SyncUapuSimpleUser
user
)
throws
Exception
{
String
uniCode
=
user
.
getSyncUniCode
();
//用户唯一标识
//需要必填的属性未填写,返回错误
if
(
uniCode
==
null
||
uniCode
.
trim
().
equals
(
""
))
{
return
XmlParser
.
getInstance
().
getSyncResult
(
"SYNC_ERR_2_1_0003"
);
}
String
userName
=
user
.
getUserName
();
//用户名称
String
loginName
=
user
.
getLoginName
();
//用户帐号
String
deptStatus
=
user
.
getAccountStatus
();
//用户状态:1为启用;3为停用(请根据系统自身情况进行转换)
String
parentCode
=
user
.
getParentCode
();
//用户所属部门编码(同步来组织机构的uniCode值)
String
showNum
=
user
.
getShowNum
();
//用户排序号
Map
<
String
,
String
>
otherAttributesMap
=
user
.
getSingleValueMap
();
//用户的其它属性,键为英文名
//String mobile = otherAttributesMap.get("mobile"); //如果统一用户管理系统中存在手机号字段,且属性名为mobile,则能够通过本方式获取到(注意null的判断)
//将获取到的信息存库
//如果使用了spring,可以通过以下方式获取spring中注入的bean对象,代码示例如下:
//IUserDAO userDAO = (IUserDAO)SyncUtil.getInstance().getBean("userDAO");//引号中为spring中注入bean的name
//保存或更新成功后,直接返回null即可,代码示例如下:
//return null;
//如果在保存或更新过程中出现问题,请返回错误信息(见错误码表),代码示例如下:
//return XmlParser.getInstance().getSyncResult("SYNC_ERR_2_1_0003");
//当返回错误为其它错误时,建议填写错误信息,以便于运维过程中排查问题,代码示例如下:
//return XmlParser.getInstance().getSyncResult("SYNC_ERR_2_1_9999", "sql执行过程中出现错误,用户手机号重复");
return
null
;
}
/**
* 删除组织机构
*@param dept
* @return 返回错误信息:null为成功
*/
public
SyncResult
delUapuOrg
(
SyncUapuOrg
dept
)
throws
Exception
{
String
uniCode
=
dept
.
getSyncUniCode
();
//组织机构唯一标识
//需要必填的属性未填写,返回错误
if
(
uniCode
==
null
||
uniCode
.
trim
().
equals
(
""
))
{
return
XmlParser
.
getInstance
().
getSyncResult
(
"SYNC_ERR_1_2_0003"
);
}
//根据uniCode唯一标识删除组织机构
//如果使用了spring,可以通过以下方式获取spring中注入的bean对象,代码示例如下:
//IDeptDAO deptDAO = (IDeptDAO)SyncUtil.getInstance().getBean("deptDAO");//引号中为spring中注入bean的name
//删除成功后,直接返回null即可,代码示例如下:
//return null;
return
null
;
}
/**
* 删除用户
*@param user
* @return 返回错误信息:null为成功
*/
public
SyncResult
delSimpleUapuUser
(
SyncUapuSimpleUser
user
)
throws
Exception
{
String
uniCode
=
user
.
getSyncUniCode
();
//用户唯一标识
//需要必填的属性未填写,返回错误
if
(
uniCode
==
null
||
uniCode
.
trim
().
equals
(
""
))
{
return
XmlParser
.
getInstance
().
getSyncResult
(
"SYNC_ERR_2_2_0003"
);
}
//根据uniCode唯一标识删除用户
//如果使用了spring,可以通过以下方式获取spring中注入的bean对象,代码示例如下:
//IUserDAO userDAO = (IUserDAO)SyncUtil.getInstance().getBean("userDAO");//引号中为spring中注入bean的name
//删除成功后,直接返回null即可,代码示例如下:
//return null;
return
null
;
}
/**
* 判断组织机构是否存在(可不用实现)
*/
public
Boolean
existUapuOrg
(
String
uniCode
)
throws
Exception
{
//唯一标识为传递值,则无需判断是否存在
if
(
uniCode
==
null
||
uniCode
.
trim
().
equals
(
""
))
{
return
null
;
}
//根据uniCode唯一标识查询组织机构
//如果使用了spring,可以通过以下方式获取spring中注入的bean对象,代码示例如下:
//IDeptDAO deptDAO = (IDeptDAO)SyncUtil.getInstance().getBean("deptDAO");//引号中为spring中注入bean的name
//查询成功后,根据查询结果返回true或false,组织机构存在代码示例如下:
//return true;
//组织机构不存在代码示例如下:
//return false;
//出现异常代码示例如下:
//return null;
return
null
;
}
/**
* 判断用户是否存在(可不用实现)
*/
public
Boolean
existUapuUser
(
String
uniCode
)
throws
Exception
{
//唯一标识为传递值,则无需判断是否存在
if
(
uniCode
==
null
||
uniCode
.
trim
().
equals
(
""
))
{
return
null
;
}
//根据uniCode唯一标识查询用户
//如果使用了spring,可以通过以下方式获取spring中注入的bean对象,如:
//IUserDAO userDAO = (IUserDAO)SyncUtil.getInstance().getBean("userDAO");//引号中为spring中注入bean的name
//查询成功后,根据查询结果返回true或false,用户存在代码示例如下:
//return true;
//用户不存在代码示例如下:
//return false;
//出现异常代码示例如下:
//return null;
return
null
;
}
}
src/main/java/com/seeyon/ctp/common/util/XmlUtil.java
View file @
773e8844
...
@@ -51,7 +51,7 @@ public class XmlUtil {
...
@@ -51,7 +51,7 @@ public class XmlUtil {
Element
changeContent
=
(
Element
)
syncContent
.
selectSingleNode
(
"./changeContent"
);
Element
changeContent
=
(
Element
)
syncContent
.
selectSingleNode
(
"./changeContent"
);
syncContentMap
.
put
(
"changeContent"
,
element2Map
(
changeContent
));
syncContentMap
.
put
(
"changeContent"
,
element2Map
(
changeContent
));
Element
newContent
=
(
Element
)
syncContent
.
selectSingleNode
(
"./newContent"
);
Element
newContent
=
(
Element
)
syncContent
.
selectSingleNode
(
"./newContent"
);
syncContentMap
.
put
(
"newContent
"
,
element2Map
(
newContent
));
syncContentMap
.
put
(
"newContent"
,
element2Map
(
newContent
));
map
.
put
(
"syncContent"
,
syncContentMap
);
map
.
put
(
"syncContent"
,
syncContentMap
);
// 获得当前节点的子节点
// 获得当前节点的子节点
...
@@ -72,27 +72,53 @@ public class XmlUtil {
...
@@ -72,27 +72,53 @@ public class XmlUtil {
private
static
Map
<
String
,
Object
>
element2Map
(
Element
element
)
{
private
static
Map
<
String
,
Object
>
element2Map
(
Element
element
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Element
baseInfo
=
(
Element
)
element
.
selectSingleNode
(
"./baseInfo"
);
Element
baseInfo
=
(
Element
)
element
.
selectSingleNode
(
"./baseInfo"
);
List
<
Element
>
childElements
=
baseInfo
.
elements
();
if
(
baseInfo
!=
null
){
if
(
childElements
.
size
()
>
0
)
{
List
childElements
=
baseInfo
.
elements
();
Map
<
String
,
Object
>
tempMap
=
new
HashMap
<>();
if
(
childElements
.
size
()
>
0
)
{
Iterator
var33
=
childElements
.
iterator
();
Map
<
String
,
Object
>
tempMap
=
new
HashMap
<>();
while
(
var33
.
hasNext
())
{
Iterator
var33
=
childElements
.
iterator
();
Element
element1
=
(
Element
)
var33
.
next
();
while
(
var33
.
hasNext
())
{
tempMap
.
put
(
element1
.
getName
(),
element1
.
getText
());
Element
element1
=
(
Element
)
var33
.
next
();
tempMap
.
put
(
element1
.
getName
(),
element1
.
getText
());
}
map
.
put
(
"baseInfo"
,
tempMap
);
}
}
map
.
put
(
"baseInfo"
,
tempMap
);
}
}
Element
parentInfo
=
(
Element
)
element
.
selectSingleNode
(
"./parentInfo"
);
Element
parentInfo
=
(
Element
)
element
.
selectSingleNode
(
"./parentInfo"
);
List
<
Element
>
childElements1
=
parentInfo
.
elements
();
if
(
parentInfo
!=
null
){
if
(
childElements1
.
size
()
>
0
)
{
Map
<
String
,
Object
>
tempMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
tempMap
=
new
HashMap
<>();
Iterator
var44
=
childElements1
.
iterator
();
Element
parentCode
=
(
Element
)
parentInfo
.
selectSingleNode
(
"./parentCode"
);
while
(
var44
.
hasNext
())
{
tempMap
.
put
(
parentCode
.
getName
(),
parentCode
.
getText
());
Element
element1
=
(
Element
)
var44
.
next
();
// List childElements1 = parentInfo.elements();
tempMap
.
put
(
element1
.
getName
(),
element1
.
getText
());
// if (childElements1.size() > 0) {
}
// Iterator var44 = childElements1.iterator();
// while(var44.hasNext()) {
// Element element1 = (Element)var44.next();
// tempMap.put(element1.getName(),element1.getText());
// }
//
// Element parentCode = (Element) childElements1.get(0).selectSingleNode("./parentInfo");
// tempMap.put("isCorp",syncContent.attributeValue("isCorp"));
// map.put("parentInfo",tempMap);
// }
tempMap
.
put
(
"isCorp"
,
parentCode
.
attributeValue
(
"isCorp"
));
map
.
put
(
"parentInfo"
,
tempMap
);
map
.
put
(
"parentInfo"
,
tempMap
);
}
}
return
map
;
return
map
;
}
}
public
static
String
recursionMapToXml
(
Map
<
String
,
Object
>
map
){
Document
document
=
DocumentHelper
.
createDocument
();
Element
root
=
document
.
addElement
(
"returnData"
);
for
(
String
key:
map
.
keySet
())
{
String
value
=
map
.
get
(
key
).
toString
();
if
(
value
==
null
)
{
value
=
""
;
}
value
=
value
.
trim
();
Element
filed
=
root
.
addElement
(
key
);
filed
.
setText
(
value
);
}
return
document
.
asXML
();
}
}
}
src/main/java/com/seeyon/ctp/common/web/filter/ServletAuthenticator.java
0 → 100644
View file @
773e8844
package
com
.
seeyon
.
ctp
.
common
.
web
.
filter
;
import
java.io.PrintWriter
;
import
java.util.Arrays
;
import
java.util.List
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpSession
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
com.seeyon.ctp.common.AppContext
;
import
com.seeyon.ctp.common.i18n.ResourceUtil
;
/**
* Servlet身份校验。
* @author wangwenyou
*
*/
public
class
ServletAuthenticator
extends
AbstractAuthenticator
{
private
static
Log
LOG
=
LogFactory
.
getLog
(
ServletAuthenticator
.
class
);
@Override
public
void
afterFailure
(
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
Exception
{
String
uri
=
request
.
getRequestURI
().
substring
(
8
);
if
(
uri
.
endsWith
(
".psml"
))
{
// PortalServlet
PrintWriter
out
=
response
.
getWriter
();
out
.
println
(
"<script type=\"text/javascript\" charset=\"UTF-8\" src=\""
+
request
.
getContextPath
()
+
"/common/js/V3X.js\"></script>"
);
out
.
println
(
"<script>"
);
// 刷新空间
out
.
println
(
"alert(\""
+
ResourceUtil
.
getString
(
"loginUserState.unknown"
)
+
"\");"
);
out
.
println
(
"if(getA8Top){getA8Top().location.href =\""
+
request
.
getContextPath
()
+
"/main.do?method=logout\";}\n"
);
out
.
println
(
"</script>"
);
out
.
close
();
}
else
{
super
.
afterFailure
(
request
,
response
);
}
}
// Servlet列表
private
static
List
<
String
>
servlets
=
Arrays
.
asList
(
"getAJAXMessageServlet"
,
"getAJAXOnlineServlet"
,
"htmlofficeservlet"
,
"isignaturehtmlH5servlet"
,
"isignaturehtmlservlet"
,
"login/sso"
,
"login/ssologout"
,
"m-signature/"
,
"ofdServlet"
,
"office/cache/"
,
"officeservlet"
,
"pdfservlet"
,
"sursenServlet"
,
"verifyCodeImage.jpg"
);
// 可匿名访问的白名单
private
static
List
<
String
>
anonymousWhiteList
=
Arrays
.
asList
(
"login/sso"
,
"verifyCodeImage.jpg"
,
"thirdparyServlet"
);
@Override
public
boolean
authenticate
(
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
Exception
{
AppContext
.
initSystemEnvironmentContext
(
request
,
response
);
if
(
AppContext
.
getCurrentUser
()
!=
null
)
{
return
true
;
}
String
uri
=
request
.
getRequestURI
().
substring
(
8
);
for
(
String
string
:
anonymousWhiteList
)
{
if
(
uri
.
startsWith
(
string
))
{
return
true
;
}
}
HttpSession
session
=
request
.
getSession
(
false
);
String
sessionId
=
session
!=
null
?
session
.
getId
()
:
""
;
LOG
.
warn
(
"servlet "
+
uri
+
"'s anonymous access fail:"
+
sessionId
);
return
false
;
}
public
static
boolean
accept
(
HttpServletRequest
request
)
{
String
uri
=
request
.
getRequestURI
().
substring
(
8
);
if
(
uri
.
endsWith
(
".psml"
))
{
return
true
;
}
for
(
String
string
:
servlets
)
{
if
(
uri
.
startsWith
(
string
))
{
return
true
;
}
}
return
false
;
}
}
src/main/java/com/seeyon/ctp/rest/resources/CollaborationResource.java
View file @
773e8844
...
@@ -7817,6 +7817,11 @@ public class CollaborationResource extends BaseResource {
...
@@ -7817,6 +7817,11 @@ public class CollaborationResource extends BaseResource {
Map
<
String
,
Object
>
main
=
isNull
(
param
.
get
(
"main"
))
?
null
:
(
Map
<
String
,
Object
>)
param
.
get
(
"main"
)
;
//主表数据
Map
<
String
,
Object
>
main
=
isNull
(
param
.
get
(
"main"
))
?
null
:
(
Map
<
String
,
Object
>)
param
.
get
(
"main"
)
;
//主表数据
List
<
Object
>
sub
=
isNull
(
param
.
get
(
"sub"
))
?
null
:
(
List
<
Object
>)
param
.
get
(
"sub"
);
//重复表数据
List
<
Object
>
sub
=
isNull
(
param
.
get
(
"sub"
))
?
null
:
(
List
<
Object
>)
param
.
get
(
"sub"
);
//重复表数据
if
(
main
!=
null
&&
!
main
.
isEmpty
())
{
if
(
main
!=
null
&&
!
main
.
isEmpty
())
{
if
(
main
.
get
(
"confidentiality"
).
equals
(
"是"
)){
main
.
put
(
"confidentiality"
,
1
);
}
else
{
main
.
put
(
"confidentiality"
,
0
);
}
Map
<
String
,
String
>
yingsheguanxiMap
=
(
Map
<
String
,
String
>)
mped
.
get
(
"main"
)
;
Map
<
String
,
String
>
yingsheguanxiMap
=
(
Map
<
String
,
String
>)
mped
.
get
(
"main"
)
;
Set
<
String
>
mainSet
=
main
.
keySet
()
;
Set
<
String
>
mainSet
=
main
.
keySet
()
;
for
(
String
key
:
mainSet
)
{
for
(
String
key
:
mainSet
)
{
...
@@ -8331,7 +8336,17 @@ public class CollaborationResource extends BaseResource {
...
@@ -8331,7 +8336,17 @@ public class CollaborationResource extends BaseResource {
return
ok
(
map
);
return
ok
(
map
);
}
}
@POST
@Consumes
(
MediaType
.
APPLICATION_XML
)
@Path
(
"test"
)
@RestInterfaceAnnotation
public
Response
getPrintSummary
(
String
xml
)
throws
BusinessException
,
Exception
{
Map
<
String
,
Object
>
map1
=
XmlUtil
.
xml2map
(
xml
);
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
map
.
put
(
"success"
,
true
);
map
.
put
(
"date"
,
map1
);
return
ok
(
map
);
}
}
}
src/main/webapp/WEB-INF/cfgHome/plugin/collaboration/spring/spring-collaboration-manager.xml
View file @
773e8844
...
@@ -118,4 +118,8 @@
...
@@ -118,4 +118,8 @@
<!-- 协同插件管理器 -->
<!-- 协同插件管理器 -->
<bean
id=
"collaborationPluginManager"
class=
"com.seeyon.apps.collaboration.manager.CollaborationPluginManagerImpl"
></bean>
<bean
id=
"collaborationPluginManager"
class=
"com.seeyon.apps.collaboration.manager.CollaborationPluginManagerImpl"
></bean>
<bean
id=
"V3xAccountManager"
class=
"com.seeyon.v3x.services.organization.impl.AccountManagerImpl"
></bean>
<bean
id=
"V3xDepartmentManager"
class=
"com.seeyon.v3x.services.organization.impl.DepartmentManagerImpl"
></bean>
</beans>
</beans>
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