TempleteSyncToolsOperation.jsp 4.02 KB
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ include file="/templetecheck/filecheck/CheckUserIsSysadmin.jsp" %>
<%@ page import="weaver.general.Util,weaver.general.GCONST" %>
<%@ page import="java.io.*" %>
<%@ page import="com.alibaba.fastjson.JSONObject" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Properties" %>
<%@ page import="weaver.templetecheck.filecheck.TempleteSyncToolsPropBean" %>
<%@ page import="weaver.templetecheck.filecheck.TempleteSyncToolsOperation" %>
<%
    String verifycode = Util.null2String(request.getParameter("verifycode"));
    String dbserver = Util.null2String(request.getParameter("dbserver"));
    String dbport = Util.null2String(request.getParameter("dbport"));
    String dbname = Util.null2String(request.getParameter("dbname"));
    String username = Util.null2String(request.getParameter("username"));
    String password = Util.null2String(request.getParameter("password"));
    String dbtype = Util.null2String(request.getParameter("dbtype"));
    String method =  Util.null2String(request.getParameter("method"));
    JSONObject jsonObj = new JSONObject();
    TempleteSyncToolsPropBean propBean = TempleteSyncToolsPropBean.getInstance();
    TempleteSyncToolsOperation templeteSyncToolsOperation = TempleteSyncToolsOperation.getInstance();


    if(method.equals("testConnection")){

        char[]  c_code=new char[16];
        new FileReader(GCONST.getRootPath()+File.separator+"WEB-INF"+File.separator+"code.key").read(c_code);
        String realcode=new String(c_code).trim();

        Properties prop = propBean.editProp( dbserver,  dbport,  dbname,  username,  password,  dbtype);
        propBean.setProperties(prop);

        if(!realcode.equals(verifycode)){
            jsonObj.put("status","fail");
            jsonObj.put("message","验证码不正确!");
            out.print(jsonObj.toString());
            return;
        }

        Connection conn = templeteSyncToolsOperation.getBeTransConnection(request);
        if(conn==null){
            jsonObj.put("status","fail");
            jsonObj.put("message","数据库连接失败,请检查参数信息是否正确!");
            out.print(jsonObj.toString());
            return;
        }
        jsonObj.put("status","success");
        jsonObj.put("message","测试通过!可进行迁移!");
        out.print(jsonObj.toString());
        return;
    }else if(method.equals("startSync")){
        boolean prop_isempty = templeteSyncToolsOperation.isEmptyObject(propBean.getProperties());
        if(prop_isempty){
            jsonObj.put("status","fail");
            jsonObj.put("message","数据库参数信息发生变化,请重新填写!");
            out.print(jsonObj.toString());
            return;
        }
       templeteSyncToolsOperation.startSync();
        jsonObj.put("status","success");
        jsonObj.put("message","同步数据成功");
        out.print(jsonObj.toString());
    }else if(method.equals("getCurrentSyncStatus")){
        try {
            int syncStatus = templeteSyncToolsOperation.syncStatus;
            jsonObj.put("status","success");
            jsonObj.put("syncStatus",syncStatus);
        }catch (Exception e){
            jsonObj.put("status","fail");
        }
        out.print(jsonObj.toString());
    }else if(method.equals("resetSyncStatus")){
        templeteSyncToolsOperation.syncStatus=0;
    }else if(method.equals("getLog")){
        String firstRequest = Util.null2String(request.getParameter("firstGetLog"));
        try {
            jsonObj = templeteSyncToolsOperation.getLogInfo(firstRequest);
            String tt = jsonObj.toJSONString().replaceAll("/", "-- ").replaceAll("\\\\\"", "");
            out.print(tt);
        } catch (Exception e) {
            jsonObj.put("status","fail");
            out.print( jsonObj.toJSONString());
        }

    }else{
        jsonObj.put("status","fail");
        jsonObj.put("message","表单参数不合法");
        out.print(jsonObj.toString());
    }
%>