ExerciseUtil.java 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.ssj.utils;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.ssj.framework.core.util.PropertiesUtil;
  5. import com.ssj.framework.core.util.StringUtil;
  6. import com.ssj.service.kmt.dto.exercise.ExerciseQuestionAnswerStyle;
  7. import com.ssj.service.kmt.dto.exercise.ExerciseQuestionAnswerValue;
  8. import com.ssj.weixin.utils.HttpUtils;
  9. import org.apache.http.HttpResponse;
  10. import org.apache.http.util.EntityUtils;
  11. import org.slf4j.Logger;
  12. import org.slf4j.LoggerFactory;
  13. import java.util.Collections;
  14. import java.util.HashMap;
  15. import java.util.Map;
  16. /**
  17. * @author yrf
  18. * @date 2020/6/30 20:18
  19. */
  20. public class ExerciseUtil {
  21. private static final Logger logger = LoggerFactory.getLogger(ExerciseUtil.class);
  22. private ExerciseUtil() {
  23. }
  24. /**
  25. * 获取图片宽高
  26. * @param imageUrl
  27. * @return
  28. */
  29. public static Map<String, Integer> getImageWidthAndHeight (String imageUrl){
  30. Map<String, Integer> result = new HashMap<>();
  31. try {
  32. HttpResponse response = HttpUtils.doGet(PropertiesUtil.getValue("OSS_INTERNAL_PATH"), imageUrl ,
  33. "Get",
  34. Collections.emptyMap(),
  35. Collections.singletonMap("x-oss-process", "image/info")
  36. );
  37. if(response.getStatusLine().getStatusCode() != 200){
  38. return null;
  39. }
  40. String imageInfo = EntityUtils.toString(response.getEntity());
  41. if("Error".equals(imageInfo)){
  42. return null;
  43. }
  44. if (StringUtil.isNotBlank(imageInfo)){
  45. JSONObject jsonObject = JSON.parseObject(imageInfo);
  46. result.put("height", jsonObject.getJSONObject("ImageHeight").getInteger("value"));
  47. result.put("width", jsonObject.getJSONObject("ImageWidth").getInteger("value"));
  48. return result;
  49. }
  50. return null;
  51. } catch (Exception e) {
  52. logger.error("异常", e);
  53. }
  54. return null;
  55. }
  56. public static ExerciseQuestionAnswerValue getExerciseQuestionAnswerValue(String imageUrl) {
  57. try {
  58. HttpResponse response = HttpUtils.doGet(PropertiesUtil.getValue("OSS_INTERNAL_PATH"), imageUrl ,
  59. "Get",
  60. Collections.emptyMap(),
  61. Collections.singletonMap("x-oss-process", "image/info")
  62. );
  63. if(response.getStatusLine().getStatusCode() != 200){
  64. return null;
  65. }
  66. String imageInfo = EntityUtils.toString(response.getEntity());
  67. if("Error".equals(imageInfo)){
  68. return null;
  69. }
  70. if (StringUtil.isNotBlank(imageInfo)){
  71. JSONObject jsonObject = JSON.parseObject(imageInfo);
  72. ExerciseQuestionAnswerValue questionJson = new ExerciseQuestionAnswerValue();
  73. questionJson.setType(2);
  74. questionJson.setValue(PropertiesUtil.getValue("STATIC_FILE_URL") + imageUrl);
  75. ExerciseQuestionAnswerStyle questionStyle = new ExerciseQuestionAnswerStyle();
  76. questionStyle.setHeight(jsonObject.getJSONObject("ImageHeight").getInteger("value"));
  77. questionStyle.setWidth(jsonObject.getJSONObject("ImageWidth").getInteger("value"));
  78. questionJson.setStyle(questionStyle);
  79. return questionJson;
  80. }
  81. return null;
  82. } catch (Exception e) {
  83. logger.error("异常", e);
  84. }
  85. return null;
  86. }
  87. }