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
5cf7ff50
Commit
5cf7ff50
authored
May 08, 2024
by
徐高华
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/xgh/2024权限调整' into 'master'
Feature/xgh/2024权限调整 See merge request
!1735
parents
051c3a60
57e89231
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
410 additions
and
234 deletions
+410
-234
HaobanMenuQDTO.java
...m/gic/haoban/manage/api/dto/qdto/role/HaobanMenuQDTO.java
+46
-0
HaobanMenuDTO.java
...ava/com/gic/haoban/manage/api/dto/role/HaobanMenuDTO.java
+46
-0
HaobanCommonMQApiService.java
...c/haoban/manage/api/service/HaobanCommonMQApiService.java
+2
-0
HaobanMenuApiService.java
.../haoban/manage/api/service/role/HaobanMenuApiService.java
+2
-1
HaobanRoleApiService.java
.../haoban/manage/api/service/role/HaobanRoleApiService.java
+2
-7
TestController.java
...gic/haoban/manage/web/controller/test/TestController.java
+0
-16
TabHaobanMenuMapper.java
...n/manage/service/dao/mapper/role/TabHaobanMenuMapper.java
+2
-0
HaobanMenuBO.java
.../gic/haoban/manage/service/pojo/bo/role/HaobanMenuBO.java
+15
-0
HaobanCommonMQApiServiceImpl.java
...ervice/service/out/impl/HaobanCommonMQApiServiceImpl.java
+8
-0
HaobanMenuApiServiceImpl.java
...rvice/service/out/impl/role/HaobanMenuApiServiceImpl.java
+6
-2
HaobanRoleApiServiceImpl.java
...rvice/service/out/impl/role/HaobanRoleApiServiceImpl.java
+81
-198
HaobanMenuService.java
...haoban/manage/service/service/role/HaobanMenuService.java
+9
-1
HaobanMenuServiceImpl.java
...nage/service/service/role/impl/HaobanMenuServiceImpl.java
+173
-5
Constant.java
...ain/java/com/gic/haoban/manage/service/util/Constant.java
+7
-0
dubbo-haoban-manage-service.xml
...ervice/src/main/resources/dubbo-haoban-manage-service.xml
+2
-0
TabHaobanMenuMapper.xml
...ce/src/main/resources/mapper/role/TabHaobanMenuMapper.xml
+5
-0
HaobanRoleController.java
...ic/haoban/manage/web/controller/HaobanRoleController.java
+2
-2
WxStaffController.java
...m/gic/haoban/manage/web/controller/WxStaffController.java
+2
-2
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/qdto/role/HaobanMenuQDTO.java
View file @
5cf7ff50
...
@@ -49,6 +49,52 @@ public class HaobanMenuQDTO implements Serializable {
...
@@ -49,6 +49,52 @@ public class HaobanMenuQDTO implements Serializable {
private
String
ownerShip
;
private
String
ownerShip
;
private
Integer
statusFlag
=
1
;
private
Integer
statusFlag
=
1
;
private
String
appCode
;
private
Integer
funType
;
private
Integer
noOpenFlag
;
private
Integer
expireFlag
;
private
String
appVersions
;
public
String
getAppCode
()
{
return
appCode
;
}
public
void
setAppCode
(
String
appCode
)
{
this
.
appCode
=
appCode
;
}
public
Integer
getFunType
()
{
return
funType
;
}
public
void
setFunType
(
Integer
funType
)
{
this
.
funType
=
funType
;
}
public
Integer
getNoOpenFlag
()
{
return
noOpenFlag
;
}
public
void
setNoOpenFlag
(
Integer
noOpenFlag
)
{
this
.
noOpenFlag
=
noOpenFlag
;
}
public
Integer
getExpireFlag
()
{
return
expireFlag
;
}
public
void
setExpireFlag
(
Integer
expireFlag
)
{
this
.
expireFlag
=
expireFlag
;
}
public
String
getAppVersions
()
{
return
appVersions
;
}
public
void
setAppVersions
(
String
appVersions
)
{
this
.
appVersions
=
appVersions
;
}
public
Integer
getStatusFlag
()
{
public
Integer
getStatusFlag
()
{
return
statusFlag
;
return
statusFlag
;
}
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/role/HaobanMenuDTO.java
View file @
5cf7ff50
...
@@ -61,6 +61,52 @@ public class HaobanMenuDTO implements Serializable {
...
@@ -61,6 +61,52 @@ public class HaobanMenuDTO implements Serializable {
private
int
authControl
;
private
int
authControl
;
private
String
btnCodeRel
;
private
String
btnCodeRel
;
private
String
appCode
;
private
Integer
funType
;
private
Integer
noOpenFlag
;
private
Integer
expireFlag
;
private
String
appVersions
;
public
String
getAppCode
()
{
return
appCode
;
}
public
void
setAppCode
(
String
appCode
)
{
this
.
appCode
=
appCode
;
}
public
Integer
getFunType
()
{
return
funType
;
}
public
void
setFunType
(
Integer
funType
)
{
this
.
funType
=
funType
;
}
public
Integer
getNoOpenFlag
()
{
return
noOpenFlag
;
}
public
void
setNoOpenFlag
(
Integer
noOpenFlag
)
{
this
.
noOpenFlag
=
noOpenFlag
;
}
public
Integer
getExpireFlag
()
{
return
expireFlag
;
}
public
void
setExpireFlag
(
Integer
expireFlag
)
{
this
.
expireFlag
=
expireFlag
;
}
public
String
getAppVersions
()
{
return
appVersions
;
}
public
void
setAppVersions
(
String
appVersions
)
{
this
.
appVersions
=
appVersions
;
}
public
int
getAuthControl
()
{
public
int
getAuthControl
()
{
return
authControl
;
return
authControl
;
}
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/HaobanCommonMQApiService.java
View file @
5cf7ff50
...
@@ -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-api/src/main/java/com/gic/haoban/manage/api/service/role/HaobanMenuApiService.java
View file @
5cf7ff50
...
@@ -12,6 +12,7 @@ import java.util.List;
...
@@ -12,6 +12,7 @@ import java.util.List;
*/
*/
public
interface
HaobanMenuApiService
{
public
interface
HaobanMenuApiService
{
public
void
deleteByMenuCode
(
String
menuCode
)
;
/**
/**
* 添加
* 添加
*
*
...
@@ -42,7 +43,7 @@ public interface HaobanMenuApiService {
...
@@ -42,7 +43,7 @@ public interface HaobanMenuApiService {
* @param clerkType 职员类型
* @param clerkType 职员类型
* @return {@link ServiceResponse}<{@link List}<{@link HaobanMenuDTO}>>
* @return {@link ServiceResponse}<{@link List}<{@link HaobanMenuDTO}>>
*/
*/
ServiceResponse
<
List
<
HaobanMenuDTO
>>
getHaobanMenuTreeList
(
String
wxEnterpriseId
,
Integer
clerkType
);
ServiceResponse
<
List
<
HaobanMenuDTO
>>
getHaobanMenuTreeList
(
String
wxEnterpriseId
,
String
enterpriseId
,
Integer
clerkType
);
ServiceResponse
<
String
>
getMenuNameByCode
(
String
menuCode
);
ServiceResponse
<
String
>
getMenuNameByCode
(
String
menuCode
);
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/role/HaobanRoleApiService.java
View file @
5cf7ff50
...
@@ -44,6 +44,8 @@ public interface HaobanRoleApiService {
...
@@ -44,6 +44,8 @@ public interface HaobanRoleApiService {
*/
*/
ServiceResponse
<
HaobanRoleDTO
>
getMenuByWxEnterpriseIdAndClerkType
(
String
wxEnterpriseId
,
Integer
clerkType
,
Integer
systemFlag
);
ServiceResponse
<
HaobanRoleDTO
>
getMenuByWxEnterpriseIdAndClerkType
(
String
wxEnterpriseId
,
Integer
clerkType
,
Integer
systemFlag
);
ServiceResponse
<
HaobanRoleDTO
>
getMenuByWxEnterpriseIdAndClerkType
(
String
wxEnterpriseId
,
Integer
clerkType
,
Integer
systemFlag
,
String
enterpriseId
);
/**
/**
*
*
* 默认生成好办小程序权限
* 默认生成好办小程序权限
...
@@ -55,13 +57,6 @@ public interface HaobanRoleApiService {
...
@@ -55,13 +57,6 @@ public interface HaobanRoleApiService {
*/
*/
ServiceResponse
addHaobanRole
(
String
wxEnterpriseId
);
ServiceResponse
addHaobanRole
(
String
wxEnterpriseId
);
/**
* 角色初始化
* @param wxEnterpriseId wx企业标识
* @return {@link ServiceResponse}
*/
ServiceResponse
addHaobanRoleInit
(
String
wxEnterpriseId
);
/**
/**
* 查询菜单权限
* 查询菜单权限
...
...
haoban-manage3-operation-web/src/main/java/com/gic/haoban/manage/web/controller/test/TestController.java
View file @
5cf7ff50
...
@@ -248,22 +248,6 @@ public class TestController extends WebBaseController {
...
@@ -248,22 +248,6 @@ public class TestController extends WebBaseController {
}
}
@RequestMapping
(
"/addHaobanRoleInit"
)
public
HaobanResponse
addHaobanRoleInit
(
String
wxEnterpriseId
)
{
haobanRoleApiService
.
addHaobanRoleInit
(
wxEnterpriseId
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"/addHaobanRoleInitAll"
)
public
HaobanResponse
addHaobanRoleInitAll
()
{
List
<
YwWxEnterpriseDTO
>
ywWxEnterpriseDTOS
=
wxEnterpriseApiService
.
listAll
();
for
(
YwWxEnterpriseDTO
ywWxEnterpriseDTO
:
ywWxEnterpriseDTOS
)
{
haobanRoleApiService
.
addHaobanRoleInit
(
ywWxEnterpriseDTO
.
getWxEnterpriseId
());
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
@RequestMapping
(
"/get-cache"
)
@RequestMapping
(
"/get-cache"
)
@ResponseBody
@ResponseBody
public
Object
getCache
(
String
key
)
{
public
Object
getCache
(
String
key
)
{
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/role/TabHaobanMenuMapper.java
View file @
5cf7ff50
...
@@ -103,5 +103,7 @@ public interface TabHaobanMenuMapper {
...
@@ -103,5 +103,7 @@ public interface TabHaobanMenuMapper {
TabHaobanMenu
getMenuByCode
(
@Param
(
"menuCode"
)
String
menuCode
);
TabHaobanMenu
getMenuByCode
(
@Param
(
"menuCode"
)
String
menuCode
);
void
deleteAll
();
void
deleteAll
();
void
deleteByMenuCode
(
@Param
(
"menuCode"
)
String
menuCode
)
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/role/HaobanMenuBO.java
View file @
5cf7ff50
...
@@ -3,6 +3,7 @@ package com.gic.haoban.manage.service.pojo.bo.role;
...
@@ -3,6 +3,7 @@ package com.gic.haoban.manage.service.pojo.bo.role;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
/**
/**
*
*
...
@@ -190,5 +191,19 @@ public class HaobanMenuBO implements Serializable {
...
@@ -190,5 +191,19 @@ public class HaobanMenuBO implements Serializable {
public
void
setOwnerShip
(
String
ownerShip
)
{
public
void
setOwnerShip
(
String
ownerShip
)
{
this
.
ownerShip
=
ownerShip
;
this
.
ownerShip
=
ownerShip
;
}
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
HaobanMenuBO
that
=
(
HaobanMenuBO
)
o
;
return
Objects
.
equals
(
menuCode
,
that
.
menuCode
);
}
@Override
public
int
hashCode
()
{
return
Objects
.
hash
(
menuCode
);
}
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/HaobanCommonMQApiServiceImpl.java
View file @
5cf7ff50
...
@@ -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
)
{
...
@@ -233,4 +236,9 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService {
...
@@ -233,4 +236,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/HaobanMenuApiServiceImpl.java
View file @
5cf7ff50
...
@@ -19,6 +19,10 @@ public class HaobanMenuApiServiceImpl implements HaobanMenuApiService {
...
@@ -19,6 +19,10 @@ public class HaobanMenuApiServiceImpl implements HaobanMenuApiService {
@Autowired
@Autowired
private
HaobanMenuService
haobanMenuService
;
private
HaobanMenuService
haobanMenuService
;
@Override
public
void
deleteByMenuCode
(
String
menuCode
)
{
this
.
haobanMenuService
.
deleteByMenuCode
(
menuCode
);
}
@Override
@Override
public
ServiceResponse
add
(
List
<
HaobanMenuQDTO
>
haobanMenuDTOList
)
{
public
ServiceResponse
add
(
List
<
HaobanMenuQDTO
>
haobanMenuDTOList
)
{
...
@@ -55,8 +59,8 @@ public class HaobanMenuApiServiceImpl implements HaobanMenuApiService {
...
@@ -55,8 +59,8 @@ public class HaobanMenuApiServiceImpl implements HaobanMenuApiService {
}
}
@Override
@Override
public
ServiceResponse
<
List
<
HaobanMenuDTO
>>
getHaobanMenuTreeList
(
String
wxEnterpriseId
,
Integer
clerkType
)
{
public
ServiceResponse
<
List
<
HaobanMenuDTO
>>
getHaobanMenuTreeList
(
String
wxEnterpriseId
,
String
enterpriseId
,
Integer
clerkType
)
{
List
<
HaobanMenuBO
>
haobanMenuBOList
=
haobanMenuService
.
getHaobanMenuTreeList
(
wxEnterpriseId
,
clerkType
);
List
<
HaobanMenuBO
>
haobanMenuBOList
=
haobanMenuService
.
getHaobanMenuTreeList
(
wxEnterpriseId
,
enterpriseId
,
clerkType
);
return
ServiceResponse
.
success
(
EntityUtil
.
changeEntityListNew
(
HaobanMenuDTO
.
class
,
haobanMenuBOList
));
return
ServiceResponse
.
success
(
EntityUtil
.
changeEntityListNew
(
HaobanMenuDTO
.
class
,
haobanMenuBOList
));
}
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/role/HaobanRoleApiServiceImpl.java
View file @
5cf7ff50
...
@@ -2,6 +2,9 @@ package com.gic.haoban.manage.service.service.out.impl.role;
...
@@ -2,6 +2,9 @@ package com.gic.haoban.manage.service.service.out.impl.role;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.clerk.api.dto.right.EnterpriseSuperAdminRightMenuQDTO
;
import
com.gic.clerk.api.dto.right.RightMenuDTO
;
import
com.gic.clerk.api.service.RightService
;
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.app.customer.service.api.service.ManageSettingApiService
;
import
com.gic.haoban.app.customer.service.api.service.ManageSettingApiService
;
...
@@ -72,6 +75,8 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
...
@@ -72,6 +75,8 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
private
TemplateEnterpriseRelatedService
templateEnterpriseRelatedService
;
private
TemplateEnterpriseRelatedService
templateEnterpriseRelatedService
;
@Autowired
@Autowired
private
MaterialEnterpriseAdaptor
materialEnterpriseAdaptor
;
private
MaterialEnterpriseAdaptor
materialEnterpriseAdaptor
;
@Autowired
private
RightService
rightService
;
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
@@ -238,38 +243,86 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
...
@@ -238,38 +243,86 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
@Override
@Override
public
ServiceResponse
<
HaobanRoleDTO
>
getMenuByWxEnterpriseIdAndClerkType
(
String
wxEnterpriseId
,
Integer
clerkType
,
Integer
systemFlag
)
{
public
ServiceResponse
<
HaobanRoleDTO
>
getMenuByWxEnterpriseIdAndClerkType
(
String
wxEnterpriseId
,
Integer
clerkType
,
Integer
systemFlag
)
{
HaobanRoleBO
haobanRoleBO
=
haobanRoleService
.
getByWxEnterpriseIdAndClerkType
(
wxEnterpriseId
,
clerkType
,
systemFlag
);
return
this
.
getMenuByWxEnterpriseIdAndClerkType
(
wxEnterpriseId
,
clerkType
,
systemFlag
,
null
)
;
if
(
haobanRoleBO
!=
null
)
{
}
List
<
String
>
menuCodes
=
haobanRoleMenuService
.
getByWxEnterpriseIdAndRoleId
(
wxEnterpriseId
,
haobanRoleBO
.
getRoleId
());
List
<
HaobanMenuBO
>
allMenuList
=
haobanMenuService
.
getAllMenuList
();
@Override
// 添加关联的权限
public
ServiceResponse
<
HaobanRoleDTO
>
getMenuByWxEnterpriseIdAndClerkType
(
String
wxEnterpriseId
,
Integer
clerkType
,
Integer
systemFlag
,
String
enterpriseId
)
{
List
<
HaobanMenuBO
>
haobanMenuList
=
new
ArrayList
<>()
;
logger
.
info
(
"查询好办小程序权限={},{},{},{}"
,
systemFlag
,
wxEnterpriseId
,
clerkType
,
enterpriseId
);
for
(
HaobanMenuBO
item
:
allMenuList
)
{
// 查询商户普通权限是,需要过滤超管没有的
String
code
=
item
.
getMenuCode
()
;
HaobanRoleBO
superRoleBO
=
haobanRoleService
.
getByWxEnterpriseIdAndClerkType
(
wxEnterpriseId
,
clerkType
,
0
);
// 开启的权限
if
(
null
==
superRoleBO
)
{
if
(
menuCodes
.
contains
(
code
))
{
return
ServiceResponse
.
failure
(
"9999"
,
"未配置运维权限"
)
;
haobanMenuList
.
add
(
item
)
;
}
continue
;
List
<
HaobanMenuBO
>
allMenuList
=
haobanMenuService
.
getAllMenuList
();
}
Long
superRoleId
=
superRoleBO
.
getRoleId
()
;
// 无需授权的权限
List
<
String
>
superMenuCodeList
=
this
.
listRoleMenuCode
(
allMenuList
,
wxEnterpriseId
,
superRoleId
);
if
(
0
==
item
.
getAuthControl
()
&&
StringUtils
.
isEmpty
(
item
.
getBtnCodeRel
()))
{
// 查询gic配置的权限
haobanMenuList
.
add
(
item
)
;
List
<
String
>
gicBuyCodes
=
this
.
haobanMenuService
.
getGicBuyCodes
(
enterpriseId
,
clerkType
)
;
menuCodes
.
add
(
code
)
;
if
(
CollectionUtils
.
isNotEmpty
(
gicBuyCodes
))
{
continue
;
superMenuCodeList
.
addAll
(
gicBuyCodes
)
;
}
}
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"
,
"未配置子管理员权限"
)
;
}
}
for
(
HaobanMenuBO
item
:
allMenuList
)
{
Long
subRoleId
=
subRoleBO
.
getRoleId
()
;
String
code
=
item
.
getBtnCodeRel
()
;
subMenuCodes
=
this
.
listRoleMenuCode
(
allMenuList
,
wxEnterpriseId
,
subRoleId
)
;
if
(
0
==
item
.
getAuthControl
()
&&
StringUtils
.
isNotEmpty
(
item
.
getBtnCodeRel
())
&&
menuCodes
.
contains
(
code
))
{
}
haobanMenuList
.
add
(
item
)
;
HaobanRoleBO
retBO
=
null
;
menuCodes
.
add
(
code
)
;
if
(
systemFlag
==
0
)
{
continue
;
retBO
=
superRoleBO
;
retBO
.
setMenuCodes
(
superMenuCodeList
);
}
else
{
retBO
=
subRoleBO
;
List
<
String
>
subCodeList
=
new
ArrayList
<>()
;
for
(
String
subCode
:
subMenuCodes
)
{
if
(
superMenuCodeList
.
contains
(
subCode
))
{
subCodeList
.
add
(
subCode
)
;
}
}
}
}
haobanRoleBO
.
setMenuCodes
(
menuCodes
);
retBO
.
setMenuCodes
(
subCodeList
);
haobanRoleBO
.
setMenuList
(
EntityUtil
.
changeEntityListNew
(
HaobanMenuDTO
.
class
,
haobanMenuList
));
}
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
)
;
}
}
}
return
ServiceResponse
.
success
(
EntityUtil
.
changeEntityNew
(
HaobanRoleDTO
.
class
,
haobanRoleBO
));
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
)
{
String
code
=
item
.
getMenuCode
()
;
// 开启的权限
if
(
menuCodes
.
contains
(
code
))
{
continue
;
}
// 无需授权的权限
if
(
0
==
item
.
getAuthControl
()
&&
StringUtils
.
isEmpty
(
item
.
getBtnCodeRel
()))
{
menuCodes
.
add
(
code
)
;
continue
;
}
}
for
(
HaobanMenuBO
item
:
allMenuList
)
{
String
code
=
item
.
getBtnCodeRel
()
;
if
(
0
==
item
.
getAuthControl
()
&&
StringUtils
.
isNotEmpty
(
item
.
getBtnCodeRel
())
&&
menuCodes
.
contains
(
code
))
{
menuCodes
.
add
(
code
)
;
continue
;
}
}
return
menuCodes
;
}
}
@Override
@Override
...
@@ -325,176 +378,6 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
...
@@ -325,176 +378,6 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
return
ServiceResponse
.
success
();
return
ServiceResponse
.
success
();
}
}
@Override
public
ServiceResponse
addHaobanRoleInit
(
String
wxEnterpriseId
)
{
List
<
TabHaobanWxEnterpriseRelated
>
enterpriseRelateds
=
wxEnterpriseRelatedService
.
getByWxEnterpriseId
(
wxEnterpriseId
);
if
(
CollectionUtils
.
isEmpty
(
enterpriseRelateds
))
{
logger
.
error
(
"无关联企业:{}"
,
wxEnterpriseId
);
return
ServiceResponse
.
success
();
}
//全品牌搜索
boolean
searchFlag
=
false
;
//离职继承
boolean
handoverFlag
=
false
;
boolean
addClerkFlag
=
false
;
boolean
editClerkFlag
=
false
;
boolean
delClerkFlag
=
false
;
for
(
TabHaobanWxEnterpriseRelated
enterpriseRelated
:
enterpriseRelateds
)
{
ClerkEditInfoDTO
clerkEditInfoDTO
=
ClerkEditInfoDTO
.
info
(
enterpriseRelated
.
getClerkEditFlag
());
logger
.
info
(
"导购状态:{}"
,
JSON
.
toJSONString
(
clerkEditInfoDTO
));
addClerkFlag
=
clerkEditInfoDTO
.
getAddClerkFlag
()
==
1
;
editClerkFlag
=
clerkEditInfoDTO
.
getEditClerkFlag
()
==
1
;
delClerkFlag
=
clerkEditInfoDTO
.
getDelClerkFlag
()
==
1
;
boolean
searchFlagEnterpriseId
=
manageSettingApiService
.
getEnterpriseIdByFlag
(
enterpriseRelated
.
getEnterpriseId
(),
1
,
null
);
if
(
searchFlagEnterpriseId
)
{
searchFlag
=
true
;
break
;
}
}
for
(
TabHaobanWxEnterpriseRelated
enterpriseRelated
:
enterpriseRelateds
)
{
boolean
handoverFlagEnterpriseId
=
manageSettingApiService
.
getEnterpriseIdByFlag
(
enterpriseRelated
.
getEnterpriseId
(),
null
,
1
);
if
(
handoverFlagEnterpriseId
)
{
handoverFlag
=
true
;
break
;
}
}
List
<
HaobanRoleBO
>
haobanRoleBOList
=
haobanRoleService
.
getListByWxEnterpriseId
(
"-1"
,
null
);
//导购店长
List
<
String
>
menuCodes
=
new
ArrayList
<>();
//运维后台 导购店长
List
<
String
>
ywMenuCodes
=
new
ArrayList
<>();
//区经
List
<
String
>
menuManageCodes
=
new
ArrayList
<>();
if
(
searchFlag
)
{
menuCodes
.
add
(
"customerList_allSearch"
);
menuManageCodes
.
add
(
"customerList_allSearch"
);
}
if
(
handoverFlag
)
{
menuCodes
.
add
(
"customerList_inheritCustomer"
);
}
ywMenuCodes
.
add
(
"customerList_allSearch"
);
ywMenuCodes
.
add
(
"customerList_inheritCustomer"
);
if
(
addClerkFlag
)
{
menuCodes
.
add
(
"userCenter_addClerk"
);
}
if
(
editClerkFlag
)
{
menuCodes
.
add
(
"storeClerkList_edit"
);
}
if
(
delClerkFlag
)
{
menuCodes
.
add
(
"userCenter_delClerk"
);
}
menuCodes
.
add
(
"workbench"
);
menuCodes
.
add
(
"userCenter"
);
menuCodes
.
add
(
"dataSummary"
);
ywMenuCodes
.
add
(
"workbench"
);
ywMenuCodes
.
add
(
"userCenter"
);
ywMenuCodes
.
add
(
"dataSummary"
);
//导购和店长初始化权限以好办web为准
List
<
String
>
menuCodesOld
=
applicationSettingApiService
.
findMenuCodes
(
wxEnterpriseId
,
1
);
if
(
CollectionUtils
.
isEmpty
(
menuCodesOld
))
{
logger
.
error
(
"无权限:{}"
,
wxEnterpriseId
);
return
ServiceResponse
.
success
();
}
List
<
String
>
clerkMenuCodes
=
haobanMenuService
.
getHaobanMenuByPid
(
menuCodesOld
);
menuCodes
.
addAll
(
clerkMenuCodes
);
TemplateEnterpriseRelatedDTO
templateEnterpriseRelatedDTO
=
templateEnterpriseRelatedService
.
selectByWxEnterpriseId
(
wxEnterpriseId
);
if
(
templateEnterpriseRelatedDTO
==
null
)
{
logger
.
error
(
"无模板权限:{}"
,
wxEnterpriseId
);
return
ServiceResponse
.
success
();
}
List
<
String
>
ywMenuCodesOld
=
tabHaobanTemplateApplicationRelatedMapper
.
listMenuCodesByTemplateId
(
templateEnterpriseRelatedDTO
.
getApplicationTemplateId
());
List
<
String
>
ywClerkMenuCodes
=
haobanMenuService
.
getHaobanMenuByPid
(
ywMenuCodesOld
);
ywMenuCodes
.
addAll
(
ywClerkMenuCodes
);
HaobanRoleQDTO
haobanRoleQDTO
=
new
HaobanRoleQDTO
();
HaobanRoleQDTO
haobanRoleSystemQDTO
=
new
HaobanRoleQDTO
();
int
count
=
haobanRoleService
.
getCountByWxEnterpriseId
(
wxEnterpriseId
,
null
);
//清除历史权限
if
(
count
>
0
)
{
haobanRoleService
.
deleteByWxEnterpriseId
(
wxEnterpriseId
,
null
);
haobanRoleMenuService
.
deleteByWxEnterpriseId
(
wxEnterpriseId
);
}
for
(
HaobanRoleBO
haobanRoleBO
:
haobanRoleBOList
)
{
Long
roleId
=
haobanRoleBO
.
getRoleId
();
Integer
clerkType
=
haobanRoleBO
.
getClerkType
();
String
roleName
=
haobanRoleBO
.
getRoleName
();
haobanRoleQDTO
.
setRoleName
(
roleName
);
haobanRoleSystemQDTO
.
setRoleName
(
roleName
);
haobanRoleQDTO
.
setSystemFlag
(
1
);
haobanRoleSystemQDTO
.
setSystemFlag
(
0
);
if
(
RoleClerkTypeEnum
.
CLERK
.
getCode
().
equals
(
clerkType
))
{
ywMenuCodes
.
add
(
"storeClerkList_edit"
);
//导购
//初始化我的
List
<
String
>
userCenter
=
haobanMenuService
.
getHaobanMenuByPid
(
Collections
.
singletonList
(
"userCenter"
));
List
<
String
>
menuList
=
haobanRoleMenuService
.
getMenuInMenuCodes
(
"-1"
,
roleId
,
userCenter
);
List
<
String
>
codes
=
RolesListUtils
.
unionList
(
menuList
,
menuCodes
);
List
<
String
>
ywCodes
=
RolesListUtils
.
unionList
(
menuList
,
ywMenuCodes
);
HaobanRoleMenuQDTO
clerkMenus
=
new
HaobanRoleMenuQDTO
();
clerkMenus
.
setClerkType
(
clerkType
);
clerkMenus
.
setMenuCodes
(
new
ArrayList
<>(
new
HashSet
<>(
codes
)));
haobanRoleQDTO
.
setClerkMenus
(
clerkMenus
);
HaobanRoleMenuQDTO
ywClerkMenus
=
new
HaobanRoleMenuQDTO
();
ywClerkMenus
.
setClerkType
(
clerkType
);
ywClerkMenus
.
setMenuCodes
(
new
ArrayList
<>(
new
HashSet
<>(
ywCodes
)));
haobanRoleSystemQDTO
.
setClerkMenus
(
ywClerkMenus
);
}
else
if
(
RoleClerkTypeEnum
.
SHOP
.
getCode
().
equals
(
clerkType
))
{
ywMenuCodes
.
add
(
"userCenter_addClerk"
);
ywMenuCodes
.
add
(
"storeClerkList_edit"
);
ywMenuCodes
.
add
(
"userCenter_delClerk"
);
//店长
//我的
List
<
String
>
userCenter
=
haobanMenuService
.
getHaobanMenuByPid
(
Collections
.
singletonList
(
"userCenter"
));
List
<
String
>
menuList
=
haobanRoleMenuService
.
getMenuInMenuCodes
(
"-1"
,
roleId
,
userCenter
);
List
<
String
>
unionListcodes
=
RolesListUtils
.
unionList
(
menuList
,
menuCodes
);
List
<
String
>
ywUnionListcodes
=
RolesListUtils
.
unionList
(
menuList
,
ywMenuCodes
);
HaobanRoleMenuQDTO
manegeClerkMenus
=
new
HaobanRoleMenuQDTO
();
manegeClerkMenus
.
setClerkType
(
clerkType
);
manegeClerkMenus
.
setMenuCodes
(
new
ArrayList
<>(
new
HashSet
<>(
unionListcodes
)));
haobanRoleQDTO
.
setManegeClerkMenus
(
manegeClerkMenus
);
HaobanRoleMenuQDTO
ywManegeClerkMenus
=
new
HaobanRoleMenuQDTO
();
ywManegeClerkMenus
.
setClerkType
(
clerkType
);
ywManegeClerkMenus
.
setMenuCodes
(
new
ArrayList
<>(
new
HashSet
<>(
ywUnionListcodes
)));
haobanRoleSystemQDTO
.
setManegeClerkMenus
(
ywManegeClerkMenus
);
}
else
if
(
RoleClerkTypeEnum
.
MANAGE
.
getCode
().
equals
(
clerkType
))
{
List
<
String
>
manageCodes
=
haobanRoleMenuService
.
getByWxEnterpriseIdAndRoleId
(
"-1"
,
roleId
);
menuManageCodes
.
addAll
(
manageCodes
);
HaobanRoleMenuQDTO
managerMenus
=
new
HaobanRoleMenuQDTO
();
managerMenus
.
setClerkType
(
clerkType
);
managerMenus
.
setMenuCodes
(
menuManageCodes
);
haobanRoleQDTO
.
setManagerMenus
(
managerMenus
);
haobanRoleSystemQDTO
.
setManagerMenus
(
managerMenus
);
}
}
WebLoginDTO
login
=
new
WebLoginDTO
();
login
.
setWxEnterpriseId
(
wxEnterpriseId
);
login
.
setClerkId
(
"-1"
);
login
.
setClerkName
(
"系统"
);
//商户权限
add
(
haobanRoleQDTO
,
login
);
//运维系统权限
add
(
haobanRoleSystemQDTO
,
login
);
return
ServiceResponse
.
success
();
}
/**
/**
* 内容 权限初始化
* 内容 权限初始化
*
*
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/role/HaobanMenuService.java
View file @
5cf7ff50
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
role
;
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
role
;
import
com.gic.clerk.api.dto.right.RightMenuDTO
;
import
com.gic.haoban.manage.service.entity.role.TabHaobanMenu
;
import
com.gic.haoban.manage.service.entity.role.TabHaobanMenu
;
import
com.gic.haoban.manage.service.pojo.bo.role.HaobanMenuBO
;
import
com.gic.haoban.manage.service.pojo.bo.role.HaobanMenuBO
;
...
@@ -63,7 +64,10 @@ public interface HaobanMenuService {
...
@@ -63,7 +64,10 @@ public interface HaobanMenuService {
* @param clerkType 职员类型
* @param clerkType 职员类型
* @return {@link List}<{@link HaobanMenuBO}>
* @return {@link List}<{@link HaobanMenuBO}>
*/
*/
List
<
HaobanMenuBO
>
getHaobanMenuTreeList
(
String
wxEnterpriseId
,
Integer
clerkType
);
List
<
HaobanMenuBO
>
getHaobanMenuTreeList
(
String
wxEnterpriseId
,
String
enterpriseId
,
Integer
clerkType
);
public
List
<
RightMenuDTO
>
getGicBuyMenus
(
String
enterpriseId
)
;
public
List
<
String
>
getGicBuyCodes
(
String
enterpriseId
,
Integer
clerkType
)
;
/**
/**
...
@@ -93,4 +97,8 @@ public interface HaobanMenuService {
...
@@ -93,4 +97,8 @@ public interface HaobanMenuService {
HaobanMenuBO
getMenuByCode
(
String
menuCode
);
HaobanMenuBO
getMenuByCode
(
String
menuCode
);
void
deleteAll
();
void
deleteAll
();
void
deleteByMenuCode
(
String
menuCode
)
;
void
saveMenuFromGicEvent
(
String
params
)
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/role/impl/HaobanMenuServiceImpl.java
View file @
5cf7ff50
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.gic.api.base.commons.ServiceResponse
;
import
com.gic.clerk.api.dto.right.EnterpriseSuperAdminRightMenuQDTO
;
import
com.gic.clerk.api.dto.right.MenuDTO
;
import
com.gic.clerk.api.dto.right.MenuListQDTO
;
import
com.gic.clerk.api.dto.right.RightMenuDTO
;
import
com.gic.clerk.api.service.MenuApiService
;
import
com.gic.clerk.api.service.RightService
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.UniqueIdUtils
;
import
com.gic.haoban.manage.service.dao.mapper.WxEnterpriseRelatedMapper
;
import
com.gic.haoban.manage.service.dao.mapper.role.TabHaobanMenuMapper
;
import
com.gic.haoban.manage.service.dao.mapper.role.TabHaobanMenuMapper
;
import
com.gic.haoban.manage.service.dao.mapper.role.TabHaobanRoleMapper
;
import
com.gic.haoban.manage.service.dao.mapper.role.TabHaobanRoleMenuMapper
;
import
com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated
;
import
com.gic.haoban.manage.service.entity.role.TabHaobanMenu
;
import
com.gic.haoban.manage.service.entity.role.TabHaobanMenu
;
import
com.gic.haoban.manage.service.entity.role.TabHaobanRole
;
import
com.gic.haoban.manage.service.entity.role.TabHaobanRoleMenu
;
import
com.gic.haoban.manage.service.pojo.bo.role.HaobanMenuBO
;
import
com.gic.haoban.manage.service.pojo.bo.role.HaobanMenuBO
;
import
com.gic.haoban.manage.service.service.MemberQueryService
;
import
com.gic.haoban.manage.service.service.role.HaobanMenuService
;
import
com.gic.haoban.manage.service.service.role.HaobanMenuService
;
import
com.gic.haoban.manage.service.util.Constant
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.Collections
;
import
java.util.stream.Collectors
;
import
java.util.Date
;
import
java.util.stream.Stream
;
import
java.util.List
;
/**
/**
* @author mozhu
* @author mozhu
...
@@ -21,9 +39,20 @@ import java.util.List;
...
@@ -21,9 +39,20 @@ import java.util.List;
*/
*/
@Service
@Service
public
class
HaobanMenuServiceImpl
implements
HaobanMenuService
{
public
class
HaobanMenuServiceImpl
implements
HaobanMenuService
{
private
static
final
Logger
logger
=
LogManager
.
getLogger
(
HaobanMenuService
.
class
);
@Autowired
@Autowired
private
TabHaobanMenuMapper
tabHaobanMenuMapper
;
private
TabHaobanMenuMapper
tabHaobanMenuMapper
;
@Autowired
private
WxEnterpriseRelatedMapper
wxEnterpriseRelatedMapper
;
@Autowired
private
TabHaobanRoleMapper
roleMapper
;
@Autowired
private
TabHaobanRoleMenuMapper
roleMenuMapper
;
@Autowired
private
MenuApiService
menuApiService
;
@Autowired
private
RightService
rightService
;
@Override
@Override
public
TabHaobanMenu
queryById
(
String
menuCode
)
{
public
TabHaobanMenu
queryById
(
String
menuCode
)
{
...
@@ -88,14 +117,60 @@ public class HaobanMenuServiceImpl implements HaobanMenuService {
...
@@ -88,14 +117,60 @@ public class HaobanMenuServiceImpl implements HaobanMenuService {
}
}
@Override
@Override
public
List
<
HaobanMenuBO
>
getHaobanMenuTreeList
(
String
wxEnterpriseId
,
Integer
clerkType
)
{
public
List
<
RightMenuDTO
>
getGicBuyMenus
(
String
enterpriseId
)
{
logger
.
info
(
"查询gic权限={}"
,
enterpriseId
);
if
(
StringUtils
.
isBlank
(
enterpriseId
)
||
"-1"
.
equals
(
enterpriseId
))
{
return
null
;
}
// 查询gic购买的好办小程序权限
EnterpriseSuperAdminRightMenuQDTO
qdto
=
new
EnterpriseSuperAdminRightMenuQDTO
()
;
qdto
.
setEnterpriseId
(
enterpriseId
);
qdto
.
setNamespace
(
Constant
.
hb_wxa_namespace
);
List
<
RightMenuDTO
>
list
=
this
.
rightService
.
listSuperAdminRightMenu
(
qdto
)
;
logger
.
info
(
"查询gic购买的好办小程序权限={},返回={}"
,
enterpriseId
,
JSONObject
.
toJSONString
(
list
));
return
list
;
}
// Integer clerkType
@Override
public
List
<
String
>
getGicBuyCodes
(
String
enterpriseId
,
Integer
clerkType
)
{
List
<
RightMenuDTO
>
list
=
this
.
getGicBuyMenus
(
enterpriseId
)
;
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
List
<
String
>
codeList
=
list
.
stream
().
filter
(
o
->{
return
o
.
getHaobanRoles
().
contains
(
clerkType
+
""
)
;
}).
map
(
o
->
o
.
getMenuCode
()).
collect
(
Collectors
.
toList
());
logger
.
info
(
"满足的gic权限={},clerkType={}"
,
codeList
,
clerkType
);
return
codeList
;
}
return
null
;
}
@Override
public
List
<
HaobanMenuBO
>
getHaobanMenuTreeList
(
String
wxEnterpriseId
,
String
enterpriseId
,
Integer
clerkType
)
{
List
<
TabHaobanMenu
>
pidMenuList
=
tabHaobanMenuMapper
.
getHaobanPidMenuList
(
wxEnterpriseId
,
clerkType
,
0
);
List
<
TabHaobanMenu
>
pidMenuList
=
tabHaobanMenuMapper
.
getHaobanPidMenuList
(
wxEnterpriseId
,
clerkType
,
0
);
List
<
TabHaobanMenu
>
notPidMenuList
=
tabHaobanMenuMapper
.
getHaobanNotPidMenuList
(
wxEnterpriseId
,
clerkType
,
0
);
List
<
TabHaobanMenu
>
notPidMenuList
=
tabHaobanMenuMapper
.
getHaobanNotPidMenuList
(
wxEnterpriseId
,
clerkType
,
0
);
List
<
HaobanMenuBO
>
pidMenuBOList
=
EntityUtil
.
changeEntityListNew
(
HaobanMenuBO
.
class
,
pidMenuList
);
List
<
HaobanMenuBO
>
pidMenuBOList
=
EntityUtil
.
changeEntityListNew
(
HaobanMenuBO
.
class
,
pidMenuList
);
List
<
HaobanMenuBO
>
notPidMenuBOList
=
EntityUtil
.
changeEntityListNew
(
HaobanMenuBO
.
class
,
notPidMenuList
);
List
<
HaobanMenuBO
>
notPidMenuBOList
=
EntityUtil
.
changeEntityListNew
(
HaobanMenuBO
.
class
,
notPidMenuList
);
List
<
String
>
gicMenulist
=
this
.
getGicBuyCodes
(
enterpriseId
,
clerkType
)
;
if
(
CollectionUtils
.
isNotEmpty
(
gicMenulist
))
{
List
<
HaobanMenuBO
>
allMenuList
=
this
.
getAllMenuList
();
Map
<
String
,
HaobanMenuBO
>
map
=
allMenuList
.
stream
().
collect
(
Collectors
.
toMap
(
HaobanMenuBO:
:
getMenuCode
,
o
->
o
,(
k1
,
k2
)->
k1
))
;
for
(
String
menuCode
:
gicMenulist
)
{
HaobanMenuBO
bo
=
map
.
get
(
menuCode
)
;
if
(
null
!=
bo
)
{
if
(
menuCode
.
equals
(
bo
.
getParentCode
()))
{
notPidMenuBOList
.
add
(
bo
)
;
}
else
{
pidMenuBOList
.
add
(
bo
)
;
}
}
}
}
if
(
CollectionUtils
.
isEmpty
(
pidMenuBOList
))
{
if
(
CollectionUtils
.
isEmpty
(
pidMenuBOList
))
{
return
new
ArrayList
<>();
return
new
ArrayList
<>();
}
}
pidMenuBOList
=
pidMenuBOList
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
notPidMenuBOList
=
notPidMenuBOList
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
for
(
HaobanMenuBO
haobanMenuBO
:
pidMenuBOList
)
{
for
(
HaobanMenuBO
haobanMenuBO
:
pidMenuBOList
)
{
if
(
CollectionUtils
.
isNotEmpty
(
notPidMenuBOList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
notPidMenuBOList
))
{
List
<
HaobanMenuBO
>
menus
=
iterateMenus
(
notPidMenuBOList
,
haobanMenuBO
.
getMenuCode
());
List
<
HaobanMenuBO
>
menus
=
iterateMenus
(
notPidMenuBOList
,
haobanMenuBO
.
getMenuCode
());
...
@@ -159,4 +234,97 @@ public class HaobanMenuServiceImpl implements HaobanMenuService {
...
@@ -159,4 +234,97 @@ public class HaobanMenuServiceImpl implements HaobanMenuService {
return
result
;
return
result
;
}
}
@Override
public
void
deleteByMenuCode
(
String
menuCode
)
{
this
.
tabHaobanMenuMapper
.
deleteByMenuCode
(
menuCode
);
}
@Override
public
void
saveMenuFromGicEvent
(
String
params
)
{
logger
.
info
(
"服务开通事件-好办小程序={}"
,
params
);
JSONObject
json
=
JSONObject
.
parseObject
(
params
)
;
String
serviceCode
=
json
.
getString
(
"serviceCode"
)
;
String
enterpriseId
=
json
.
getString
(
"enterpriseId"
)
;
String
operationType
=
json
.
getString
(
"operationType"
)
;
Integer
packageCode
=
json
.
getInteger
(
"packageCode"
)
;
// 进行授权 auth 取消授权 cancel
if
(
"cancel"
.
equals
(
operationType
))
{
logger
.
info
(
"取消不处理"
);
return
;
}
List
<
TabHaobanWxEnterpriseRelated
>
wxEnterpriseList
=
this
.
wxEnterpriseRelatedMapper
.
listByEnterpriseId
(
enterpriseId
)
;
if
(
CollectionUtils
.
isEmpty
(
wxEnterpriseList
))
{
logger
.
info
(
"无好办={}"
,
enterpriseId
);
return
;
}
MenuListQDTO
qdto
=
new
MenuListQDTO
()
;
qdto
.
setNamespace
(
Constant
.
hb_wxa_namespace
);
qdto
.
setServiceCode
(
serviceCode
);
qdto
.
setPackageCode
(
packageCode
);
ServiceResponse
<
List
<
MenuDTO
>>
resp
=
this
.
menuApiService
.
listMenu
(
qdto
)
;
logger
.
info
(
"查询gic权限={},{}"
,
JSONObject
.
toJSONString
(
qdto
),
JSONObject
.
toJSONString
(
resp
));
if
(!
resp
.
isSuccess
()
||
CollectionUtils
.
isEmpty
(
resp
.
getResult
()))
{
logger
.
info
(
"无相关菜单,不处理"
);
return
;
}
logger
.
info
(
"gic关联的企微={}"
,
JSONObject
.
toJSONString
(
wxEnterpriseList
));
List
<
MenuDTO
>
menuDTOList
=
resp
.
getResult
()
;
for
(
MenuDTO
gicMenu
:
menuDTOList
)
{
// 授权方式,是否自动授权给子管理员 0,不做处理 1:自动授权子管理员
Integer
authType
=
gicMenu
.
getAuthType
()
;
String
gicMenuCode
=
gicMenu
.
getMenuCode
();
String
haobanRoles
=
gicMenu
.
getHaobanRoles
()
;
if
(
null
==
authType
||
authType
==
0
)
{
logger
.
info
(
"authType无值{}"
,
gicMenuCode
);
continue
;
}
if
(
StringUtils
.
isBlank
(
haobanRoles
))
{
logger
.
info
(
"haobanRoles无值{}"
,
gicMenuCode
);
continue
;
}
List
<
String
>
menuCodeList
=
Arrays
.
asList
(
gicMenuCode
)
;
String
[]
arr
=
haobanRoles
.
split
(
"\\|"
)
;
List
<
Integer
>
addRoleTypeList
=
Arrays
.
stream
(
arr
).
filter
(
o
->
StringUtils
.
isNotBlank
(
o
)).
map
(
o
->
Integer
.
valueOf
(
o
)).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
addRoleTypeList
))
{
logger
.
info
(
"haobanRoles null {} , {}"
,
gicMenuCode
,
haobanRoles
);
continue
;
}
Date
now
=
new
Date
()
;
for
(
int
i
=
0
;
i
<
wxEnterpriseList
.
size
();
i
++)
{
TabHaobanWxEnterpriseRelated
item
=
wxEnterpriseList
.
get
(
i
)
;
String
wxEnterpriseId
=
item
.
getWxEnterpriseId
()
;
List
<
TabHaobanRoleMenu
>
insertMenuList
=
new
ArrayList
<>()
;
List
<
TabHaobanRole
>
hbRoleList
=
this
.
roleMapper
.
getListByWxEnterpriseId
(
wxEnterpriseId
,
1
)
;
TabHaobanRoleMenu
menu
=
null
;
for
(
TabHaobanRole
role
:
hbRoleList
)
{
int
roleType
=
role
.
getClerkType
()
;
if
(!
addRoleTypeList
.
contains
(
roleType
))
{
logger
.
info
(
"角色不符合={},{}"
,
addRoleTypeList
,
roleType
);
continue
;
}
Long
roleId
=
role
.
getRoleId
()
;
for
(
String
menuCode
:
menuCodeList
)
{
// 判断是否已存在
List
<
String
>
oldList
=
this
.
roleMenuMapper
.
getMenuInMenuCodes
(
wxEnterpriseId
,
roleId
,
Arrays
.
asList
(
menuCode
))
;
if
(
CollectionUtils
.
isNotEmpty
(
oldList
))
{
logger
.
info
(
"权限已存在roleId={},{}"
,
role
,
menuCode
);
continue
;
}
menu
=
new
TabHaobanRoleMenu
()
;
menu
.
setRoleMenuId
(
UniqueIdUtils
.
uniqueLong
());
menu
.
setRoleId
(
roleId
);
menu
.
setUpdateTime
(
now
);
menu
.
setCreateTime
(
now
);
menu
.
setStatusFlag
(
1
);
menu
.
setWxEnterpriseId
(
wxEnterpriseId
);
menu
.
setMenuCode
(
menuCode
);
insertMenuList
.
add
(
menu
)
;
}
}
if
(
CollectionUtils
.
isNotEmpty
(
insertMenuList
))
{
this
.
roleMenuMapper
.
insertBatch
(
insertMenuList
);
}
}
}
}
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/util/Constant.java
0 → 100644
View file @
5cf7ff50
package
com
.
gic
.
haoban
.
manage
.
service
.
util
;
public
class
Constant
{
public
static
final
String
hb_wxa_namespace
=
"haoban-wxa"
;
}
haoban-manage3-service/src/main/resources/dubbo-haoban-manage-service.xml
View file @
5cf7ff50
...
@@ -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
haoban-manage3-service/src/main/resources/mapper/role/TabHaobanMenuMapper.xml
View file @
5cf7ff50
...
@@ -213,5 +213,10 @@
...
@@ -213,5 +213,10 @@
from tab_haoban_menu
from tab_haoban_menu
</delete>
</delete>
<delete
id=
"deleteByMenuCode"
parameterType=
"java.lang.String"
>
update tab_haoban_menu set status_flag = 0 where menu_code = #{menuCode}
</delete>
</mapper>
</mapper>
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/HaobanRoleController.java
View file @
5cf7ff50
...
@@ -133,7 +133,7 @@ public class HaobanRoleController extends WebBaseController {
...
@@ -133,7 +133,7 @@ public class HaobanRoleController extends WebBaseController {
@RequestMapping
(
value
=
"/getHaobanMenuTreeList"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/getHaobanMenuTreeList"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
List
<
HaobanMenuDTO
>>
getHaobanMenuTreeList
(
Integer
clerkType
)
{
public
RestResponse
<
List
<
HaobanMenuDTO
>>
getHaobanMenuTreeList
(
Integer
clerkType
)
{
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
ServiceResponse
<
List
<
HaobanMenuDTO
>>
serviceResponse
=
haobanMenuApiService
.
getHaobanMenuTreeList
(
login
.
getWxEnterpriseId
(),
clerkType
);
ServiceResponse
<
List
<
HaobanMenuDTO
>>
serviceResponse
=
haobanMenuApiService
.
getHaobanMenuTreeList
(
login
.
getWxEnterpriseId
(),
login
.
getEnterpriseId
(),
clerkType
);
return
RestResponse
.
successResult
(
serviceResponse
.
getResult
());
return
RestResponse
.
successResult
(
serviceResponse
.
getResult
());
}
}
...
@@ -145,7 +145,7 @@ public class HaobanRoleController extends WebBaseController {
...
@@ -145,7 +145,7 @@ public class HaobanRoleController extends WebBaseController {
@RequestMapping
(
value
=
"/queryMenuByClerkType"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/queryMenuByClerkType"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
HaobanRoleDTO
>
queryMenuByClerkType
(
Integer
clerkType
)
{
public
RestResponse
<
HaobanRoleDTO
>
queryMenuByClerkType
(
Integer
clerkType
)
{
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
WebLoginDTO
login
=
AuthWebRequestUtil
.
getLoginUser
();
ServiceResponse
<
HaobanRoleDTO
>
serviceResponse
=
haobanRoleApiService
.
getMenuByWxEnterpriseIdAndClerkType
(
login
.
getWxEnterpriseId
(),
clerkType
,
1
);
ServiceResponse
<
HaobanRoleDTO
>
serviceResponse
=
haobanRoleApiService
.
getMenuByWxEnterpriseIdAndClerkType
(
login
.
getWxEnterpriseId
(),
clerkType
,
1
,
login
.
getEnterpriseId
()
);
return
RestResponse
.
successResult
(
serviceResponse
.
getResult
());
return
RestResponse
.
successResult
(
serviceResponse
.
getResult
());
}
}
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/WxStaffController.java
View file @
5cf7ff50
...
@@ -1484,7 +1484,7 @@ public class WxStaffController extends WebBaseController {
...
@@ -1484,7 +1484,7 @@ public class WxStaffController extends WebBaseController {
* @return
* @return
*/
*/
@RequestMapping
(
value
=
"/queryMenuCodesByClerkType"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/queryMenuCodesByClerkType"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
HaobanRoleDTO
>
queryMenuByClerkType
(
Integer
clerkType
,
String
staffId
,
String
wxEnterpriseId
)
{
public
RestResponse
<
HaobanRoleDTO
>
queryMenuByClerkType
(
Integer
clerkType
,
String
staffId
,
String
wxEnterpriseId
,
String
enterpriseId
)
{
if
(
clerkType
==
null
)
{
if
(
clerkType
==
null
)
{
return
RestResponse
.
failure
(
Convert
.
toStr
(
HaoBanErrCode
.
ERR_2
.
getCode
()),
HaoBanErrCode
.
ERR_2
.
getMsg
());
return
RestResponse
.
failure
(
Convert
.
toStr
(
HaoBanErrCode
.
ERR_2
.
getCode
()),
HaoBanErrCode
.
ERR_2
.
getMsg
());
}
}
...
@@ -1503,7 +1503,7 @@ public class WxStaffController extends WebBaseController {
...
@@ -1503,7 +1503,7 @@ public class WxStaffController extends WebBaseController {
return
RestResponse
.
successResult
(
serviceResponse
.
getResult
());
return
RestResponse
.
successResult
(
serviceResponse
.
getResult
());
}
}
ServiceResponse
<
HaobanRoleDTO
>
serviceResponse
=
haobanRoleApiService
ServiceResponse
<
HaobanRoleDTO
>
serviceResponse
=
haobanRoleApiService
.
getMenuByWxEnterpriseIdAndClerkType
(
wxEnterpriseId
,
clerkType
,
1
);
.
getMenuByWxEnterpriseIdAndClerkType
(
wxEnterpriseId
,
clerkType
,
1
,
enterpriseId
);
return
RestResponse
.
successResult
(
serviceResponse
.
getResult
());
return
RestResponse
.
successResult
(
serviceResponse
.
getResult
());
}
}
...
...
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