/** * Tencent is pleased to support the open source community by making MSEC available. * * Copyright (C) 2016 THL A29 Limited, a Tencent company. All rights reserved. * * Licensed under the GNU General Public License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may * obtain a copy of the License at * * https://opensource.org/licenses/GPL-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package beans.service; import beans.dbaccess.SecondLevelService; import beans.request.AddSecondLevelServiceIPInfoRequest; import beans.response.AddSecondLevelServiceIPInfoResponse; import beans.response.AddServiceResponse; import ngse.org.DBUtil; import ngse.org.JsonRPCHandler; import ngse.org.Tools; import org.apache.log4j.Logger; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; /** * Created by Administrator on 2016/1/27. * 增加 标准服务的IP信息 * 一开始没有规划好,搞的这几个bean的名字都怪怪的 */ public class AddSecondLevelServiceIPInfo extends JsonRPCHandler { public AddSecondLevelServiceIPInfoResponse exec(AddSecondLevelServiceIPInfoRequest request) { AddSecondLevelServiceIPInfoResponse response = new AddSecondLevelServiceIPInfoResponse(); response.setMessage("unkown error."); response.setStatus(100); Logger logger = Logger.getLogger(AddSecondLevelServiceIPInfo.class); String result = checkIdentity(); if (!result.equals("success")) { response.setStatus(99); response.setMessage(result); return response; } if (request.getIp() == null || request.getIp().equals("") || request.getPort() == null || request.getStatus() == null || request.getStatus().equals("") || request.getSecond_level_service_name() == null|| request.getSecond_level_service_name().equals("")) { response.setMessage("Some request field is empty."); response.setStatus(100); return response; } ArrayList<String> ips = Tools.splitBySemicolon(request.getIp()); if (ips == null || ips.size() == 0) { response.setMessage("IP format error!"); response.setStatus(100); return response; } DBUtil util = new DBUtil(); if (util.getConnection() == null) { response.setMessage("DB connect failed."); response.setStatus(100); return response; } /* if (request.getPort() == -1)// -1表示由该业务全局port配置项决定,在t_second_level_service表里 { int port = getStandardServicePort(util, request.getFirst_level_service_name(), request.getSecond_level_service_name()); request.setPort(port); } logger.info("request.port="+request.getPort()); */ ArrayList<String> addedIPs = new ArrayList<String>(); try { for (int i = 0; i < ips.size(); i++) { String sql; List<Object> params = new ArrayList<Object>(); sql = "insert into t_second_level_service_ipinfo(ip,port,status, second_level_service_name,first_level_service_name, comm_proto) values(?,?,?,?,?,?)"; params.add(ips.get(i)); params.add(request.getPort()); params.add(request.getStatus()); params.add(request.getSecond_level_service_name()); params.add(request.getFirst_level_service_name()); params.add(request.getComm_proto()); try { int addNum = util.updateByPreparedStatement(sql, params); if (addNum >= 0) { addedIPs.add(ips.get(i)); continue; } else { response.setMessage("failed to insert table"); response.setStatus(100); return response; } } catch (SQLException e) { response.setMessage("add record failed:" + e.toString()); response.setStatus(100); e.printStackTrace(); return response; } } response.setAddedIPs(addedIPs); response.setMessage("success"); response.setStatus(0); return response; } finally { util.releaseConn(); } } }