Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
bill-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
bill-platform
Commits
a7bc0777
Commit
a7bc0777
authored
Sep 06, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新资源文件
parent
f4aaf405
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
184 additions
and
35 deletions
+184
-35
bill-manager/src/main/java/com/mortals/xhx/base/login/web/LoginController.java
.../java/com/mortals/xhx/base/login/web/LoginController.java
+5
-3
bill-manager/src/main/java/com/mortals/xhx/base/system/menu/service/MenuService.java
...com/mortals/xhx/base/system/menu/service/MenuService.java
+40
-12
bill-manager/src/main/java/com/mortals/xhx/base/system/menu/service/impl/MenuServiceImpl.java
...ls/xhx/base/system/menu/service/impl/MenuServiceImpl.java
+76
-3
bill-manager/src/main/java/com/mortals/xhx/base/system/menu/web/MenuController.java
.../com/mortals/xhx/base/system/menu/web/MenuController.java
+61
-15
bill-manager/src/main/java/com/mortals/xhx/base/system/resource/service/impl/ResourceServiceImpl.java
...ase/system/resource/service/impl/ResourceServiceImpl.java
+2
-2
No files found.
bill-manager/src/main/java/com/mortals/xhx/base/login/web/LoginController.java
View file @
a7bc0777
...
...
@@ -106,7 +106,9 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
}
Set
<
String
>
urls
=
resourceService
.
findUrlSetByUserId
(
user
.
getId
());
log
.
info
(
"userId:{},urls:{}"
,
user
.
getId
(),
JSON
.
toJSONString
(
urls
));
List
<
MenuEntity
>
outlookBarList
=
menuService
.
findTreeMenu
(
user
,
urls
);
// List<MenuEntity> outlookBarList = menuService.findTreeMenu(user, urls);
List
<
MenuEntity
>
treeMenuList
=
menuService
.
findTreeMenu
(
user
);
String
currUserName
=
user
.
getRealName
();
if
(
currUserName
==
null
||
currUserName
.
trim
().
length
()
==
0
)
{
currUserName
=
"管理员"
;
...
...
@@ -116,7 +118,7 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
String
token
=
authTokenService
.
getToken
(
request
);
data
.
put
(
"token"
,
token
);
data
.
put
(
"currUserName"
,
currUserName
);
data
.
put
(
"
barList"
,
outlookBar
List
);
data
.
put
(
"
menuList"
,
treeMenu
List
);
data
.
put
(
"id"
,
user
.
getId
());
data
.
put
(
"userType"
,
user
.
getUserType
());
ret
.
put
(
KEY_RESULT_DATA
,
data
);
...
...
@@ -132,7 +134,7 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
String
siteTreeStr
=
siteFeign
.
siteTree
(
token
);
// RedisTemplate<String, String> baseRedisTemplate = cacheService.selectDbRedisTemplate(1);
// RedisTemplate<String, String> baseRedisTemplate = cacheService.selectDbRedisTemplate(1);
//com:mortals:xhx:module:site:model:SiteEntity redis调用
//String siteTreeStr = (String) baseRedisTemplate.opsForHash().get("user:site:tree", String.valueOf(user.getId()));
if
(!
ObjectUtils
.
isEmpty
(
siteTreeStr
))
{
...
...
bill-manager/src/main/java/com/mortals/xhx/base/system/menu/service/MenuService.java
View file @
a7bc0777
...
...
@@ -10,22 +10,20 @@ package com.mortals.xhx.base.system.menu.service;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.xhx.base.system.menu.model.MenuEntity
;
import
com.mortals.xhx.base.system.menu.model.MenuTreeSelect
;
import
java.util.List
;
import
java.util.Set
;
/**
* <p>Title: 菜单信息</p>
* <p>Description: MenuService service接口 </p>
* <p>Copyright: Copyright ® </p>
* <p>Company: </p>
* @author
* @version 1.0.0
* 菜单资源类
* @author: zxfei
* @date: 2024/9/6 16:28
*/
public
interface
MenuService
extends
ICRUDService
<
MenuEntity
,
Long
>
{
/**
* 获取所有可用菜单
...
...
@@ -33,7 +31,7 @@ public interface MenuService extends ICRUDService<MenuEntity,Long> {
* @return
* @throws AppException
*/
public
List
<
MenuEntity
>
findAllEnable
()
throws
AppException
;
List
<
MenuEntity
>
findAllEnable
()
throws
AppException
;
/**
* 查询有权限的菜单
...
...
@@ -43,16 +41,17 @@ public interface MenuService extends ICRUDService<MenuEntity,Long> {
* @return
* @throws AppException
*/
public
List
<
MenuEntity
>
findTreeMenu
(
IUser
user
,
Set
<
String
>
urls
)
throws
AppException
;
List
<
MenuEntity
>
findTreeMenu
(
IUser
user
,
Set
<
String
>
urls
)
throws
AppException
;
/**
* 查
看所有
菜单
* 查
询有权限的
菜单
*
* @param user 当前用户
* @return
* @throws AppException
*/
public
List
<
MenuEntity
>
findTreeMenu
()
throws
AppException
;
List
<
MenuEntity
>
findTreeMenu
(
IUser
user
)
throws
AppException
;
/**
* 更新排列顺序
...
...
@@ -60,4 +59,33 @@ public interface MenuService extends ICRUDService<MenuEntity,Long> {
* @param type
*/
void
upOrDown
(
Long
id
,
Integer
type
);
/**
* 是否存在菜单信息业务节点
*
* @param menuId 菜单信息业务ID
* @return 结果
*/
boolean
hasChildByMenuId
(
Long
menuId
);
/**
* 构建前端所需要下拉树结构
*
* @param menuList 菜单信息业务列表
* @return 下拉树结构列表
*/
List
<
MenuTreeSelect
>
buildMenuTreeSelect
(
List
<
MenuEntity
>
menuList
);
/**
* 根据父id查询子节点
* @param parentId
* @param context
* @return
*/
List
<
MenuTreeSelect
>
getListByParentId
(
Long
parentId
,
Context
context
);
}
\ No newline at end of file
bill-manager/src/main/java/com/mortals/xhx/base/system/menu/service/impl/MenuServiceImpl.java
View file @
a7bc0777
...
...
@@ -18,10 +18,12 @@ import com.mortals.framework.util.StringUtils;
import
com.mortals.xhx.base.system.menu.dao.MenuDao
;
import
com.mortals.xhx.base.system.menu.model.MenuEntity
;
import
com.mortals.xhx.base.system.menu.model.MenuQuery
;
import
com.mortals.xhx.base.system.menu.model.MenuTreeSelect
;
import
com.mortals.xhx.base.system.menu.service.MenuService
;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
java.util.*
;
import
java.util.stream.Collectors
;
...
...
@@ -52,6 +54,8 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity
@Override
public
List
<
MenuEntity
>
findTreeMenu
(
IUser
user
,
Set
<
String
>
urls
)
throws
AppException
{
//todo 重新写 菜单树 通过角色获取菜单
Set
<
Long
>
authIds
=
new
HashSet
<>();
Map
<
Long
,
MenuEntity
>
menuMap
=
new
HashMap
<
Long
,
MenuEntity
>();
List
<
MenuEntity
>
userModuleList
=
this
.
findAllEnable
();
...
...
@@ -118,7 +122,6 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity
@Override
public
void
upOrDown
(
Long
id
,
Integer
type
)
{
MenuQuery
query
=
new
MenuQuery
();
query
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"orderId"
)));
query
.
setOrderKind
(
OrderCol
.
ASCENDING
);
...
...
@@ -173,11 +176,81 @@ public class MenuServiceImpl extends AbstractCRUDServiceImpl<MenuDao, MenuEntity
MenuQuery
query
=
new
MenuQuery
();
query
.
setParentId
(
entity
.
getParentId
());
Comparator
<
Integer
>
comparator
=
Comparator
.
comparing
(
Integer:
:
intValue
);
Optional
<
Integer
>
maxOptional
=
this
.
find
(
query
).
stream
().
map
(
MenuEntity:
:
getOrderId
).
filter
(
f
->
f
!=
9999
).
max
(
comparator
);
Optional
<
Integer
>
maxOptional
=
this
.
find
(
query
).
stream
().
map
(
MenuEntity:
:
getOrderId
).
filter
(
f
->
f
!=
9999
).
max
(
comparator
);
maxOptional
.
ifPresent
(
e
->
{
e
=
e
+
1
;
e
=
e
+
1
;
entity
.
setOrderId
(
e
);
});
super
.
saveBefore
(
entity
,
context
);
}
@Override
public
boolean
hasChildByMenuId
(
Long
menuId
)
{
List
<
MenuEntity
>
list
=
this
.
find
(
new
MenuQuery
().
parentId
(
menuId
));
return
list
.
size
()
>
0
?
true
:
false
;
}
@Override
public
List
<
MenuTreeSelect
>
buildMenuTreeSelect
(
List
<
MenuEntity
>
list
)
{
List
<
MenuEntity
>
returnList
=
new
ArrayList
<>();
List
<
Long
>
tempList
=
list
.
stream
().
map
(
MenuEntity:
:
getId
).
collect
(
Collectors
.
toList
());
for
(
Iterator
<
MenuEntity
>
iterator
=
list
.
iterator
();
iterator
.
hasNext
();
)
{
MenuEntity
menuEntity
=
iterator
.
next
();
if
(!
tempList
.
contains
(
menuEntity
.
getParentId
()))
{
recursionFn
(
list
,
menuEntity
);
returnList
.
add
(
menuEntity
);
}
}
if
(
returnList
.
isEmpty
())
{
returnList
=
list
;
}
return
returnList
.
stream
().
map
(
MenuTreeSelect:
:
new
).
collect
(
Collectors
.
toList
());
}
/**
* 递归列表
*/
private
void
recursionFn
(
List
<
MenuEntity
>
list
,
MenuEntity
t
)
{
// 得到子节点列表
List
<
MenuEntity
>
childList
=
getChildList
(
list
,
t
);
t
.
setChildren
(
childList
);
for
(
MenuEntity
tChild
:
childList
)
{
if
(
hasChild
(
list
,
tChild
))
{
recursionFn
(
list
,
tChild
);
}
}
}
/**
* 判断是否有子节点
*/
private
boolean
hasChild
(
List
<
MenuEntity
>
list
,
MenuEntity
t
)
{
return
getChildList
(
list
,
t
).
size
()
>
0
?
true
:
false
;
}
/**
* 得到子节点列表
*/
private
List
<
MenuEntity
>
getChildList
(
List
<
MenuEntity
>
list
,
MenuEntity
t
)
{
return
list
.
stream
().
map
(
item
->
{
if
(!
ObjectUtils
.
isEmpty
(
item
.
getParentId
())
&&
item
.
getParentId
()
==
t
.
getId
())
{
return
item
;
}
return
null
;
}).
filter
(
f
->
f
!=
null
).
collect
(
Collectors
.
toList
());
}
@Override
public
List
<
MenuTreeSelect
>
getListByParentId
(
Long
parentId
,
Context
context
)
{
if
(
ObjectUtils
.
isEmpty
(
parentId
))
{
parentId
=
0L
;
}
//只做一层
List
<
MenuTreeSelect
>
collect
=
this
.
find
(
new
MenuQuery
().
parentId
(
parentId
),
context
).
stream
().
map
(
item
->
new
MenuTreeSelect
(
item
)
).
collect
(
Collectors
.
toList
());
return
collect
;
}
}
\ No newline at end of file
bill-manager/src/main/java/com/mortals/xhx/base/system/menu/web/MenuController.java
View file @
a7bc0777
...
...
@@ -8,6 +8,8 @@ import com.mortals.framework.model.OrderCol;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.menu.model.MenuQuery
;
import
com.mortals.xhx.base.system.menu.model.MenuTreeSelect
;
import
com.mortals.xhx.common.code.*
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -15,11 +17,6 @@ import org.springframework.web.bind.annotation.*;
import
com.mortals.framework.web.BaseCRUDJsonMappingController
;
import
com.mortals.xhx.base.system.menu.model.MenuEntity
;
import
com.mortals.xhx.base.system.menu.service.MenuService
;
import
com.mortals.xhx.common.code.DataSatus
;
import
com.mortals.xhx.common.code.MenuAuthType
;
import
com.mortals.xhx.common.code.MenuComm
;
import
com.mortals.xhx.common.code.MenuLinkType
;
import
com.mortals.xhx.common.code.MenuType
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
...
...
@@ -28,12 +25,13 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.Map
;
import
static
com
.
mortals
.
framework
.
ap
.
SysConstains
.
RESULT_KEY
;
/**
* 菜单信息
*
* @author: zxfei
* @date: 202
1/11/30 10:02
* @date: 202
4/9/6 16:23
*/
@RestController
@RequestMapping
(
"menu"
)
...
...
@@ -46,21 +44,19 @@ public class MenuController extends BaseCRUDJsonBodyMappingController<MenuServic
@Override
protected
void
doListBefore
(
MenuEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
List
<
OrderCol
>
orderColList
=
new
ArrayList
<
OrderCol
>();
orderColList
.
add
(
new
OrderCol
(
"parentId"
));
List
<
OrderCol
>
orderColList
=
new
ArrayList
<>();
orderColList
.
add
(
new
OrderCol
(
"orderId"
));
query
.
setOrderColList
(
orderColList
);
}
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
Map
<
String
,
Object
>
status
=
new
HashMap
<
String
,
Object
>();
status
.
put
(
"status"
,
DataSatus
.
getEnumMap
(
DataSatus
.
CLOSE
.
getValue
(),
DataSatus
.
DELETE
.
getValue
(),
DataSatus
.
OVERDUE
.
getValue
(),
DataSatus
.
USEOUT
.
getValue
()));
status
.
put
(
"linkType"
,
MenuLinkType
.
getEnumMap
());
status
.
put
(
"commMenu"
,
MenuComm
.
getEnumMap
());
status
.
put
(
"menuType"
,
MenuType
.
getEnumMap
());
status
.
put
(
"authType"
,
MenuAuthType
.
getEnumMap
());
model
.
put
(
KEY_RESULT_DICT
,
status
);
this
.
addDict
(
model
,
"linkType"
,
LinkTypeEnum
.
getEnumMap
());
this
.
addDict
(
model
,
"commMenu"
,
CommMenuEnum
.
getEnumMap
());
this
.
addDict
(
model
,
"menuType"
,
MenuTypeEnum
.
getEnumMap
());
this
.
addDict
(
model
,
"authType"
,
AuthTypeEnum
.
getEnumMap
());
this
.
addDict
(
model
,
"visible"
,
VisibleEnum
.
getEnumMap
());
this
.
addDict
(
model
,
"status"
,
StatusEnum
.
getEnumMap
());
}
/**
...
...
@@ -114,4 +110,54 @@ public class MenuController extends BaseCRUDJsonBodyMappingController<MenuServic
}
return
ret
.
toJSONString
();
}
/**
* 获取站点下拉树列表
*/
@ApiOperation
(
value
=
"菜单树列表"
)
@PostMapping
(
"treeselect"
)
public
String
treeselect
()
{
Map
<
String
,
Object
>
model
=
new
HashMap
<>();
JSONObject
ret
=
new
JSONObject
();
String
busiDesc
=
"查询"
+
this
.
getModuleDesc
();
int
code
=
VALUE_RESULT_SUCCESS
;
try
{
List
<
MenuEntity
>
list
=
this
.
service
.
find
(
new
MenuQuery
());
List
<
MenuTreeSelect
>
treeSelects
=
this
.
service
.
buildMenuTreeSelect
(
list
);
model
.
put
(
"result"
,
treeSelects
);
recordSysLog
(
request
,
busiDesc
+
" 【成功】"
);
}
catch
(
Exception
e
)
{
code
=
VALUE_RESULT_FAILURE
;
this
.
doException
(
request
,
busiDesc
,
model
,
e
);
}
ret
.
put
(
KEY_RESULT_DATA
,
model
);
ret
.
put
(
KEY_RESULT_CODE
,
code
);
return
ret
.
toJSONString
();
}
/**
* 根据parentId查询子信息
*/
@ApiOperation
(
value
=
"根据parentId查询子信息"
)
@GetMapping
(
value
=
"getListByParentId"
)
public
String
getListByParentId
(
Long
parentId
)
{
JSONObject
ret
=
new
JSONObject
();
Map
<
String
,
Object
>
model
=
new
HashMap
<>();
String
busiDesc
=
"查询"
+
this
.
getModuleDesc
()
+
"子节点"
;
try
{
List
<
MenuTreeSelect
>
treeList
=
this
.
service
.
getListByParentId
(
parentId
,
getContext
());
model
.
put
(
RESULT_KEY
,
treeList
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
ret
.
put
(
KEY_RESULT_DATA
,
model
);
recordSysLog
(
request
,
busiDesc
+
"【成功】"
);
}
catch
(
Exception
e
)
{
log
.
error
(
"根据parentId查询子信息错误"
,
e
);
this
.
doException
(
request
,
busiDesc
,
model
,
e
);
ret
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
ret
.
put
(
KEY_RESULT_MSG
,
e
.
getMessage
());
}
return
ret
.
toJSONString
();
}
}
\ No newline at end of file
bill-manager/src/main/java/com/mortals/xhx/base/system/resource/service/impl/ResourceServiceImpl.java
View file @
a7bc0777
...
...
@@ -67,8 +67,8 @@ public class ResourceServiceImpl extends AbstractCRUDServiceImpl<ResourceDao, Re
if
(
StringUtils
.
isEmpty
(
url
))
{
continue
;
}
url
=
url
.
replaceAll
(
","
,
","
);
urls
.
addAll
(
StringUtils
.
converStr2Set
(
url
)
);
url
s
.
add
(
url
);
// url = url.replaceAll(",", ","
);
}
return
urls
;
}
...
...
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