diff --git a/WebContent/WEB-INF/config/config.properties b/WebContent/WEB-INF/config/config.properties index 9d770739..f0a97737 100644 --- a/WebContent/WEB-INF/config/config.properties +++ b/WebContent/WEB-INF/config/config.properties @@ -60,7 +60,8 @@ kubeMasterUrl=http://192.168.0.110:8080/ collect-user-name=system collect-password=oracle collect-service-name=orcl - +# standard table : +# eg:sql -> select count(*) from u_bzbjy.kzxzb; select count(*) from u_bzbjy.zfxxb; collect-user-table=u_bzbjy collect-exec-table=kzxzb collect-pay-table=zfxxb @@ -109,4 +110,3 @@ package_name=DefaultDescription sql_script_path_last=/DefaultDescription_last/ sql_script_path_standard=/DefaultDescription/ - diff --git a/src/com/base/BaseController.java b/src/com/base/BaseController.java index 85e4927e..5625d3a1 100644 --- a/src/com/base/BaseController.java +++ b/src/com/base/BaseController.java @@ -31,7 +31,7 @@ import com.platform.utils.Configs; public class BaseController { /** log4j */ - public static Logger log = Configs.DAILY_ROLLING_LOGGER; + public final static Logger log = Logger.getLogger(BaseController.class); /** * <一句话功能简述> 基于@ExceptionHandler异常处理----全局异常处理 @@ -43,9 +43,8 @@ public class BaseController { */ @ExceptionHandler public Object exp(HttpServletRequest request, HttpServletResponse response,Exception ex) { - System.out.println("URI"+request.getRequestURI()); - request.setAttribute("ex", ex); - System.err.println("BaseController --exp " + ex); + log.error("URI"+request.getRequestURI()); + log.error("BaseController --exp " + ex); new CustomException("base_code_", ex); // 根据不同错误转向不同页面 if(ex instanceof CustomException) { diff --git a/src/com/base/system_templates.xlsx b/src/com/base/system_templates.xlsx index cd609d4b..08bcb5c1 100644 Binary files a/src/com/base/system_templates.xlsx and b/src/com/base/system_templates.xlsx differ diff --git a/src/com/platform/controller/CheckoutController.java b/src/com/platform/controller/CheckoutController.java index 9bb951d4..dc2389fe 100644 --- a/src/com/platform/controller/CheckoutController.java +++ b/src/com/platform/controller/CheckoutController.java @@ -1,6 +1,5 @@ package com.platform.controller; -import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -13,14 +12,12 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.base.BaseController; import com.platform.entities.CheckoutEntity; import com.platform.entities.PreDataInfo; import com.platform.service.ICheckoutService; -import com.platform.utils.Configs; /** 信息系统--校验 * @author chen @@ -29,8 +26,7 @@ import com.platform.utils.Configs; @Controller @RequestMapping("/checkout") public class CheckoutController extends BaseController { - @SuppressWarnings("static-access") - public static Logger log = Configs.DAILY_ROLLING_LOGGER.getLogger(CheckoutController.class); + public final static Logger log = Logger.getLogger(CheckoutController.class); @Resource(name = "checkoutService") private ICheckoutService checkoutService; diff --git a/src/com/platform/controller/DataModelController.java b/src/com/platform/controller/DataModelController.java index 8736e7ed..d4c110d1 100644 --- a/src/com/platform/controller/DataModelController.java +++ b/src/com/platform/controller/DataModelController.java @@ -1,8 +1,6 @@ package com.platform.controller; -import java.beans.IntrospectionException; import java.io.UnsupportedEncodingException; -import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -13,8 +11,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import net.sf.json.JSONArray; - import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Controller; @@ -30,7 +26,6 @@ import com.base.BaseController; import com.platform.entities.DataInfoEntity; import com.platform.entities.DataInfoEntityMoveTmp; import com.platform.entities.GatherOracleInfo; -import com.platform.entities.VolumeEntity; import com.platform.form.PagerOptions; import com.platform.form.oracleForm; import com.platform.form.volumeMoveForm; @@ -40,13 +35,11 @@ import com.platform.service.ICodeService; import com.platform.service.IGfsService; import com.platform.service.ILogRead; import com.platform.service.IMoveDataService; -import com.platform.service.IMySqlService; +import com.platform.service.IGatherOracleService; import com.platform.service.IOracleExtractService; import com.platform.service.OracleStatusService; import com.platform.service.thread.ThreadExtractOracle; import com.platform.service.thread.ThreadGainOracleConnect; -import com.platform.utils.Bean2MapUtils; -import com.platform.utils.Configs; import com.platform.utils.Constant; import com.platform.utils.UtilsHelper; @@ -57,26 +50,47 @@ import com.platform.utils.UtilsHelper; @Controller public class DataModelController extends BaseController { - public static Logger log = Configs.DAILY_ROLLING_LOGGER.getLogger(DataModelController.class); + public static Logger log = Logger.getLogger(DataModelController.class); + /** + * 数据管理--业务类 + */ @Resource(name = "dataInfoService") private DataInfoService dfs; + /** + * gfs业务类 + */ @Resource(name = "gfsService") private IGfsService gfsService; + /** + * mysql相关业务 + */ @Resource(name = "mySqlService") - private IMySqlService mySqlService; + private IGatherOracleService mySqlService; + /** + * oracle汇总功能业务 + */ @Resource(name = "OracleExtract") private IOracleExtractService OracleExtract; + /** + * 迁移数据业务类 + */ @Resource(name = "moveDataService") private IMoveDataService moveDataService; + /** + * 地区、系统code业务类 + */ @Resource(name = "codeService") private ICodeService codeService; + /** + * 日志业务管理类 + */ @Resource(name = "logReadService") private ILogRead logReadService; @@ -84,10 +98,17 @@ public class DataModelController extends BaseController { this.dfs = dfs; } + /** 数据管理--分页查询数据 + * @param res + * @param req + * @return + * @throws UnsupportedEncodingException + */ @RequestMapping("/data.json") @ResponseBody public ModelMap getAllDataToJson(HttpServletRequest res, HttpServletResponse req) throws UnsupportedEncodingException { + log.info("-----------/data.json-----------"); res.setCharacterEncoding("UTF-8"); Map paramMap = res.getParameterMap(); Set keySet = paramMap.keySet(); @@ -112,6 +133,11 @@ public class DataModelController extends BaseController { return dfs.getPagerTableData(pagerOptions); } + /** 数据管理--删除数据 + * @param res + * @param req + * @throws Exception + */ @RequestMapping(value = "/delete/data", method = RequestMethod.POST) public void deleteData(HttpServletRequest res, HttpServletResponse req) throws Exception { @@ -122,6 +148,11 @@ public class DataModelController extends BaseController { req.setStatus(200); } + /** 连接oracle + * @param res + * @param req + * @throws UnsupportedEncodingException + */ @RequestMapping("/connectOracle") public void connectOracle(HttpServletRequest res, HttpServletResponse req) throws UnsupportedEncodingException { @@ -130,19 +161,24 @@ public class DataModelController extends BaseController { String[] oraclesName = paramMap.get("oracleName"); if (oraclesName != null) for (String rcName : oraclesName) { - Configs.CONSOLE_LOGGER.info("执行连接\t" + rcName); + log.info("执行连接\t" + rcName); String cmd = "kubectl label --overwrite rc " + rcName + " status=0"; List rList = Constant.ganymedSSH.execCmdWaitAcquiescent(cmd); StringBuffer sb = new StringBuffer(); for (String string : rList) sb.append(string).append("\n"); - Configs.CONSOLE_LOGGER.info(sb.toString()); + log.info(sb.toString()); new OracleStatusService().connectToOracle(rcName); } req.setStatus(200); } + /** 断开oracle连接 + * @param res + * @param req + * @throws UnsupportedEncodingException + */ @RequestMapping("/cancelOracleConection") public void cancelOracleConnection(HttpServletRequest res, HttpServletResponse req) throws UnsupportedEncodingException { @@ -152,60 +188,32 @@ public class DataModelController extends BaseController { String operate = paramMap.get("operation")[0]; if (null != oraclesName) { for (String rcName : oraclesName) { - Configs.CONSOLE_LOGGER.info("取消连接:\t" + rcName); + log.info("取消连接:\t" + rcName); new OracleStatusService().cancelToOracle(rcName, operate); } } req.setStatus(200); } - - - // public void oracleExtract(HttpServletRequest res, - // HttpServletResponse req, String name, @RequestBody GatherOracleInfo - // gather, @RequestBody List collectOracles) - // throws Exception { - // // res.setCharacterEncoding("UTF-8"); - // log.debug("------extract-------"); - // // Map paramMap = res.getParameterMap(); - // // log.debug(paramMap); - // // //汇总库 对象信息--带有tableName- - // // String[] nodes = paramMap.get("target"); - // // Map map = null; - // // for (String string : nodes) { - // // JSONObject jsonobject = JSONObject.fromObject(string); - // // map = jsonobject; - // // System.out.println(map); - // // } - // // - // // // 采集库对象--(多个采集库抽取到1个汇总库的1个tableName下) - // // String[] inneed = paramMap.get("inneed"); - // // List> colleclist = new - // ArrayList>(); - // // for (String string : nodes) { - // // JSONObject jsonobject = JSONObject.fromObject(string); - // // Map inneedMap = jsonobject; - // // colleclist.add(inneedMap); - // // } - // OracleExtract.extractOracle(name, collectOracles, gather); - // } - + /** gfs的 volume节点的查询 + * @return + * @throws Exception + */ @RequestMapping(value = "/volume/list", method = RequestMethod.POST) @ResponseBody public String volumeList() throws Exception { HttpUtils ht = new HttpUtils(); log.debug("-----/volume/list------"); - //List result = gfsService.getAllVolumes(); - String rest = ht.sendPost("gfs/getAllvolume", null); -// List result = null; -// if (null != rest) { -// System.out.println(rest); -// JSONArray jsondata = JSONArray.fromObject(rest); -// result = (ArrayList) JSONArray.toCollection(jsondata, VolumeEntity.class); -// } + String rest = ht.sendPost("gfs/getAllvolume", null); return rest; } + /** 数据迁移功能 + * @param res + * @param req + * @param form + * @throws Exception + */ @RequestMapping(value = "/volume/{name}/move", method = RequestMethod.POST) @ResponseBody public void volumeMove(HttpServletRequest res, HttpServletResponse req, @@ -225,61 +233,81 @@ public class DataModelController extends BaseController { req.setStatus(200); } + /** oracle的 汇总功能 + * @param res + * @param req + * @param form + * @throws Exception + */ @RequestMapping(value = "/oracle/{name}/extract", method = RequestMethod.POST) - public void oracleExtract(HttpServletRequest res, HttpServletResponse req, + public void oracleExtract(HttpServletRequest res, HttpServletResponse req, @RequestBody oracleForm form) throws Exception { - Configs.CONSOLE_LOGGER.error("/oracle/{name}/extract"); - // res.setCharacterEncoding("UTF-8"); - boolean isConnect = false; - //5秒内是否能获得oracle连接,否则认为超时。 - if (null != form.getTarget()) { - ThreadGainOracleConnect thOrcl = new ThreadGainOracleConnect(form, OracleExtract); - thOrcl.start(); - for (int i = 0; i < 10; i++) { - Thread.sleep(400); - isConnect = thOrcl.isConnect(); - if (isConnect) { + log.error("/oracle/{name}/extract"); + boolean isConnect = false; + //5秒内是否能获得oracle连接,否则认为超时。 + if (null != form.getTarget()) { + ThreadGainOracleConnect thOrcl = new ThreadGainOracleConnect(form, OracleExtract); + thOrcl.start(); + for (int i = 0; i < 10; i++) { + Thread.sleep(400); + isConnect = thOrcl.isConnect(); + if (isConnect) { + break; + } + else { + if (thOrcl.isExcept()) { break; } - else { - if (thOrcl.isExcept()) { - break; - } - Thread.sleep(100); - } + Thread.sleep(100); } } - if (isConnect) - req.setStatus(200); - else - req.setStatus(500); - // 开始抽取数据到汇总库 - if (isConnect && null != form.getInneed() && form.getInneed().size() > 0) { - ThreadExtractOracle thExtra = new ThreadExtractOracle(form, OracleExtract); - thExtra.start(); - // OracleExtract.extractOracle(form.getName(), form.getInneed(), - // form.getTarget()); - } } + if (isConnect) + req.setStatus(200); + else + req.setStatus(500); + // 开始抽取数据到汇总库 + if (isConnect && null != form.getInneed() && form.getInneed().size() > 0) { + ThreadExtractOracle thExtra = new ThreadExtractOracle(form, OracleExtract); + thExtra.start(); + } + } + /** oracle汇总、抽取库的 查询 + * @return + * @throws Exception + */ @RequestMapping(value = "/oracle/list", method = RequestMethod.POST) @ResponseBody public List oracleList() throws Exception { log.debug("----------getOracleInfo-----------------------"); - List result = mySqlService.findAllMySql(); + List result = mySqlService.findAllOracle(); return result; } + /** oracle汇总、抽取库的 删除 + * @param req + * @param res + * @param id + * @throws Exception + */ @RequestMapping(value = "/oracle/{id}/delete", method = RequestMethod.POST) public void oracleDelete(HttpServletRequest req, HttpServletResponse res, @PathVariable String id) throws Exception { log.debug("----------deleteOracleInfo----------------"); Integer num = Integer.valueOf(id); - Integer result = mySqlService.deleteMySql(num); + Integer result = mySqlService.deleteOracle(num); log.info("oracleDelete : " + result); res.setStatus(200); } + /** oracle汇总、抽取库的 新增 + * @param res + * @param req + * @param id + * @param oracle + * @throws Exception + */ @RequestMapping(value = "/oracle/{id}/insert", method = RequestMethod.POST) @ResponseBody public void oracleInsert(HttpServletRequest res, HttpServletResponse req, @@ -291,6 +319,13 @@ public class DataModelController extends BaseController { req.setStatus(200); } + /** oracle汇总、抽取库的 更新 + * @param res + * @param req + * @param id + * @param oracle + * @throws Exception + */ @RequestMapping(value = "/oracle/{id}/update", method = RequestMethod.POST) @ResponseBody public void oracleUpdate(HttpServletRequest res, HttpServletResponse req, @@ -302,6 +337,10 @@ public class DataModelController extends BaseController { req.setStatus(200); } + /** 迁移 数据 的查询 + * @return + * @throws Exception + */ @RequestMapping(value = "/task/transfer/list", method = RequestMethod.POST) @ResponseBody public Object taskTransferList() throws Exception { @@ -310,6 +349,13 @@ public class DataModelController extends BaseController { return result; } + /** 迁移完成后的 删除记录功能 + * @param res + * @param req + * @param id + * @return + * @throws Exception + */ @RequestMapping(value = "/task/transfer/{id}/delete", method = RequestMethod.POST) @ResponseBody public Object taskTransferDelete(HttpServletRequest res, @@ -322,6 +368,13 @@ public class DataModelController extends BaseController { return result; } + /** 迁移数据完成后新增一条数据(暂时去掉,新增功能不在此) + * @param res + * @param req + * @param move + * @return + * @throws Exception + */ @RequestMapping(value = "/task/transfer/save", method = RequestMethod.POST) @ResponseBody public Object taskTransferSave(HttpServletRequest res, @@ -333,6 +386,10 @@ public class DataModelController extends BaseController { return 1; } + /** 地区和系统的 code 对应的名称 的 获取 + * @return + * @throws Exception + */ @RequestMapping(value = "/code/list", method = RequestMethod.POST) @ResponseBody public Object findCodeList() throws Exception { @@ -341,15 +398,21 @@ public class DataModelController extends BaseController { return result; } + /** oracle 汇总的 日志 读取 + * @param name + * @param res + * @param req + * @return + * @throws Exception + */ @RequestMapping(value = "/oracle/extract/log", method = RequestMethod.POST) @ResponseBody public Object getExtractLog(@RequestParam("rcName") String name, HttpServletRequest res, HttpServletResponse req) throws Exception { log.info("---------/oracle/extract/log-------------------"); String result = logReadService.readLog(name); - // StringBuilder sb = new StringBuilder(); - // sb.append("查看相应日志").append("\n").append("看到了"); - Map log = new HashMap<>(); + // "查看相应日志" + Map log = new HashMap(); log.put(name, result); return log; } diff --git a/src/com/platform/controller/DefaultController.java b/src/com/platform/controller/DefaultController.java index 740ea3ff..9572beea 100644 --- a/src/com/platform/controller/DefaultController.java +++ b/src/com/platform/controller/DefaultController.java @@ -15,19 +15,28 @@ import com.platform.utils.Configs; @Controller public class DefaultController { - public static Logger log = Configs.DAILY_ROLLING_LOGGER.getLogger(DefaultController.class); + public final static Logger log = Logger.getLogger(DefaultController.class); + /** 首页 + * @param req + * @param res + * @return + */ @RequestMapping("/") public ModelAndView defaultHandler(HttpServletRequest req, HttpServletResponse res){ //处理不匹配的请求 - System.out.println("index"); + log.info("index"); return new ModelAndView("index"); } + /** 测试 + * @param req + * @param res + * @return + */ @RequestMapping("/test") public ModelMap test(HttpServletRequest req, HttpServletResponse res){ - //System.out.println(Class.class.getClass().getResource("/").getPath()); - System.out.println(Configs.EXTRACT_LOG_LOCALTION); + log.info(Configs.EXTRACT_LOG_LOCALTION); return new ModelMap(); } diff --git a/src/com/platform/controller/ExcelController.java b/src/com/platform/controller/ExcelController.java index 6e34c3fc..b14b425d 100644 --- a/src/com/platform/controller/ExcelController.java +++ b/src/com/platform/controller/ExcelController.java @@ -3,19 +3,13 @@ package com.platform.controller; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.io.PrintWriter; import java.io.RandomAccessFile; -import java.io.UnsupportedEncodingException; import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; import javax.annotation.Resource; import javax.servlet.ServletException; @@ -47,7 +41,6 @@ import com.platform.entities.ResumableInfo; import com.platform.entities.ResumableInfoStorage; import com.platform.form.PagerOptions; import com.platform.service.IPreDataInfoService; -import com.platform.service.IScriptMakeService; import com.platform.utils.Configs; import com.platform.utils.FileOperateHelper; import com.platform.utils.HttpUtils; @@ -62,8 +55,14 @@ import com.platform.utils.UtilsHelper; @RequestMapping("/fileOperation") public class ExcelController extends BaseController{ - public static Logger log = Configs.DAILY_ROLLING_LOGGER.getLogger(ExcelController.class); + /** + * 日志 + */ + public final static Logger log = Logger.getLogger(ExcelController.class); + /** + * 信息系统--清单--业务类 + */ @Resource(name = "preDataInfoService") private IPreDataInfoService preDataInfoService; @@ -102,9 +101,9 @@ public class ExcelController extends BaseController{ // Save to file InputStream is = request.getInputStream(); long readed = 0; - long content_length = request.getContentLength(); + long contentLength = request.getContentLength(); byte[] bytes = new byte[1024 * 100]; - while (readed < content_length) { + while (readed < contentLength) { int r = is.read(bytes); if (r < 0) { break; @@ -122,7 +121,6 @@ public class ExcelController extends BaseController{ log.info(info.resumableFilename); ResumableInfoStorage.getInstance().remove(info); response.getWriter().print("All finished."); - //开始导入excel } else { response.getWriter().print("Upload"); @@ -146,7 +144,6 @@ public class ExcelController extends BaseController{ preDataInfoService.exportExcel(Configs.FILE_DOWNLOAD_PATH); File file = new File(Configs.FILE_DOWNLOAD_PATH); -// System.out.println(Configs.FILE_DOWNLOAD_PATH); if (file.exists()) { HttpHeaders headers = new HttpHeaders(); String fileName = new String(file.getName().getBytes("UTF-8"), @@ -266,8 +263,7 @@ public class ExcelController extends BaseController{ List jsonlist = (List) JSONArray.toCollection(jsonArray, String.class); ModelMap modelMap = new ModelMap(); - if (null == jsonlist && jsonlist.size() > 0) { -// System.err.println(request.getParameter("fileNameList")); + if (null == jsonlist || jsonlist.size() == 0) { modelMap.addAttribute("returncode","3002"); return modelMap; } @@ -324,11 +320,10 @@ public class ExcelController extends BaseController{ if(multipartResolver.isMultipart(request)){ //再将request中的数据转化成multipart类型的数据 MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; - Iterator iter = multiRequest.getFileNames(); + Iterator iter = multiRequest.getFileNames(); while(iter.hasNext()){ //这里的name为fileItem的alias属性值,相当于form表单中name - String name=(String)iter.next(); -// System.out.println("name:"+name); + String name= iter.next(); //根据name值拿取文件 MultipartFile file = multiRequest.getFile(name); if(file != null){ @@ -338,14 +333,12 @@ public class ExcelController extends BaseController{ if(!localFile.getParentFile().exists()) { //如果目标文件所在的目录不存在,则创建父目录 localFile.getParentFile().mkdirs(); -// System.out.println("parent:"+localFile.getParentFile().getPath()); } //写文件到本地 try { file.transferTo(localFile); } catch (IOException e) { - // TODO Auto-generated catch block -// e.printStackTrace(); + log.error(e.getStackTrace()); } } diff --git a/src/com/platform/controller/FilePackageController.java b/src/com/platform/controller/FilePackageController.java index 3f71eba0..baa856a9 100644 --- a/src/com/platform/controller/FilePackageController.java +++ b/src/com/platform/controller/FilePackageController.java @@ -37,8 +37,7 @@ import com.platform.utils.ZipCompressUtils; @RequestMapping("/filePackage") public class FilePackageController extends BaseController { - @SuppressWarnings("static-access") - public static Logger log = Configs.DAILY_ROLLING_LOGGER.getLogger(FilePackageController.class); + public static Logger log = Logger.getLogger(FilePackageController.class); @Resource(name = "scriptMakeService") private IScriptMakeService scriptMakeService; @@ -56,14 +55,14 @@ public class FilePackageController extends BaseController { scriptMakeService.makeCfg(); scriptMakeService.makeXml(); String filePath = Configs.PACKAGE_DOWNLOAD_PATH; - System.out.println(filePath + Configs.PACKAGE_NAME); + log.info(filePath + Configs.PACKAGE_NAME); ZipCompressUtils.zip(new File(filePath + Configs.PACKAGE_NAME), filePath + "package.zip"); // 产生压缩文件 File file = new File(filePath + "package.zip"); if (file.exists()) { HttpHeaders headers = new HttpHeaders(); String fileName = new String(file.getName());// 为了解决中文名称乱码问题 - System.out.println(fileName); + log.info(fileName); headers.setContentDispositionFormData("attachment", fileName); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); ResponseEntity responseEntity = new ResponseEntity( @@ -108,10 +107,6 @@ public class FilePackageController extends BaseController { log.info("---------/readSqlFile------------------"); ModelMap modelMap = new ModelMap(); Map result = scriptMakeService.readSql(type, data); - // StringBuilder sb = new StringBuilder(); - // sb.append("查看相应日志").append("\n").append("看到了"); -// modelMap.addAttribute("data1", result.get("data1").toString()); -// modelMap.addAttribute("data2", result.get("data2").toString()); modelMap.addAllAttributes(result); return modelMap; } @@ -182,7 +177,7 @@ public class FilePackageController extends BaseController { @ResponseBody public ModelMap totalVerifySqlFile(@RequestBody List forms, HttpServletRequest req, HttpServletResponse res) throws Exception { - log.info("--------- /totalOnholeSqlFile --- " + forms +" "+ forms.size()); + log.info("--------- /totalVerifySqlFile --- " + forms +" "+ forms.size()); ModelMap modelMap = new ModelMap(); if (forms.size() > 0) { Map result = scriptMakeService.totalVerifySqlFile(forms); diff --git a/src/com/platform/controller/FolderController.java b/src/com/platform/controller/FolderController.java index 9020cf9f..caa31be6 100644 --- a/src/com/platform/controller/FolderController.java +++ b/src/com/platform/controller/FolderController.java @@ -2,33 +2,16 @@ package com.platform.controller; -import java.util.Date; -import java.util.List; - import javax.annotation.Resource; -import oracle.sql.DATE; - import org.apache.log4j.Logger; import org.springframework.stereotype.Controller; -import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; - - - import com.base.BaseController; -import com.base.CustomException; -import com.platform.entities.GfsFolderEntity; - - import com.platform.entities.VolumeEntity; -import com.platform.glusterfs.VolumeInfo; -import com.platform.entities.VolumeEntity; -import com.platform.glusterfs.VolumeInfo; import com.platform.service.IGfsService; -import com.platform.utils.Configs; /** @@ -42,37 +25,43 @@ import com.platform.utils.Configs; @Controller @RequestMapping("") - public class FolderController extends BaseController { - public static Logger log = Configs.DAILY_ROLLING_LOGGER.getLogger(FolderController.class); + public static Logger log = Logger.getLogger(FolderController.class); @Resource(name = "gfsService") private IGfsService gfsService; - - - + /** 获得目录 + * @param path + * @return + * @throws Exception + */ @RequestMapping(value="/getAllSubPathByPath", method= RequestMethod.POST) - public Object getAllSubPathByPath(String path) throws Exception { - System.out.println(path); + log.info(path); Object result = null; if (null != path && !"".equals(path)) { - System.out.println(path); + log.info(path); result = gfsService.getFolder(path); } return result; } + /** 复制 + * @param srcpath + * @param dstPath + * @param name + * @return + * @throws Exception + */ @RequestMapping("/copyFolder") public Object copyFolder(String srcpath, String dstPath, String name) throws Exception { // -1 :error; -2: the filename is not exists ;-3 :destFolderName ; 1: right int result = 0; -// int result = gfsService.copyFolder(srcpath, dstPath, name); - System.out.println(srcpath); - System.out.println(dstPath); + log.info(srcpath); + log.info(dstPath); String obj = "right"; if (1 != result) { @@ -81,23 +70,6 @@ public class FolderController extends BaseController { return obj; } -// /** -// * <一句话功能简述> 查询集群中所有的 volume 及其 信息 -// * <功能详细描述> -// * @return -// * @throws Exception -// * @see [类、类#方法、类#成员] -// */ -// @RequestMapping(value="/volume/list", method= RequestMethod.POST) -// public Object getVolums() throws Exception{ -// System.out.println("----------------------------------"); -// long a = new Date().getTime(); -// List result = gfsService.getAllVolumes(); -// System.out.println("----------------------------------"); -// System.out.println(new Date().getTime()-a); -// return result; -// } -// /** * <一句话功能简述> 查询集群中所有的 volume 及其 信息 * <功能详细描述> @@ -106,12 +78,10 @@ public class FolderController extends BaseController { * @throws Exception * @see [类、类#方法、类#成员] */ - @RequestMapping(value="/volume/findByName", method= RequestMethod.POST) public Object getVolumByName(String volumeName) throws Exception{ + log.info(volumeName); VolumeEntity result = gfsService.getOneVolume(volumeName); return result; - } - } diff --git a/src/com/platform/controller/OracleController.java b/src/com/platform/controller/OracleController.java index adab7964..9ff0b5a7 100644 --- a/src/com/platform/controller/OracleController.java +++ b/src/com/platform/controller/OracleController.java @@ -8,8 +8,8 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.log4j.Logger; import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -22,7 +22,6 @@ import com.platform.entities.GatherOracleInfo; import com.platform.form.oracleForm; import com.platform.service.ILogRead; import com.platform.service.IOracleExtractService; -import com.platform.service.thread.ThreadExtractOracle; import com.platform.service.thread.ThreadExtractStandardOracle; import com.platform.service.thread.ThreadGainOracleConnect; import com.platform.utils.Configs; @@ -35,21 +34,40 @@ import com.platform.utils.Constant; @Controller public class OracleController extends BaseController { + /** + * 日志 + */ + public final static Logger log = Logger.getLogger(OracleController.class); + + /** + * oracle汇总 业务类 + */ @Resource(name = "OracleExtract") private IOracleExtractService OracleExtract; + /** + * oracle汇总日志记录类 + */ @Resource(name = "logReadService") private ILogRead logReadService; + /** + * oracle汇总库,抽取库持久层 + */ @Resource(name = "gatherOracleDao") private GatherOracleDao gatherOracleDao; + /** oracle 标准表抽取 + * @param res + * @param req + * @param form + * @throws Exception + */ @RequestMapping(value = "/oracle/standardextract/{name}/extract", method = RequestMethod.POST) public void oracleStandardExtract(HttpServletRequest res, HttpServletResponse req, @RequestBody oracleForm form) throws Exception { - Configs.CONSOLE_LOGGER.info("/oracle/standardextract/{name}/extract"); -// res.setCharacterEncoding("UTF-8"); - Configs.CONSOLE_LOGGER.info(form.getInneed().get(0).getName()); + log.info("/oracle/standardextract/{name}/extract"); + log.info(form.getInneed().get(0).getName()); boolean isConnect = false; //5秒内是否能获得oracle连接,否则认为超时。 if (null != form.getTarget()) { @@ -94,12 +112,10 @@ public class OracleController extends BaseController { if (isConnect && null != form.getInneed() && form.getInneed().size() > 0) { ThreadExtractStandardOracle thExtra = new ThreadExtractStandardOracle(form, OracleExtract); thExtra.start(); -// OracleExtract.extractOracle(form.getName(), form.getInneed(), -// form.getTarget()); } } - /** 读取抽取的日志,包括sqlserver,oracle + /** 读取标准表 抽取的日志,包括sqlserver,oracle * @param name * @param res * @param req @@ -114,7 +130,7 @@ public class OracleController extends BaseController { String result = logReadService.readStandardLog(name); // StringBuilder sb = new StringBuilder(); // sb.append("查看相应日志").append("\n").append("看到了"); - Map log = new HashMap<>(); + Map log = new HashMap(); log.put(name, result); return log; } diff --git a/src/com/platform/controller/SetGlusterfsController.java b/src/com/platform/controller/SetGlusterfsController.java index 3fffa5e2..1dd13a4d 100644 --- a/src/com/platform/controller/SetGlusterfsController.java +++ b/src/com/platform/controller/SetGlusterfsController.java @@ -17,8 +17,6 @@ import org.apache.log4j.Logger; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import com.platform.utils.Configs; - /** * <一句话功能简述> @@ -35,23 +33,19 @@ import com.platform.utils.Configs; @Controller public class SetGlusterfsController { - public static Logger log = Configs.DAILY_ROLLING_LOGGER.getLogger(SetGlusterfsController.class); + public final static Logger log = Logger.getLogger(SetGlusterfsController.class); @RequestMapping("/tes") public Object defaultHandler(HttpServletRequest req, HttpServletResponse request) { - //���?ƥ������� + //测试 try { - System.out.println("fsdfds"); - + log.info("fsdfds"); return "listAll"; } catch (Exception e) { - e.printStackTrace(); - + log.error(e); return "result"; } - - } } diff --git a/src/com/platform/controller/TaskModelController.java b/src/com/platform/controller/TaskModelController.java index 5983ab04..a25137b4 100644 --- a/src/com/platform/controller/TaskModelController.java +++ b/src/com/platform/controller/TaskModelController.java @@ -12,12 +12,11 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.base.BaseController; -import com.platform.utils.Configs; @Controller public class TaskModelController extends BaseController{ - public static Logger log = Configs.DAILY_ROLLING_LOGGER.getLogger(TaskModelController.class); + public static Logger log = Logger.getLogger(TaskModelController.class); @RequestMapping("/task/transfer/list") @ResponseBody diff --git a/src/com/platform/controller/VolumeController.java b/src/com/platform/controller/VolumeController.java index 62bb9a26..f893db67 100644 --- a/src/com/platform/controller/VolumeController.java +++ b/src/com/platform/controller/VolumeController.java @@ -13,29 +13,42 @@ import org.springframework.web.bind.annotation.ResponseBody; import com.base.BaseController; import com.platform.entities.VolumeEntity; -import com.platform.entities.VolumeInitEntity; -import com.platform.form.VolumeForm; import com.platform.http.gfs.HttpUtils; import com.platform.service.IVolumeService; -import com.platform.utils.Configs; -import com.platform.utils.ThreadVolume; import com.platform.utils.ThreadVolumeImm; +/** gfs业务 + * @author chen + * + */ @Controller public class VolumeController extends BaseController{ - public static Logger log = Configs.DAILY_ROLLING_LOGGER.getLogger(VolumeController.class); + public static Logger log = Logger.getLogger(VolumeController.class); + /** + * gfs业务管理 + */ @Resource(name = "volumeService") private IVolumeService volumeService; + /** + * http 请求 客户端类 + */ HttpUtils ht = new HttpUtils(); + /** volume更新 + * @param res + * @param req + * @param form + * @return + * @throws Exception + */ @RequestMapping(value = "/volume/update", method = RequestMethod.POST) @ResponseBody public String volumeUpdate(HttpServletRequest res, HttpServletResponse req, @RequestBody VolumeEntity form) throws Exception { - Configs.CONSOLE_LOGGER.error("/oracle/update"); + log.error("/oracle/update"); int rest = volumeService.save(form); if (rest == 1) { req.setStatus(200); @@ -48,11 +61,18 @@ public class VolumeController extends BaseController{ return result; } + /** volume删除 + * @param res + * @param req + * @param entity + * @return + * @throws Exception + */ @RequestMapping(value = "/volume/delete", method = RequestMethod.POST) @ResponseBody public String volumeDelete(HttpServletRequest res, HttpServletResponse req, @RequestBody VolumeEntity entity) throws Exception { - Configs.CONSOLE_LOGGER.error("/volume/delete"); + log.error("/volume/delete"); int rest = volumeService.delete(entity); if (rest == 1) { req.setStatus(200); diff --git a/src/com/platform/entities/CheckoutEntity.java b/src/com/platform/entities/CheckoutEntity.java index 53ed51c9..1eb3918e 100644 --- a/src/com/platform/entities/CheckoutEntity.java +++ b/src/com/platform/entities/CheckoutEntity.java @@ -200,4 +200,14 @@ public class CheckoutEntity extends PreDataInfo implements Comparable @@ -255,7 +250,7 @@ public class VolumeInfo { */ public List getVolumeMountPoint(String volumeName) { // log.info("get volume MountPoint"); - List mountPoints = new ArrayList<>(); + List mountPoints = new ArrayList(); String cmd=Constant.df + "|grep " + volumeName + "|awk '{print $6}'"; List reStrings = Constant.ganymedSSH.execCmdWaitAcquiescent(cmd); // System.out.println(reStrings); @@ -300,7 +295,7 @@ public class VolumeInfo { */ public Map getVolumebricksDataSize(String volumeName) { List bricks = getVolumeBricks(volumeName); - Map brick_size = new HashMap<>(); + Map brick_size = new HashMap(); if (bricks == null) { return null; } @@ -340,7 +335,7 @@ public class VolumeInfo { */ public Map getVolumebricksAvailableSize(String volumeName) { List bricks = getVolumeBricks(volumeName); - Map brick_size = new HashMap<>(); + Map brick_size = new HashMap(); if (bricks == null) { return null; } diff --git a/src/com/platform/oracle/OracleConnector.java b/src/com/platform/oracle/OracleConnector.java index 2b95ac24..4a25e5f4 100644 --- a/src/com/platform/oracle/OracleConnector.java +++ b/src/com/platform/oracle/OracleConnector.java @@ -6,6 +6,8 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; +import org.apache.log4j.Logger; + import com.base.Custom4exception; import com.base.CustomException; import com.platform.entities.OracleConnectorParams; @@ -13,19 +15,23 @@ import com.platform.utils.Configs; import com.platform.utils.FileOperateHelper; public class OracleConnector { + + public static Logger log = Configs.DAILY_ROLLING_LOGGER.getLogger(OracleConnector.class); + + public OracleConnector() { + } + static { try { Class.forName("oracle.jdbc.driver.OracleDriver"); Configs.CONSOLE_LOGGER.info("Oracle驱动加载成功"); } catch (ClassNotFoundException e) { - // TODO Auto-generated catch block - new CustomException(Custom4exception.OracleSQL_Except, e); - e.printStackTrace(); + log.error(Custom4exception.OracleSQL_Except, e); } } - public synchronized static Connection ConnectionBuilder(String url, String user, + public synchronized static Connection connectionBuilder(String url, String user, String password, OracleConnectorParams oc) throws CustomException { Connection conn=null; try { @@ -44,10 +50,9 @@ public class OracleConnector { public synchronized static boolean canConnect(String url, String user, String password) { Connection result = null; try { - result = ConnectionBuilder(url, user, password, null); + result = connectionBuilder(url, user, password, null); } catch (CustomException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + log.error(Custom4exception.OracleSQL_Except, e); } return (null != result); } @@ -57,8 +62,9 @@ public class OracleConnector { if (null != filePath) { filePath = filePath.replace(".log", ""); } + Statement statement = null; try { - Statement statement = conn + statement = conn .createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); resultSet = statement.executeQuery(sql); @@ -67,7 +73,16 @@ public class OracleConnector { } catch (SQLException e) { FileOperateHelper .fileWrite(filePath+".log", sql+ "\r\n"+e.getMessage()+"\r\n"); - new CustomException(Custom4exception.OracleSQL_Except, e); + log.error(Custom4exception.OracleSQL_Except, e); + } + finally{ + if (null != statement) { + try { + statement.close(); + } catch (SQLException e) { + log.error(Custom4exception.OracleSQL_Except, e); + } + } } return resultSet; @@ -77,9 +92,9 @@ public class OracleConnector { String password, String sql, String filePath) { ResultSet result = null; try { - result = getSQLExecResultSet(ConnectionBuilder(url, user, password, null), sql, filePath); + result = getSQLExecResultSet(connectionBuilder(url, user, password, null), sql, filePath); } catch (CustomException e) { - new CustomException(Custom4exception.OracleSQL_Except, e); + log.error(Custom4exception.OracleSQL_Except, e); } return result; } @@ -95,8 +110,9 @@ public class OracleConnector { filePath = filePath.replace(".log", ""); } boolean flag = false; + Statement statement = null; try { - Statement statement = conn.createStatement(); + statement = conn.createStatement(); statement.execute(sql); flag = true; FileOperateHelper @@ -105,8 +121,18 @@ public class OracleConnector { flag = false; FileOperateHelper .fileWrite(filePath+".log", sql+ "\r\n"+e.getMessage()+"\r\n"); - new CustomException(Custom4exception.OracleSQL_Except, e); + log.error(Custom4exception.OracleSQL_Except, e); + } + finally{ + if (null != statement) { + try { + statement.close(); + } catch (SQLException e) { + log.error(Custom4exception.OracleSQL_Except, e); + } + } } + return flag; } /** @@ -120,8 +146,9 @@ public class OracleConnector { filePath = filePath.replace(".log", ""); } boolean flag = false; + Statement statement = null; try { - Statement statement = conn.createStatement(); + statement = conn.createStatement(); if(statement.executeUpdate(sql) > 0) { flag = true; @@ -132,7 +159,16 @@ public class OracleConnector { flag = false; FileOperateHelper .fileWrite(filePath+".log", sql+ "\r\n"+e.getMessage()+"\r\n"); - new CustomException(Custom4exception.OracleSQL_Except, e, sql); + log.error(Custom4exception.OracleSQL_Except, e); + } + finally{ + if (null != statement) { + try { + statement.close(); + } catch (SQLException e) { + log.error(Custom4exception.OracleSQL_Except, e); + } + } } return flag; } diff --git a/src/com/platform/service/DataInfoService.java b/src/com/platform/service/DataInfoService.java index 35efc7c2..3abcace0 100644 --- a/src/com/platform/service/DataInfoService.java +++ b/src/com/platform/service/DataInfoService.java @@ -8,12 +8,34 @@ import org.springframework.ui.ModelMap; import com.platform.entities.DataInfoEntity; import com.platform.form.PagerOptions; +/** 数据管理 + * @author chen + * + */ public interface DataInfoService { + + /** 分页查询数据 + * @param pagerOptions + * @return + */ public ModelMap getPagerTableData(PagerOptions pagerOptions); + /** 删除数据 + * @param id + * @throws Exception + */ void deleteData(String[] id) throws Exception; + /** 删除数据 + * @param ids + * @throws Exception + */ void deleteData(List ids) throws Exception; + /** 新增数据 + * @param data + * @return + * @throws Exception + */ int save(DataInfoEntity data) throws Exception; } diff --git a/src/com/platform/service/EncodeInfoService.java b/src/com/platform/service/EncodeInfoService.java index 78dd1e36..13755e28 100644 --- a/src/com/platform/service/EncodeInfoService.java +++ b/src/com/platform/service/EncodeInfoService.java @@ -12,9 +12,23 @@ import com.platform.entities.EncodedInfoEntity; */ public interface EncodeInfoService { + /** 查询所有地区,系统 + * @param tableName + * @return + */ public List getAllEncodeInfo(String tableName); + /** 通过code删除表中的实体(行政区划/系统) + * @param code + * @param tableName + * @return + */ public int deleteEncodeByCode(String code, String tableName); + /** 根据实体(行政区划/系统)的名称查询编码 + * @param code + * @param name + * @return + */ public String getEncodeNameByCode(String code, String name); } diff --git a/src/com/platform/service/ICheckoutService.java b/src/com/platform/service/ICheckoutService.java index 2f4f906f..2fe3f53c 100644 --- a/src/com/platform/service/ICheckoutService.java +++ b/src/com/platform/service/ICheckoutService.java @@ -56,10 +56,4 @@ public interface ICheckoutService { */ public List extractSqlServer(List list) throws Exception; - /** 查看日志, - * @param ck - * @return - * @throws Exception - */ - public Map readLog(CheckoutEntity ck) throws Exception; } diff --git a/src/com/platform/service/ICodeService.java b/src/com/platform/service/ICodeService.java index 32f13477..9e4d5fdb 100644 --- a/src/com/platform/service/ICodeService.java +++ b/src/com/platform/service/ICodeService.java @@ -31,10 +31,24 @@ import com.platform.entities.VolumeEntity; public interface ICodeService { + /** 查询系统 + * @param sys + * @return + * @throws Exception + */ public List findSystem(SystemEntity sys) throws Exception; + /** 查询地区 + * @param region + * @return + * @throws Exception + */ public List findRegionalism(RegionalismEntity region) throws Exception; + /** 查询所有地区、系统 + * @return + * @throws Exception + */ public Map findAll() throws Exception; } diff --git a/src/com/platform/service/IGatherOracleService.java b/src/com/platform/service/IGatherOracleService.java new file mode 100644 index 00000000..c31c1d22 --- /dev/null +++ b/src/com/platform/service/IGatherOracleService.java @@ -0,0 +1,35 @@ +package com.platform.service; + +import java.util.List; + +import com.platform.entities.GatherOracleInfo; + +public interface IGatherOracleService { + + /** + * @return 查询 所有 oracle 总库 + * @throws Exception + */ + public List findAllOracle() throws Exception; + + /** 删除 oracle 总库 + * @return + * @throws Exception + */ + public int deleteOracle(int id) throws Exception; + + /** 新增 oracle 总库 + * @param oracle + * @return + * @throws Exception + */ + public int insertOracle(GatherOracleInfo oracle) throws Exception; + + /** 更新 oracle 总库 + * @param oracle + * @return + * @throws Exception + */ + public int updateOracle(GatherOracleInfo oracle) throws Exception; + +} diff --git a/src/com/platform/service/IGfsService.java b/src/com/platform/service/IGfsService.java index 84a4e21a..e3f05ade 100644 --- a/src/com/platform/service/IGfsService.java +++ b/src/com/platform/service/IGfsService.java @@ -1,4 +1,3 @@ - /** * 文件名 : IGfsService.java * 版权 : <版权/公司名> @@ -9,14 +8,11 @@ * 修改内容: <修改内容> */ package com.platform.service; - - import java.util.List; import com.platform.entities.FolderNode; import com.platform.entities.VolumeEntity; - /** * <一句话功能简述> * <功能详细描述> @@ -60,7 +56,7 @@ public interface IGfsService { public List getAllVolumes() throws Exception; /** - * <一句话功能简述> + * <一句话功能简述> 根据volume名称获取 volume * <功能详细描述> * @return * @throws Exception @@ -68,9 +64,21 @@ public interface IGfsService { */ public VolumeEntity getOneVolume(String volumeName) throws Exception; + /** 移动数据 + * @param volumeName + * @param srcPath + * @param dstPath + * @return + * @throws Exception + */ public int moveData(String volumeName, String srcPath, String dstPath) throws Exception; + /** 删除数据 + * @param volumeName + * @param srcPath + * @return + * @throws Exception + */ public int deleteData(String volumeName, String srcPath) throws Exception; - } diff --git a/src/com/platform/service/ILogRead.java b/src/com/platform/service/ILogRead.java index 2e32339c..22f0e1a4 100644 --- a/src/com/platform/service/ILogRead.java +++ b/src/com/platform/service/ILogRead.java @@ -2,8 +2,17 @@ package com.platform.service; public interface ILogRead { + /** 读取汇总的日志 + * @param filename + * @return + * @throws Exception + */ public String readLog(String filename) throws Exception; + /** 读取抽取标准表的日志 + * @param filename + * @return + * @throws Exception + */ public String readStandardLog(String filename) throws Exception; - } diff --git a/src/com/platform/service/IMoveDataService.java b/src/com/platform/service/IMoveDataService.java index b69bf9e9..8fc64426 100644 --- a/src/com/platform/service/IMoveDataService.java +++ b/src/com/platform/service/IMoveDataService.java @@ -32,10 +32,25 @@ public interface IMoveDataService { */ public int delete(DataInfoEntityMoveTmp dataMove) throws Exception; + /** 迁移数据--更新 + * @param data + * @return + * @throws Exception + */ public int update(DataInfoEntityMoveTmp data) throws Exception; + /** 迁移数据--新增 + * @param data + * @return + * @throws Exception + */ public int save(DataInfoEntityMoveTmp data) throws Exception; + /** 迁移数据--批量插入 + * @param list + * @return + * @throws Exception + */ public int insertBatch(List list) throws Exception; } diff --git a/src/com/platform/service/IMySqlService.java b/src/com/platform/service/IMySqlService.java deleted file mode 100644 index a49dde61..00000000 --- a/src/com/platform/service/IMySqlService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.platform.service; - -import java.util.List; - -import com.platform.entities.GatherOracleInfo; - -public interface IMySqlService { - - /** - * @return 查询 - * @throws Exception - */ - public List findAllMySql() throws Exception; - - /** 删除 - * @return - * @throws Exception - */ - public int deleteMySql(int id) throws Exception; - - public int insertOracle(GatherOracleInfo oracle) throws Exception; - - public int updateOracle(GatherOracleInfo oracle) throws Exception; - -} diff --git a/src/com/platform/service/IOracleExtractService.java b/src/com/platform/service/IOracleExtractService.java index bd854ac0..73a47834 100644 --- a/src/com/platform/service/IOracleExtractService.java +++ b/src/com/platform/service/IOracleExtractService.java @@ -1,16 +1,12 @@ package com.platform.service; import java.util.List; -import java.util.Map; -import com.platform.entities.DataInfoEntity; import com.platform.entities.GatherOracleInfo; import com.platform.entities.OracleConnectorParams; public interface IOracleExtractService { -// public boolean extractOracle(String name, List dataInfos, GatherOracleInfo oracleConnect) throws Exception; -// public boolean extractOracle(String name, List dataInfos, Map oracleConnect) throws Exception; /** 抽取数据库 * @param name * @param dataInfo //采集库连接参数 diff --git a/src/com/platform/service/IPreDataInfoService.java b/src/com/platform/service/IPreDataInfoService.java index d4129f18..0c2f5b60 100644 --- a/src/com/platform/service/IPreDataInfoService.java +++ b/src/com/platform/service/IPreDataInfoService.java @@ -6,6 +6,10 @@ import java.util.Map; import com.platform.entities.PreDataInfo; import com.platform.form.PagerOptions; +/** 信息系统 + * @author chen + * + */ public interface IPreDataInfoService { /** 查询所有 存在的 信息 diff --git a/src/com/platform/service/IScriptMakeService.java b/src/com/platform/service/IScriptMakeService.java index 675def5c..03767a62 100644 --- a/src/com/platform/service/IScriptMakeService.java +++ b/src/com/platform/service/IScriptMakeService.java @@ -7,14 +7,36 @@ import com.platform.entities.SqlFileInfoEntity; public interface IScriptMakeService { + /** 创建 cfg文件 + * @return + * @throws Exception + */ public int makeCfg() throws Exception; + /** 创建 xml文件 + * @return + * @throws Exception + */ public int makeXml() throws Exception; + /** 移动文件 + * @param file + * @return + * @throws Exception + */ public int moveFiles(List file) throws Exception; + /** 查找所有文件 + * @return + * @throws Exception + */ public List findAllFiles() throws Exception; + /** 读取sql文件内容 + * @param name + * @param form + * @return + */ public Map readSql(String name, SqlFileInfoEntity form); /** diff --git a/src/com/platform/service/IVolumeService.java b/src/com/platform/service/IVolumeService.java index 653bded8..d4370058 100644 --- a/src/com/platform/service/IVolumeService.java +++ b/src/com/platform/service/IVolumeService.java @@ -1,16 +1,35 @@ package com.platform.service; import com.platform.entities.VolumeEntity; -import com.platform.entities.VolumeInitEntity; public interface IVolumeService { + /** 新增 volume + * @param entity + * @return + * @throws Exception + */ public int save(VolumeEntity entity) throws Exception; + /** 删除 volume + * @param entity + * @return + * @throws Exception + */ public int delete(VolumeEntity entity) throws Exception; + /** 启动volume + * @param entity + * @return + * @throws Exception + */ public int start(VolumeEntity entity) throws Exception; + /** 停止 volume + * @param entity + * @return + * @throws Exception + */ public int stop(VolumeEntity entity) throws Exception; } diff --git a/src/com/platform/service/OracleExtractHelper.java b/src/com/platform/service/OracleExtractHelper.java index ae2b3095..fb4f272a 100644 --- a/src/com/platform/service/OracleExtractHelper.java +++ b/src/com/platform/service/OracleExtractHelper.java @@ -1,14 +1,13 @@ package com.platform.service; -import io.fabric8.kubernetes.api.model.Config; - import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; +import org.apache.log4j.Logger; + import com.base.Custom4exception; -import com.base.CustomException; import com.platform.entities.GatherOracleInfo; import com.platform.entities.OracleConnectorParams; import com.platform.oracle.OracleConnector; @@ -16,6 +15,8 @@ import com.platform.utils.Configs; import com.platform.utils.FileOperateHelper; public class OracleExtractHelper { + + public static Logger log = Configs.DAILY_ROLLING_LOGGER.getLogger(OracleExtractHelper.class); /** * 判断dblink是否已经存在 @@ -40,7 +41,7 @@ public class OracleExtractHelper { } catch (Exception e) { FileOperateHelper .fileWrite(filePath, sql+ "\r\n"+ e.getMessage() + "\r\n,连接异常! \r\n"); - new CustomException(Custom4exception.threadVolume_Oracle_Except, e, rSet); + log.error(Custom4exception.threadVolume_Oracle_Except, e); } return flag; } @@ -68,13 +69,8 @@ public class OracleExtractHelper { if (hasSameNameDBLink(conn, linkName, Configs.EXTRACT_LOG_LOCALTION + oc.getName()+".log")) { // 如果dblink已经存在,先删除dblink,在创建dblink String deleteSql = "DROP PUBLIC DATABASE LINK " + linkName; -// FileOperateHelper -// .fileWrite( -// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), -// deleteSql+"\r\n"); + //删除 dblink if (OracleConnector.execOracleSQL(conn, deleteSql, Configs.EXTRACT_LOG_LOCALTION + oc.getName())) { -// FileOperateHelper.fileWrite(Configs.EXTRACT_LOG_LOCALTION -// + oc.getName(), sql+"\r\n"); OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); } else { Configs.CONSOLE_LOGGER.error("删除已有的DBLink失败,无法创建新的DBLink!"); @@ -85,8 +81,6 @@ public class OracleExtractHelper { } else { // 否则,创建dblink OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); -// FileOperateHelper.fileWrite( -// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), sql); } } } @@ -102,21 +96,14 @@ public class OracleExtractHelper { public boolean createTableSpace(Connection conn, OracleConnectorParams collectOracle, GatherOracleInfo oc) { String tmpSql = "select TABLESPACE_NAME from dba_tablespaces where TABLESPACE_NAME = '" + oc.getTableName() + "'"; + // 存在 表空间 if (OracleConnector.execUpdateOracleSQL(conn, tmpSql, Configs.EXTRACT_LOG_LOCALTION + collectOracle.getName())) { -// FileOperateHelper -// .fileWrite( -// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), -// tmpSql+"\r\n"); return true; } else { String sql = "create tablespace " + oc.getTableName() + " datafile '" + Configs.GATHER_TABLESPACE_PATH + oc.getTableName() + ".dbf" + "' size 512M autoextend on next 512M maxsize unlimited"; -// FileOperateHelper -// .fileWrite( -// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), -// sql+"\r\n"); return OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + collectOracle.getName()); } } @@ -136,16 +123,8 @@ public class OracleExtractHelper { String grantSql = "grant connect, resource, dba to " + strTUser; OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); -// FileOperateHelper -// .fileWrite( -// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), -// sql+"\r\n"); OracleConnector.execOracleSQL(conn, grantSql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); -// FileOperateHelper -// .fileWrite( -// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), -// grantSql+"\r\n"); } /** @@ -163,16 +142,8 @@ public class OracleExtractHelper { String grantSql = "grant connect, resource, dba to " + strTUser; OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); -// FileOperateHelper -// .fileWrite( -// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), -// sql+"\r\n"); OracleConnector.execOracleSQL(conn, grantSql, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); -// FileOperateHelper -// .fileWrite( -// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), -// grantSql+"\r\n"); } /** @@ -190,16 +161,8 @@ public class OracleExtractHelper { String grantSql = "grant connect, resource, dba to " + strTUser; OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); -// FileOperateHelper -// .fileWrite( -// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), -// sql+"\r\n"); OracleConnector.execOracleSQL(conn, grantSql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); -// FileOperateHelper -// .fileWrite( -// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), -// grantSql+"\r\n"); } /** @@ -221,10 +184,6 @@ public class OracleExtractHelper { + " and t.owner||t.table_name not in (select owner||table_name from dba_tables@LINKTO" + oc.getName() + " where 'data_type'='CLOB')"; ResultSet rsSet = OracleConnector.getSQLExecResultSet(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); -// FileOperateHelper -// .fileWrite( -// Configs.EXTRACT_LOG_LOCALTION + oc.getName(), -// sql+"\r\n"); try { while (rsSet.next()) { try { @@ -232,12 +191,11 @@ public class OracleExtractHelper { String resultSql = rsSet.getString(1).replace(";", ""); OracleConnector.execUpdateOracleSQL(conn, resultSql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); } catch (SQLException e) { - new CustomException(Custom4exception.threadVolume_Oracle_Except, e, rsSet.getString(1)); + log.error(Custom4exception.threadVolume_Oracle_Except, e); } } } catch (SQLException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + log.error(Custom4exception.threadVolume_Oracle_Except, e); } } @@ -254,7 +212,7 @@ public class OracleExtractHelper { flag = true; } catch (SQLException e) { flag = false; - new CustomException(Custom4exception.OracleSQL_Except, e, testSql); + log.error(Custom4exception.threadVolume_Oracle_Except, e); } return flag; } @@ -269,7 +227,7 @@ public class OracleExtractHelper { String strTUser = Configs.GATHER_STANDARD_USER_NAME; createPay(conn, oc); String sql = "insert into " + strTUser + "." + Configs.GATHER_STANDARD_PAY_TABLE_NAME + " select * from " - + strTUser + "." + Configs.GATHER_STANDARD_PAY_TABLE_NAME +"@LINKTO" + + strTUser + "." + Configs.GATHER_STANDARD_PAY_TABLE_NAME +"@LINKTOST" + oc.getName(); String resultSql = sql.replace(";", ""); OracleConnector.execOracleSQL(conn, resultSql, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); @@ -286,12 +244,14 @@ public class OracleExtractHelper { String strTUser = Configs.GATHER_STANDARD_USER_NAME; String sql = "insert into " + strTUser + "." + Configs.GATHER_STANDARD_EXEC_TABLE_NAME + " select * from " - + strTUser + "." + Configs.GATHER_STANDARD_EXEC_TABLE_NAME +"@LINKTO" + + strTUser + "." + Configs.GATHER_STANDARD_EXEC_TABLE_NAME +"@LINKTOST" + collectOracle.getName(); String resultSql = sql.replace(";", ""); OracleConnector.execOracleSQL(conn, resultSql, Configs.EXTRACT_STANDARD_LOG_LOCALTION + collectOracle.getName()); } + + private void createPay(Connection conn, OracleConnectorParams oc) { String payCmd = "CREATE TABLE u_bzbjy.zfxxb(XZQHDM Varchar(255),XZQHMC Varchar(255),PZBH Varchar(255),LYZBKZH Varchar(255)," @@ -304,7 +264,46 @@ public class OracleExtractHelper { try { OracleConnector.execOracleSQL(conn, payCmd, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); } catch (Exception e) { - // TODO: handle exception + log.error(Custom4exception.threadVolume_Oracle_Except, e); + } + } + + /** + * 创建dblink + * + * @param conn 汇总库的连接 + * @param oc 采集库 + * dblink连接参数实体 + */ + public void createStandardDBLink(Connection conn, OracleConnectorParams oc) { + String linkName = "LINKTOST" + oc.getName(); + String sql = "CREATE PUBLIC DATABASE LINK " + + linkName + + " CONNECT TO " + + oc.getUser() + + " IDENTIFIED BY " + + oc.getPassword() + + " USING \'(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = " + + oc.getIp() + ")(PORT = " + oc.getPort() + + ")))(CONNECT_DATA =(SERVICE_NAME =" + oc.getDatabaseName() + + ")))\'"; + if (null != oc) { + if (hasSameNameDBLink(conn, linkName, Configs.EXTRACT_LOG_LOCALTION + oc.getName()+".log")) { // 如果dblink已经存在,先删除dblink,在创建dblink + String deleteSql = "DROP PUBLIC DATABASE LINK " + + linkName; + //删除 dblink + if (OracleConnector.execOracleSQL(conn, deleteSql, Configs.EXTRACT_LOG_LOCALTION + oc.getName())) { + OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); + } else { + Configs.CONSOLE_LOGGER.error("删除已有的DBLink失败,无法创建新的DBLink!"); + FileOperateHelper.fileWrite(Configs.EXTRACT_LOG_LOCALTION + + oc.getName()+".log", "删除已有的DBLink失败,无法创建新的DBLink!"+"\r\n"); + } + + } else { + // 否则,创建dblink + OracleConnector.execOracleSQL(conn, sql, Configs.EXTRACT_LOG_LOCALTION + oc.getName()); + } } } @@ -319,7 +318,7 @@ public class OracleExtractHelper { try { OracleConnector.execOracleSQL(conn, execCmd, Configs.EXTRACT_STANDARD_LOG_LOCALTION + oc.getName()); } catch (Exception e) { - // TODO: handle exception + log.error(Custom4exception.threadVolume_Oracle_Except, e); } } } diff --git a/src/com/platform/service/OracleExtractService.java b/src/com/platform/service/OracleExtractService.java index d6745b6e..2e841408 100644 --- a/src/com/platform/service/OracleExtractService.java +++ b/src/com/platform/service/OracleExtractService.java @@ -15,7 +15,7 @@ public class OracleExtractService extends Thread implements Runnable { this.ocp=ocp; String url = ""; try { - this.conn=OracleConnector.ConnectionBuilder(url, Configs.GATHER_USER_NAME, Configs.GATHER_USER_PASSWORD, null); + this.conn=OracleConnector.connectionBuilder(url, Configs.GATHER_USER_NAME, Configs.GATHER_USER_PASSWORD, null); } catch (CustomException e) { this.conn = null; } diff --git a/src/com/platform/service/OracleStatusService.java b/src/com/platform/service/OracleStatusService.java index c1265c90..b2a908ed 100644 --- a/src/com/platform/service/OracleStatusService.java +++ b/src/com/platform/service/OracleStatusService.java @@ -10,14 +10,16 @@ import java.util.Map; import java.util.Timer; import java.util.TimerTask; -import org.apache.commons.lang.text.StrBuilder; - import com.platform.entities.OracleConnectorParams; import com.platform.kubernetes.SimpleKubeClient; import com.platform.oracle.OracleConnector; import com.platform.utils.Configs; import com.platform.utils.Constant; +/** 计时 尝试连接oracle的时间,(超过10分钟判断失败) + * @author chen + * + */ public class OracleStatusService { private static Map alliveTask = new Hashtable(); public final static int EXEC_TIME = 9;// 连接多少次后不成功,取消链接 diff --git a/src/com/platform/service/impl/CheckoutServiceImpl.java b/src/com/platform/service/impl/CheckoutServiceImpl.java index 494a1eab..e6b5ebd5 100644 --- a/src/com/platform/service/impl/CheckoutServiceImpl.java +++ b/src/com/platform/service/impl/CheckoutServiceImpl.java @@ -2,7 +2,6 @@ package com.platform.service.impl; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.Calendar; import java.util.Collections; import java.util.HashMap; @@ -11,6 +10,7 @@ import java.util.Map; import javax.annotation.Resource; +import org.apache.log4j.Logger; import org.springframework.stereotype.Service; import com.base.Custom4exception; @@ -34,18 +34,39 @@ import com.platform.utils.Constant; import com.platform.utils.DateForm; import com.platform.utils.FileOperateHelper; +/** 校验业务类 + * @author chen + * + */ @Service(value = "checkoutService") public class CheckoutServiceImpl implements ICheckoutService { + /** + * 日志 + */ + public static Logger log = Logger.getLogger(CheckoutServiceImpl.class); + + /** + * 数据管理业务层 + */ @Resource(name = "dataInfoService") private DataInfoService dataInfoService; + /** + * 系统清单数据 + */ @Resource(name = "preDataInfoDao") private PreDataInfoDao preDataInfoDao; + /** + * 数据管理 + */ @Resource(name = "dataInfoDao") private DataInfoDao dataInfoDao; + /** + * oracle数据库管理 + */ @Resource(name = "gatherOracleDao") private GatherOracleDao gatherOracleDao; @@ -97,6 +118,132 @@ public class CheckoutServiceImpl implements ICheckoutService { return checks; } + @Override + public List findByCity(String city) throws Exception { + CheckoutEntity cksql = new CheckoutEntity(); + Calendar c2 = Calendar.getInstance(); + // 时间设置为 半年前的时间 + c2.set(Calendar.MONTH, getMonBeforeHalfYear(c2.get(Calendar.MONTH))); + String time = DateForm.date2StringByDay(c2.getTime()); + cksql.setCollectingTime(time); + cksql.setCityName(city); + + Map resul = new HashMap(); + Map nodata = new HashMap(); + List list = preDataInfoDao.findByCity(cksql); + int length = list.size(); + // 对所有数据分析 + for (int i = 0; i < length; i++) { + CheckoutEntity preDataInfo = list.get(i); + preDataInfo.setId(i); + preDataInfo.setCollUpdate(isY(preDataInfo.getCollUpdate())); + if (preDataInfo.getDataVersion() < 1) { + preDataInfo.setCollection("否"); + } + if (null != preDataInfo.getCollectingTime()) { + if (c2.getTime().before(DateForm.string2DateByDay(preDataInfo.getCollectingTime()))) { + resul.put(preDataInfo.getAreaCode()+"_"+preDataInfo.getSysCode()+"_"+preDataInfo.getDataId(), preDataInfo); + } + else { + preDataInfo.setDataId(0); + preDataInfo.setPath(null); + preDataInfo.setDataVersion(0); + preDataInfo.setExecResult(null); + preDataInfo.setExecResultLast(null); + preDataInfo.setPayResult(null); + preDataInfo.setPayResultLast(null); + preDataInfo.setCheckoutFlag(null); + preDataInfo.setCollection("否"); + //data_id 已经为 0 (数据不存在时) + nodata.put(preDataInfo.getAreaCode()+"_"+preDataInfo.getSysCode(), preDataInfo); + } + } + else{ + nodata.put(preDataInfo.getAreaCode()+"_"+preDataInfo.getSysCode(), preDataInfo); + } + } + List keyList = new ArrayList(); + //记录 不存在数据 在 nodata的 key值 + for (String nodatakey : nodata.keySet()) { + keyList.add(nodatakey); + } + + List resultList = new ArrayList(); + for (String key : resul.keySet()) { + //如果有 校验失败的结果则 为否 + CheckoutEntity tmp = resul.get(key); + if(!Constant.CHECKOUT_STATUS_ZERO.equals(tmp.getPayResultLast()) && !Constant.CHECKOUT_STATUS_ZERO.equals(tmp.getExecResultLast())){ + if (Constant.CHECKOUT_STATUS_FOUR.equals(tmp.getPayResultLast()) || Constant.CHECKOUT_STATUS_FOUR.equals(tmp.getExecResultLast())) { + tmp.setCheckResult(Constant.ORACLE_CHECK_REULT_ONE); + } + else if(!Constant.CHECKOUT_STATUS_TWO.equals(tmp.getPayResultLast()) && !Constant.CHECKOUT_STATUS_TWO.equals(tmp.getExecResultLast())){ + tmp.setCheckResult(Constant.ORACLE_CHECK_REULT_ZERO); + } + } + resultList.add(resul.get(key)); + for (String nodatakey : keyList) { + if (key.contains(nodatakey)) { + nodata.remove(nodatakey); + } + } + } + for (String key : nodata.keySet()) { + resultList.add(nodata.get(key)); + } + return resultList; + } + + @Override + public Map findDetail(CheckoutEntity ck) + throws Exception { + Map map = new HashMap(); + PreDataInfo data = new CheckoutEntity(); + String areaCode = ck.getAreaCode(); + int sysCode = ck.getSysCode(); + data.setAreaCode(areaCode); + data.setSysCode(sysCode); + PreDataInfo data1 = preDataInfoDao.findStandardByCode(data); + data1.reSetWorkRange(new ArrayList()); + map.put("data1", data1); + + data.setAreaCode(areaCode); + data.setSysCode(sysCode); + PreDataInfo data2 = preDataInfoDao.findLastByCode(data); + // 对比字段 + if (data1.getFunctionDetails().equals(data2.getFunctionDetails())) { + data2.setFunctionDetails(""); + } + if (data1.getAreaLevel().equals(data2.getAreaLevel())) { + data2.setAreaLevel(""); + } + if (data1.getBeginUseTime().equals(data2.getBeginUseTime())) { + data2.setBeginUseTime(""); + } + if (data1.getDataBaseType().equals(data2.getDataBaseType())) { + data2.setDataBaseType(""); + } + if (data1.getDataBaseVersion().equals(data2.getDataBaseVersion())) { + data2.setDataBaseVersion(""); + } + if (data1.getDeveloperFullName().equals(data2.getDeveloperFullName())) { + data2.setDeveloperFullName(""); + } + if (data1.getDepartmentManager().equals(data2.getDepartmentManager())) { + data2.setDepartmentManager(""); + } + if (data1.getManagerContacts().equals(data2.getManagerContacts())) { + data2.setManagerContacts(""); + } + if (data1.getSysVersion().equals(data2.getSysVersion())) { + data2.setSysVersion(""); + } + if(!checkWorkRange(data1, data2)){ + data2.reSetWorkRange(null); + } + map.put("data2", data2); + return map; + } + @Override public List checkAll(List list) throws Exception { List oracleList = new ArrayList(); @@ -112,6 +259,7 @@ public class CheckoutServiceImpl implements ICheckoutService { else if ("ORACLE".equals(checkoutEntity.getDataBaseType())) { oracleList.add(checkoutEntity); } + log.info(checkoutEntity.toString()); } // sql Server校验 for (CheckoutEntity checkoutEntity : sqlServerList) { @@ -170,108 +318,25 @@ public class CheckoutServiceImpl implements ICheckoutService { return result; } - private int getMonBeforeHalfYear(int num){ - num -= Configs.dataBefore; - if (num <= 0) { - num = num + 12; - } - return num; - } - - private String isY(String str1, String str2) { - String r = "否"; - if (null !=str2 && null !=str1 && str1.equals(str2) && "y".equals(str1.toLowerCase())) { - r = "是"; - } - return r; - } - private String isY(String str1) { - if (null != str1 && "y".equals(str1.toLowerCase())) { - return "是"; - } - else { - return "否"; - } - } - @Override - public List findByCity(String city) throws Exception { - CheckoutEntity cksql = new CheckoutEntity(); - Calendar c2 = Calendar.getInstance(); - // 时间设置为 半年前的时间 - c2.set(Calendar.MONTH, getMonBeforeHalfYear(c2.get(Calendar.MONTH))); - String time = DateForm.date2StringByDay(c2.getTime()); - cksql.setCollectingTime(time); - cksql.setCityName(city); - - Map resul = new HashMap(); - Map nodata = new HashMap(); - List list = preDataInfoDao.findByCity(cksql); - int length = list.size(); - for (int i = 0; i < length; i++) { - CheckoutEntity preDataInfo = list.get(i); -// if (null != preDataInfo.getPayResultLast() && -// preDataInfo.getPayResultLast().equals(preDataInfo.getExecResultLast()) && -// "是".equals(preDataInfo.getExecResultLast())) { -// preDataInfo.setCheckResult("是"); -// }else if(null != preDataInfo.getPayResultLast() && null != preDataInfo.getExecResultLast() && !"-".equals(preDataInfo.getPayResultLast()) && !"-".equals(preDataInfo.getExecResultLast())){ -// preDataInfo.setCheckResult("否"); -// } - preDataInfo.setId(i); - preDataInfo.setCollUpdate(isY(preDataInfo.getCollUpdate())); - if (preDataInfo.getDataVersion() < 1) { - preDataInfo.setCollection("否"); - } - if (null != preDataInfo.getCollectingTime()) { - if (c2.getTime().before(DateForm.string2DateByDay(preDataInfo.getCollectingTime()))) { - resul.put(preDataInfo.getAreaCode()+"_"+preDataInfo.getSysCode()+"_"+preDataInfo.getDataId(), preDataInfo); - } - else { - preDataInfo.setDataId(0); - preDataInfo.setPath(null); - preDataInfo.setDataVersion(0); - preDataInfo.setExecResult(null); - preDataInfo.setExecResultLast(null); - preDataInfo.setPayResult(null); - preDataInfo.setPayResultLast(null); - preDataInfo.setCheckoutFlag(null); - preDataInfo.setCollection("否"); - //data_id 已经为 0 - nodata.put(preDataInfo.getAreaCode()+"_"+preDataInfo.getSysCode(), preDataInfo); - } - } - else{ - nodata.put(preDataInfo.getAreaCode()+"_"+preDataInfo.getSysCode(), preDataInfo); + public List deleteAll(List list) + throws Exception { + List dataIds = new ArrayList(); + for (CheckoutEntity checkoutEntity : list) { + int dataInfoId = checkoutEntity.getDataId(); + if (dataInfoId > 0) { + dataIds.add(dataInfoId); } } - List keyList = new ArrayList(); - for (String nodatakey : nodata.keySet()) { - keyList.add(nodatakey); - } - - List resultList = new ArrayList(); - for (String key : resul.keySet()) { - //如果有 校验失败的结果则 为否 - CheckoutEntity tmp = resul.get(key); - if(!Constant.CHECKOUT_STATUS_ZERO.equals(tmp.getPayResultLast()) && !Constant.CHECKOUT_STATUS_ZERO.equals(tmp.getExecResultLast())){ - if (Constant.CHECKOUT_STATUS_FOUR.equals(tmp.getPayResultLast()) || Constant.CHECKOUT_STATUS_FOUR.equals(tmp.getExecResultLast())) { - tmp.setCheckResult(Constant.ORACLE_CHECK_REULT_ONE); - } - else if(!Constant.CHECKOUT_STATUS_TWO.equals(tmp.getPayResultLast()) && !Constant.CHECKOUT_STATUS_TWO.equals(tmp.getExecResultLast())){ - tmp.setCheckResult(Constant.ORACLE_CHECK_REULT_ZERO); - } - } - resultList.add(resul.get(key)); - for (String nodatakey : keyList) { - if (key.contains(nodatakey)) { - nodata.remove(nodatakey); - } - } + if (dataIds.size() > 0) { + dataInfoService.deleteData(dataIds); + // 根据 dataIds 删除 } - for (String key : nodata.keySet()) { - resultList.add(nodata.get(key)); + List result = new ArrayList(); + if (list.size() > 0) { + result = findByCity(list.get(0).getCityName()); } - return resultList; + return result; } @Override @@ -295,54 +360,104 @@ public class CheckoutServiceImpl implements ICheckoutService { } @Override - public Map findDetail(CheckoutEntity ck) + public List extractSqlServer(List list) throws Exception { - Map map = new HashMap(); - PreDataInfo data = new CheckoutEntity(); - String areaCode = ck.getAreaCode(); - int sysCode = ck.getSysCode(); - data.setAreaCode(areaCode); - data.setSysCode(sysCode); - PreDataInfo data1 = preDataInfoDao.findStandardByCode(data); - data1.reSetWorkRange(new ArrayList()); - map.put("data1", data1); - - data.setAreaCode(areaCode); - data.setSysCode(sysCode); - PreDataInfo data2 = preDataInfoDao.findLastByCode(data); - // 对比字段 - if (data1.getFunctionDetails().equals(data2.getFunctionDetails())) { - data2.setFunctionDetails(""); - } - if (data1.getAreaLevel().equals(data2.getAreaLevel())) { - data2.setAreaLevel(""); - } - if (data1.getBeginUseTime().equals(data2.getBeginUseTime())) { - data2.setBeginUseTime(""); - } - if (data1.getDataBaseType().equals(data2.getDataBaseType())) { - data2.setDataBaseType(""); + //待抽取标准表 的 SqlServer服务的 数据列表: + List sqlServer = new ArrayList(); + for (CheckoutEntity checkoutEntity : list) { + if ("SQL SERVER".equals(checkoutEntity.getDataBaseType()) && checkoutEntity.getDataId() > 0) { + sqlServer.add(checkoutEntity); + } } - if (data1.getDataBaseVersion().equals(data2.getDataBaseVersion())) { - data2.setDataBaseVersion(""); + //TODO 修改sqlServer 列表对应的 数据--- payResultLast 、execResultLast-> 正在抽取 + // 待抽取的集合 + List Extractlist = new ArrayList(); + // TODO 抽取 --- 线程 + if (sqlServer.size() > 0) { + for (CheckoutEntity checkoutEntity : sqlServer) { + boolean isTract = false; + //校验结果:成功或失 0:未校验,1:不需校验,2:正在校验,3:校验成功,4:校验失败,5:待抽取,6:正在抽取,7:抽取完成 + if(Constant.CHECKOUT_STATUS_THREE.equals(checkoutEntity.getPayResultLast())){ + isTract = true; + checkoutEntity.setPayResultLast(Constant.CHECKOUT_STATUS_FIVE); + } + if(Constant.CHECKOUT_STATUS_THREE.equals(checkoutEntity.getExecResultLast())){ + isTract = true; + checkoutEntity.setExecResultLast(Constant.CHECKOUT_STATUS_FIVE); + } + if (isTract) { + Extractlist.add(checkoutEntity); + } + } + // 汇总库的信息 + GatherOracleInfo oracleInfo = null; + List oracleConnects = gatherOracleDao.selectAllOracle(); + for (GatherOracleInfo info : oracleConnects) { + //抽取标准表的汇总库 + if (Constant.ORACLE_EXTRACT_TYPE_ONE.equals(info.getType())) { + oracleInfo = info; + break; + } + } + if (null != oracleInfo) { + // 如果能连接 + if(OracleConnector.canConnect("jdbc:oracle:thin:@" + oracleInfo.getIp() + ":" + oracleInfo.getPort() + ":" + + oracleInfo.getDatabaseName(), oracleInfo.getUser(), oracleInfo.getPassword())){ + for (CheckoutEntity check : Extractlist) { + DataInfoEntity data = new DataInfoEntity(); + data.setId(check.getDataId()); + data.setPayResultLast(check.getPayResultLast()); + data.setExecResultLast(check.getExecResultLast()); + data.setCheckoutFlag(check.getCheckoutFlag()); + try { + dataInfoDao.update(data); + } catch (Exception e) { + log.error(e); + } + } + //抽取 + new ThreadExtractStandardSqlServer(oracleInfo, Extractlist, dataInfoDao).start(); + } + else { + //连接不上标准表汇总库错误 + throw new CustomException(Custom4exception.CHECKOUT_EXTRACT_EXCEPT, null); + } + } } - if (data1.getDeveloperFullName().equals(data2.getDeveloperFullName())) { - data2.setDeveloperFullName(""); + List result = new ArrayList(); + //TODO findByCity + if (list.size() > 0) { + result = findByCity(list.get(0).getCityName()); } - if (data1.getDepartmentManager().equals(data2.getDepartmentManager())) { - data2.setDepartmentManager(""); + return result; + } + + /** 前 Configs.dataBefore 个月 + * @param num + * @return + */ + private int getMonBeforeHalfYear(int num){ + num -= Configs.dataBefore; + if (num <= 0) { + num = num + 12; } - if (data1.getManagerContacts().equals(data2.getManagerContacts())) { - data2.setManagerContacts(""); + return num; + } + + private String isY(String str1, String str2) { + String r = "否"; + if (null !=str2 && null !=str1 && str1.equals(str2) && "y".equals(str1.toLowerCase())) { + r = "是"; } - if (data1.getSysVersion().equals(data2.getSysVersion())) { - data2.setSysVersion(""); + return r; + } + private String isY(String str1) { + if (null != str1 && "y".equals(str1.toLowerCase())) { + return "是"; } - if(!checkWorkRange(data1, data2)){ - data2.reSetWorkRange(null); + else { + return "否"; } - map.put("data2", data2); - return map; } /** true 系统所属范围没变化,false:系统范围改变 @@ -385,6 +500,11 @@ public class CheckoutServiceImpl implements ICheckoutService { return true; } + /** 判断 data1 和 data2是否有差别 + * @param data1 + * @param data2 + * @return + */ private boolean checkField(PreDataInfo data1, PreDataInfo data2) { if (!data1.getFunctionDetails().equals(data2.getFunctionDetails())) { return false; @@ -468,8 +588,8 @@ public class CheckoutServiceImpl implements ICheckoutService { * @return */ private CheckoutEntity checkOracleOne(CheckoutEntity ck) { - //TODO 校验: Oracle数据-更改为正则校验 - //TODO Oracle校验结果记录进数据库, + //校验: Oracle数据-更改为正在校验 + // Oracle校验结果记录进数据库, String pay = ck.getPayResult(); String exec = ck.getExecResult(); if (Constant.CHECKOUT_STATUS_ZERO.equals(ck.getPayResultLast())) { @@ -494,105 +614,4 @@ public class CheckoutServiceImpl implements ICheckoutService { ck.setCheckoutFlag(Constant.CHECKOUTFLAG_TWO); return ck; } - - @Override - public List deleteAll(List list) - throws Exception { - List dataIds = new ArrayList(); - for (CheckoutEntity checkoutEntity : list) { - int dataInfoId = checkoutEntity.getDataId(); - if (dataInfoId > 0) { - dataIds.add(dataInfoId); - } - } - if (dataIds.size() > 0) { - dataInfoService.deleteData(dataIds); - // 根据 dataIds 删除 - } - List result = new ArrayList(); - if (list.size() > 0) { - result = findByCity(list.get(0).getCityName()); - } - return result; - } - - @Override - public List extractSqlServer(List list) - throws Exception { - //待抽取标准表 的 SqlServer服务的 数据列表: - List sqlServer = new ArrayList(); - for (CheckoutEntity checkoutEntity : list) { - if ("SQL SERVER".equals(checkoutEntity.getDataBaseType()) && checkoutEntity.getDataId() > 0) { - sqlServer.add(checkoutEntity); - } - } - //TODO 修改sqlServer 列表对应的 数据--- payResultLast 、execResultLast-> 正在抽取 - // 待抽取的集合 - List Extractlist = new ArrayList(); - // TODO 抽取 --- 线程 - if (sqlServer.size() > 0) { - for (CheckoutEntity checkoutEntity : sqlServer) { - boolean isTract = false; - //校验结果:成功或失 0:未校验,1:不需校验,2:正在校验,3:校验成功,4:校验失败,5:待抽取,6:正在抽取,7:抽取完成 - if(Constant.CHECKOUT_STATUS_THREE.equals(checkoutEntity.getPayResultLast())){ - isTract = true; - checkoutEntity.setPayResultLast(Constant.CHECKOUT_STATUS_FIVE); - } - if(Constant.CHECKOUT_STATUS_THREE.equals(checkoutEntity.getExecResultLast())){ - isTract = true; - checkoutEntity.setExecResultLast(Constant.CHECKOUT_STATUS_FIVE); - } - if (isTract) { - Extractlist.add(checkoutEntity); - } - } - // 汇总库的信息 - GatherOracleInfo oracleInfo = null; - List oracleConnects = gatherOracleDao.selectAllOracle(); - for (GatherOracleInfo info : oracleConnects) { - //抽取标准表的汇总库 - if (Constant.ORACLE_EXTRACT_TYPE_ONE.equals(info.getType())) { - oracleInfo = info; - break; - } - } - if (null != oracleInfo) { - // 如果能连接 - if(OracleConnector.canConnect("jdbc:oracle:thin:@" + oracleInfo.getIp() + ":" + oracleInfo.getPort() + ":" - + oracleInfo.getDatabaseName(), oracleInfo.getUser(), oracleInfo.getPassword())){ - for (CheckoutEntity check : Extractlist) { - DataInfoEntity data = new DataInfoEntity(); - data.setId(check.getDataId()); - data.setPayResultLast(check.getPayResultLast()); - data.setExecResultLast(check.getExecResultLast()); - data.setCheckoutFlag(check.getCheckoutFlag()); - try { - dataInfoDao.update(data); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - //抽取 - new ThreadExtractStandardSqlServer(oracleInfo, Extractlist, dataInfoDao).start(); - } - else { - //连接不上标准表汇总库错误 - throw new CustomException(Custom4exception.CHECKOUT_EXTRACT_EXCEPT, null); - } - } - } - List result = new ArrayList(); - //TODO findByCity - if (list.size() > 0) { - result = findByCity(list.get(0).getCityName()); - } - return result; - } - - @Override - public Map readLog(CheckoutEntity ck) throws Exception { - // TODO Auto-generated method stub - return null; - } } diff --git a/src/com/platform/service/impl/CodeServiceImpl.java b/src/com/platform/service/impl/CodeServiceImpl.java index 43fcd012..53037745 100644 --- a/src/com/platform/service/impl/CodeServiceImpl.java +++ b/src/com/platform/service/impl/CodeServiceImpl.java @@ -7,18 +7,27 @@ import java.util.Map; import javax.annotation.Resource; +import org.apache.log4j.Logger; import org.springframework.stereotype.Service; -import com.platform.dao.DataInfoDao; import com.platform.dao.IRegionalismCodeDao; import com.platform.dao.ISystemCodeDao; import com.platform.entities.RegionalismEntity; import com.platform.entities.SystemEntity; import com.platform.service.ICodeService; +/** 地区、系统code--名称-业务类 + * @author chen + * + */ @Service(value = "codeService") public class CodeServiceImpl implements ICodeService { + /** + * 日志 + */ + public final static Logger log = Logger.getLogger(CodeServiceImpl.class); + @Resource(name = "systemCodeDao") private ISystemCodeDao systemCodeDao; @@ -32,7 +41,7 @@ public class CodeServiceImpl implements ICodeService { result = new ArrayList(); result = systemCodeDao.findSubSystemByCode(sys); } catch (Exception e) { - // TODO: handle exception + log.error(e); } return result; } @@ -43,7 +52,7 @@ public class CodeServiceImpl implements ICodeService { try { result = regionalismCodeDao.findSubRegionalism(region); } catch (Exception e) { - // TODO: handle exception + log.error(e); } return result; } @@ -57,7 +66,7 @@ public class CodeServiceImpl implements ICodeService { result.put("system", syss); result.put("regionalism", regions); } catch (Exception e) { - // TODO: handle exception + log.error(e); } return result; } diff --git a/src/com/platform/service/impl/EncodeInfoServiceImpl.java b/src/com/platform/service/impl/EncodeInfoServiceImpl.java index ec66595d..f0fd5a4e 100644 --- a/src/com/platform/service/impl/EncodeInfoServiceImpl.java +++ b/src/com/platform/service/impl/EncodeInfoServiceImpl.java @@ -42,7 +42,6 @@ public class EncodeInfoServiceImpl implements EncodeInfoService { public int deleteEncodeByCode(String code, String tableName) { // TODO Auto-generated method stub int cursor = eiDao.deleteEncodeByCode(code, tableName); - //cursor = cursor / 0; return cursor; } diff --git a/src/com/platform/service/impl/MySqlServiceImpl.java b/src/com/platform/service/impl/GatherOracleServiceImpl.java similarity index 68% rename from src/com/platform/service/impl/MySqlServiceImpl.java rename to src/com/platform/service/impl/GatherOracleServiceImpl.java index 91529e58..9f1a8bbc 100644 --- a/src/com/platform/service/impl/MySqlServiceImpl.java +++ b/src/com/platform/service/impl/GatherOracleServiceImpl.java @@ -5,31 +5,40 @@ import java.util.List; import javax.annotation.Resource; +import org.apache.log4j.Logger; import org.springframework.stereotype.Service; import com.platform.dao.GatherOracleDao; import com.platform.entities.GatherOracleInfo; -import com.platform.oracle.OracleConnector; -import com.platform.service.IMySqlService; +import com.platform.service.IGatherOracleService; +/** oracle数据总库 管理 + * @author chen + * + */ @Service(value = "mySqlService") -public class MySqlServiceImpl implements IMySqlService{ +public class GatherOracleServiceImpl implements IGatherOracleService{ + public final static Logger log = Logger.getLogger(GatherOracleServiceImpl.class); + + /** + * oracle数据库 对象记录 + */ @Resource(name = "gatherOracleDao") private GatherOracleDao gatherOracleDao; @Override - public List findAllMySql() throws Exception { + public List findAllOracle() throws Exception { List result = gatherOracleDao.selectAllOracle(); return result; } @Override - public int deleteMySql(int id) throws Exception { + public int deleteOracle(int id) throws Exception { int result = 0; if (id > 0) { -// result = gatherOracleDao.deleteOracleById(id); + //删除汇总的库--逻辑删除 GatherOracleInfo oracle = new GatherOracleInfo(); oracle.setId(id); oracle.setRemove("1"); @@ -39,27 +48,32 @@ public class MySqlServiceImpl implements IMySqlService{ } public int insertOracle(GatherOracleInfo oracle) throws Exception { - //TODO 连接oracle, - //1代表是标准库抽取 + // 连接oracle, + int result = 0; + //1 代表 是标准库抽取 if ("1".equals(oracle.getType())) { GatherOracleInfo ora = new GatherOracleInfo(); ora.setType("0"); gatherOracleDao.updateAllOracle(ora); } - int result = gatherOracleDao.insertOracle(oracle); + try{ + result = gatherOracleDao.insertOracle(oracle); + }catch(Exception e){ + log.error(e); + } return result; } @Override public int updateOracle(GatherOracleInfo oracle) throws Exception { int status = 1; + int result = 0; Connection conn = null /*OracleConnector.ConnectionBuilder("jdbc:oracle:thin:@" + oracle.getIp() + ":" + oracle.getPort() + ":" + oracle.getDatabaseName(), oracle.getUser(), oracle.getPassword())*/; if (null == conn) { status = 0; } oracle.setStatus(status); - int result; if (oracle.getId() > 0) { if ("1".equals(oracle.getType())) { GatherOracleInfo ora = new GatherOracleInfo(); diff --git a/src/com/platform/service/impl/OracleExtractServiceImpl.java b/src/com/platform/service/impl/OracleExtractServiceImpl.java index aa79363c..6e005ed7 100644 --- a/src/com/platform/service/impl/OracleExtractServiceImpl.java +++ b/src/com/platform/service/impl/OracleExtractServiceImpl.java @@ -5,10 +5,12 @@ import java.util.List; import javax.annotation.Resource; +import org.apache.log4j.Logger; import org.springframework.stereotype.Service; import com.base.Custom4exception; import com.base.CustomException; +import com.platform.controller.OracleController; import com.platform.dao.DataInfoDao; import com.platform.entities.DataInfoEntity; import com.platform.entities.GatherOracleInfo; @@ -24,8 +26,14 @@ import com.platform.utils.FileOperateHelper; @Service(value = "OracleExtract") public class OracleExtractServiceImpl implements IOracleExtractService { + /** + * 日志 + */ + public final static Logger log = Logger.getLogger(OracleExtractServiceImpl.class); + @Resource(name = "dataInfoDao") private DataInfoDao dataInfoDao; + /** * kubernetes client */ @@ -52,7 +60,7 @@ public class OracleExtractServiceImpl implements IOracleExtractService { if (datainfos.size() == 0) { return false; } - Connection conn = OracleConnector.ConnectionBuilder("jdbc:oracle:thin:@" + oracleModel.getIp() + ":" + oracleModel.getPort() + ":" + Connection conn = OracleConnector.connectionBuilder("jdbc:oracle:thin:@" + oracleModel.getIp() + ":" + oracleModel.getPort() + ":" + oracleModel.getDatabaseName(), oracleModel.getUser(), oracleModel.getPassword(),dataInfolist.get(0)); if (null == conn) { FileOperateHelper.fileWrite(Configs.EXTRACT_LOG_LOCALTION @@ -103,7 +111,7 @@ public class OracleExtractServiceImpl implements IOracleExtractService { @Override public boolean isConnectTotalOracle(GatherOracleInfo oracleModel) throws Exception { boolean isConnect = false; - Connection conn = OracleConnector.ConnectionBuilder("jdbc:oracle:thin:@" + oracleModel.getIp() + ":" + oracleModel.getPort() + ":" + Connection conn = OracleConnector.connectionBuilder("jdbc:oracle:thin:@" + oracleModel.getIp() + ":" + oracleModel.getPort() + ":" + oracleModel.getDatabaseName(), oracleModel.getUser(), oracleModel.getPassword(), null); if (null == conn) { isConnect = false; @@ -128,7 +136,7 @@ public class OracleExtractServiceImpl implements IOracleExtractService { if (datainfos.size() == 0) { return false; } - Connection conn = OracleConnector.ConnectionBuilder("jdbc:oracle:thin:@" + oracleModel.getIp() + ":" + oracleModel.getPort() + ":" + Connection conn = OracleConnector.connectionBuilder("jdbc:oracle:thin:@" + oracleModel.getIp() + ":" + oracleModel.getPort() + ":" + oracleModel.getDatabaseName(), oracleModel.getUser(), oracleModel.getPassword(),dataInfolist.get(0)); if (null == conn) { FileOperateHelper.fileWrite(Configs.EXTRACT_LOG_LOCALTION @@ -136,7 +144,7 @@ public class OracleExtractServiceImpl implements IOracleExtractService { return false; } for (OracleConnectorParams collectOracle : datainfos) { - + try{ if(null != collectOracle.getDataId() && !"".equals(collectOracle.getDataId())){ DataInfoEntity data = new DataInfoEntity(); data.setId(Integer.valueOf(collectOracle.getDataId())); @@ -155,7 +163,7 @@ public class OracleExtractServiceImpl implements IOracleExtractService { sb.append(string).append("\n"); Configs.CONSOLE_LOGGER.info(sb.toString()); // client.updateOrAddReplicasLabelById(collectOracle.getName(), "isExtract", "1"); //更新oracle汇总状态,0标示为未汇总,1标示汇总中,2标示汇总完成 - oracleExtract.createDBLink(conn, collectOracle); //创建dblink + oracleExtract.createStandardDBLink(conn, collectOracle); //创建dblink oracleExtract.createTableSpace(conn, collectOracle, oracleModel); //创建表空间 oracleExtract.createOnlyUser(conn, collectOracle, oracleModel);//创建 抽取标准表的 用户并授权 DataInfoEntity tmpdata = dataInfoDao.findById(data.getId()); @@ -163,14 +171,43 @@ public class OracleExtractServiceImpl implements IOracleExtractService { if (Constant.CHECKOUT_STATUS_THREE.equals(tmpdata.getPayResultLast()) || Constant.CHECKOUT_STATUS_FIVE.equals(tmpdata.getPayResultLast()) || Constant.CHECKOUT_STATUS_SIX.equals(tmpdata.getPayResultLast())) { - oracleExtract.extractStandardPayTable(conn, collectOracle, oracleModel);//执行抽取 - data.setPayResultLast(Constant.CHECKOUT_STATUS_SEVEN); + //抽取中 + data.setPayResultLast(Constant.CHECKOUT_STATUS_SIX); + dataInfoDao.update(data); + boolean isExtrac = true; + try{ + oracleExtract.extractStandardPayTable(conn, collectOracle, oracleModel);//执行抽取 + }catch(Exception e){ + //改回 校验存在的状态 + data.setPayResultLast(Constant.CHECKOUT_STATUS_THREE); + dataInfoDao.update(data); + isExtrac = false; + } + if (isExtrac) { + //抽取成功 + data.setPayResultLast(Constant.CHECKOUT_STATUS_SEVEN); + dataInfoDao.update(data); + } } if (Constant.CHECKOUT_STATUS_THREE.equals(tmpdata.getExecResultLast()) || Constant.CHECKOUT_STATUS_FIVE.equals(tmpdata.getExecResultLast()) || Constant.CHECKOUT_STATUS_SIX.equals(tmpdata.getExecResultLast())) { - oracleExtract.extractStandardExecTable(conn, collectOracle, oracleModel);//执行抽取 - data.setExecResultLast(Constant.CHECKOUT_STATUS_SEVEN); + //抽取中 + data.setExecResultLast(Constant.CHECKOUT_STATUS_SIX); + dataInfoDao.update(data); + boolean isExtrac = true; + try{ + oracleExtract.extractStandardExecTable(conn, collectOracle, oracleModel);//执行抽取 + }catch(Exception e){ + //改回 校验存在的状态 + data.setExecResultLast(Constant.CHECKOUT_STATUS_THREE); + dataInfoDao.update(data); + isExtrac = false; + } + if (isExtrac) { + data.setExecResultLast(Constant.CHECKOUT_STATUS_SEVEN); + dataInfoDao.update(data); + } } // client.updateOrAddReplicasLabelById(collectOracle.getName(), "isExtract", "2"); //更新oracle汇总状态,0标示为未汇总,1标示汇总中,2标示汇总完成 cmd = "kubectl annotate --overwrite rc " @@ -182,13 +219,16 @@ public class OracleExtractServiceImpl implements IOracleExtractService { Configs.CONSOLE_LOGGER.info(sb.toString()); data.setCheckoutFlag(Constant.CHECKOUTFLAG_SEVEN); data.setStandardExtractStatus("2"); - dataInfoDao.updateExtract(data); + dataInfoDao.update(data); } } + }catch(Exception e){ + log.error(Custom4exception.OracleSQL_Except, e); + } } isSuccess = true; }catch(Exception e){ - new CustomException(Custom4exception.OracleSQL_Except, e); + log.error(Custom4exception.OracleSQL_Except, e); } return isSuccess; } diff --git a/src/com/platform/service/impl/PreDataInfoServiceImpl.java b/src/com/platform/service/impl/PreDataInfoServiceImpl.java index 1e3afb25..c2c42087 100644 --- a/src/com/platform/service/impl/PreDataInfoServiceImpl.java +++ b/src/com/platform/service/impl/PreDataInfoServiceImpl.java @@ -8,6 +8,7 @@ import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; import javax.annotation.Resource; @@ -33,7 +34,7 @@ import com.platform.utils.excelUtils.ExcelOperation; @Service(value = "preDataInfoService") public class PreDataInfoServiceImpl implements IPreDataInfoService { - public static Logger log = Configs.DAILY_ROLLING_LOGGER.getLogger(PreDataInfoServiceImpl.class); + public final static Logger log = Configs.DAILY_ROLLING_LOGGER.getLogger(PreDataInfoServiceImpl.class); @Resource(name = "preDataInfoDao") private PreDataInfoDao preDataInfoDao; @@ -60,7 +61,8 @@ public class PreDataInfoServiceImpl implements IPreDataInfoService { @Override public List findByParam(PagerOptions op) { - List result = preDataInfoDao.getLimitedDataInfoEntities(op); + List result = null; + result = preDataInfoDao.getLimitedDataInfoEntities(op); return result; } @@ -122,9 +124,8 @@ public class PreDataInfoServiceImpl implements IPreDataInfoService { all.addAll(subPreData); } } - } catch (IllegalArgumentException - | IllegalAccessException | InstantiationException e) { - e.printStackTrace(); + } catch (Exception e) { + log.error(e); } // finally{ // if (null != workbook) { @@ -142,8 +143,9 @@ public class PreDataInfoServiceImpl implements IPreDataInfoService { //根据 操作 类别 分类(修改, 新增行政区划,新增信息系统) if (all.size() > 0) { for (PreDataInfo preDataInfo : all) { - - switch (preDataInfo.getIsupdate()) { + String updateType = preDataInfo.getIsupdate(); + switch (updateType) + { case Constant.preDataInfo_add_system: list4AddSystem.add(preDataInfo); break; @@ -173,28 +175,14 @@ public class PreDataInfoServiceImpl implements IPreDataInfoService { } //查询系统的code。 List listSystem = new ArrayList(); -// if (sysNamesArea.size() > 0) { -// listSystem = systemCodeDao.findByName(sysNamesArea); -// } Map syscodeMap = new HashMap(); -// for (SystemEntity systemEntity : listSystem) { -// syscodeMap.put(systemEntity.getSystemName(), systemEntity.getCode()); -// } -// for (PreDataInfo preDataInfo : list4AddArea) { -// PreDataInfo areaFull = new PreDataInfo(); -// BeanCopy.copyBean(preDataInfo, areaFull); -// areaFull.setSysCode(syscodeMap.get(areaFull.getSysName())); -// areaFull.setUpdateTime(DateForm.date2StringBysecond(new Date())); -// allAreaInsert.add(areaFull); -// } - //TODO 去掉 已经导入的系统。。(例如 excel反复导入) + // 去掉 已经导入的系统。。(例如 excel反复导入) //在 pre_data_info表中 新增 操作为(新增行政区划)的系统 allAreaInsert = removeRepeat(list4AddArea); if (allAreaInsert.size() > 0) { list4AddSystem.addAll(allAreaInsert); -// insertBatch(allAreaInsert); } - //TODO 查系统 是否没有-(没有则在 pre_data_info添加新系统): + // 查系统 是否没有-(没有则在 pre_data_info添加新系统): if (list4AddSystem.size() > 0) { this.AddSystem(list4AddSystem); List sysNames = new ArrayList(); @@ -217,7 +205,7 @@ public class PreDataInfoServiceImpl implements IPreDataInfoService { all2Insert.add(systemFull); } } - //TODO 去掉 已经导入的系统。。(例如 excel反复导入) + //去掉 已经导入的系统。。(例如 excel反复导入) //在 pre_data_info表中 新增 操作为(新增信息系统)的系统 all2Insert = removeRepeat(all2Insert); if (all2Insert.size() > 0) { @@ -249,13 +237,13 @@ public class PreDataInfoServiceImpl implements IPreDataInfoService { UpdateFull.setUpdateTime(DateForm.date2StringBysecond(new Date())); allUpdate.add(UpdateFull); } - //TODO 更新 + // 更新 for (PreDataInfo preEntity : allUpdate) { try{ preDataInfoDao.update(preEntity); } catch(Exception e){ - log.error(e.getStackTrace()); + log.error(e); } } } @@ -267,7 +255,6 @@ public class PreDataInfoServiceImpl implements IPreDataInfoService { Map map = new HashMap(); List errList = new ArrayList(); List list = findAll(); - // InputStreamReader in= new InputStreamReader(Resource.class.getResourceAsStream(templateFilePath), "UTF-8"); ClassPathResource res = new ClassPathResource(Constant.SYSTEM_INFO_EXCEL_TEMPLATE_FIEL_PATH); //此处 耗时太久:(原因:excel 2007 以后采用的方式不同造成的建议升级 到 poi 3.15以上) XSSFWorkbook workbook = null; @@ -275,12 +262,10 @@ public class PreDataInfoServiceImpl implements IPreDataInfoService { try { workbook = new XSSFWorkbook(res.getInputStream()); result = ExcelOperation.writeExcelTemplate(workbook, Constant.EXCEL_TEMPLATE_INIT_ROW, 0, 25, list, "id", "dataId", "workRange","sysCode","updateTime","userTablespaceStatus", "checkoutIndicateStatus", "checkoutPayStatus", "userTablespacePath", "checkoutIndicatePath", "checkoutPayPath", "sqlList", "dataVersion", "collectingTime", "collUpdate"); - } catch (IllegalArgumentException - | IllegalAccessException | IOException e) { + } catch (Exception e) { errList.add(e.getMessage()); } //不能进行close, -// workbook.close(); FileOutputStream fileOut = null; try { File f = new File(path); @@ -428,7 +413,8 @@ public class PreDataInfoServiceImpl implements IPreDataInfoService { preDataInfo.setCheckoutPayPath("Checkout_Pay_"+preDataInfo.getAreaCode()+"_" + preDataInfo.getSysCode()+ ".sql"); } // 设置 状态 - if (!"ORACLE".equals(preDataInfo.getDataBaseType().toUpperCase())) { + String type = preDataInfo.getDataBaseType().toUpperCase(); + if (!"ORACLE".equals(type)) { preDataInfo.setUserTablespaceStatus("-"); } fileEntitys.add(preDataInfo); @@ -479,9 +465,12 @@ public class PreDataInfoServiceImpl implements IPreDataInfoService { } excelAdd.put(pre.getAreaCode()+"_"+pre.getSysName().trim(), pre); } - for (String key : excelAdd.keySet()) { - if (!sysInDataBaseMap.containsKey(key)) { - allResult.add(excelAdd.get(key)); + Set keys = excelAdd.keySet(); + if (null != keys) { + for (String key : keys) { + if (!sysInDataBaseMap.containsKey(key)) { + allResult.add(excelAdd.get(key)); + } } } return allResult; @@ -497,15 +486,12 @@ public class PreDataInfoServiceImpl implements IPreDataInfoService { if (loopSize * Configs.NUM_ONE_IMPORT_EXCEL != listSize) { loopSize++; } -// List> list = new ArrayList>(); List[] list = new ArrayList[loopSize]; for (int i = 0; i < loopSize; i++) { list[i] = new ArrayList(); -// list.add(new ArrayList()); } for (int i = 0; i < listSize; i++) { list[i%loopSize].add(allAreaInsert.get(i)); -// list.get(i%loopSize).add(allAreaInsert.get(i)); } for (List arrayList : list) { try { diff --git a/src/com/platform/service/impl/ScriptMakeService.java b/src/com/platform/service/impl/ScriptMakeService.java index 612c6115..47f5d0fd 100644 --- a/src/com/platform/service/impl/ScriptMakeService.java +++ b/src/com/platform/service/impl/ScriptMakeService.java @@ -211,7 +211,7 @@ public class ScriptMakeService implements IScriptMakeService { case "delete": fileDelete(lastPath); break; - // 最新脚本 替换 标准脚本(即 以最新脚本为准 )(归档或审核-替换) + // 最新脚本 替换 标准脚本(即 以最新脚本为准 )(归档 或审核-替换) case "replace": FileOperateHelper.fileReWriteGBK(standardPath, fileReader(lastPath)); fileDelete(lastPath); @@ -587,7 +587,9 @@ public class ScriptMakeService implements IScriptMakeService { } } } - errMap.put("nosqlfile", errlist); + if (errlist.size() > 0) { + errMap.put("nosqlfile", errlist); + } return errMap; } diff --git a/src/com/platform/service/thread/ThreadCheckoutStandardOracle.java b/src/com/platform/service/thread/ThreadCheckoutStandardOracle.java index f3ea89ab..fdb81006 100644 --- a/src/com/platform/service/thread/ThreadCheckoutStandardOracle.java +++ b/src/com/platform/service/thread/ThreadCheckoutStandardOracle.java @@ -7,7 +7,8 @@ import java.sql.Connection; import java.util.List; import java.util.Set; -import com.base.CustomException; +import org.apache.log4j.Logger; + import com.platform.dao.DataInfoDao; import com.platform.entities.CheckoutEntity; import com.platform.entities.DataInfoEntity; @@ -25,6 +26,8 @@ import com.platform.utils.FileOperateHelper; */ public class ThreadCheckoutStandardOracle extends Thread { + public final static Logger log = Configs.CONSOLE_LOGGER.getLogger(ThreadCheckoutStandardOracle.class); + /** * kuber 客户端 */ @@ -43,75 +46,84 @@ public class ThreadCheckoutStandardOracle extends Thread { @Override public void run() { + try { + Thread.sleep(1000*5); + } catch (InterruptedException e2) { + log.error(e2); + } //循环11次,每次休眠 for (int i = 0; i < 11; i++) { - // 数据的 keys (=kuber的应用名称 taskName) - Set taskNames = CacheOracleCheckoutEntity.getCheckKeys(); - int lengs = taskNames.size(); - if (lengs == 0) { - break; - } - String[] taskNamekeys = taskNames.toArray(new String[lengs]); - for (String key : taskNamekeys) { - String cmd3 = "kubectl annotate --overwrite rc " + key - + " checkoutFlag=0"; - List rList3 = Constant.ganymedSSH - .execCmdWaitAcquiescent(cmd3); - StringBuffer sb3 = new StringBuffer(); - for (String str : rList3) - sb3.append(str).append("\n"); - Configs.CONSOLE_LOGGER.info("更新replicationController标签: " - + key + "\t[标签更新为: 失败]"); - Configs.CONSOLE_LOGGER.info(sb3.toString()); - - // 获得 kuber的 pod - Pod tmpPod = filterPod(key); - if (null == tmpPod) { - CacheOracleCheckoutEntity.checkRemove(key); - continue; + try { + // 数据的 keys (=kuber的应用名称 taskName) + Set taskNames = CacheOracleCheckoutEntity.getCheckKeys(); + int lengs = taskNames.size(); + if (lengs == 0) { + break; } + String[] taskNamekeys = taskNames.toArray(new String[lengs]); + StringBuffer sbtask = new StringBuffer(); + for (int j = 0; j < taskNamekeys.length; j++) { + sbtask.append(taskNamekeys[j]).append("\t"); + } + log.info("replicationController标签: " + sbtask.toString()); + for (String key : taskNamekeys) { + + // 获得 kuber的 pod + Pod tmpPod = filterPod(key); + if (null == tmpPod) { + log.info("replicationController标签: " + key + " 的 pod 节点不存在!"); + if (i > 5) { + CacheOracleCheckoutEntity.checkRemove(key); + } + continue; + } // 尝试 连接 oracle - connectOracle(tmpPod, key); - if (i == 10) { - String cmd = "kubectl label --overwrite rc " + key - + " status=1"; - List rList = Constant.ganymedSSH - .execCmdWaitAcquiescent(cmd); - StringBuffer sb = new StringBuffer(); - for (String str : rList) - sb.append(str).append("\n"); - Configs.CONSOLE_LOGGER.info("更新replicationController标签: " - + key + "\t[标签更新为: 失败]"); - Configs.CONSOLE_LOGGER.info(sb.toString()); - - String cmd2 = "kubectl annotate --overwrite rc " + key - + " checkoutFlag=0"; - List rList2 = Constant.ganymedSSH - .execCmdWaitAcquiescent(cmd2); - StringBuffer sb2 = new StringBuffer(); - for (String str : rList2) - sb2.append(str).append("\n"); - Configs.CONSOLE_LOGGER.info("更新replicationController标签: " - + key + "\t[标签更新为: 失败]"); - Configs.CONSOLE_LOGGER.info(sb2.toString()); - //更新数据库CheckoutEntity tmp = CacheOracleCheckoutEntity.getCheck(key); - CheckoutEntity tmp = CacheOracleCheckoutEntity.getCheck(key); - tmp.setCheckoutFlag(Constant.CHECKOUTFLAG_ZERO); - tmp.setPayResultLast(Constant.CHECKOUT_STATUS_ZERO); - tmp.setExecResultLast(Constant.CHECKOUT_STATUS_ZERO); - try { - this.updateDataInfo(tmp); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); + connectOracle(tmpPod, key); + + if (i == 10) { + String cmd = "kubectl label --overwrite rc " + key + + " status=1"; + List rList = Constant.ganymedSSH + .execCmdWaitAcquiescent(cmd); + StringBuffer sb = new StringBuffer(); + for (String str : rList) + sb.append(str).append("\n"); + log.info("更新replicationController标签: " + + key + "\t[标签更新为: 失败]"); + log.info(sb.toString()); + + String cmd2 = "kubectl annotate --overwrite rc " + key + + " checkoutFlag=0"; + List rList2 = Constant.ganymedSSH + .execCmdWaitAcquiescent(cmd2); + StringBuffer sb2 = new StringBuffer(); + for (String str : rList2) + sb2.append(str).append("\n"); + log.info("更新replicationController标签: " + + key + "\t[标签更新为: 未校验]"); + log.info(sb2.toString()); + // 当前key标签对应的 数据服务的记录 + CheckoutEntity tmp = CacheOracleCheckoutEntity.getCheck(key); + tmp.setCheckoutFlag(Constant.CHECKOUTFLAG_ZERO); + tmp.setPayResultLast(Constant.CHECKOUT_STATUS_ZERO); + tmp.setExecResultLast(Constant.CHECKOUT_STATUS_ZERO); + try { + //更新数据库 + this.updateDataInfo(tmp); + } catch (Exception e) { + log.error(e.getMessage()); + } } } + } catch (Exception e1) { + log.error(e1.getStackTrace()); } - try { - Thread.sleep(1000*60); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + finally{ + try { + Thread.sleep(1000*60); + } catch (InterruptedException e) { + log.error(e.getMessage()); + } } } } @@ -138,7 +150,7 @@ public class ThreadCheckoutStandardOracle extends Thread { * @param tmpPod * @param key */ - private void connectOracle(Pod pod, String key) { + private void connectOracle(Pod pod, String key) throws Exception{ if (pod != null) { String ip = client.getPodHostIp(pod); int port = client.getPodContainerport(pod); @@ -147,7 +159,7 @@ public class ThreadCheckoutStandardOracle extends Thread { + ":" + Configs.ORACLE_ORCL; boolean flag = OracleConnector.canConnect(url, // 连接结果返回参数,true标示连接成功,false标示连接失败 Configs.ORACLE_USER, Configs.ORACLE_PSW); - Configs.CONSOLE_LOGGER.info("url:" + url + ",user:" + log.info("url:" + url + ",user:" + Configs.ORACLE_USER + ",password:" + Configs.ORACLE_PSW); String message = "失败"; @@ -159,23 +171,24 @@ public class ThreadCheckoutStandardOracle extends Thread { StringBuffer sb3 = new StringBuffer(); for (String str : rList3) sb3.append(str).append("\n"); - Configs.CONSOLE_LOGGER.info(sb3.toString()); + log.info(sb3.toString()); + log.info("更新replicationController标签: " + + key + "\t[标签更新为:未校验]"); if (flag) { String cmd = "kubectl label --overwrite rc " + key + " status=2"; - // client.updateOrAddReplicasLabelById(taskNSyame, - // "status", "2"); + // 设置服务为 成功 List rList = Constant.ganymedSSH .execCmdWaitAcquiescent(cmd); StringBuffer sb = new StringBuffer(); for (String str : rList) sb.append(str).append("\n"); - Configs.CONSOLE_LOGGER.info(sb.toString()); + log.info(sb.toString()); message = "成功"; - Configs.CONSOLE_LOGGER - .info("更新replicationController标签: " + log.info("更新replicationController标签: " + key + "\t[标签更新为: 成功]"); + //校验标签 String cmd2 = "kubectl annotate --overwrite rc " + key + " checkoutFlag=2"; List rList2 = Constant.ganymedSSH @@ -183,18 +196,20 @@ public class ThreadCheckoutStandardOracle extends Thread { StringBuffer sb2 = new StringBuffer(); for (String str : rList2) sb2.append(str).append("\n"); - Configs.CONSOLE_LOGGER.info(sb2.toString()); - // + log.info(sb2.toString()); + log.info("更新replicationController标签: " + + key + "\t[标签更新为: 校验中]"); + //获得当前 服务对应的 数据 CheckoutEntity tmp = CacheOracleCheckoutEntity.getCheck(key); if (null != tmp) { CacheOracleCheckoutEntity.putExtract(key, tmp); } - // TODO 查询 对应的 2 个标准表 + // 查询 对应的 2 个标准表 OracleConnectorParams oc = new OracleConnectorParams(); String logName = tmp.getAreaCode().toLowerCase()+"_"+tmp.getSysCode()+"_"+tmp.getDataVersion(); oc.setName(logName); try { - Connection conn = OracleConnector.ConnectionBuilder(url, Configs.ORACLE_USER, Configs.ORACLE_PSW, oc); + Connection conn = OracleConnector.connectionBuilder(url, Configs.ORACLE_USER, Configs.ORACLE_PSW, oc); //支付--校验 if (!Constant.CHECKOUT_STATUS_ONE.equals(tmp.getPayResultLast())) { String paySql = "select * from dba_tables where owner = '"+Configs.COLLECT_STANDARD_TABLE_USER.toUpperCase() @@ -233,19 +248,17 @@ public class ThreadCheckoutStandardOracle extends Thread { sb = new StringBuffer(); for (String str : rList) sb.append(str).append("\n"); - Configs.CONSOLE_LOGGER.info(sb.toString()); + log.info(sb.toString()); message = "成功"; - Configs.CONSOLE_LOGGER - .info("更新replicationController标签: " - + key + "\t[标签更新为: 成功]"); + log.info("更新replicationController标签: " + + key + "\t[标签更新为: 已校验]"); } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); + log.error(e.getStackTrace()); } // 成功 就 清除 CacheOracleCheckoutEntity 中 的该条记录 CacheOracleCheckoutEntity.checkRemove(key); } - Configs.CONSOLE_LOGGER.info("连接到数据库服务: " + key + log.info("连接到数据库服务: " + key + "\t[连接结果: " + message + "]"); } diff --git a/src/com/platform/service/thread/ThreadExtractStandardOracle.java b/src/com/platform/service/thread/ThreadExtractStandardOracle.java index fdeddd28..bac6f6eb 100644 --- a/src/com/platform/service/thread/ThreadExtractStandardOracle.java +++ b/src/com/platform/service/thread/ThreadExtractStandardOracle.java @@ -1,16 +1,26 @@ package com.platform.service.thread; +import org.apache.log4j.Logger; + import com.base.Custom4exception; -import com.base.CustomException; import com.platform.form.oracleForm; import com.platform.service.IOracleExtractService; +import com.platform.service.impl.CheckoutServiceImpl; /** 抽取标准表线程 * @author chen * */ public class ThreadExtractStandardOracle extends Thread { + + /** + * 日志 + */ + public static Logger log = Logger.getLogger(CheckoutServiceImpl.class); + /** + * 抽取实现 + */ private IOracleExtractService OracleExtract; private oracleForm form; @@ -29,7 +39,7 @@ public class ThreadExtractStandardOracle extends Thread { try { OracleExtract.extractStandardTable(form.getName(), form.getInneed(),form.getTarget()); } catch (Exception e) { - new CustomException(Custom4exception.threadVolume_Oracle_Except,e,form,OracleExtract); + log.error(Custom4exception.threadVolume_Oracle_Except,e); } } diff --git a/src/com/platform/service/thread/ThreadExtractStandardSqlServer.java b/src/com/platform/service/thread/ThreadExtractStandardSqlServer.java index d4dd0192..dc20bc4f 100644 --- a/src/com/platform/service/thread/ThreadExtractStandardSqlServer.java +++ b/src/com/platform/service/thread/ThreadExtractStandardSqlServer.java @@ -70,7 +70,7 @@ public class ThreadExtractStandardSqlServer extends Thread{ try { File paySql = new File(payFilePath); //获取连接 - Connection conn = OracleConnector.ConnectionBuilder("jdbc:oracle:thin:@" + oracleConnect.getIp() + ":" + oracleConnect.getPort() + ":" + Connection conn = OracleConnector.connectionBuilder("jdbc:oracle:thin:@" + oracleConnect.getIp() + ":" + oracleConnect.getPort() + ":" + oracleConnect.getDatabaseName(), oracleConnect.getUser(), oracleConnect.getPassword(), null); //设置 日志 的 文件名 OracleConnectorParams collectOracle = new OracleConnectorParams(); @@ -130,7 +130,7 @@ public class ThreadExtractStandardSqlServer extends Thread{ } try { File execSql = new File(execFilePath); - Connection conn = OracleConnector.ConnectionBuilder("jdbc:oracle:thin:@" + oracleConnect.getIp() + ":" + oracleConnect.getPort() + ":" + Connection conn = OracleConnector.connectionBuilder("jdbc:oracle:thin:@" + oracleConnect.getIp() + ":" + oracleConnect.getPort() + ":" + oracleConnect.getDatabaseName(), oracleConnect.getUser(), oracleConnect.getPassword(), null); //设置 日志 的 文件名 OracleConnectorParams collectOracle = new OracleConnectorParams(); diff --git a/src/com/platform/service/thread/ThreadMoveData.java b/src/com/platform/service/thread/ThreadMoveData.java index 46f0a41d..331dbd8a 100644 --- a/src/com/platform/service/thread/ThreadMoveData.java +++ b/src/com/platform/service/thread/ThreadMoveData.java @@ -1,9 +1,7 @@ package com.platform.service.thread; import java.util.Date; -import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -12,29 +10,26 @@ import javax.annotation.Resource; import org.apache.log4j.Logger; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import org.springframework.stereotype.Service; import com.platform.dao.DataInfoDao; import com.platform.dao.DataInfoMoveTmpDao; -import com.platform.dao.GatherOracleDao; import com.platform.entities.DataInfoEntity; import com.platform.entities.DataInfoEntityMoveTmp; -import com.platform.entities.GatherOracleInfo; import com.platform.glusterfs.CheckoutMD5; import com.platform.glusterfs.CopyData; import com.platform.glusterfs.ShowData; -import com.platform.service.DataInfoService; -import com.platform.service.IMoveDataService; -import com.platform.service.impl.DataInfoServiceImp; -import com.platform.service.impl.MoveDataServiceImpl; import com.platform.utils.Bean2MapUtils; import com.platform.utils.Constant; import com.platform.utils.DateForm; +/** 数据迁移 + * @author chen + * + */ @Component public class ThreadMoveData{ - public static Logger log = Logger.getLogger(ThreadMoveData.class); + public final static Logger log = Logger.getLogger(ThreadMoveData.class); @Resource(name = "dataInfoDao") private DataInfoDao dataInfoDao; diff --git a/src/com/platform/utils/BeanCopy.java b/src/com/platform/utils/BeanCopy.java index c883309f..5700bddd 100644 --- a/src/com/platform/utils/BeanCopy.java +++ b/src/com/platform/utils/BeanCopy.java @@ -154,7 +154,7 @@ public class BeanCopy { m = faClass.getMethod("get"+upperHeadChar(f.getName())); Object obj = m.invoke(father); f.set(dst, obj); - } catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + } catch (Exception e) { log.error(e.getStackTrace()); } } diff --git a/src/com/platform/utils/CacheOracleCheckoutEntity.java b/src/com/platform/utils/CacheOracleCheckoutEntity.java index afc996db..a0262d72 100644 --- a/src/com/platform/utils/CacheOracleCheckoutEntity.java +++ b/src/com/platform/utils/CacheOracleCheckoutEntity.java @@ -6,10 +6,20 @@ import java.util.Set; import com.platform.entities.CheckoutEntity; +/** 存储 进行校验的 oracle服务 + * @author chen + * + */ public class CacheOracleCheckoutEntity { + /** + * 正则校验的 oracle + */ private static Map checkMap = new HashMap(); + /** + * 正则抽取的 oracle--(暂未使用该变量) + */ private static Map extractStandardMap = new HashMap(); /** diff --git a/src/com/platform/utils/CacheTreeData.java b/src/com/platform/utils/CacheTreeData.java index 18bde5ce..4430be0e 100644 --- a/src/com/platform/utils/CacheTreeData.java +++ b/src/com/platform/utils/CacheTreeData.java @@ -1,33 +1,48 @@ package com.platform.utils; import java.util.List; -import java.util.Map; import com.platform.entities.FolderNode; import com.platform.entities.VolumeEntity; +/** 存储gfs服务的 volume信息和目录结构 + * @author chen + * + */ public class CacheTreeData { + /** + * 所有目录 + */ private static List folders = null; + /** + * 所有 volume + */ private static List volumeList = null; + /** 获得所有目录 + * @return + */ public static List getFolders() { return folders; } + /** 重置所有的目录 + * @param folders + */ public synchronized static void setFolders(List folders) { CacheTreeData.folders = folders; } - /** + /** 获得 所有的 volume * @return the volumeList */ public static List getVolumeList() { return volumeList; } - /** + /** 重置所有的 volume * @param volumeList the volumeList to set */ public synchronized static void setVolumeList(List volumeList) { diff --git a/src/com/platform/utils/Compare4SqlFilesEntity.java b/src/com/platform/utils/Compare4SqlFilesEntity.java index 246eb773..aff10f9a 100644 --- a/src/com/platform/utils/Compare4SqlFilesEntity.java +++ b/src/com/platform/utils/Compare4SqlFilesEntity.java @@ -4,6 +4,10 @@ import java.util.Comparator; import com.platform.entities.SqlFileInfoEntity; +/** 比较器(暂未用--由于服务器问题) + * @author chen + * + */ public class Compare4SqlFilesEntity implements Comparator { @Override diff --git a/src/com/platform/utils/Configs.java b/src/com/platform/utils/Configs.java index 9d1ead3b..c7205169 100644 --- a/src/com/platform/utils/Configs.java +++ b/src/com/platform/utils/Configs.java @@ -2,6 +2,10 @@ package com.platform.utils; import org.apache.log4j.Logger; +/** 配置启动 变量 + * @author chen + * + */ public class Configs { /** 全局自定义异常--编码 */ diff --git a/src/com/platform/utils/ConfigsLoader.java b/src/com/platform/utils/ConfigsLoader.java index 8ba1a45e..1ba96318 100644 --- a/src/com/platform/utils/ConfigsLoader.java +++ b/src/com/platform/utils/ConfigsLoader.java @@ -7,6 +7,10 @@ import javax.servlet.ServletContextListener; import com.platform.http.gfs.HttpClientConstant; +/** web容器初始化 + * @author chen + * + */ public class ConfigsLoader implements ServletContextListener { private static ConfigPropertyReader cReader = null; diff --git a/src/com/platform/utils/Constant.java b/src/com/platform/utils/Constant.java index 1cb8a0d5..a4822a98 100644 --- a/src/com/platform/utils/Constant.java +++ b/src/com/platform/utils/Constant.java @@ -1,8 +1,11 @@ package com.platform.utils; -import java.util.HashMap; +/** 常量 + * @author chen + * + */ public class Constant { public static String rootUser = "root"; public static String rootPasswd = "root"; @@ -40,10 +43,10 @@ public class Constant { /** * volume 获取的线程休眠时间 */ - public final static int get_volume_sleep_time = 5000; + public final static int get_volume_sleep_time = 3*60000; /** - * volume 获取的线程休眠时间 + * 数据迁移 获取的线程休眠时间 */ public final static int update_dataInfo_sleep_time = 1500; diff --git a/src/com/platform/utils/DateForm.java b/src/com/platform/utils/DateForm.java index db66520f..c6c31779 100644 --- a/src/com/platform/utils/DateForm.java +++ b/src/com/platform/utils/DateForm.java @@ -5,14 +5,30 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; +/** 日期转换 + * @author chen + * + */ public class DateForm { + /** + * 精确到秒 样式1 + */ private static final String date_format_second = "yyyy-MM-dd HH:mm:ss"; + /** + * 精确到秒 样式2 + */ private static final String date_format_second_non = "yyyy-MM-dd_HH-mm-ss"; + /** + * 精确到分 样式1 + */ private static final String data_format_min = "yyyy-MM-dd HH:mm"; + /** + * 精确到天 样式1 + */ private static final String data_format_day = "yyyy-MM-dd"; private static ThreadLocal threadLocal_second = new ThreadLocal(); diff --git a/src/com/platform/utils/XmlOperationByDom4j.java b/src/com/platform/utils/XmlOperationByDom4j.java index d945ee2e..b259eb3c 100644 --- a/src/com/platform/utils/XmlOperationByDom4j.java +++ b/src/com/platform/utils/XmlOperationByDom4j.java @@ -126,7 +126,7 @@ public class XmlOperationByDom4j { xmlWriter.close(); issuccess = true; } - } catch (DocumentException | IOException e) { + } catch (Exception e) { issuccess = false; } return issuccess; diff --git a/src/com/platform/utils/excelUtils/ExcelOperation.java b/src/com/platform/utils/excelUtils/ExcelOperation.java index 11757c23..87a20de5 100644 --- a/src/com/platform/utils/excelUtils/ExcelOperation.java +++ b/src/com/platform/utils/excelUtils/ExcelOperation.java @@ -170,7 +170,7 @@ public class ExcelOperation { int objColl = classz.getDeclaredFields().length; //如果有数据 if (rowNum > excelInitRow) { - list = new ArrayList<>(); + list = new ArrayList(); //遍历每行数据 for (int i = excelInitRow; i < rowNum; i++) { //获得当前行 diff --git a/src/com/platform/utils/page/Page.java b/src/com/platform/utils/page/Page.java index 83eba34c..72dd81c7 100644 --- a/src/com/platform/utils/page/Page.java +++ b/src/com/platform/utils/page/Page.java @@ -1,16 +1,17 @@ package com.platform.utils.page; +/** 分页实体 + * @author chen + * + */ public class Page { /** 当前是第几页 (当前页) */ -// private int index = 0; private int currentPageNum = 1; /** 每页显示多少条 (当前页前面已有多少条数据:一次查询返回记录条数)*/ -// private int pageSize = 10; private int limit = 20; /** 总共的数据量 */ -// private int totle; private int totleSize; /** 共有多少页 */ diff --git a/src/com/platform/utils/page/PageInterceptor.java b/src/com/platform/utils/page/PageInterceptor.java index 4c5b94f8..d09d73ab 100644 --- a/src/com/platform/utils/page/PageInterceptor.java +++ b/src/com/platform/utils/page/PageInterceptor.java @@ -1,32 +1,12 @@ package com.platform.utils.page; import java.sql.Connection; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.util.Properties; - - -import org.apache.ibatis.executor.Executor; -import org.apache.ibatis.executor.parameter.ParameterHandler; -import org.apache.ibatis.mapping.BoundSql; -import org.apache.ibatis.mapping.MappedStatement; -import org.apache.ibatis.mapping.MappedStatement.Builder; -import org.apache.ibatis.mapping.ParameterMapping; -import org.apache.ibatis.mapping.SqlSource; -import org.apache.ibatis.plugin.Interceptor; -import org.apache.ibatis.plugin.Intercepts; -import org.apache.ibatis.plugin.Invocation; -import org.apache.ibatis.plugin.Plugin; -import org.apache.ibatis.plugin.Signature; -import org.apache.ibatis.session.ResultHandler; -import org.apache.ibatis.session.RowBounds; - import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; +import org.apache.ibatis.executor.parameter.ParameterHandler; import org.apache.ibatis.executor.resultset.ResultSetHandler; import org.apache.ibatis.executor.statement.StatementHandler; import org.apache.ibatis.mapping.BoundSql; @@ -43,6 +23,10 @@ import org.apache.log4j.Logger; import com.platform.utils.Configs; +/** 分页拦截器接口的实现--(现只拦截 mysql) + * @author chen + * + */ @Intercepts({ @Signature(type = StatementHandler.class, method = "prepare", args = {Connection.class}), @Signature(type = ResultSetHandler.class, method = "handleResultSets", args = {Statement.class}) @@ -52,12 +36,13 @@ public class PageInterceptor implements Interceptor { @SuppressWarnings("static-access") public static Logger log = Configs.CONSOLE_LOGGER.getLogger(PageInterceptor.class); - /** 存储所有语句名称 */ - /* HashMap map_statement = new HashMap();*/ - /** 用户提供分页计算条数后缀 */ private static final String SELECT_ID="page"; + /* 拦截方法 + * (non-Javadoc) + * @see org.apache.ibatis.plugin.Interceptor#intercept(org.apache.ibatis.plugin.Invocation) + */ @Override public Object intercept(Invocation invocation) throws Throwable { @@ -66,7 +51,6 @@ public class PageInterceptor implements Interceptor { MetaObject metaStatementHandler = SystemMetaObject.forObject(statementHandler); MappedStatement mappedStatement=(MappedStatement) metaStatementHandler.getValue("delegate.mappedStatement"); String selectId=mappedStatement.getId(); -// System.out.println(" ---------- selectId ---- : " + selectId); if(selectId.substring(selectId.lastIndexOf(".")+1).toLowerCase().endsWith(SELECT_ID)){ BoundSql boundSql = (BoundSql) metaStatementHandler.getValue("delegate.boundSql"); // 分页参数作为参数对象parameterObject的一个属性 @@ -93,13 +77,17 @@ public class PageInterceptor implements Interceptor { } } catch (Exception e) { - e.printStackTrace(); + log.error(e); } finally { try { - rs.close(); - countStmt.close(); + if (null != rs) { + rs.close(); + } + if (null != countStmt) { + countStmt.close(); + } } catch (Exception e) { - e.printStackTrace(); + log.error(e); } } //绑定count @@ -180,7 +168,7 @@ public class PageInterceptor implements Interceptor { @Override public void setProperties(Properties properties) { - + return; } /** diff --git a/test/com/platform/test/ExcelTest.java b/test/com/platform/test/ExcelTest.java index 1da9cf4d..03e68ce3 100644 --- a/test/com/platform/test/ExcelTest.java +++ b/test/com/platform/test/ExcelTest.java @@ -9,21 +9,26 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.log4j.Logger; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.junit.Test; import org.springframework.core.io.ClassPathResource; +import com.platform.controller.CheckoutController; import com.platform.entities.PreDataInfo; import com.platform.entities.RegionalismEntity; import com.platform.utils.BeanCopy; +import com.platform.utils.Configs; import com.platform.utils.Constant; import com.platform.utils.excelUtils.ExcelOperation; public class ExcelTest { + public final static Logger log = Configs.DAILY_ROLLING_LOGGER.getLogger(ExcelTest.class); @Test public void writeData() { + Date date = new Date(); PreDataInfo info = new PreDataInfo(); info.setAnalysisOfFinancialEconomicProsperity("否"); @@ -36,7 +41,6 @@ public class ExcelTest { for (int i = 0; i < 4; i++) { list.add(info); } -// InputStreamReader in= new InputStreamReader(Resource.class.getResourceAsStream(templateFilePath), "UTF-8"); ClassPathResource res = new ClassPathResource(Constant.SYSTEM_INFO_EXCEL_TEMPLATE_FIEL_PATH); //此处 耗时太久:(原因:excel 2007 以后采用的方式不同造成的建议升级 到 poi 3.15以上) XSSFWorkbook workbook = null; @@ -46,8 +50,7 @@ public class ExcelTest { result = ExcelOperation.writeExcelTemplate(workbook, Constant.EXCEL_TEMPLATE_INIT_ROW, 0, 25, list,"id", "workRange","sysCode","updateTime"); } catch (IllegalArgumentException | IllegalAccessException | IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + log.error(e); } System.out.println("----"+result);