Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
T
test
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
邬友楠
test
Commits
fcff3d84
Commit
fcff3d84
authored
Oct 10, 2020
by
雍欢
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、消除QueryPermissionBuilderImpl 循环依赖
2、其他完善
parent
730b9829
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
27 additions
and
18 deletions
+27
-18
QueryPermissionBuilderImpl.java
...ava/com/huigou/data/query/QueryPermissionBuilderImpl.java
+21
-13
GeneralRepository.java
...in/java/com/huigou/data/repository/GeneralRepository.java
+2
-2
ShiroSessionListener.java
...n/java/com/huigou/shiro/session/ShiroSessionListener.java
+3
-2
ProcUnitHandlerRepository.java
...uasp/bpm/engine/repository/ProcUnitHandlerRepository.java
+1
-1
No files found.
huigou-data/src/main/java/com/huigou/data/query/QueryPermissionBuilderImpl.java
View file @
fcff3d84
...
...
@@ -6,8 +6,8 @@ import com.huigou.context.OrgUnit;
import
com.huigou.context.ThreadLocalUtil
;
import
com.huigou.data.datamanagement.*
;
import
com.huigou.data.domain.model.CommonDomainConstants
;
import
com.huigou.data.jdbc.JDBCDao
;
import
com.huigou.data.jdbc.SQLQuery
;
import
com.huigou.data.query.executor.SQLExecutorDao
;
import
com.huigou.data.query.model.QueryDescriptor
;
import
com.huigou.data.query.model.SQLModel
;
import
com.huigou.data.query.parser.model.PermissionModel
;
...
...
@@ -24,7 +24,6 @@ import javax.annotation.Resource;
import
java.io.Serializable
;
import
java.lang.reflect.Method
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Service
(
"queryPermissionBuilder"
)
public
class
QueryPermissionBuilderImpl
implements
QueryPermissionBuilder
{
...
...
@@ -41,9 +40,12 @@ public class QueryPermissionBuilderImpl implements QueryPermissionBuilder {
@Resource
(
name
=
"permissionCache"
)
private
ICache
icache
;
@Autowired
protected
SQLExecutorDao
sqlExecutorDao
;
private
SQLQuery
sqlQuery
;
@Autowired
private
JDBCDao
jdbcDao
;
@Autowired
private
QueryXmlLoadInterface
queryXmlManager
;
private
Object
orgFun
;
...
...
@@ -68,7 +70,7 @@ public class QueryPermissionBuilderImpl implements QueryPermissionBuilder {
// 不带参数的方法调用
orgFun
=
clazz
.
newInstance
();
Method
method
=
clazz
.
getMethod
(
"setSQLQuery"
,
SQLQuery
.
class
);
method
.
invoke
(
orgFun
,
this
.
sqlExecutorDao
.
getSqlQuery
()
);
method
.
invoke
(
orgFun
,
sqlQuery
);
this
.
findSubordinationsByOrgManageTypeMethod
=
clazz
.
getMethod
(
FIND_SUBORDINATIONS_BY_ORG_MANAGE_TYPE_METHOD_NAME
,
Object
.
class
,
String
.
class
);
this
.
findSubordinationsForNearestManagerMethod
=
clazz
.
getMethod
(
FIND_SUBORDINATIONS_FOR_NEAREST_MANAGER_METHOD_NAME
,
Object
.
class
,
...
...
@@ -398,14 +400,14 @@ public class QueryPermissionBuilderImpl implements QueryPermissionBuilder {
* @return
*/
private
List
<
DataManageResourceGroup
>
doQueryDataManagement
(
String
code
,
String
personId
)
{
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
DATA_MANAGEMENT_XML_FILE_PATH
,
"dataManagement"
);
QueryDescriptor
queryDescriptor
=
this
.
getQuery
(
DATA_MANAGEMENT_XML_FILE_PATH
,
"dataManagement"
);
// 查询包含的数据角色ID
String
sql
=
queryDescriptor
.
getSqlByName
(
"queryPersonDataManageDetailByCode"
);
List
<
String
>
managedetalIds
;
if
(
"oracle"
.
equals
(
sqlDialect
))
{
managedetalIds
=
this
.
sqlExecutor
Dao
.
queryToList
(
sql
,
String
.
class
,
code
,
personId
);
managedetalIds
=
this
.
jdbc
Dao
.
queryToList
(
sql
,
String
.
class
,
code
,
personId
);
}
else
{
managedetalIds
=
this
.
sqlExecutor
Dao
.
queryToList
(
sql
,
String
.
class
,
code
,
personId
,
code
,
personId
);
managedetalIds
=
this
.
jdbc
Dao
.
queryToList
(
sql
,
String
.
class
,
code
,
personId
,
code
,
personId
);
}
if
(
managedetalIds
==
null
||
managedetalIds
.
size
()
==
0
)
{
return
Collections
.
emptyList
();
...
...
@@ -416,7 +418,7 @@ public class QueryPermissionBuilderImpl implements QueryPermissionBuilder {
for
(
String
managedetalId
:
managedetalIds
)
{
DataManageResourceGroup
group
=
new
DataManageResourceGroup
();
group
.
setDataManagedetalId
(
managedetalId
);
List
<
DataManageResource
>
resources
=
this
.
sqlExecutor
Dao
.
queryToList
(
sqlResource
,
DataManageResource
.
class
,
managedetalId
);
List
<
DataManageResource
>
resources
=
this
.
jdbc
Dao
.
queryToList
(
sqlResource
,
DataManageResource
.
class
,
managedetalId
);
if
(
resources
!=
null
&&
resources
.
size
()
>
0
)
{
for
(
DataManageResource
resource
:
resources
)
{
// 解析数据资源信息
...
...
@@ -502,7 +504,7 @@ public class QueryPermissionBuilderImpl implements QueryPermissionBuilder {
*/
private
List
<
DataManageResource
>
parseOrgManageType
(
DataManageResource
resource
,
String
personId
)
{
String
sql
=
"select t.full_id from sa_oporg t where t.status = 1 and t.person_id=?"
;
List
<
String
>
fullIds
=
this
.
sqlExecutor
Dao
.
queryToList
(
sql
,
String
.
class
,
personId
);
List
<
String
>
fullIds
=
this
.
jdbc
Dao
.
queryToList
(
sql
,
String
.
class
,
personId
);
List
<
DataManageResource
>
dataResources
=
new
ArrayList
<>();
List
<
OrgUnit
>
list
=
this
.
findSubordinations
(
personId
,
fullIds
,
resource
.
getKey
());
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
...
...
@@ -529,16 +531,16 @@ public class QueryPermissionBuilderImpl implements QueryPermissionBuilder {
private
DataManageFieldsGroup
doQueryDataManageFields
(
String
code
)
{
DataManageFieldsGroup
group
=
new
DataManageFieldsGroup
();
group
.
setBusinessCode
(
code
);
QueryDescriptor
queryDescriptor
=
this
.
sqlExecutorDao
.
getQuery
(
DATA_MANAGEMENT_XML_FILE_PATH
,
"opdatamanagebusinessField"
);
QueryDescriptor
queryDescriptor
=
this
.
getQuery
(
DATA_MANAGEMENT_XML_FILE_PATH
,
"opdatamanagebusinessField"
);
// 查询使用的数据管理权限
String
sql
=
queryDescriptor
.
getSqlByName
(
"queryManageCodeByBusinessCode"
);
String
manageCode
=
this
.
sqlExecutor
Dao
.
queryToString
(
sql
,
code
);
String
manageCode
=
this
.
jdbc
Dao
.
queryToString
(
sql
,
code
);
if
(
StringUtil
.
isNotBlank
(
manageCode
))
{
group
.
setManageCode
(
manageCode
);
}
// 查询权限包含的字段
sql
=
queryDescriptor
.
getSqlByName
(
"queryFieldsByBusinessCode"
);
List
<
Map
<
String
,
Object
>>
list
=
this
.
sqlExecutor
Dao
.
queryToListMap
(
sql
,
code
);
List
<
Map
<
String
,
Object
>>
list
=
this
.
jdbc
Dao
.
queryToListMap
(
sql
,
code
);
if
(
list
==
null
||
list
.
size
()
==
0
)
{
return
null
;
}
...
...
@@ -569,4 +571,10 @@ public class QueryPermissionBuilderImpl implements QueryPermissionBuilder {
}
return
group
;
}
private
QueryDescriptor
getQuery
(
String
queryFilePath
,
String
queryName
)
{
QueryXmlModel
model
=
queryXmlManager
.
loadConfigFile
(
queryFilePath
);
QueryDescriptor
queryDescriptor
=
new
QueryDescriptor
(
model
.
getDeclaredQueries
(
queryName
));
return
queryDescriptor
;
}
}
huigou-data/src/main/java/com/huigou/data/repository/GeneralRepository.java
View file @
fcff3d84
...
...
@@ -9,8 +9,8 @@ import org.springframework.transaction.annotation.Transactional;
@Transactional
(
"transactionManager"
)
public
class
GeneralRepository
extends
GeneralRepositorySuper
{
@PersistenceContext
(
unitName
=
"system"
)
@Qualifier
(
value
=
"entityManagerFactory"
)
//
@PersistenceContext(unitName="system")
//
@Qualifier(value = "entityManagerFactory")
private
EntityManager
em
;
@Override
...
...
huigou-uasp/src/main/java/com/huigou/shiro/session/ShiroSessionListener.java
View file @
fcff3d84
...
...
@@ -3,6 +3,7 @@ package com.huigou.shiro.session;
import
org.apache.shiro.session.Session
;
import
org.apache.shiro.session.SessionListenerAdapter
;
import
org.apache.shiro.session.mgt.eis.AbstractSessionDAO
;
import
org.apache.shiro.session.mgt.eis.SessionDAO
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -20,11 +21,11 @@ public class ShiroSessionListener extends SessionListenerAdapter {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ShiroSessionListener
.
class
);
private
Abstract
SessionDAO
sessionDAO
;
private
SessionDAO
sessionDAO
;
private
ICache
icache
;
public
void
setSessionDAO
(
Abstract
SessionDAO
sessionDAO
)
{
public
void
setSessionDAO
(
SessionDAO
sessionDAO
)
{
this
.
sessionDAO
=
sessionDAO
;
}
...
...
huigou-uasp/src/main/java/com/huigou/uasp/bpm/engine/repository/ProcUnitHandlerRepository.java
View file @
fcff3d84
...
...
@@ -22,7 +22,7 @@ public interface ProcUnitHandlerRepository extends JpaRepository<ProcUnitHandler
ProcUnitHandler
findFirstByBizIdAndProcUnitIdAndGroupId
(
String
bizId
,
String
procUnitId
,
Integer
groupId
);
@Query
(
name
=
"procUnitHandler.findAllNextProcUnitHandlers"
,
value
=
"select t from ProcUnitHandler t where t.bizId = :bizId and t.groupId > :groupId
)
"
)
@Query
(
name
=
"procUnitHandler.findAllNextProcUnitHandlers"
,
value
=
"select t from ProcUnitHandler t where t.bizId = :bizId and t.groupId > :groupId"
)
List
<
ProcUnitHandler
>
findAllNextProcUnitHandlers
(
@Param
(
"bizId"
)
String
bizId
,
@Param
(
"groupId"
)
Integer
groupId
);
@Query
(
name
=
"procUnitHandler.findNextGroupProcUnitHandlers"
,
value
=
"select t from ProcUnitHandler t where t.bizId = :bizId\n"
...
...
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