用户管理模块

1、用户类型添加
2、新增vpn服务器ip修改
This commit is contained in:
leijun
2018-11-27 18:14:06 +08:00
parent 1afa3ffea2
commit 3b0f8410a3
8 changed files with 167 additions and 47 deletions

View File

@@ -23,6 +23,7 @@ public class UserManage extends BaseEntity<UserManage>{
private Date editTime;
private Integer isValid;
private String remarks;
private String userType;
private String newUserPwd;
private String oldUserName;//原用户名
@@ -51,6 +52,14 @@ public class UserManage extends BaseEntity<UserManage>{
private Integer functionId;
private String isAudit;
public String getUserType() {
return userType;
}
public void setUserType(String userType) {
this.userType = userType;
}
public String getIsAudit() {
return isAudit;
}

View File

@@ -745,5 +745,9 @@ public final class Constants {
public static final String POLICIES_MENU_ID=Configurations.getStringProperty("policies_menu_id", "86");
public static final String NTC_IP_REUSE_USER_CREATE = Configurations.getStringProperty("userCreate","");
public static final String NTC_IP_REUSE_USER_PASSWORD = Configurations.getStringProperty("userPasswordSet","");
public static final String NTC_IP_REUSE_USER_DELETE = Configurations.getStringProperty("userDelete","");
public static final String NTC_IP_REUSE_USER_GET = Configurations.getStringProperty("userGet","");
public static final String NTC_IP_REUSE_USER_LIST = Configurations.getStringProperty("userList","");
}

View File

@@ -151,7 +151,7 @@ public class UserManageController extends BaseController{
UserManage user=new UserManage();
IpReuseIpCfg ipReuseIpCfg=ipReuseIpCfgService.getIpByIp(ip);
//根据ip调用接口获取数据
//user=userManageService.getUserManage(ip, request);
//user=userManageService.getUserList(ip, request);
if(ipReuseIpCfg!=null){
user.setServerIp(ipReuseIpCfg.getDestIpAddress());
user.setRemarks(ipReuseIpCfg.getCfgDesc());
@@ -167,6 +167,7 @@ public class UserManageController extends BaseController{
UserManage user=new UserManage();
user=userManageService.getUserByLoginName(userName);
IpReuseIpCfg ipReuseIpCfg=ipReuseIpCfgService.getIpByIp(serverIp);
//user=userManageService.getUserManage(ip, request);
if(ipReuseIpCfg!=null){
user.setServerIp(ipReuseIpCfg.getDestIpAddress());
user.setRemarks(ipReuseIpCfg.getCfgDesc());

View File

@@ -7,6 +7,7 @@
<result column="user_name" property="userName" jdbcType="VARCHAR"/>
<result column="user_pwd" property="userPwd" jdbcType="VARCHAR"/>
<result column="server_ip" property="serverIp" jdbcType="VARCHAR"/>
<result column="user_type" property="userType" jdbcType="VARCHAR"/>
<result column="is_valid" property="isValid" jdbcType="INTEGER"/>
<result column="is_audit" property="isAudit" jdbcType="INTEGER" />
<result column="creator_id" property="creatorId" jdbcType="INTEGER" />
@@ -17,7 +18,7 @@
</resultMap>
<sql id="Columns">
r.ID,r.USER_NAME,r.USER_PWD,r.SERVER_IP,r.is_audit,
r.ID,r.USER_NAME,r.USER_PWD,r.SERVER_IP,r.user_type,r.is_audit,
r.IS_VALID,r.CREATOR_ID,r.CREATE_TIME,r.EDITOR_ID,r.EDIT_TIME,remarks
</sql>
@@ -46,6 +47,9 @@
<if test="serverIp != null and serverIp != ''">
AND r.server_ip like concat(concat('%',#{serverIp,jdbcType=VARCHAR}),'%')
</if>
<if test="userType != null and userType != ''">
AND r.user_type =#{userType,jdbcType=VARCHAR}
</if>
<if test="remarks != null and remarks != ''">
AND r.remarks like concat(concat('%',#{remarks,jdbcType=VARCHAR}),'%')
</if>
@@ -74,6 +78,7 @@
USER_NAME,
USER_PWD,
SERVER_IP,
user_type,
IS_VALID,
is_audit,
CREATOR_ID,
@@ -85,6 +90,7 @@
#{userName,jdbcType=VARCHAR},
#{userPwd,jdbcType=VARCHAR},
#{serverIp,jdbcType=VARCHAR},
#{userType,jdbcType=VARCHAR},
#{isValid,jdbcType=INTEGER},
0,
#{creatorId,jdbcType=INTEGER},
@@ -110,6 +116,9 @@
</if>
<if test="serverIp != null and serverIp != ''" >
server_ip = #{serverIp,jdbcType=VARCHAR},
</if>
<if test="userType != null and userType != ''">
user_type =#{userType,jdbcType=VARCHAR},
</if>
<if test="creatorId != null" >
creator_id = #{creatorId,jdbcType=INTEGER},

View File

@@ -106,13 +106,13 @@ public class UserManageService extends BaseService{
}
//根据vpn服务器ip获取用户vpn服务器ip信息
public UserManage getUserManage(String serverIp,HttpServletRequest request){
public UserManage getUser(String serverIp,HttpServletRequest request){
UserManage user=new UserManage();
/*Map<String, Object> params = new HashMap<String, Object>();
Map<String, Object> params = new HashMap<String, Object>();
params.put("server_ip", serverIp);
try{
String url ="URL"+ Constants.NTC_IP_REUSE_USER_LIST;
String recv = HttpClientUtil.getUserMsg(url, params, request);
String recv = HttpClientUtil.getMsg(url, params, request);
logger.info("查询结果:" + recv);
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
@@ -123,10 +123,32 @@ public class UserManageService extends BaseService{
}
} catch (Exception e) {
logger.error("查询失败", e);
}*/
}
return user;
}
//根据vpn服务器ip,用户名获取用户信息
public UserManage getUserManage(String serverIp,String userName,HttpServletRequest request){
UserManage user=new UserManage();
Map<String, Object> params = new HashMap<String, Object>();
params.put("server_ip", serverIp);
params.put("user_name", userName);
try{
String url ="URL"+ Constants.NTC_IP_REUSE_USER_GET;
String recv = HttpClientUtil.getMsg(url, params, request);
logger.info("查询结果:" + recv);
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<UserManage> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<UserManage>>(){}.getType());
if (fromJson.getStatus().intValue() == 200) {
}
}
} catch (Exception e) {
logger.error("查询失败", e);
}
return user;
}
/**
*
* @param isAudit

View File

@@ -560,3 +560,8 @@ poolcm_socket_timeout=3000
app_vignore_user_region_key=VIGNORE
#policies\u83DC\u5355\u7684\u83DC\u5355ID
policies_menu_id=86
userCreate=UserCreate
userPasswordSet=UserPasswordSet
userDelete=UserDelete
userGet=UserGet
userList=UserList

View File

@@ -10,6 +10,8 @@
$("#intype").val("${cfg.userName}");
} else if("${cfg.remarks}"){
$("#intype").val("${cfg.remarks}");
} else if("${cfg.serverIp}"){
$("#intype").val("${cfg.serverIp}");
} else{
$("#intype").attr("placeholder","<spring:message code='input'/> "+$("#seltype").find("option:selected").text());
}
@@ -41,6 +43,7 @@
$("#exportValue").val($("#intype").val());
}
}
});
@@ -77,37 +80,37 @@
html+="</tr>";
}
$("#userTable tbody").prepend(html);
openWindow();
openWindow('light');
}
});
}
function openWindow(){
document.getElementById('light').style.display='block';
function addVpnIp(id,serverIp,userName){
$("#spUserName").text(userName)
$("#serverIpId").val(serverIp);
$("#serverIpName").val(serverIp);
$("#userId").val(id);
openWindow('light2');
}
function saveIp(){
if($("#serverIpId").val()==null || $("#serverIpId").val()==''){
top.$.jBox.tip("<spring:message code='vpn_ip'/> <spring:message code='required'/>","");
}else{
window.location.href="${ctx}/maintenance/userManage/save?id="+$("#userId").val()+"&serverIp="+$("#serverIpId").val();
$("#submitIp").attr('disabled',"true");
}
}
function openWindow(type){
document.getElementById(type).style.display='block';
document.getElementById('fade').style.display='block';
}
function closeWindow(){
document.getElementById('light').style.display='none';
function closeWindow(type){
document.getElementById(type).style.display='none';
document.getElementById('fade').style.display='none';
}
</script>
<style type="text/css">
.revisionBox {
margin: 5px;
}
span.label.label-success{
width: 250px;
}
.popover {
max-width: 800px;
}
.btn.purple-stripe {
border-left: 3px solid #852B99;
}
.black_overlay{
display: none;
position: absolute;
@@ -124,7 +127,7 @@
.white_content {
display: none;
position: absolute;
top: 15%;
top: 20%;
left: 20%;
width: 60%;
height: 480px;
@@ -136,6 +139,24 @@
-webkit-box-shadow: 2px 2px 10px #909090;
box-shadow:2px 2px 10px #909090;
}
.white_vpn{
display: none;
position: absolute;
top: 15%;
left: 25%;
width: 615px;
height: 230px;
border: 1px solid 42403e52;
background-color: white;
z-index:1002;
overflow: auto;
-moz-box-shadow: 2px 2px 10px #909090;
-webkit-box-shadow: 2px 2px 10px #909090;
box-shadow:2px 2px 10px #909090;
}
.input_w{
width: 350px;
}
</style>
</head>
<body>
@@ -169,6 +190,7 @@
<div class="input-group-btn">
<form:select path="seltype" class="selectpicker select2 input-small" >
<form:option value="userName"><spring:message code="user_name"></spring:message></form:option>
<form:option value="serverIp"><spring:message code="vpn_ip"></spring:message></form:option>
<form:option value="remarks"><spring:message code="desc"></spring:message></form:option>
</form:select>
@@ -252,7 +274,7 @@
<tr>
<th><input type="checkbox" class="i-checks" id="checkAll"></th>
<th><spring:message code="user_name"/></th>
<%-- <th><spring:message code="vpn_ip"/></th> --%>
<th><spring:message code="vpn_ip"/></th>
<th><spring:message code="desc"/></th>
<th><spring:message code="creator"/></th>
<th class="sort-column a.create_time"><spring:message code="config_time"/></th>
@@ -268,7 +290,7 @@
<input type="checkbox" class="i-checks child-checks" id="${indexCfg.id}" isValid="${cfg.isValid}" value="0" >
</td>
<td>${indexCfg.userName }</td>
<%-- <td>${indexCfg.serverIp }</td> --%>
<td><a href="javascript:dictDetail('${indexCfg.serverIp}','${indexCfg.userName}')">${indexCfg.serverIp }</a></td>
<td>${indexCfg.remarks }</td>
<td>${indexCfg.creatorName }</td>
<td><fmt:formatDate value="${indexCfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
@@ -279,8 +301,7 @@
<a class="btn btn-primary" href="#"><i class="icon-cogs"></i> <spring:message code="operation"/></a>
<a class="btn btn-primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="javascript:dictDetail('${indexCfg.serverIp}','${indexCfg.userName}')"><i class="icon-list"></i> <spring:message code="detail"/></a></li>
<li><a href="${ctx}/basics/vpn/addForm?functionId=636&type=userIp"><i class="fa fa-plus"></i><spring:message code="add"/> <spring:message code="vpn_ip"/></a></li>
<li><a href="javascript:addVpnIp('${indexCfg.id}','${indexCfg.serverIp}','${indexCfg.userName}')"><i class="fa fa-plus"></i><spring:message code="add"/> <spring:message code="vpn_ip"/></a></li>
</ul>
</div>
</td>
@@ -300,24 +321,59 @@
<div id="light" class="white_content">
<div class="jbox-title-panel" style="border-bottom: 1px solid #b9b9b9;height: 40px;width: 100%;padding: 11px;">
<span style="font-size: 16px;"><spring:message code="user_list"/></span>
<a href="javascript:void(0)" onClick="closeWindow()" style="text-decoration: none;color: #777777;float: right;" > X</a>
<a href="javascript:void(0)" onClick="closeWindow('light')" style="text-decoration: none;color: #777777;float: right;" > X</a>
</div>
<div style='font-size: 14px;height: 405px;overflow: auto;' align='center'>
<table id="userTable" class='table table-bordered table-condensed' style='width:98%;margin-top: 10px;' >
<thead>
<th><spring:message code="user_name"/></th>
<th><spring:message code="vpn_ip"/></th>
<th><spring:message code="num_logins"/></th>
<th><spring:message code="last_login"/></th>
<th><spring:message code="transfer_packets"/></th>
<th><spring:message code="transfer_bytes"/></th>
<th><spring:message code="desc"/></th>
<thead style="font-weight:bold;">
<td><spring:message code="user_name"/></td>
<td><spring:message code="vpn_ip"/></td>
<td><spring:message code="num_logins"/></td>
<td><spring:message code="last_login"/></td>
<td><spring:message code="transfer_packets"/></td>
<td><spring:message code="transfer_bytes"/></td>
<td><spring:message code="desc"/></td>
</thead>
<tbody></tbody>
</table>
</div>
<div style="border-top: 1px solid #b9b9b9;padding: 4px;background: #eee;height: 35px;">
<button onclick="closeWindow();" style="float: right;"><spring:message code="close"/></button>
<button onclick="closeWindow('light');" style="float: right;"><spring:message code="close"/></button>
</div>
</div>
<div id="light2" class="white_vpn">
<div class="jbox-title-panel" style="border-bottom: 1px solid #b9b9b9;height: 40px;width: 100%;padding: 11px;">
<span style="font-size: 16px;"><spring:message code="vpn_ip"/></span>
<a href="javascript:void(0)" onClick="closeWindow('light2')" style="text-decoration: none;color: #777777;float: right;" > X</a>
</div>
<input type="hidden" id="userId"/>
<table border="0" style="width: 80%;line-height: 35px;margin-top: 15px;margin-left: 40px;">
<tr>
<td align="right"><spring:message code="user_name" />&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td width="320px;" ><span id='spUserName'></span></td>
</tr>
<tr>
<td align="right"><spring:message code="vpn_ip" />&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td width="320px;">
<sys:treeselect id="serverIp" name="serverIp"
value="${user.serverIp}" labelName="user.serverIp"
notAllowSelectParent="true" enableSearch="true"
notAllowSelectRoot="true" checkedPS="ps" unCheckedPS="ps"
labelValue="${user.serverIp}" title="vpn_ip"
url="/maintenance/userManage/treeData?isLeafShow=false&cfgType=3&specific=true" extId="0"
checked="true" cssClass="form-control required" />
</td>
<td width="30px;"><span class="help-inline"><font color="red" id='red'>*</font> </span></td>
</tr>
</table>
<div class="form-actions" style="margin-top: 30px;">
<button type="submit" class="btn green" id="submitIp" onClick="return saveIp()" style="margin-left: 70px;" >
<spring:message code="submit" />
</button>
<button type="button" class="btn default" onClick="closeWindow('light2')">
<spring:message code="cancel" />
</button>
</div>
</div>
<div id="fade" class="black_overlay"></div>

View File

@@ -98,13 +98,27 @@
value="${user.serverIp}" labelName="user.serverIp"
notAllowSelectParent="true" enableSearch="true"
notAllowSelectRoot="true" checkedPS="ps" unCheckedPS="ps"
labelValue="${user.serverIp}" title="${vpn_ip}"
labelValue="${user.serverIp}" title="vpn_ip"
url="/maintenance/userManage/treeData?isLeafShow=false&cfgType=3&specific=true" extId="0"
checked="true" cssClass="form-control required" />
</div>
<span class="help-inline"><font color="red">*</font> </span>
<div for="user.serverIp"></div>
</div>
<div class="form-group hidden">
<label class="col-md-3 control-label"><spring:message
code="user_name" /></label>
<div class="col-md-4">
<select name="userType" data-live-search="true" class="selectpicker form-control required">
<c:forEach items="${fns:getDictList('USER_TYPE')}" var="userTypes">
<option value="${userTypes.itemCode}" <c:if test="${user.userType==userTypes.itemCode || (user.userType==null && userTypes.itemCode eq '0')}">selected</c:if>><spring:message code="${userTypes.itemValue}"/></option>
</c:forEach>
</select>
</div>
<span class="help-inline"><font color="red">*</font> </span>
</div>
<div class="form-group">
<label class="col-md-3 control-label"><spring:message
code="user_name" /></label>