Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gic-store
Overview
Overview
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
base_platform_enterprise
gic-store
Commits
1091e97e
Commit
1091e97e
authored
Feb 28, 2020
by
zhiwj
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'developer' of
http://115.159.76.241/base_platform_enterprise/gic-store
into developer
parents
c822282d
78364008
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
91 additions
and
39 deletions
+91
-39
StoreOpenApiServiceImpl.java
...gic/store/service/outer/impl/StoreOpenApiServiceImpl.java
+90
-39
dubbo-gic-store-service.xml
...re-service/src/main/resources/dubbo-gic-store-service.xml
+1
-0
No files found.
gic-store-service/src/main/java/com/gic/store/service/outer/impl/StoreOpenApiServiceImpl.java
View file @
1091e97e
...
...
@@ -6,6 +6,8 @@ import com.gic.api.base.commons.Page;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.application.center.api.dto.ApplicationResourceDTO
;
import
com.gic.application.center.api.service.AuthorizeService
;
import
com.gic.auth.dto.ResourceDTO
;
import
com.gic.auth.service.ResourceApiService
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.enterprise.constants.Constants
;
...
...
@@ -69,6 +71,8 @@ public class StoreOpenApiServiceImpl implements StoreOpenApiService {
private
AuthorizeService
authorizeService
;
@Autowired
private
StoreWidgetApiService
storeWidgetApiService
;
@Autowired
private
ResourceApiService
resourceApiService
;
@Override
public
ServiceResponse
<
String
>
getApiFieldJson
(
Integer
enterpriseId
,
Integer
regionId
)
{
...
...
@@ -551,21 +555,23 @@ public class StoreOpenApiServiceImpl implements StoreOpenApiService {
StringBuilder
storeIds
=
new
StringBuilder
();
if
(
StringUtils
.
isBlank
(
storeCode
))
{
//查询域下所有的门店:q
StoreSearchDTO
storeSearchDTO
=
new
StoreSearchDTO
();
storeSearchDTO
.
setEnterpriseId
(
enterpriseId
);
storeSearchDTO
.
setRegionId
(
regionId
);
ServiceResponse
<
Page
<
StoreDTO
>>
storeResult
=
storeApiService
.
listStore
(
storeSearchDTO
,
0
,
Integer
.
MAX_VALUE
);
if
(
storeResult
.
isSuccess
())
{
Page
<
StoreDTO
>
pageStore
=
storeResult
.
getResult
();
if
(
pageStore
!=
null
)
{
List
<
StoreDTO
>
storeList
=
pageStore
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
storeList
))
{
for
(
StoreDTO
storeDTO
:
storeList
)
{
storeIds
.
append
(
storeDTO
.
getStoreId
()).
append
(
","
);
}
}
}
}
// StoreSearchDTO storeSearchDTO = new StoreSearchDTO();
// storeSearchDTO.setEnterpriseId(enterpriseId);
// storeSearchDTO.setRegionId(regionId);
// ServiceResponse<Page<StoreDTO>> storeResult = storeApiService.listStore(storeSearchDTO, 0, Integer.MAX_VALUE);
// if (storeResult.isSuccess()) {
// Page<StoreDTO> pageStore = storeResult.getResult();
// if (pageStore != null) {
// List<StoreDTO> storeList = pageStore.getResult();
// if (CollectionUtils.isNotEmpty(storeList)) {
// for (StoreDTO storeDTO : storeList) {
// storeIds.append(storeDTO.getStoreId()).append(",");
// }
// }
// }
// }
//门店域有权限,但是域下面的门店不一定都有权限,进行过滤
storeIds
=
getStoreIds
(
appId
,
enterpriseId
,
regionId
);
}
else
{
StoreDTO
store
=
storeService
.
getStoreByRegionIdAndStoreCode
(
enterpriseId
,
regionId
,
storeCode
);
if
(
store
==
null
)
{
...
...
@@ -596,31 +602,12 @@ public class StoreOpenApiServiceImpl implements StoreOpenApiService {
private
boolean
hasAuth
(
String
appId
,
Integer
enterpriseId
,
String
storeCode
,
Integer
regionId
)
{
Map
<
String
,
Object
>
storeMap
=
new
HashMap
<>(
16
);
Map
<
String
,
Object
>
regionMap
=
new
HashMap
<>(
16
);
ServiceResponse
<
ApplicationResourceDTO
>
res
=
authorizeService
.
findResourceByEnterpriseIdAndAppId
(
Long
.
valueOf
(
enterpriseId
),
appId
);
if
(
res
.
isSuccess
())
{
ApplicationResourceDTO
resourceDTO
=
res
.
getResult
();
if
(
resourceDTO
!=
null
)
{
Long
storeResourceId
=
resourceDTO
.
getStoreResource
();
//查询门店资源组所有的门店权限
ServiceResponse
<
Page
<
StoreDTO
>>
storeResult
=
storeWidgetApiService
.
listStoreByStoreWidgetId
(
enterpriseId
,
storeResourceId
.
intValue
(),
0
,
Integer
.
MAX_VALUE
);
if
(
storeResult
.
isSuccess
())
{
Page
<
StoreDTO
>
page
=
storeResult
.
getResult
();
List
<
StoreDTO
>
list
=
page
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
for
(
StoreDTO
storeDTO
:
list
)
{
storeMap
.
put
(
storeDTO
.
getStoreCode
(),
1
);
regionMap
.
put
(
storeDTO
.
getRegionId
().
toString
(),
1
);
}
}
}
else
{
LOGGER
.
info
(
"对外API权限校验结果-门店资源获取:{}"
,
JSON
.
toJSONString
(
storeResult
));
}
List
<
StoreDTO
>
list
=
getAuthByAppId
(
appId
,
enterpriseId
);
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
for
(
StoreDTO
storeDTO
:
list
)
{
storeMap
.
put
(
storeDTO
.
getStoreCode
(),
1
);
regionMap
.
put
(
storeDTO
.
getRegionId
().
toString
(),
1
);
}
LOGGER
.
info
(
"对外API权限校验结果-门店资源获取2:{}"
,
JSON
.
toJSONString
(
res
));
}
else
{
LOGGER
.
info
(
"对外API权限校验结果:{}"
,
JSON
.
toJSONString
(
res
));
}
if
(
StringUtils
.
isNotBlank
(
storeCode
))
{
if
(
storeMap
.
containsKey
(
storeCode
))
{
...
...
@@ -634,4 +621,68 @@ public class StoreOpenApiServiceImpl implements StoreOpenApiService {
}
return
false
;
}
/**
* 获取有权限的门店域的有权限的所有门店,前提是门店域有权限
* @param appId
* @param enterpriseId
* @param regionId
* @return
*/
private
StringBuilder
getStoreIds
(
String
appId
,
Integer
enterpriseId
,
Integer
regionId
)
{
StringBuilder
storeIds
=
new
StringBuilder
();
List
<
StoreDTO
>
list
=
getAuthByAppId
(
appId
,
enterpriseId
);
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
for
(
StoreDTO
storeDTO
:
list
)
{
if
(
storeDTO
.
getRegionId
().
intValue
()
==
regionId
.
intValue
())
{
storeIds
.
append
(
storeDTO
.
getStoreId
()).
append
(
","
);
}
}
}
return
storeIds
;
}
/**
* 获取资源组门店资源
* @param appId
* @param enterpriseId
* @return
*/
private
List
<
StoreDTO
>
getAuthByAppId
(
String
appId
,
Integer
enterpriseId
)
{
ServiceResponse
<
ApplicationResourceDTO
>
res
=
authorizeService
.
findResourceByEnterpriseIdAndAppId
(
Long
.
valueOf
(
enterpriseId
),
appId
);
if
(
res
.
isSuccess
())
{
ApplicationResourceDTO
resourceDTO
=
res
.
getResult
();
if
(
resourceDTO
!=
null
)
{
Integer
resourceId
=
resourceDTO
.
getResourceId
();
if
(
resourceId
==
null
)
{
return
Collections
.
emptyList
();
}
ServiceResponse
<
ResourceDTO
>
resourceResult
=
resourceApiService
.
getResource
(
resourceId
);
if
(
resourceResult
.
isSuccess
())
{
LOGGER
.
info
(
"对外API权限校验结果-门店资源ID:{}"
,
JSON
.
toJSONString
(
resourceResult
));
Long
storeResourceId
=
resourceResult
.
getResult
().
getStoreResource
();
//查询门店资源组所有的门店权限
ServiceResponse
<
Page
<
StoreDTO
>>
storeResult
=
storeWidgetApiService
.
listStoreByStoreWidgetId
(
enterpriseId
,
storeResourceId
.
intValue
(),
0
,
10000
);
if
(
storeResult
.
isSuccess
())
{
Page
<
StoreDTO
>
page
=
storeResult
.
getResult
();
if
(
page
==
null
)
{
return
Collections
.
emptyList
();
}
List
<
StoreDTO
>
list
=
page
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
return
list
;
}
}
else
{
LOGGER
.
info
(
"对外API权限校验结果-门店资源获取:{}"
,
JSON
.
toJSONString
(
storeResult
));
}
}
}
LOGGER
.
info
(
"对外API权限校验结果-资源ID:{}"
,
JSON
.
toJSONString
(
res
));
}
else
{
LOGGER
.
info
(
"对外API权限校验结果:{}"
,
JSON
.
toJSONString
(
res
));
}
return
Collections
.
emptyList
();
}
}
gic-store-service/src/main/resources/dubbo-gic-store-service.xml
View file @
1091e97e
...
...
@@ -58,6 +58,7 @@
<dubbo:reference
interface=
"com.gic.erp.operation.api.service.ApiFieldApiService"
id=
"apiFieldApiService"
timeout=
"60000"
/>
<dubbo:reference
interface=
"com.gic.application.center.api.service.AuthorizeService"
id=
"authorizeService"
timeout=
"60000"
/>
<dubbo:reference
interface=
"com.gic.auth.service.ResourceApiService"
id=
"resourceApiService"
timeout=
"60000"
/>
<dubbo:service
interface=
"com.gic.store.service.StoreTagApiService"
ref=
"storeTagApiService"
timeout=
"6000"
/>
<dubbo:service
interface=
"com.gic.store.service.StoreTagTmpApiService"
ref=
"storeTagTmpApiService"
timeout=
"6000"
/>
...
...
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