Authored by skinny.wu

Merge remote-tracking branch 'origin/master'

package com.ui.model.req;
import lombok.Data;
/**
* Created by zhengyouwei on 2016/7/21.
*/
@Data
public class ProjectBuildReq extends PageRequest {
private String currentProject;
private String environment;
}
... ...
... ... @@ -51,7 +51,7 @@ public class ManagerCtrl {
if (userAuthLocal.getUserByname(user.getName()) != null) {
return new BaseResponse(201, "用户已经存在");
}
user.setPwd(MD5Util.encryption("123456"));
user.setPwd(MD5Util.encryption("Yoho@9646"));
baseResponse = httpRestClient.defaultPost(HttpUriContants.USER_INSERT, user, BaseResponse.class);
} else {
if ("admin".equals(user.getName())) {
... ...
package com.ui.ctrl;
import com.alibaba.fastjson.JSONArray;
import com.ui.contants.HttpUriContants;
import com.ui.http.HttpRestClient;
import com.ui.model.BaseResponse;
import com.ui.model.req.BuildRequest;
import com.ui.model.req.HostInfoReq;
import com.ui.model.req.ProjectBuildReq;
import com.ui.project.ProjectEnvironment;
import com.ui.project.ProjectOnline;
import org.slf4j.Logger;
... ... @@ -34,6 +38,13 @@ public class ProjectBuildCtrl {
return new ModelAndView("project/project");
}
@RequestMapping("/toHistory")
public ModelAndView toHistory(Model model) {
model.addAttribute("environments", ProjectEnvironment.getEnviroments());
model.addAttribute("projects", ProjectOnline.getProjectList());
return new ModelAndView("project/history");
}
/**
* 获取所有项目
*
... ... @@ -146,4 +157,17 @@ public class ProjectBuildCtrl {
}
}
@RequestMapping("/getHistory")
@ResponseBody
public BaseResponse getHistory(ProjectBuildReq req) throws Exception {
if("all".equals(req.getEnvironment())){
req.setEnvironment(null);
}
if("all".equals(req.getCurrentProject())){
req.setCurrentProject(null);
}
BaseResponse response=httpRestClient.defaultPost("/projectBuild/getHistory", req, BaseResponse.class);
return response;
}
}
... ...
... ... @@ -48,7 +48,7 @@ public class UserCtrl {
}
if (u.getPwd().equals(MD5Util.encryption(user.getPwd()))) {
session.setAttribute("user", user.getName());
if("123456".equals(user.getPwd())){
if("Yoho@9646".equals(user.getPwd())){
return new ModelAndView("user/modifypwd");
}
return new ModelAndView("dashBoard/dashBoard");
... ...
<%@page language="java" contentType="text/html;charset=utf-8" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="<%=basePath %>css/bootstrap.min.css"/>
<link rel="stylesheet" href="<%=basePath %>css/bootstrap-datetimepicker.css"/>
<link href="<%=basePath %>js/bootstrap-plugin/css/bootstrap.table.css" rel="stylesheet" media="screen"/>
<link rel="stylesheet" href="<%=basePath %>css/bootstrap-responsive.min.css"/>
<link rel="stylesheet" href="<%=basePath %>css/fullcalendar.css"/>
<link rel="stylesheet" href="<%=basePath %>css/unicorn.main.css"/>
<link rel="stylesheet" href="<%=basePath %>css/unicorn.grey.css"/>
<link rel="stylesheet" href="<%=basePath %>css/jquery-ui.css"/>
<link rel="stylesheet" href="<%=basePath %>css/uniform.css"/>
<link rel="stylesheet" href="<%=basePath %>css/select2.css"/>
<link rel="stylesheet" href="<%=basePath %>js/jstree/themes/proton/style.css"/>
<link rel="stylesheet" href="<%=basePath %>css/select2.css"/>
<link rel="stylesheet" href="<%=basePath %>css/yoho.css"/>
<script src="<%=basePath %>js/excanvas.min.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/jquery-1.12.0.min.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/jquery-ui.custom.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>/js/bootstrap.min.js"></script>
<script src="<%=basePath %>/js/unicorn.js"></script>
<script src="<%=basePath %>js/bootstrap-plugin/datetimepicker/moment-with-locales.js" charset="UTF-8"
type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/datetimepicker/bootstrap-datetimepicker.js" charset="UTF-8"
type="text/javascript"></script>
<script src="<%=basePath %>js/global.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.pagination.js" charset="UTF-8"
type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.table.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.dialog.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.form.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.panel.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.alerts.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.accordion.js" charset="UTF-8"
type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.breadcrumb.js" charset="UTF-8"
type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.validate.js" charset="UTF-8"
type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.form.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/layer/layer.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/bootstrap-plugin/bootstrap.select.js" charset="UTF-8" type="text/javascript"></script>
<script src="<%=basePath %>js/jstree/jstree.min.js"></script>
<script src="<%=basePath %>js/jquery.toaster.js"></script>
<script>
var contextPath = '<%=basePath %>';
</script>
<title>YOHO!运维</title>
</head>
<body>
<!-- 头部 -->
<div id="head">
</div>
<!-- 右侧具体内容 -->
<div id="content">
<div id="breadcrumb">
<a href="#" title="Go to Home" class="tip-bottom"><i
class="icon-home"></i> Home</a> <a href="#" class="current">发布历史</a>
</div>
<div class="container-fluid">
<div class="widget-box">
<div class="widget-title">
<h5>发布历史查询</h5>
</div>
<div class="widget-content nopadding">
<div class="widget-title" style="height: 53px;">
<div>
<div class="form-inline" role="form" id="inBoxQueryDiv"
style=" margin-top: 12px;margin-left: 25px;float: left;">
<div class="input-group" style="float: left;">
<span class="input-group-addon">环境:</span>
<select id="environment" name="environment" class="form-control">
<option value="all" selected="selected"></option>
<c:forEach items="${environments }" var="envi">
<option value="${envi }">${envi }</option>
</c:forEach>
</select>
</div>
<div class="input-group" style="float: left;">
<span class="input-group-addon">项目:</span>
<select id="currentProject" name="currentProject" class="form-control">
<option value="all"></option>
<c:forEach items="${projects }" var="project">
<option value="${project.name }">${project.name }</option>
</c:forEach>
</select>
</div>
<button id="searchBtn" class="btn btn-primary" style="margin-left: 18px;">搜索</button>
</div>
</div>
</div>
<div id="historyTable">
</div>
</div>
</div>
</div>
</div>
<script src="<%=basePath %>script/common/genarate_left_panel.js"></script>
<script>
$("#li_project").addClass("active open");
$("#li_projectHistory").addClass("active");</script>
<script>
$(function () {
//加载表格
$("#historyTable").table({
columnAutoWidth: false,
url: "getHistory",
striped: true,
title: "发布历史列表",
dataType: "json",
pagination: true,
pageSize: 10,
loadFilter: function (data) {
return defaultLoadFilter(data);
},
columns: [{
title: "id",
field: "localid",
width: "5%"
}, {
title: "环境",
field: "environment",
width: "5%"
}, {
title: "操作",
field: "operate",
width: "5%"
}, {
title: "用户",
field: "user",
width: "5%"
}, {
title: "分支",
field: "branch",
width: "5%"
}, {
title: "当前项目",
field: "currentProject",
width: "10%"
}, {
title: "状态",
field: "status",
formatter : function(value, rowData, rowIndex) {
if(value == 1){
return '正在进行';
} else if(value == 2){
return '正常结束';
}else if(value == 3){
return '强制取消';
}else if(value == 4){
return '出错取消';
}else{
return '其他';
}
},
width: "10%"
}, {
title: "回滚文件",
field: "rollbackfile",
width: "10%"
},{
title: "执行顺序",
field: "projectOrder",
width: "30%"
},{
title: "时间",
field: "createTime",
width: "15%"
}]
});
});
//点击查询按钮
$("#searchBtn").click(function () {
var currentProject = $("#currentProject").val();
var environment = $("#environment").val();
$("#historyTable").table("load", {
'currentProject': currentProject,
'environment': environment
});
});
</script>
\ No newline at end of file
... ...
... ... @@ -187,6 +187,7 @@
<script src="<%=basePath%>script/project.js"></script>
<script src="<%=basePath %>script/common/genarate_left_panel.js"></script>
<script type="text/javascript">
$("#li_project").addClass("active open");
$("#li_projectRelease").addClass("active");
</script>
<script language="JavaScript">
... ...
... ... @@ -20,7 +20,7 @@ innerHTML += "<li id='li_zkMonitor'><a id='li_zkMonitor_a' href=''><i class='ico
innerHTML += "<li id='li_rabbitview'><a id='li_rabbitview_a' href=''><i class='icon icon-th'></i> <span>Rabbitmq监控</span></a></li>";
innerHTML += "<li id='li_redisInfo'><a id='li_redisInfo_a' href=''><i class='icon icon-th'></i> <span>Redis监控</span></a></li>";
innerHTML += "<li id='li_nginxview'><a id='li_nginxview_a' href=''><i class='icon icon-th'></i> <span>Nginx监控</span></a></li>";
innerHTML += "<li id='li_projectRelease'><a id='li_projectRelease_a' href=''><i class='icon icon-th'></i> <span>项目发布</span></a></li>";
/*Hystrix*/
innerHTML += "<li class='submenu' id='li_hystrix'><a id='a_hystrix' href='#'><i class='icon icon-th-list'></i> <span>Hystrix</span><span class='label'>2</span></a>";
... ... @@ -28,6 +28,12 @@ innerHTML += "<ul><li id='li_hystrix_aws'><a id='a_hystrix_aws' href=''>AWS</a><
innerHTML += "<li id='li_hystrix_qcloud'><a id='a_hystrix_qcloud' href=''>QCloud</a></li>";
innerHTML += "</ul></li>";
/*project*/
innerHTML += "<li class='submenu' id='li_project'><a id='li_project_a' href='#'><i class='icon icon-th-list'></i> <span>项目发布</span><span class='label'>2</span></a><ul>";
innerHTML += "<li id='li_projectRelease'><a id='li_projectRelease_a' href=''><i class='icon icon-th'></i> <span>项目发布</span></a></li>";
innerHTML += "<li id='li_projectHistory'><a id='li_projectHistory_a' href=''><i class='icon icon-th'></i> <span>历史记录</span></a></li>";
innerHTML += "</ul></li>";
/*switch*/
innerHTML += "<li class='submenu' id='li_switch'><a id='li_switch_a' href='#'><i class='icon icon-th-list'></i> <span>关键切换</span><span class='label'>2</span></a>";
innerHTML += "<ul><li id='li_nginxswitch'><a id='li_nginxswitch_a' href=''>nginx切换</a></li>";
... ... @@ -35,10 +41,9 @@ innerHTML += "<li id='li_dnsswitch'><a id='li_dnsswitch_a' href='#'>DNS切换</a
innerHTML += "</ul></li>";
/*manage*/
innerHTML += "<li class='submenu' id='li_manager'><a id='li_manager_a' href='#'><i class='icon icon-th-list'></i> <span>管理员</span><span class='label'>3</span></a>";
innerHTML += "<li class='submenu' id='li_manager'><a id='li_manager_a' href='#'><i class='icon icon-th-list'></i> <span>管理员</span><span class='label'>2</span></a>";
innerHTML += "<ul><li id='li_user'><a id='li_user_a' href=''>用户管理</a></li>";
innerHTML += "<li id='li_module'><a id='li_module_a' href=''>模块管理</a></li>";
innerHTML += "<li id='li_projectlist'><a id='li_projectlist_a' href=''>发布记录</a></li>";
innerHTML += "</ul></li>";
/*其他*/
... ... @@ -67,7 +72,7 @@ document.getElementById("li_zkMonitor_a").setAttribute("href", path + "/zkTree/t
document.getElementById("li_user_a").setAttribute("href", path + "/manage/toUser");
document.getElementById("li_module_a").setAttribute("href", path + "/manage/toModule");
document.getElementById("li_nginxswitch_a").setAttribute("href", path + "/nginxswitch/toNginxSwitch");
//document.getElementById("li_dnsswitch_a").setAttribute("href", path + "/dnspod/toDns");
document.getElementById("li_projectHistory_a").setAttribute("href", path + "/project/toHistory");
document.getElementById("a_hystrix_aws").setAttribute("href", path + "/hystrix/aws");
document.getElementById("a_hystrix_qcloud").setAttribute("href", path + "/hystrix/qcloud");
... ...