CenterSwitchCtrl.java 4.61 KB
package com.ui.ctrl;

import com.ui.contants.HttpUriContants;
import com.ui.http.HttpRestClient;
import com.ui.model.BaseResponse;
import com.ui.model.domain.CenterSwitchModel;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;


/**
 * Created by zhengyouwei on 2016/10/24.
 */
@RestController
@RequestMapping(value = "/centerSwitch")
public class CenterSwitchCtrl {
    Logger log = LoggerFactory.getLogger(JavaRestartCtrl.class);
    @Autowired
    private HttpRestClient httpClient;

    @RequestMapping("/toCenterSwitch")
    public ModelAndView toCenterSwitch(){

        return new ModelAndView("switch/center_switch");
    }

    @RequestMapping("/getSwitchList")
    @ResponseBody
    public BaseResponse getSwitchList(){
        return httpClient.defaultPost(HttpUriContants.CENTERSWITCH_GET, null, BaseResponse.class);
    }

    @RequestMapping("/todoExe")
    public ModelAndView todoExe(String name,String toCloud,Model model){
        model.addAttribute("name",name);
        model.addAttribute("toCloud",toCloud);
        return new ModelAndView("switch/center_switch_exe");

    }

    @RequestMapping("/doExe")
    public BaseResponse doExe(CenterSwitchModel centerSwitchModel){
        BaseResponse baseResponse =  httpClient.defaultPost(HttpUriContants.CENTERSWITCH_SWITCH, centerSwitchModel, BaseResponse.class);
        return baseResponse;
    }

    @RequestMapping("/toCenterSwitchNew")
    public ModelAndView toCenterSwitchNew(){

        return new ModelAndView("switch/new_center_switch");
    }

    @RequestMapping("/switchMysqlCheckStatus")
    @ResponseBody
    public BaseResponse switchMysqlCheckStatus(){
        BaseResponse baseResponse =  httpClient.defaultPost(HttpUriContants.CENTERSWITCH_SWITCH_CHECK_MYSQL_STATUS, null, BaseResponse.class);
        String checkStatus=(String)baseResponse.getData();
        String desc[]=checkStatus.split("</br>");
        int count=0;
        int dbnums=0;
        for(String str:desc){
            if(StringUtils.isBlank(str)||str.indexOf("begin")>=0||str.indexOf("end")>=0){
                continue;
            }
            log.error("mysqlstatus==="+str);
            if(count==0){
                if(str.startsWith("172")||str.startsWith("10")){
                    dbnums++;
                    count++;
                }else{
                    baseResponse.setCode(201);
                    baseResponse.setMessage("db状态校验不通过");
                    break;
                }
            }else if(count==1||count==2){
                if(str.equalsIgnoreCase("yes")){
                    count++;
                }else{
                    baseResponse.setCode(202);
                    baseResponse.setMessage("db状态校验不通过");
                    break;
                }
            }else if(count==3){
                if(str.equalsIgnoreCase("0")){
                    count=0;
                }else{
                    baseResponse.setCode(203);
                    baseResponse.setMessage("db状态校验不通过");
                    break;
                }
            }

        }
        if(dbnums<=0){
            baseResponse.setCode(204);
            baseResponse.setMessage("db状态校验不通过,dbnum is 0");
        }
        return baseResponse;
    }

    @RequestMapping("/doExeAndCheck")
    public BaseResponse doExeAndCheck(CenterSwitchModel centerSwitchModel){
        BaseResponse baseResponse =  httpClient.defaultPost(HttpUriContants.CENTERSWITCH_SWITCH_CHECK, centerSwitchModel, BaseResponse.class);
        return baseResponse;
    }

    @RequestMapping("/doExeAndCheckBefore")
    @ResponseBody
    public BaseResponse doExeAndCheckBefore(){
        return httpClient.defaultPost(HttpUriContants.CENTERSWITCH_SWITCH_BEFORE, null, BaseResponse.class);
    }

    @RequestMapping("/checkSmsCode")
    @ResponseBody
    public BaseResponse checkSmsCode(String code){
        return httpClient.defaultPost(HttpUriContants.CENTERSWITCH_SWITCH_SMS_CHECK+"?code="+code, null, BaseResponse.class);
    }

    @RequestMapping("/checkStatus")
    public BaseResponse checkStatus(CenterSwitchModel centerSwitchModel){
        BaseResponse baseResponse =  httpClient.defaultPost(HttpUriContants.CENTERSWITCH_STATUS, centerSwitchModel, BaseResponse.class);
        return baseResponse;
    }
}