Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-manage3.0
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
haoban3.0
haoban-manage3.0
Commits
40a774c2
Commit
40a774c2
authored
Apr 18, 2024
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
好办小程序权限
parent
2c052dd4
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
110 additions
and
23 deletions
+110
-23
HaobanCommonMQApiService.java
...c/haoban/manage/api/service/HaobanCommonMQApiService.java
+2
-0
HaobanCommonMQApiServiceImpl.java
...ervice/service/out/impl/HaobanCommonMQApiServiceImpl.java
+8
-0
HaobanRoleApiServiceImpl.java
...rvice/service/out/impl/role/HaobanRoleApiServiceImpl.java
+53
-15
HaobanMenuService.java
...haoban/manage/service/service/role/HaobanMenuService.java
+1
-1
HaobanMenuServiceImpl.java
...nage/service/service/role/impl/HaobanMenuServiceImpl.java
+44
-7
dubbo-haoban-manage-service.xml
...ervice/src/main/resources/dubbo-haoban-manage-service.xml
+2
-0
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/HaobanCommonMQApiService.java
View file @
40a774c2
...
@@ -34,5 +34,7 @@ public interface HaobanCommonMQApiService {
...
@@ -34,5 +34,7 @@ public interface HaobanCommonMQApiService {
public
void
memberEventDel
(
String
params
)
;
public
void
memberEventDel
(
String
params
)
;
// 会员扫码关注
// 会员扫码关注
public
void
memberEventWechat
(
String
params
)
;
public
void
memberEventWechat
(
String
params
)
;
// 服务开通事件
public
void
serviceOpenOffEvent
(
String
params
)
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/HaobanCommonMQApiServiceImpl.java
View file @
40a774c2
...
@@ -8,6 +8,7 @@ import com.gic.haoban.manage.service.service.StaffClerkRelationService;
...
@@ -8,6 +8,7 @@ import com.gic.haoban.manage.service.service.StaffClerkRelationService;
import
com.gic.commons.util.StringUtil
;
import
com.gic.commons.util.StringUtil
;
import
com.gic.haoban.manage.api.dto.MemberUnionidWechatAccountQDTO
;
import
com.gic.haoban.manage.api.dto.MemberUnionidWechatAccountQDTO
;
import
com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService
;
import
com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService
;
import
com.gic.haoban.manage.service.service.role.HaobanMenuService
;
import
com.gic.haoban.manage.service.util.EventUtils
;
import
com.gic.haoban.manage.service.util.EventUtils
;
import
com.gic.member.api.dto.MemberInfoChangeNotifyDTO
;
import
com.gic.member.api.dto.MemberInfoChangeNotifyDTO
;
import
com.gic.member.api.dto.event.wechat.WeChatOfficialAccountEventParam
;
import
com.gic.member.api.dto.event.wechat.WeChatOfficialAccountEventParam
;
...
@@ -48,6 +49,8 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService {
...
@@ -48,6 +49,8 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService {
private
ExternalClerkRelatedApiService
externalClerkRelatedApiService
;
private
ExternalClerkRelatedApiService
externalClerkRelatedApiService
;
@Autowired
@Autowired
private
StaffClerkRelationService
staffClerkRelationService
;
private
StaffClerkRelationService
staffClerkRelationService
;
@Autowired
private
HaobanMenuService
haobanMenuService
;
@Override
@Override
public
void
putCommonMessage
(
CommonMQDTO
dto
)
{
public
void
putCommonMessage
(
CommonMQDTO
dto
)
{
...
@@ -235,4 +238,9 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService {
...
@@ -235,4 +238,9 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService {
log
.
error
(
"通知好办失败"
,
e
);
log
.
error
(
"通知好办失败"
,
e
);
}
}
}
}
@Override
public
void
serviceOpenOffEvent
(
String
params
)
{
this
.
haobanMenuService
.
saveMenuFromGicEvent
(
params
);
}
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/role/HaobanRoleApiServiceImpl.java
View file @
40a774c2
...
@@ -243,22 +243,68 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
...
@@ -243,22 +243,68 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
@Override
@Override
public
ServiceResponse
<
HaobanRoleDTO
>
getMenuByWxEnterpriseIdAndClerkType
(
String
wxEnterpriseId
,
Integer
clerkType
,
Integer
systemFlag
,
String
enterpriseId
)
{
public
ServiceResponse
<
HaobanRoleDTO
>
getMenuByWxEnterpriseIdAndClerkType
(
String
wxEnterpriseId
,
Integer
clerkType
,
Integer
systemFlag
,
String
enterpriseId
)
{
HaobanRoleBO
haobanRoleBO
=
haobanRoleService
.
getByWxEnterpriseIdAndClerkType
(
wxEnterpriseId
,
clerkType
,
systemFlag
);
logger
.
info
(
"查询好办小程序权限={},{},{},{}"
,
systemFlag
,
wxEnterpriseId
,
clerkType
,
enterpriseId
);
if
(
haobanRoleBO
!=
null
)
{
// 查询商户普通权限是,需要过滤超管没有的
List
<
String
>
menuCodes
=
haobanRoleMenuService
.
getByWxEnterpriseIdAndRoleId
(
wxEnterpriseId
,
haobanRoleBO
.
getRoleId
());
HaobanRoleBO
superRoleBO
=
haobanRoleService
.
getByWxEnterpriseIdAndClerkType
(
wxEnterpriseId
,
clerkType
,
0
);
if
(
null
==
superRoleBO
)
{
return
ServiceResponse
.
failure
(
"9999"
,
"未配置运维权限"
)
;
}
List
<
HaobanMenuBO
>
allMenuList
=
haobanMenuService
.
getAllMenuList
();
List
<
HaobanMenuBO
>
allMenuList
=
haobanMenuService
.
getAllMenuList
();
// 添加关联的权限
Long
superRoleId
=
superRoleBO
.
getRoleId
()
;
List
<
String
>
superMenuCodeList
=
this
.
listRoleMenuCode
(
allMenuList
,
wxEnterpriseId
,
superRoleId
);
// 查询gic配置的权限
if
(
StringUtils
.
isNotBlank
(
enterpriseId
)
&&
!
"-1"
.
equals
(
enterpriseId
))
{
}
logger
.
info
(
"超管的权限={}"
,
superMenuCodeList
);
// 如果查询的后台的子管理员权限
HaobanRoleBO
subRoleBO
=
null
;
List
<
String
>
subMenuCodes
=
null
;
if
(
systemFlag
==
1
)
{
subRoleBO
=
haobanRoleService
.
getByWxEnterpriseIdAndClerkType
(
wxEnterpriseId
,
clerkType
,
1
);
if
(
null
==
subRoleBO
)
{
return
ServiceResponse
.
failure
(
"9999"
,
"未配置子管理员权限"
)
;
}
Long
subRoleId
=
subRoleBO
.
getRoleId
()
;
subMenuCodes
=
this
.
listRoleMenuCode
(
allMenuList
,
wxEnterpriseId
,
subRoleId
)
;
}
HaobanRoleBO
retBO
=
new
HaobanRoleBO
();
if
(
systemFlag
==
0
)
{
retBO
=
superRoleBO
;
retBO
.
setMenuCodes
(
superMenuCodeList
);
}
else
{
retBO
=
subRoleBO
;
List
<
String
>
subCodeList
=
new
ArrayList
<>()
;
for
(
String
subCode
:
subMenuCodes
)
{
if
(
superMenuCodeList
.
contains
(
subCode
))
{
subCodeList
.
add
(
subCode
)
;
}
}
retBO
.
setMenuCodes
(
subCodeList
);
}
List
<
HaobanMenuBO
>
haobanMenuList
=
new
ArrayList
<>()
;
List
<
HaobanMenuBO
>
haobanMenuList
=
new
ArrayList
<>()
;
Map
<
String
,
HaobanMenuBO
>
map
=
allMenuList
.
stream
().
collect
(
Collectors
.
toMap
(
HaobanMenuBO:
:
getMenuCode
,
o
->
o
,(
k1
,
k2
)->
k1
))
;
for
(
String
code
:
retBO
.
getMenuCodes
())
{
HaobanMenuBO
bo
=
map
.
get
(
code
)
;
if
(
null
!=
bo
)
{
haobanMenuList
.
add
(
bo
)
;
}
}
retBO
.
setMenuList
(
EntityUtil
.
changeEntityListNew
(
HaobanMenuDTO
.
class
,
haobanMenuList
));
return
ServiceResponse
.
success
(
EntityUtil
.
changeEntityNew
(
HaobanRoleDTO
.
class
,
retBO
));
}
private
List
<
String
>
listRoleMenuCode
(
List
<
HaobanMenuBO
>
allMenuList
,
String
wxEnterpriseId
,
Long
roleId
)
{
List
<
String
>
menuCodes
=
haobanRoleMenuService
.
getByWxEnterpriseIdAndRoleId
(
wxEnterpriseId
,
roleId
);
// 添加关联的权限
for
(
HaobanMenuBO
item
:
allMenuList
)
{
for
(
HaobanMenuBO
item
:
allMenuList
)
{
String
code
=
item
.
getMenuCode
()
;
String
code
=
item
.
getMenuCode
()
;
// 开启的权限
// 开启的权限
if
(
menuCodes
.
contains
(
code
))
{
if
(
menuCodes
.
contains
(
code
))
{
haobanMenuList
.
add
(
item
)
;
continue
;
continue
;
}
}
// 无需授权的权限
// 无需授权的权限
if
(
0
==
item
.
getAuthControl
()
&&
StringUtils
.
isEmpty
(
item
.
getBtnCodeRel
()))
{
if
(
0
==
item
.
getAuthControl
()
&&
StringUtils
.
isEmpty
(
item
.
getBtnCodeRel
()))
{
haobanMenuList
.
add
(
item
)
;
menuCodes
.
add
(
code
)
;
menuCodes
.
add
(
code
)
;
continue
;
continue
;
}
}
...
@@ -266,19 +312,11 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
...
@@ -266,19 +312,11 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
for
(
HaobanMenuBO
item
:
allMenuList
)
{
for
(
HaobanMenuBO
item
:
allMenuList
)
{
String
code
=
item
.
getBtnCodeRel
()
;
String
code
=
item
.
getBtnCodeRel
()
;
if
(
0
==
item
.
getAuthControl
()
&&
StringUtils
.
isNotEmpty
(
item
.
getBtnCodeRel
())
&&
menuCodes
.
contains
(
code
))
{
if
(
0
==
item
.
getAuthControl
()
&&
StringUtils
.
isNotEmpty
(
item
.
getBtnCodeRel
())
&&
menuCodes
.
contains
(
code
))
{
haobanMenuList
.
add
(
item
)
;
menuCodes
.
add
(
code
)
;
menuCodes
.
add
(
code
)
;
continue
;
continue
;
}
}
}
}
// 查询gic配置的权限
return
menuCodes
;
if
(
StringUtils
.
isNotBlank
(
enterpriseId
)
&&
!
"-1"
.
equals
(
enterpriseId
))
{
}
haobanRoleBO
.
setMenuCodes
(
menuCodes
);
haobanRoleBO
.
setMenuList
(
EntityUtil
.
changeEntityListNew
(
HaobanMenuDTO
.
class
,
haobanMenuList
));
}
return
ServiceResponse
.
success
(
EntityUtil
.
changeEntityNew
(
HaobanRoleDTO
.
class
,
haobanRoleBO
));
}
}
@Override
@Override
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/role/HaobanMenuService.java
View file @
40a774c2
...
@@ -96,5 +96,5 @@ public interface HaobanMenuService {
...
@@ -96,5 +96,5 @@ public interface HaobanMenuService {
void
deleteByMenuCode
(
String
menuCode
)
;
void
deleteByMenuCode
(
String
menuCode
)
;
void
saveMenuFromGic
Noitic
(
String
enterpriseId
)
;
void
saveMenuFromGic
Event
(
String
params
)
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/role/impl/HaobanMenuServiceImpl.java
View file @
40a774c2
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
role
.
impl
;
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
role
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.clerk.api.dto.right.MenuDTO
;
import
com.gic.clerk.api.dto.right.MenuListQDTO
;
import
com.gic.clerk.api.service.MenuApiService
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.UniqueIdUtils
;
import
com.gic.commons.util.UniqueIdUtils
;
import
com.gic.haoban.manage.service.dao.mapper.WxEnterpriseRelatedMapper
;
import
com.gic.haoban.manage.service.dao.mapper.WxEnterpriseRelatedMapper
;
...
@@ -39,6 +43,8 @@ public class HaobanMenuServiceImpl implements HaobanMenuService {
...
@@ -39,6 +43,8 @@ public class HaobanMenuServiceImpl implements HaobanMenuService {
private
TabHaobanRoleMapper
roleMapper
;
private
TabHaobanRoleMapper
roleMapper
;
@Autowired
@Autowired
private
TabHaobanRoleMenuMapper
roleMenuMapper
;
private
TabHaobanRoleMenuMapper
roleMenuMapper
;
@Autowired
private
MenuApiService
menuApiService
;
@Override
@Override
public
TabHaobanMenu
queryById
(
String
menuCode
)
{
public
TabHaobanMenu
queryById
(
String
menuCode
)
{
...
@@ -180,14 +186,41 @@ public class HaobanMenuServiceImpl implements HaobanMenuService {
...
@@ -180,14 +186,41 @@ public class HaobanMenuServiceImpl implements HaobanMenuService {
}
}
@Override
@Override
public
void
saveMenuFromGicNoitic
(
String
enterpriseId
)
{
public
void
saveMenuFromGicEvent
(
String
params
)
{
List
<
String
>
menuCodeList
=
Arrays
.
asList
(
"1123"
)
;
logger
.
info
(
"服务开通-好办小程序={}"
,
params
);
List
<
Integer
>
addRoleTypeList
=
Arrays
.
asList
(
0
,
1
,
2
);
JSONObject
json
=
JSONObject
.
parseObject
(
params
)
;
logger
.
info
(
"保存菜单={}"
,
enterpriseId
);
String
serviceCode
=
json
.
getString
(
"serviceCode"
)
;
String
enterpriseId
=
json
.
getString
(
"enterpriseId"
)
;
String
operationType
=
json
.
getString
(
"operationType"
)
;
Boolean
addOrDel
=
null
;
// 进行授权 auth 取消授权 cancel
if
(
"auth"
.
equals
(
operationType
))
{
addOrDel
=
true
;
}
if
(
"cancel"
.
equals
(
operationType
))
{
addOrDel
=
false
;
}
MenuListQDTO
qdto
=
new
MenuListQDTO
()
;
ServiceResponse
<
List
<
MenuDTO
>>
resp
=
this
.
menuApiService
.
listMenu
(
qdto
)
;
if
(!
resp
.
isSuccess
())
{
logger
.
info
(
"失败={}"
,
JSONObject
.
toJSONString
(
resp
));
return
;
}
List
<
TabHaobanWxEnterpriseRelated
>
wxEnterpriseList
=
this
.
wxEnterpriseRelatedMapper
.
listByEnterpriseId
(
enterpriseId
)
;
List
<
TabHaobanWxEnterpriseRelated
>
wxEnterpriseList
=
this
.
wxEnterpriseRelatedMapper
.
listByEnterpriseId
(
enterpriseId
)
;
if
(
CollectionUtils
.
isEmpty
(
wxEnterpriseList
))
{
logger
.
info
(
"未关联企微={}"
,
enterpriseId
);
return
;
}
logger
.
info
(
"gic关联的企微={}"
,
JSONObject
.
toJSONString
(
wxEnterpriseList
));
logger
.
info
(
"gic关联的企微={}"
,
JSONObject
.
toJSONString
(
wxEnterpriseList
));
List
<
MenuDTO
>
menuDTOList
=
resp
.
getResult
()
;
if
(
CollectionUtils
.
isEmpty
(
menuDTOList
))
{
logger
.
info
(
"无相关菜单"
);
return
;
}
for
(
MenuDTO
gicMenu
:
menuDTOList
)
{
List
<
String
>
menuCodeList
=
Arrays
.
asList
(
gicMenu
.
getMenuCode
())
;
List
<
Integer
>
addRoleTypeList
=
Arrays
.
asList
(
0
,
1
,
2
);
Date
now
=
new
Date
()
;
Date
now
=
new
Date
()
;
if
(
CollectionUtils
.
isNotEmpty
(
wxEnterpriseList
))
{
for
(
int
i
=
0
;
i
<
wxEnterpriseList
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
wxEnterpriseList
.
size
();
i
++)
{
TabHaobanWxEnterpriseRelated
item
=
wxEnterpriseList
.
get
(
i
)
;
TabHaobanWxEnterpriseRelated
item
=
wxEnterpriseList
.
get
(
i
)
;
String
wxEnterpriseId
=
item
.
getWxEnterpriseId
()
;
String
wxEnterpriseId
=
item
.
getWxEnterpriseId
()
;
...
@@ -195,12 +228,17 @@ public class HaobanMenuServiceImpl implements HaobanMenuService {
...
@@ -195,12 +228,17 @@ public class HaobanMenuServiceImpl implements HaobanMenuService {
List
<
TabHaobanRole
>
list
=
this
.
roleMapper
.
getListByWxEnterpriseId
(
wxEnterpriseId
,
null
)
;
List
<
TabHaobanRole
>
list
=
this
.
roleMapper
.
getListByWxEnterpriseId
(
wxEnterpriseId
,
null
)
;
TabHaobanRoleMenu
menu
=
null
;
TabHaobanRoleMenu
menu
=
null
;
for
(
TabHaobanRole
role
:
list
)
{
for
(
TabHaobanRole
role
:
list
)
{
Long
roleId
=
role
.
getRoleId
()
;
int
roleType
=
role
.
getClerkType
()
;
int
roleType
=
role
.
getClerkType
()
;
if
(!
addRoleTypeList
.
contains
(
roleType
))
{
if
(!
addRoleTypeList
.
contains
(
roleType
))
{
continue
;
continue
;
}
}
Long
roleId
=
role
.
getRoleId
()
;
for
(
String
menuCode
:
menuCodeList
)
{
for
(
String
menuCode
:
menuCodeList
)
{
// 判断是否已存在
List
<
String
>
oldList
=
this
.
roleMenuMapper
.
getMenuInMenuCodes
(
wxEnterpriseId
,
roleId
,
Arrays
.
asList
(
menuCode
))
;
if
(
CollectionUtils
.
isNotEmpty
(
oldList
))
{
continue
;
}
menu
=
new
TabHaobanRoleMenu
()
;
menu
=
new
TabHaobanRoleMenu
()
;
menu
.
setRoleMenuId
(
UniqueIdUtils
.
uniqueLong
());
menu
.
setRoleMenuId
(
UniqueIdUtils
.
uniqueLong
());
menu
.
setRoleId
(
roleId
);
menu
.
setRoleId
(
roleId
);
...
@@ -212,7 +250,6 @@ public class HaobanMenuServiceImpl implements HaobanMenuService {
...
@@ -212,7 +250,6 @@ public class HaobanMenuServiceImpl implements HaobanMenuService {
insertMenuList
.
add
(
menu
)
;
insertMenuList
.
add
(
menu
)
;
}
}
}
}
if
(
CollectionUtils
.
isNotEmpty
(
insertMenuList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
insertMenuList
))
{
this
.
roleMenuMapper
.
insertBatch
(
insertMenuList
);
this
.
roleMenuMapper
.
insertBatch
(
insertMenuList
);
}
}
...
...
haoban-manage3-service/src/main/resources/dubbo-haoban-manage-service.xml
View file @
40a774c2
...
@@ -235,5 +235,6 @@
...
@@ -235,5 +235,6 @@
<dubbo:reference
id=
"contentProducerApiService"
interface=
"com.gic.content.api.service.ContentProducerApiService"
timeout=
"10000"
retries=
"0"
check=
"false"
/>
<dubbo:reference
id=
"contentProducerApiService"
interface=
"com.gic.content.api.service.ContentProducerApiService"
timeout=
"10000"
retries=
"0"
check=
"false"
/>
<dubbo:reference
interface=
"com.gic.content.api.service.ContentMaterialApiService"
id=
"contentMaterialApiService"
timeout=
"10000"
retries=
"0"
check=
"false"
/>
<dubbo:reference
interface=
"com.gic.content.api.service.ContentMaterialApiService"
id=
"contentMaterialApiService"
timeout=
"10000"
retries=
"0"
check=
"false"
/>
<dubbo:reference
interface=
"com.gic.content.api.service.ContentSettingApiService"
id=
"contentSettingApiService"
timeout=
"10000"
retries=
"0"
check=
"false"
/>
<dubbo:reference
interface=
"com.gic.content.api.service.ContentSettingApiService"
id=
"contentSettingApiService"
timeout=
"10000"
retries=
"0"
check=
"false"
/>
<dubbo:reference
interface=
"com.gic.clerk.api.service.MenuApiService"
id=
"menuApiService"
timeout=
"10000"
retries=
"0"
check=
"false"
/>
</beans>
</beans>
\ No newline at end of file
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