ViewController.java 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. package com.zskk.control;
  2. import java.io.File;
  3. import java.io.FileOutputStream;
  4. import java.io.IOException;
  5. import java.io.OutputStream;
  6. import java.text.ParseException;
  7. import java.text.SimpleDateFormat;
  8. import java.util.Date;
  9. import java.util.HashMap;
  10. import java.util.List;
  11. import java.util.Map;
  12. import org.apache.commons.net.ftp.FTPClient;
  13. import org.apache.commons.net.ftp.FTPReply;
  14. import com.alibaba.fastjson.JSON;
  15. import com.amazonaws.auth.AWSCredentialsProvider;
  16. import com.amazonaws.auth.AWSStaticCredentialsProvider;
  17. import com.amazonaws.auth.BasicAWSCredentials;
  18. import com.amazonaws.client.builder.AwsClientBuilder;
  19. import com.amazonaws.services.s3.AmazonS3;
  20. import com.amazonaws.services.s3.AmazonS3ClientBuilder;
  21. import com.jfinal.core.Controller;
  22. import com.jfinal.kit.PropKit;
  23. import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
  24. import com.jfinal.plugin.activerecord.Db;
  25. import com.jfinal.plugin.activerecord.Record;
  26. import com.jfinal.plugin.activerecord.dialect.SqlServerDialect;
  27. import com.jfinal.plugin.druid.DruidPlugin;
  28. import com.zskk.service.DataService;
  29. import com.zskk.service.ServiceFactory;
  30. import okhttp3.FormBody;
  31. import okhttp3.MediaType;
  32. import okhttp3.OkHttpClient;
  33. import okhttp3.Request;
  34. import okhttp3.RequestBody;
  35. import okhttp3.Response;
  36. public class ViewController extends Controller {
  37. private static final MediaType JSON_CODE = MediaType.get("application/json; charset=utf-8");
  38. private static final OkHttpClient OKHTTP_CLIENT = new OkHttpClient();
  39. /**
  40. * 在被连接数据库执行sql语句
  41. */
  42. public void executeSql() {
  43. try {
  44. List<Record> d = Db.use("connected").find(this.getPara("sqlstr"));
  45. this.renderJson(d);
  46. } catch (Exception e) {
  47. // TODO: handle exception
  48. this.renderText(e.toString());
  49. }
  50. }
  51. public void testConn() {
  52. try {
  53. DruidPlugin druidPluginConnected = createConnectedDruidPlugin();
  54. druidPluginConnected.start();
  55. // 配置ActiveRecord插件
  56. ActiveRecordPlugin arpConnected = new ActiveRecordPlugin("connected", druidPluginConnected);
  57. arpConnected.setDialect(new SqlServerDialect());
  58. arpConnected.start();
  59. } catch (Exception e) {
  60. // TODO: handle exception
  61. this.renderText(e.toString());
  62. }
  63. }
  64. public void testDown() {
  65. // TODO Auto-generated method stub
  66. try {
  67. // FTPClient ftpClient = new FTPClient();
  68. // int reply;
  69. //
  70. // try {
  71. // ftpClient.connect(PropKit.get("ftp_host"), PropKit.getInt("ftp_port"));
  72. // ftpClient.login(PropKit.get("ftp_user"), PropKit.get("ftp_password"));
  73. // reply = ftpClient.getReplyCode();
  74. // if (!FTPReply.isPositiveCompletion(reply)) {
  75. // ftpClient.disconnect();
  76. //// return null;
  77. // this.renderText("noconn");
  78. //
  79. // }
  80. // ftpClient.setControlEncoding("UTF-8");
  81. // ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
  82. // ftpClient.enterLocalPassiveMode();
  83. //
  84. // File localFile = new File("/home/zskk/FTP_FILE" + File.separatorChar + "123.jpg");
  85. // OutputStream os = new FileOutputStream(localFile);
  86. // //ftp中文名需要iso-8859-1字符
  87. // boolean flag2 = ftpClient.retrieveFile(new String("20240726/1AFB48FCF39241AA8DE61F85EE6D847F/Report/Report.jpg".getBytes("GBK"), "iso-8859-1"), os);
  88. // if (!flag2) {
  89. // System.out.println("没有找到" + "20240726/1AFB48FCF39241AA8DE61F85EE6D847F/Report/Report.jpg" + "---该文件");
  90. // localFile.delete();
  91. // } else {
  92. // System.out.println("=================== save success");
  93. // }
  94. // os.close();
  95. // ftpClient.logout();
  96. // ftpClient.disconnect();
  97. //// return "/home/zskk/FTP_FILE" + File.separatorChar + fileName;
  98. // this.renderText("succ");
  99. //
  100. // } catch (Exception e) {
  101. // e.printStackTrace();
  102. // this.renderText(e.toString());
  103. //
  104. // }
  105. AwsClientBuilder.EndpointConfiguration endpointConfiguration = new AwsClientBuilder.EndpointConfiguration(PropKit.get("oss_endpoint"), PropKit.get("region"));
  106. BasicAWSCredentials credentials = new BasicAWSCredentials(PropKit.get("oss_accessKey"), PropKit.get("oss_secretKey"));
  107. AWSCredentialsProvider credentialsProvider = new AWSStaticCredentialsProvider(credentials);
  108. AmazonS3 client = AmazonS3ClientBuilder.standard()
  109. .withEndpointConfiguration(endpointConfiguration)
  110. .withCredentials(credentialsProvider).build();
  111. String fileNameStr[] = "ftp://FTPUser:ftpuser@188.188.2.1:6161/20240726/1AFB48FCF39241AA8DE61F85EE6D847F/Report/Report.jpg".split("/");
  112. String fileName = fileNameStr[fileNameStr.length - 3]+".jpg";
  113. String fpString = fileNameStr[fileNameStr.length - 4]+"/"+fileNameStr[fileNameStr.length - 3]+"/"+fileNameStr[fileNameStr.length - 2]+"/"+fileNameStr[fileNameStr.length - 1];
  114. // String fileStorePath = getFileWithUrl(fpString, fileName);
  115. // String fileStorePath = downloadFtpFile(fpString, fileName);
  116. this.renderText(fpString+"*******"+fileName);
  117. // DataService dService = ServiceFactory.getService(DataService.class);
  118. // Map<String, String> annex_params = new HashMap<>();
  119. // annex_params.put("institution_id", PropKit.get("institution_id"));
  120. // annex_params.put("type", "1");
  121. // annex_params.put("code", "11");
  122. // //附件类型1.mp4 2.pdf 3.jpeg
  123. // annex_params.put("annex_class_code", "3");
  124. // dService.saveAnnex(annex_params, "ftp://FTPUser:ftpuser@188.188.2.1:6161/20240726/1AFB48FCF39241AA8DE61F85EE6D847F/Report/Report.jpg");
  125. } catch (Exception e) {
  126. // TODO: handle exception
  127. this.renderText(e.toString());
  128. }
  129. }
  130. public static DruidPlugin createConnectedDruidPlugin() {
  131. return new DruidPlugin(PropKit.get("jdbcUrl_connected"), PropKit.get("user_connected"),PropKit.get("password_connected").trim());
  132. }
  133. /**
  134. * post请求
  135. * @param url-请求地址
  136. * @param map-参数集合
  137. * @return
  138. */
  139. private static String doPost(String url, Map<String, String> map) {
  140. FormBody.Builder builder = new FormBody.Builder();
  141. for (String key : map.keySet()) {
  142. builder.add(key, map.get(key));
  143. }
  144. RequestBody formBody = builder.build();
  145. Request request = new Request.Builder().url(url).post(formBody).build();
  146. try (Response response = OKHTTP_CLIENT.newCall(request).execute()) {
  147. if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
  148. String content = response.body().string();
  149. return content;
  150. } catch (IOException e) {
  151. // TODO Auto-generated catch block
  152. e.printStackTrace();
  153. return null;
  154. }
  155. }
  156. /**
  157. * 日期字符串格式转换
  158. * @param dateStr
  159. * @return
  160. */
  161. private Date parseStringToDate(String dateStr) {
  162. if (dateStr == null) {
  163. return new Date();
  164. }
  165. SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  166. Date date = null;
  167. try {
  168. date = sdf.parse(dateStr);
  169. } catch (ParseException e) {
  170. // TODO Auto-generated catch block
  171. e.printStackTrace();
  172. }
  173. return date;
  174. }
  175. public static void main(String[] args) {
  176. Map<String,String> paramsMap=new HashMap<String,String>();
  177. paramsMap.put("institution_id", "44100001");
  178. String contentString = doPost("https://risserver3.pacsonline.cn/butt/getExam/butt/getExam", paramsMap);
  179. System.out.println(contentString);
  180. }
  181. }