Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
T
traffic-front
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangxiaoming
traffic-front
Commits
74371ef5
Commit
74371ef5
authored
Dec 03, 2018
by
sherlock
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev_oracle_sherlock' into 'dev_oracle'
admin permission See merge request root/atms!220
parents
0b9c0dc9
308b970b
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
96 additions
and
15 deletions
+96
-15
InputInvoiceImportController.java
...taxtech/atms/controller/InputInvoiceImportController.java
+0
-1
MenuController.java
...main/java/pwc/taxtech/atms/controller/MenuController.java
+11
-2
MenuServiceImpl.java
...n/java/pwc/taxtech/atms/service/impl/MenuServiceImpl.java
+78
-8
admin-home-page.ctrl.js
...rc/main/webapp/app/admin/homePage/admin-home-page.ctrl.js
+1
-1
menu.svc.js
atms-web/src/main/webapp/app/common/webservices/menu.svc.js
+5
-2
app-side-bar.ctrl.js
...in/webapp/app/framework/app-side-bar/app-side-bar.ctrl.js
+1
-1
No files found.
atms-api/src/main/java/pwc/taxtech/atms/controller/InputInvoiceImportController.java
View file @
74371ef5
...
...
@@ -17,7 +17,6 @@ import pwc.taxtech.atms.thirdparty.ExcelUtil;
import
pwc.taxtech.atms.vat.dpo.InputInvoicePreviewQueryParam
;
import
pwc.taxtech.atms.vat.entity.InputInvoice
;
import
pwc.taxtech.atms.vat.entity.InputInvoiceDetail
;
import
pwc.taxtech.atms.vat.entity.InputVatInvoiceItem
;
import
pwc.taxtech.atms.vat.service.impl.InputInvoiceDataImportServiceImpl
;
import
pwc.taxtech.atms.vat.service.impl.report.functions.FormulaHelper
;
...
...
atms-api/src/main/java/pwc/taxtech/atms/controller/MenuController.java
View file @
74371ef5
...
...
@@ -31,9 +31,9 @@ public class MenuController {
@ApiOperation
(
value
=
"获取用于显示的菜单列表"
,
notes
=
"请提供条件参数serviceId"
)
@RequestMapping
(
value
=
"/display"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
@ResponseBody
List
<
MenuDisplayDto
>
getMenusForDisplay
(
@RequestParam
(
"serviceId"
)
Integer
serviceId
)
{
List
<
MenuDisplayDto
>
getMenusForDisplay
(
@RequestParam
(
"serviceId"
)
Integer
serviceId
,
@RequestParam
(
"userId"
)
String
userId
)
{
logger
.
info
(
"come into menu display"
);
return
menuService
.
getMenusForDisplay
(
serviceId
);
return
menuService
.
getMenusForDisplay
(
serviceId
,
userId
);
}
@ApiOperation
(
value
=
"获取菜单列表"
,
notes
=
"请提供条件参数serviceId"
)
...
...
@@ -44,6 +44,15 @@ public class MenuController {
return
menuService
.
getMenus
(
serviceId
);
}
@ApiOperation
(
value
=
"获取菜单列表"
,
notes
=
"请提供条件参数serviceId"
)
@RequestMapping
(
value
=
"/role"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
@ResponseBody
List
<
MenuDto
>
getMenus
(
@RequestParam
(
"serviceId"
)
Integer
serviceId
,
@RequestParam
(
"userId"
)
String
userId
)
{
logger
.
info
(
"come into menu"
);
return
menuService
.
getFilterMenus
(
serviceId
,
userId
);
}
@ResponseBody
@ApiOperation
(
value
=
"更新菜单项"
,
notes
=
"更新菜单项"
)
@RequestMapping
(
method
=
RequestMethod
.
PUT
)
...
...
atms-api/src/main/java/pwc/taxtech/atms/service/impl/MenuServiceImpl.java
View file @
74371ef5
...
...
@@ -4,17 +4,22 @@ import org.slf4j.Logger;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.StringUtils
;
import
pwc.taxtech.atms.common.CommonConstants
;
import
pwc.taxtech.atms.common.CommonUtils
;
import
pwc.taxtech.atms.dao.MenuMapper
;
import
pwc.taxtech.atms.dao.PermissionMapper
;
import
pwc.taxtech.atms.dao.RolePermissionMapper
;
import
pwc.taxtech.atms.dao.UserRoleMapper
;
import
pwc.taxtech.atms.dto.MenuDisplayDto
;
import
pwc.taxtech.atms.dto.MenuDto
;
import
pwc.taxtech.atms.
entity.Menu
;
import
pwc.taxtech.atms.entity.
MenuExample
;
import
pwc.taxtech.atms.
dto.navtree.DevTreeDto
;
import
pwc.taxtech.atms.entity.
*
;
import
pwc.taxtech.atms.exception.ApplicationException
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.stream.Collectors
;
...
...
@@ -28,19 +33,29 @@ public class MenuServiceImpl {
@Autowired
private
MenuMapper
menuMapper
;
public
List
<
MenuDisplayDto
>
getMenusForDisplay
(
Integer
moduleId
)
{
@Autowired
private
UserRoleMapper
userRoleMapper
;
@Autowired
private
RolePermissionMapper
rolePermissionMapper
;
@Autowired
private
PermissionMapper
permissionMapper
;
public
List
<
MenuDisplayDto
>
getMenusForDisplay
(
Integer
moduleId
,
String
userId
)
{
logger
.
debug
(
"Start to get menus for display"
);
if
(
moduleId
==
null
)
{
throw
new
ApplicationException
(
"serviceId for getMenusForDisplay can't be null"
);
}
List
<
MenuDisplayDto
>
menuDisplayDtos
=
new
ArrayList
<>();
List
<
Menu
>
menus
=
findByServiceTypeId
(
moduleId
);
List
<
String
>
mendIds
=
getMenuIds
(
userId
);
List
<
Menu
>
rootNodes
=
menus
.
stream
().
filter
(
oneMenu
->
!
StringUtils
.
hasText
(
oneMenu
.
getParentId
()))
.
collect
(
Collectors
.
toList
());
for
(
Menu
menu
:
rootNodes
)
{
// 把EF获取的menu转化为Dto形式
MenuDisplayDto
menuDisplayDto
=
rotateMenuToMenuDisplayDto
(
menu
);
getSubMenuDto
(
menuDisplayDto
,
menus
);
getSubMenuDto
(
menuDisplayDto
,
menus
,
mendIds
);
menuDisplayDtos
.
add
(
menuDisplayDto
);
}
return
menuDisplayDtos
;
...
...
@@ -62,15 +77,56 @@ public class MenuServiceImpl {
;
private
void
getSubMenuDto
(
MenuDisplayDto
menu
,
List
<
Menu
>
menus
)
{
private
void
getSubMenuDto
(
MenuDisplayDto
menu
,
List
<
Menu
>
menus
,
List
<
String
>
menuIds
)
{
List
<
MenuDisplayDto
>
subMenuDtos
=
menus
.
stream
()
.
filter
(
oneMenu
->
menu
.
getId
().
equals
(
oneMenu
.
getParentId
())
&&
CommonConstants
.
ACTIVE_STATUS
.
equals
(
oneMenu
.
getIsActive
()))
&&
CommonConstants
.
ACTIVE_STATUS
.
equals
(
oneMenu
.
getIsActive
())
&&
menuIds
.
contains
(
oneMenu
.
getId
()))
.
map
(
this
::
rotateMenuToMenuDisplayDto
).
collect
(
Collectors
.
toList
());
menu
.
setSubMenus
(
subMenuDtos
);
for
(
MenuDisplayDto
subMenu
:
subMenuDtos
)
{
getSubMenuDto
(
subMenu
,
menus
);
getSubMenuDto
(
subMenu
,
menus
,
menuIds
);
}
}
public
List
<
MenuDto
>
getFilterMenus
(
Integer
moduleId
,
String
userId
){
List
<
String
>
menuIds
=
getMenuIds
(
userId
);
logger
.
debug
(
"Start to get menus"
);
if
(
moduleId
==
null
)
{
throw
new
ApplicationException
(
"serviceId for getMenus can't be null"
);
}
List
<
MenuDto
>
menuDtos
=
new
ArrayList
<>();
List
<
Menu
>
menus
=
findByServiceTypeId
(
moduleId
);
for
(
Menu
menu
:
menus
)
{
MenuDto
menuDto
=
rotateMenuToMenuDto
(
menu
);
if
(!
StringUtils
.
hasText
(
menu
.
getParentId
()))
{
menuDtos
.
add
(
menuDto
);
}
List
<
MenuDto
>
subMenuDtos
=
menus
.
stream
().
filter
(
oneMenu
->
menu
.
getId
().
equals
(
oneMenu
.
getParentId
()))
.
map
(
this
::
rotateMenuToMenuDto
).
collect
(
Collectors
.
toList
());
menuDto
.
setSubMenus
(
subMenuDtos
);
iteratorMenu2
(
menus
,
menuDto
,
menuIds
);
}
return
menuDtos
;
}
private
List
<
String
>
getMenuIds
(
String
userId
){
UserRoleExample
userRoleExample
=
new
UserRoleExample
();
userRoleExample
.
createCriteria
().
andUserIdEqualTo
(
userId
);
List
<
String
>
userRoleIdList
=
userRoleMapper
.
selectByExample
(
userRoleExample
).
stream
().
map
(
UserRole:
:
getRoleId
).
collect
(
Collectors
.
toList
());
List
<
String
>
permissionIds
=
rolePermissionMapper
.
selectByRoleId
(
userRoleIdList
.
get
(
0
))
.
stream
().
map
(
RolePermission:
:
getPermissionId
).
collect
(
Collectors
.
toList
());
PermissionExample
permissionExample
=
new
PermissionExample
();
permissionExample
.
createCriteria
().
andIdIn
(
permissionIds
);
List
<
String
>
menuIds
=
permissionMapper
.
selectByExample
(
permissionExample
)
.
stream
().
map
(
Permission:
:
getMenuId
).
collect
(
Collectors
.
toList
());
// 数据问题,,暂时用这种蠢办法
menuIds
.
add
(
"91223c21-c15a-4882-89cc-42f3807ec9e3"
);
menuIds
.
add
(
"9bf855fb-6b44-49cd-b95b-41a6a9a8c098"
);
// List<MenuDto> menus = getMenus(moduleId).stream().filter(x -> permissionNames.contains(x.getName())).collect(Collectors.toList());
return
menuIds
;
}
public
List
<
MenuDto
>
getMenus
(
Integer
moduleId
)
{
...
...
@@ -104,7 +160,8 @@ public class MenuServiceImpl {
List
<
Menu
>
subMenus
=
menus
.
stream
().
filter
(
oneMenu
->
menu
.
getId
().
equals
(
oneMenu
.
getParentId
()))
.
collect
(
Collectors
.
toList
());
if
(!
subMenus
.
isEmpty
())
{
List
<
MenuDto
>
subMenuDtos
=
subMenus
.
stream
().
map
(
this
::
rotateMenuToMenuDto
).
collect
(
Collectors
.
toList
());
List
<
MenuDto
>
subMenuDtos
=
subMenus
.
stream
()
.
map
(
this
::
rotateMenuToMenuDto
).
collect
(
Collectors
.
toList
());
menu
.
setSubMenus
(
subMenuDtos
);
for
(
MenuDto
m
:
subMenuDtos
)
{
iteratorMenu
(
menus
,
m
);
...
...
@@ -112,6 +169,19 @@ public class MenuServiceImpl {
}
}
private
void
iteratorMenu2
(
List
<
Menu
>
menus
,
MenuDto
menu
,
List
<
String
>
menuIds
)
{
List
<
Menu
>
subMenus
=
menus
.
stream
().
filter
(
oneMenu
->
menu
.
getId
().
equals
(
oneMenu
.
getParentId
()))
.
collect
(
Collectors
.
toList
());
if
(!
subMenus
.
isEmpty
())
{
List
<
MenuDto
>
subMenuDtos
=
subMenus
.
stream
()
.
filter
(
x
->
menuIds
.
contains
(
x
.
getId
())).
map
(
this
::
rotateMenuToMenuDto
).
collect
(
Collectors
.
toList
());
menu
.
setSubMenus
(
subMenuDtos
);
for
(
MenuDto
m
:
subMenuDtos
)
{
iteratorMenu2
(
menus
,
m
,
menuIds
);
}
}
}
public
List
<
Menu
>
findByIsActive
(
Boolean
isActive
)
{
MenuExample
menuExample
=
new
MenuExample
();
menuExample
.
createCriteria
().
andIsActiveEqualTo
(
isActive
);
...
...
atms-web/src/main/webapp/app/admin/homePage/admin-home-page.ctrl.js
View file @
74371ef5
...
...
@@ -22,7 +22,7 @@ adminHomePageModule
}
$timeout
(
function
()
{
menuService
.
get
MenusNew
(
serviceType
Id
,
function
(
menuData
)
{
menuService
.
get
AccessMenus
(
serviceTypeId
,
loginContext
.
user
Id
,
function
(
menuData
)
{
$scope
.
menuData
=
menuData
;
if
(
$scope
.
menuData
&&
$scope
.
menuData
.
length
>
0
)
{
...
...
atms-web/src/main/webapp/app/common/webservices/menu.svc.js
View file @
74371ef5
...
...
@@ -4,8 +4,8 @@ webservices.factory('menuService', ['$http', '$q', 'apiConfig', 'httpCacheServic
'use strict'
;
return
{
getMenusForDisplay
:
function
(
serviceId
)
{
return
httpCacheService
.
get
(
'/menu/display?serviceId='
+
serviceId
);
getMenusForDisplay
:
function
(
serviceId
,
userId
)
{
return
httpCacheService
.
get
(
'/menu/display?serviceId='
+
serviceId
+
"&userId="
+
userId
);
//return $http.get('/menu/display?serviceId=' + serviceId, apiConfig.create());
},
getMenus
:
function
(
serviceId
)
{
...
...
@@ -15,6 +15,9 @@ webservices.factory('menuService', ['$http', '$q', 'apiConfig', 'httpCacheServic
getMenusNew
:
function
(
serviceId
,
fn
)
{
return
httpCacheService
.
getCache
(
'/menu?serviceId='
+
serviceId
,
false
,
fn
);
},
getAccessMenus
:
function
(
serviceId
,
userId
,
fn
)
{
return
httpCacheService
.
getCache
(
'/menu/role?serviceId='
+
serviceId
+
'&userId='
+
userId
,
false
,
fn
);
},
GetMenusForIvhTree
:
function
(
serviceId
)
{
return
$http
.
get
(
'/menu/GetMenusForIvhTree?serviceId='
+
serviceId
,
apiConfig
.
create
());
},
...
...
atms-web/src/main/webapp/app/framework/app-side-bar/app-side-bar.ctrl.js
View file @
74371ef5
...
...
@@ -11,7 +11,7 @@ frameworkModule.controller('appSideBarController', ['$scope', '$log', 'menuServi
userService
.
getUserPermission
(
loginContext
.
userName
).
success
(
function
(
data
)
{
$timeout
(
function
()
{
menuService
.
getMenusForDisplay
(
1
).
success
(
function
(
menuData
)
{
menuService
.
getMenusForDisplay
(
1
,
loginContext
.
userId
).
success
(
function
(
menuData
)
{
$scope
.
menuData
=
menuData
;
});
},
500
);
...
...
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