瀏覽代碼

文件信息接口

gaodd 1 年之前
父節點
當前提交
17b62389ea

+ 8 - 0
pom.xml

@@ -138,6 +138,14 @@
138 138
             <version>4.4.10</version>
139 139
         </dependency>
140 140
 
141
+
142
+		<!-- hutool -->
143
+        <dependency>
144
+            <groupId>cn.hutool</groupId>
145
+            <artifactId>hutool-all</artifactId>
146
+            <version>5.8.12</version>
147
+        </dependency>
148
+        
141 149
         <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
142 150
         <dependency>
143 151
             <groupId>org.apache.httpcomponents</groupId>

+ 2 - 0
src/main/java/com/chinaitop/depot/gjjsj/mapper/GjjMapper.java

@@ -47,6 +47,8 @@ public interface GjjMapper {
47 47
 	Map<String, Object> getCbgmGjjDate(String id);
48 48
 	
49 49
 	Map<String, Object> getZjGjjDate(String id);
50
+
51
+	Map<String, Object> getWjGjjData(String ywId);
50 52
 	
51 53
 
52 54
 

+ 16 - 0
src/main/java/com/chinaitop/depot/gjjsj/mapper/GjjMapper.xml

@@ -780,4 +780,20 @@
780 780
 			left join basic_enum e5 on e5.enumid=a.ypdj
781 781
     	where a.id = #{id}
782 782
     </select>
783
+    
784
+    
785
+    <select id="getWjGjjData" parameterType="java.lang.String" resultType="java.util.Map">
786
+    		SELECT
787
+				org_id id,
788
+				CONCAT(kqbm,'PMT.jpg') wjmc,-- 1文件名称 K
789
+				kqbm kqdm, -- 2库区代码  K
790
+				tykqbm tykqbm,-- 3统一库区编码  Y
791
+				'1' AS wjlx,  -- 4文件类型 K
792
+				birds_eye tpdz,
793
+				updatetime zhgxsj-- 6最后更新时间
794
+			FROM
795
+				org_info
796
+		    where 
797
+			   org_class_id=5318 and org_id = #{id}
798
+    </select>
783 799
 </mapper>

+ 2 - 0
src/main/java/com/chinaitop/mq/dto/jkEnum.java

@@ -42,6 +42,8 @@ public enum jkEnum {
42 42
 	
43 43
 	wsd("温湿度检测数据",2427,"ODS_UP_WSDJCXXJK"),
44 44
 	
45
+	hcjc("虫害检测",2428,"ODS_UP_CHJCXXJK"),
46
+	
45 47
 	tf("通风作业数据源",2430,"ODS_UP_TFZYXXJK"),
46 48
 	
47 49
 	xz("熏蒸",2431,"ODS_UP_XZZYXXJK"),

+ 18 - 5
src/main/java/com/chinaitop/mq/sub/MyMessageListener.java

@@ -2,6 +2,7 @@ package com.chinaitop.mq.sub;
2 2
 
3 3
 import com.chinaitop.depot.common.util.SecureMngr;
4 4
 import com.chinaitop.depot.gjjsj.mapper.GjjMapper;
5
+import com.chinaitop.mq.utils.FileUtil;
5 6
 import com.chinaitop.mq.dto.BaseDTO;
6 7
 import com.chinaitop.mq.dto.RecevieDTO;
7 8
 import com.chinaitop.mq.dto.TestDTO;
@@ -99,11 +100,7 @@ public class MyMessageListener implements MessageListener {
99 100
 		
100 101
 		Map<String, Object> pjsjmap = new HashMap<>();
101 102
     	if(tableName != null && tableName != ""){
102
-    		if(tableName.equals(jkEnum.dw.getTableName())){//仓储单位信息
103
-    			
104
-    			pjsjmap = gjjMapper.getDwGjjDate(ywId);
105
-    			
106
-    		}else if(tableName.equals(jkEnum.kq.getTableName())){//库区信息
103
+    	    if(tableName.equals(jkEnum.kq.getTableName())){//库区信息
107 104
     			
108 105
     			pjsjmap = gjjMapper.getKqGjjDate(ywId);
109 106
     			
@@ -181,6 +178,22 @@ public class MyMessageListener implements MessageListener {
181 178
     			
182 179
     			pjsjmap = gjjMapper.getZjGjjDate(ywId);
183 180
     			
181
+    		}else if(tableName.equals(jkEnum.hcjc.getTableName())){//害虫检测
182
+    			
183
+    		}else if(tableName.equals(jkEnum.wj.getTableName())){//文件信息
184
+    			
185
+    			pjsjmap = gjjMapper.getWjGjjData(ywId);
186
+    			
187
+    			String url = (String) pjsjmap.get("tpdz");
188
+    			if(null != url && "" != url && url.length()>0){
189
+    				String wjl = FileUtil.getBase64Content(url);
190
+    				pjsjmap.put("wjl", wjl);
191
+    			}else{
192
+    				pjsjmap.put("wjl", "");
193
+    			}
194
+    			
195
+    			pjsjmap.remove("tpdz");
196
+    			
184 197
     		}
185 198
     		
186 199
     		if(!pjsjmap.isEmpty() && pjsjmap != null){

+ 81 - 0
src/main/java/com/chinaitop/mq/utils/FileUtil.java

@@ -0,0 +1,81 @@
1
+package com.chinaitop.mq.utils;
2
+
3
+import java.io.ByteArrayOutputStream;
4
+import java.io.File;
5
+import java.io.FileInputStream;
6
+import java.io.FileNotFoundException;
7
+import java.io.IOException;
8
+import java.util.Base64;
9
+
10
+import cn.hutool.http.HttpUtil;
11
+
12
+public class FileUtil {
13
+	/**
14
+	 * 根据文件路径将文件转为二进制数组
15
+	 * @param filePath:文件路径
16
+	 * @return
17
+	 */
18
+	public static byte[] file2byte(String filePath) {
19
+		byte[] buffer = null;
20
+		try {
21
+			File file = new File(filePath);
22
+			FileInputStream fis = new FileInputStream(file);
23
+			ByteArrayOutputStream bos = new ByteArrayOutputStream();
24
+			byte[] b = new byte[1024];
25
+			int n;
26
+			while ((n = fis.read(b)) != -1) {
27
+				bos.write(b, 0, n);
28
+			}
29
+			fis.close();
30
+			bos.close();
31
+			buffer = bos.toByteArray();
32
+		} catch (FileNotFoundException e) {
33
+			e.printStackTrace();
34
+		} catch (IOException e) {
35
+			e.printStackTrace();
36
+		}
37
+		return buffer;
38
+	}
39
+	
40
+	/**
41
+	 * 将二进制数组转为字符串
42
+	 * @param byteArray
43
+	 * @return
44
+	 */
45
+	public static String toHexString(byte[] byteArray) {
46
+		if (byteArray == null || byteArray.length < 1)
47
+			throw new IllegalArgumentException(
48
+					"this byteArray must not be null or empty");
49
+
50
+		final StringBuilder hexString = new StringBuilder();
51
+		for (int i = 0; i < byteArray.length; i++) {
52
+			if ((byteArray[i] & 0xff) < 0x10)// 0~F前面不零
53
+				hexString.append("0");
54
+			hexString.append(Integer.toHexString(0xFF & byteArray[i]));
55
+		}
56
+		return hexString.toString().toLowerCase();
57
+	}
58
+	
59
+	
60
+	/**
61
+     * 网络文件转文件流
62
+     */
63
+    public static byte[] urlToStream(String url) {
64
+        return HttpUtil.downloadBytes(url);
65
+    }
66
+    
67
+	/**
68
+     * 获取Base64编码的字符串
69
+     *
70
+     * @param url 网络文件地址
71
+     * @methodName: getBase64Content
72
+     * @return: java.lang.String 网络文件地址
73
+     * @author: ybw
74
+     * @date: 2024/7/19
75
+     **/
76
+    public static String getBase64Content(String url) {
77
+        byte[] bytes = urlToStream(url);
78
+        // 将文件内容转换为Base64字符串
79
+        return Base64.getEncoder().encodeToString(bytes);
80
+    }
81
+}