Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
caosy
/
fun-admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
5a5e1c67
authored
Oct 09, 2018
by
chongli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
实现了用户管理和权限分配
parent
53ef580c
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
414 additions
and
1 deletions
src/main/java/com/ctrip/fun/admin/controller/userRole/UserRoleController.java
src/main/java/com/ctrip/fun/admin/form/userRole/UserRoleForm.java
src/main/java/com/ctrip/fun/admin/service/userRole/UserRoleService.java
src/main/resources/config/spring-service.xml
src/main/resources/properties/service.properties
src/main/webapp/WEB-INF/templates/common/layout.ftl
src/main/webapp/WEB-INF/templates/common/navbar.ftl
src/main/webapp/WEB-INF/templates/market/eventGameForm.ftl
src/main/webapp/WEB-INF/templates/userRole/adminUserForm.ftl
src/main/webapp/WEB-INF/templates/userRole/userListAll.ftl
src/main/java/com/ctrip/fun/admin/controller/userRole/UserRoleController.java
0 → 100644
View file @
5a5e1c67
/**
* Copyright 2014 CTRIP Co.,Ltd. All rights reserved.
* DTM PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package
com
.
ctrip
.
fun
.
admin
.
controller
.
userRole
;
import
javax.servlet.http.HttpServletRequest
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.ModelMap
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
com.ctrip.fun.admin.form.PaginationForm
;
import
com.ctrip.fun.admin.form.userRole.UserRoleForm
;
import
com.ctrip.fun.admin.service.userRole.UserRoleService
;
import
com.ctrip.fun.common.core.util.BeanConverter
;
import
com.ctrip.fun.common.vo.PagedResponseBean
;
import
com.ctrip.fun.common.vo.adminUser.AdminUserBean
;
import
com.ctrip.fun.common.vo.adminUser.AdminUserQuery
;
/**
* @author gswang
* @version 2014年8月21日
*/
@Controller
@RequestMapping
(
"userRole/adminUser"
)
public
class
UserRoleController
{
@Autowired
private
UserRoleService
userRoleService
;
@RequestMapping
(
value
=
"/list"
,
method
=
RequestMethod
.
GET
)
public
String
listAll
(
HttpServletRequest
request
,
@ModelAttribute
(
"form"
)
UserRoleForm
form
,
ModelMap
model
)
{
int
currentPage
=
0
;
if
(
null
!=
request
.
getParameter
(
"page"
))
{
currentPage
=
Integer
.
parseInt
(
request
.
getParameter
(
"page"
));
}
AdminUserQuery
query
=
new
AdminUserQuery
();
query
.
setNickName
(
form
.
getNickName
());
query
.
setUserName
(
form
.
getUserName
());
query
.
setPagerOffset
(
currentPage
*
query
.
getPagerPerPage
());
query
.
setSortField
(
"id"
);
PagedResponseBean
<
AdminUserBean
>
response
=
userRoleService
.
adminUserlist
(
""
,
query
);
int
pageSize
=
query
.
getPagerPerPage
();
int
total
=
response
.
getCount
();
int
pageCount
=
(
0
==
total
%
pageSize
)
?
(
total
/
pageSize
)
:
(
total
/
pageSize
+
1
);
model
.
put
(
"list"
,
response
.
getResult
());
model
.
put
(
"paginationData"
,
new
PaginationForm
(
currentPage
,
pageSize
,
pageCount
,
total
));
return
"userRole/userListAll"
;
}
@RequestMapping
(
value
=
"/create"
,
method
=
RequestMethod
.
GET
)
public
String
formGet
(
@ModelAttribute
(
"form"
)
UserRoleForm
form
,
ModelMap
model
)
{
model
.
put
(
"action"
,
"/userRole/adminUser/create"
);
model
.
put
(
"roleIds"
,
""
);
return
"userRole/adminUserForm"
;
}
@RequestMapping
(
value
=
"/create"
,
method
=
RequestMethod
.
POST
)
public
String
formPost
(
HttpServletRequest
request
,
@ModelAttribute
(
"form"
)
UserRoleForm
form
,
ModelMap
model
)
{
AdminUserBean
bean
=
new
AdminUserBean
();
BeanConverter
.
copyProperties
(
bean
,
form
);
userRoleService
.
addAdminUser
(
""
,
bean
);
return
"redirect:list"
;
}
@RequestMapping
(
value
=
"/edit"
,
method
=
RequestMethod
.
GET
)
public
String
editGet
(
@ModelAttribute
(
"form"
)
UserRoleForm
form
,
@RequestParam
(
value
=
"id"
,
required
=
true
)
int
id
,
ModelMap
model
)
{
AdminUserBean
bean
=
userRoleService
.
getAdminAll
(
""
,
id
);
BeanConverter
.
copyProperties
(
form
,
bean
);
String
roleIds
=
""
;
for
(
Integer
roleId
:
bean
.
getRoleIds
())
{
roleIds
+=
roleId
;
roleIds
+=
","
;
}
if
(
roleIds
.
length
()>
0
){
roleIds
=
roleIds
.
substring
(
0
,
roleIds
.
length
()-
1
);
}
model
.
put
(
"action"
,
"/userRole/adminUser/edit"
);
model
.
put
(
"roleIds"
,
roleIds
);
return
"userRole/adminUserForm"
;
}
@RequestMapping
(
value
=
"/edit"
,
method
=
RequestMethod
.
POST
)
public
String
editPost
(
HttpServletRequest
request
,
@ModelAttribute
(
"form"
)
UserRoleForm
form
,
@RequestParam
(
value
=
"id"
,
required
=
true
)
int
id
,
ModelMap
model
)
{
AdminUserBean
bean
=
new
AdminUserBean
();
BeanConverter
.
copyProperties
(
bean
,
form
);
userRoleService
.
updateAdminAll
(
""
,
bean
);
return
"redirect:list"
;
}
}
src/main/java/com/ctrip/fun/admin/form/userRole/UserRoleForm.java
0 → 100644
View file @
5a5e1c67
/**
* Copyright 2014 CTRIP Co.,Ltd. All rights reserved.
* DTM PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package
com
.
ctrip
.
fun
.
admin
.
form
.
userRole
;
/**
* @author gswang
* @version 2014年8月25日
*/
public
class
UserRoleForm
{
private
Integer
id
;
private
String
userName
;
private
String
nickName
;
private
boolean
enable
;
private
Integer
[]
roleIds
;
public
Integer
getId
()
{
return
id
;
}
public
void
setId
(
Integer
id
)
{
this
.
id
=
id
;
}
public
String
getUserName
()
{
return
userName
;
}
public
void
setUserName
(
String
userName
)
{
this
.
userName
=
userName
;
}
public
String
getNickName
()
{
return
nickName
;
}
public
void
setNickName
(
String
nickName
)
{
this
.
nickName
=
nickName
;
}
public
Integer
[]
getRoleIds
()
{
return
roleIds
;
}
public
void
setRoleIds
(
Integer
[]
roleIds
)
{
this
.
roleIds
=
roleIds
;
}
public
boolean
isEnable
()
{
return
enable
;
}
public
void
setEnable
(
boolean
enable
)
{
this
.
enable
=
enable
;
}
}
src/main/java/com/ctrip/fun/admin/service/userRole/UserRoleService.java
0 → 100644
View file @
5a5e1c67
/**
* Copyright 2014 CTRIP Co.,Ltd. All rights reserved.
* DTM PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package
com
.
ctrip
.
fun
.
admin
.
service
.
userRole
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.Map
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.core.ParameterizedTypeReference
;
import
org.springframework.http.HttpEntity
;
import
org.springframework.http.HttpMethod
;
import
com.ctrip.fun.admin.service.BaseService
;
import
com.ctrip.fun.common.vo.PagedResponseBean
;
import
com.ctrip.fun.common.vo.Request
;
import
com.ctrip.fun.common.vo.Response
;
import
com.ctrip.fun.common.vo.ResponseStatusEnum
;
import
com.ctrip.fun.common.vo.adminUser.AdminUserBean
;
import
com.ctrip.fun.common.vo.adminUser.AdminUserQuery
;
/**
* @author gswang
* @version 2014年8月25日
*/
public
class
UserRoleService
extends
BaseService
{
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
UserRoleService
.
class
);
/*
* 查询管理员用户列表
*/
public
PagedResponseBean
<
AdminUserBean
>
adminUserlist
(
String
userId
,
AdminUserQuery
query
)
{
String
uri
=
super
.
getServiceUri
(
"uri.adminUser.list"
);
PagedResponseBean
<
AdminUserBean
>
pageResponseBean
=
null
;
Request
<
AdminUserQuery
>
request
=
new
Request
<
AdminUserQuery
>();
request
.
setUserId
(
userId
);
request
.
setBody
(
query
);
HttpEntity
<
Request
<
AdminUserQuery
>>
httpEntity
=
new
HttpEntity
<
Request
<
AdminUserQuery
>>(
request
);
Response
<
PagedResponseBean
<
AdminUserBean
>>
response
=
super
.
exchange
(
uri
,
HttpMethod
.
POST
,
httpEntity
,
new
ParameterizedTypeReference
<
Response
<
PagedResponseBean
<
AdminUserBean
>>>()
{
}).
getBody
();
if
(
response
.
getStatus
()
==
ResponseStatusEnum
.
SUCCESS
.
getValue
())
{
pageResponseBean
=
response
.
getBody
();
}
else
{
Map
<
String
,
String
>
tags
=
new
HashMap
<>();
tags
.
put
(
"userId"
,
userId
);
tags
.
put
(
"query"
,
query
.
toString
());
logger
.
error
(
"用户list异常"
,
String
.
format
(
"status: %d, msg: %s"
,
response
.
getStatus
(),
response
.
getMessage
()),
tags
);
}
return
pageResponseBean
;
}
/*
* 添加管理员
*/
public
Integer
addAdminUser
(
String
userId
,
AdminUserBean
bean
)
{
String
uri
=
super
.
getServiceUri
(
"uri.adminUser.add"
);
Integer
id
=
null
;
Request
<
AdminUserBean
>
request
=
new
Request
<
AdminUserBean
>();
request
.
setUserId
(
userId
);
request
.
setBody
(
bean
);
HttpEntity
<
Request
<
AdminUserBean
>>
httpEntity
=
new
HttpEntity
<
Request
<
AdminUserBean
>>(
request
);
Response
<
Integer
>
response
=
super
.
exchange
(
uri
,
HttpMethod
.
POST
,
httpEntity
,
new
ParameterizedTypeReference
<
Response
<
Integer
>>()
{
}).
getBody
();
if
(
response
.
getStatus
()
==
ResponseStatusEnum
.
SUCCESS
.
getValue
())
{
id
=
response
.
getBody
();
}
else
{
Map
<
String
,
String
>
tags
=
new
HashMap
<>();
tags
.
put
(
"userId"
,
userId
);
logger
.
error
(
"用户list异常"
,
String
.
format
(
"status: %d, msg: %s"
,
response
.
getStatus
(),
response
.
getMessage
()),
tags
);
}
return
id
;
}
/*
*更新管理员
*/
public
String
updateAdminAll
(
String
userId
,
AdminUserBean
bean
)
{
String
uri
=
super
.
getServiceUri
(
"uri.adminUser.updateAdminAll"
);
String
result
=
null
;
Request
<
AdminUserBean
>
request
=
new
Request
<
AdminUserBean
>();
request
.
setUserId
(
userId
);
request
.
setBody
(
bean
);
HttpEntity
<
Request
<
AdminUserBean
>>
httpEntity
=
new
HttpEntity
<
Request
<
AdminUserBean
>>(
request
);
Response
<
String
>
response
=
super
.
exchange
(
uri
,
HttpMethod
.
POST
,
httpEntity
,
new
ParameterizedTypeReference
<
Response
<
String
>>()
{
}).
getBody
();
if
(
response
.
getStatus
()
==
ResponseStatusEnum
.
SUCCESS
.
getValue
())
{
result
=
response
.
getBody
();
}
else
{
Map
<
String
,
String
>
tags
=
new
HashMap
<>();
tags
.
put
(
"userId"
,
userId
);
logger
.
error
(
"用户list异常"
,
String
.
format
(
"status: %d, msg: %s"
,
response
.
getStatus
(),
response
.
getMessage
()),
tags
);
}
return
result
;
}
/*
*获取指定管理员信息
*/
public
AdminUserBean
getAdminAll
(
String
userId
,
Integer
id
)
{
String
uri
=
super
.
getServiceUri
(
"uri.adminUser.getAdminAll"
);
AdminUserBean
adminUserBean
=
null
;
Request
<
Integer
>
request
=
new
Request
<
Integer
>();
request
.
setUserId
(
userId
);
request
.
setBody
(
id
);
HttpEntity
<
Request
<
Integer
>>
httpEntity
=
new
HttpEntity
<
Request
<
Integer
>>(
request
);
Response
<
AdminUserBean
>
response
=
super
.
exchange
(
uri
,
HttpMethod
.
POST
,
httpEntity
,
new
ParameterizedTypeReference
<
Response
<
AdminUserBean
>>()
{
}).
getBody
();
if
(
response
.
getStatus
()
==
ResponseStatusEnum
.
SUCCESS
.
getValue
())
{
adminUserBean
=
response
.
getBody
();
}
else
{
Map
<
String
,
String
>
tags
=
new
HashMap
<>();
tags
.
put
(
"userId"
,
userId
);
logger
.
error
(
"用户list异常"
,
String
.
format
(
"status: %d, msg: %s"
,
response
.
getStatus
(),
response
.
getMessage
()),
tags
);
}
return
adminUserBean
;
}
}
src/main/resources/config/spring-service.xml
View file @
5a5e1c67
...
...
@@ -88,6 +88,8 @@
class=
"com.ctrip.fun.admin.service.basic.RecommendCodeService"
parent=
"baseService"
/>
<bean
name=
"userService"
class=
"com.ctrip.fun.admin.service.system.UserService"
parent=
"baseService"
/>
<bean
name=
"userRoleService"
class=
"com.ctrip.fun.admin.service.userRole.UserRoleService"
parent=
"baseService"
/>
<bean
name=
"adminResourcesService"
class=
"com.ctrip.fun.admin.service.system.AdminResourcesService"
parent=
"baseService"
/>
<bean
name=
"adService"
class=
"com.ctrip.fun.admin.service.golf.AdvertisementService"
...
...
src/main/resources/properties/service.properties
View file @
5a5e1c67
...
...
@@ -24,6 +24,10 @@ uri.voucher.queryListForFinance=/fun-golf-service/Voucher/queryListForFinance
uri.voucher.exportVoucherExcel
=
/fun-golf-service/Voucher/exportVoucherExcel
#admin user
uri.adminUser.getAdminAll
=
/fun-golf-service/adminUser/getAdminAll
uri.adminUser.updateAdminAll
=
/fun-golf-service/adminUser/updateAdminAll
uri.adminUser.add
=
/fun-golf-service/adminUser/add
uri.adminUser.list
=
/fun-golf-service/adminUser/list
uri.adminUser.userDetail
=
/fun-golf-service/adminUser/userDetail
uri.adminUser.updatePassword
=
/fun-golf-service/adminUser/update
uri.adminUser.communeAdmUserList
=
/fun-golf-service/adminUser/communeAdmUserList
...
...
src/main/webapp/WEB-INF/templates/common/layout.ftl
View file @
5a5e1c67
...
...
@@ -427,6 +427,18 @@ ${pageCss}
</li>
</ul>
<
#
elseif
module=
="userRole"
>
<ul
class=
"nav nav-list"
>
<li
class=
"nav-header"
>
用户管理
</li>
<li
<#
if
current =
=
"
admin_user_list
"
>
class="active"
</
#
if>
>
<a
href=
"/userRole/adminUser/list"
>
列表
</a>
</li>
<li
<#
if
current =
=
"
admin_user_create
"
>
class="active"
</
#
if>
>
<a
href=
"/userRole/adminUser/create"
>
新建
</a>
</li>
</ul>
<
#
elseif
module=
="eventActivityOrder"
>
<ul
class=
"nav nav-list"
>
<li
class=
"nav-header"
>
订单
</li>
...
...
src/main/webapp/WEB-INF/templates/common/navbar.ftl
View file @
5a5e1c67
...
...
@@ -5,6 +5,7 @@
<div class="navbar-inner">
<a class="logo" href="/golf/course/list">主题游管理</a>
<ul class="nav">
<li <#if module?? && module == "userRole">class="active"</#if>><a href="/userRole/adminUser/list">权限管理</a></li>
<li <#if module?? && module == "basic">class="active"</#if>><a href="/basic/district/list">基础信息</a></li>
<li <#if module?? && module == "product">class="active"</#if>><a href="/golf/course/list">高尔夫</a></li>
<li <#if module?? && module == "system">class="active"</#if>><a href="/system/template/list">系统管理</a></li>
...
...
src/main/webapp/WEB-INF/templates/market/eventGameForm.ftl
View file @
5a5e1c67
...
...
@@ -76,7 +76,7 @@
<@form.hidden "eventGameForm.id"/>
<@form.textInput path="eventGameForm.gameName" attributes="class=\"input-medium\" pattern=\".{1,64}\" required" label="赛事名称" required = true />
<@form.addonTextInput path="eventGameForm.courseId" attributes="class=\"input-medium\" required min=\"1\"" label="球场ID" addon="选择" addonType="button" type="number"/>
<@form.textInput "eventGameForm.playDate" "class=\"input-medium\" required" "赛事日期"/>
<@form.textInput "eventGameForm.playDate" "class=\"input-medium\" required" "赛事日期
aaaaa
"/>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary">提交</button>
...
...
src/main/webapp/WEB-INF/templates/userRole/adminUserForm.ftl
0 → 100644
View file @
5a5e1c67
<#assign pageJsContent>
<script type="text/javascript">
var roleIds = "${roleIds}";
if(roleIds.length>0){
$.each($('input:checkbox'),function(){
if(roleIds.indexOf($(this).val()) != -1 ){
$(this).attr("checked", true);
}
});
}
</script>
</#assign>
<@com.layout title="用户创建" module="userRole" current="admin_user_create" pageJs=pageJsContent>
<form class="form-inline" action="${action}" method="post">
<div id="course_container">
<div class="row-fluid show-grid">
<@form.hidden "form.id"/>
<@form.textInput path="form.nickName" attributes="class=\"input-medium\" pattern=\".{1,64}\" required" label="用户名称" required = true />
<@form.textInput path="form.userName" attributes="class=\"input-medium\" pattern=\".{1,64}\" required" label="用户账号" required = true />
<@form.checkbox "form.enable" "" "可用"/>
<div class="control-group">
<div class="controls">
<input type="checkbox" name="roleIds" value="1" />销售员
<input type="checkbox" name="roleIds" value="2" />销售经理
<input type="checkbox" name="roleIds" value="3" />会服人员
<input type="checkbox" name="roleIds" value="4" />会服主管
<input type="checkbox" name="roleIds" value="4" />旅游
<br/>
<input type="checkbox" name="roleIds" value="5" />赛事人员
<input type="checkbox" name="roleIds" value="6" />赛事主管
<input type="checkbox" name="roleIds" value="7" />财务员
<input type="checkbox" name="roleIds" value="8" />财务经理
<br/>
<input type="checkbox" name="roleIds" value="9" />系统管理员
</div>
</div>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary">提交</button>
</div>
</div>
</div>
</div>
</form>
</@com.layout>
\ No newline at end of file
src/main/webapp/WEB-INF/templates/userRole/userListAll.ftl
0 → 100644
View file @
5a5e1c67
<@com.layout title="管理员列表" module="userRole" current="admin_user_list" pageJs="">
<form class="form-inline" action="/userRole/adminUser/list" method="get">
<@com.textInput "form.nickName" "style=\"margin-left: 5px;\"" "用户名称" "text"/>
<@com.textInput "form.userName" "style=\"margin-left: 5px;\"" "用户账号" "text"/>
<button type="submit" class="btn btn-primary">查询</button>
</form>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>用户名</th>
<th>账户</th>
<th>角色描述</th>
<th>可用</th>
<th ><i class="icon-wrench"></i></th>
</tr>
</thead>
<tbody>
<#list list as item>
<tr>
<td >${item.nickName!}</td>
<td >${item.userName!}</td>
<td >${item.roleDesc!}</td>
<td >${item.userName!}</td>
<td><a title='' href="/userRole/adminUser/edit?id=${item.id}">编辑</a></td>
</tr>
</#list>
</tbody>
</table>
<div class="pagination pagination-right">
<ul>
<@paginator.first />
<@paginator.previous />
<@paginator.numbers separator=""/>
<@paginator.next />
<@paginator.last />
</ul>
<@paginator.statistics />
</div>
</@com.layout>
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