Browse Source

修改监控图片文件夹的问题

konghl 4 years ago
parent
commit
e6c82e9a25
28 changed files with 325 additions and 237 deletions
  1. 1 3
      ebc-mock-service/src/main/java/com/ai/bss/mock/constants/MockConstant.java
  2. 15 13
      ebc-mock-service/src/main/java/com/ai/bss/mock/service/impl/MockManageServiceImpl.java
  3. 33 24
      ebc-mock-service/src/main/java/com/ai/bss/mock/service/impl/MockProcessImpl.java
  4. 14 5
      ebc-mock-service/src/main/java/com/ai/bss/mock/utils/makedata/MakeBeidouData.java
  5. 14 4
      ebc-mock-service/src/main/java/com/ai/bss/mock/utils/tcp/IpuTcpLongConnectClient.java
  6. 8 4
      ebc-mock-service/src/main/java/com/ai/bss/mock/utils/tcp/TcpLongConnectClient.java
  7. 2 2
      ebc-mock-service/src/main/java/com/ai/bss/mock/utils/tcp/TcpLongConnectClientHandler.java
  8. 2 4
      ebc-sea-platform/src/main/java/com/ai/bss/location_rescuers/server/dao/impl/AreaInOutRecordDaoImpl.java
  9. 14 9
      ebc-sea-platform/src/main/java/com/ai/bss/location_rescuers/server/dao/impl/UserManageDaoImpl.java
  10. 1 1
      ebc-sea-platform/src/main/java/com/ai/bss/location_rescuers/server/dao/interfaces/AreaInOutRecordDao.java
  11. 9 13
      ebc-sea-platform/src/main/java/com/ai/bss/location_rescuers/server/service/impl/AreaInOutRecordServiceImpl.java
  12. 17 14
      ebc-sea-platform/src/main/java/com/ai/bss/location_rescuers/server/service/impl/ExportToExcelServiceImpl.java
  13. 11 10
      ebc-sea-platform/src/main/java/com/ai/bss/location_rescuers/server/util/DateUtil.java
  14. 2 1
      ebc-sea-platform/src/main/java/com/ai/bss/location_rescuers/server/util/ExcelFormatUtil.java
  15. 13 18
      ebc-sea-platform/src/main/java/com/ai/bss/security_protection/server/service/impl/AreaInRecordServiceImpl.java
  16. 2 2
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/TrackManagementController.java
  17. 0 4
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/AlarmManagementServiceImpl.java
  18. 2 4
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/AttendanceManageServiceImpl.java
  19. 1 1
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/task/AlarmMirrorTask.java
  20. 7 3
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/task/LocationMirrorTask.java
  21. 12 4
      monitor-manage-service/src/main/java/com/ai/bss/monitorManage/controller/MonitorManageController.java
  22. 17 13
      monitor-manage-service/src/main/java/com/ai/bss/monitorManage/service/impl/KafkaProcessImpl.java
  23. 65 28
      monitor-manage-service/src/main/java/com/ai/bss/monitorManage/service/impl/ListeningFileDirectoryServiceImpl.java
  24. 41 48
      monitor-manage-service/src/main/java/com/ai/bss/monitorManage/service/impl/MonitorManageServiceImpl.java
  25. 2 0
      monitor-manage-service/src/main/java/com/ai/bss/monitorManage/service/interfaces/ListeningFileDirectoryService.java
  26. 12 1
      monitor-manage-service/src/main/java/com/ai/bss/monitorManage/service/interfaces/MonitorManageService.java
  27. 6 3
      security-protection-service/src/main/java/com/ai/bss/security/protection/service/impl/UploadFileServiceImpl.java
  28. 2 1
      security-protection-service/src/main/java/com/ai/bss/security/protection/service/impl/WorkOrderManagementServiceImpl.java

+ 1 - 3
ebc-mock-service/src/main/java/com/ai/bss/mock/constants/MockConstant.java

@ -4,8 +4,6 @@ import java.util.HashMap;
4 4
import java.util.Map;
5 5
6 6
public class MockConstant {
7
    public static Map MACK_STATUS = new HashMap();
8
9
7
	
10 8
    public static final String SPLIT_DASH = "-";
11 9
}

+ 15 - 13
ebc-mock-service/src/main/java/com/ai/bss/mock/service/impl/MockManageServiceImpl.java

@ -1,24 +1,26 @@
1 1
package com.ai.bss.mock.service.impl;
2 2
3
import com.ai.bss.mock.constants.MockConstant;
3
import java.util.ArrayList;
4
import java.util.HashMap;
5
import java.util.List;
6
import java.util.Map;
7
8
import org.springframework.beans.factory.annotation.Autowired;
9
import org.springframework.stereotype.Service;
10
4 11
import com.ai.bss.mock.model.MockScenarioData;
5 12
import com.ai.bss.mock.repository.MockScenarioDataRepository;
6 13
import com.ai.bss.mock.service.interfaces.MockManageService;
7 14
import com.ai.bss.mock.service.interfaces.MockProcess;
8
import lombok.extern.slf4j.Slf4j;
9
import org.springframework.beans.factory.annotation.Autowired;
10
import org.springframework.stereotype.Service;
11 15
12
import java.util.ArrayList;
13
import java.util.HashMap;
14
import java.util.List;
15
import java.util.Map;
16
import lombok.extern.slf4j.Slf4j;
16 17
17 18
@Slf4j
18 19
@Service
19 20
public class MockManageServiceImpl implements MockManageService {
20 21
21
22
	protected static Map MACK_STATUS = new HashMap();
23
	
22 24
    @Autowired
23 25
    private MockScenarioDataRepository mockScenarioDataRepository;
24 26
    @Autowired
@ -29,7 +31,7 @@ public class MockManageServiceImpl implements MockManageService {
29 31
30 32
    @Override
31 33
    public Map findMockStatusByScenarioId()  {
32
        List<Long> result = new ArrayList(MockConstant.MACK_STATUS.keySet());
34
        List<Long> result = new ArrayList(MACK_STATUS.keySet());
33 35
        Map  tempmap = new HashMap();
34 36
        for(Long sid:result){
35 37
            tempmap.put(sid,"场景 "+sid+" 执行中...");
@ -39,7 +41,7 @@ public class MockManageServiceImpl implements MockManageService {
39 41
    @Override
40 42
    public String  startMackData(Long sId,  Long frequency,String topic0,String topic1)  {
41 43
        //        验证场景是否正在执行
42
        if(MockConstant.MACK_STATUS.get(sId)!=null){
44
        if(MACK_STATUS.get(sId)!=null){
43 45
            return "场景" + sId + " 正在执行,请耐心等待...";
44 46
        }
45 47
        //根据场景ID从数据库中查询模拟数据
@ -50,7 +52,7 @@ public class MockManageServiceImpl implements MockManageService {
50 52
            return "场景" + sId + " 没有配置模拟 ,请在数据库中添加数据再执行...";
51 53
        }
52 54
        //记录场景执行状态
53
        MockConstant.MACK_STATUS.put(sId,frequency);
55
        MACK_STATUS.put(sId,frequency);
54 56
        //异步执行模拟场景 通过IOT-DMP连接服务模拟
55 57
//        mockProcess.processMock(sId,mockScenarioDataList,frequency);
56 58
@ -63,7 +65,7 @@ public class MockManageServiceImpl implements MockManageService {
63 65
64 66
    @Override
65 67
    public String  stopMackData(Long sId){
66
        MockConstant.MACK_STATUS.remove(sId);
68
        MACK_STATUS.remove(sId);
67 69
        return "场景" + sId + " 终止执行...";
68 70
    }
69 71

+ 33 - 24
ebc-mock-service/src/main/java/com/ai/bss/mock/service/impl/MockProcessImpl.java

@ -1,6 +1,19 @@
1 1
package com.ai.bss.mock.service.impl;
2 2
3
import com.ai.bss.mock.constants.MockConstant;
3
import java.util.ArrayList;
4
import java.util.HashMap;
5
import java.util.List;
6
import java.util.Map;
7
import java.util.concurrent.TimeUnit;
8
9
import org.slf4j.Logger;
10
import org.slf4j.LoggerFactory;
11
import org.springframework.beans.factory.annotation.Value;
12
import org.springframework.kafka.core.KafkaTemplate;
13
import org.springframework.scheduling.annotation.Async;
14
import org.springframework.stereotype.Service;
15
import org.springframework.util.StringUtils;
16
4 17
import com.ai.bss.mock.model.Data;
5 18
import com.ai.bss.mock.model.DataPoint;
6 19
import com.ai.bss.mock.model.EBCData;
@ -9,24 +22,15 @@ import com.ai.bss.mock.service.interfaces.MockProcess;
9 22
import com.ai.bss.mock.utils.KafkaProducerConfig;
10 23
import com.ai.bss.mock.utils.tcp.IpuTcpLongConnectClient;
11 24
import com.alibaba.fastjson.JSONObject;
12
import lombok.extern.slf4j.Slf4j;
13
import org.springframework.beans.factory.annotation.Value;
14
import org.springframework.context.annotation.Configuration;
15
import org.springframework.kafka.core.KafkaTemplate;
16
import org.springframework.scheduling.annotation.Async;
17
import org.springframework.stereotype.Service;
18
import org.springframework.util.StringUtils;
19 25
20
import java.util.ArrayList;
21
import java.util.HashMap;
22
import java.util.List;
23
import java.util.Map;
24
import java.util.concurrent.TimeUnit;
26
import lombok.extern.slf4j.Slf4j;
25 27
26 28
27 29
@Slf4j
28 30
@Service
29 31
public class MockProcessImpl implements MockProcess {
32
	private static Logger logger = LoggerFactory.getLogger(MockProcessImpl.class);
33
30 34
//    EBC设备tcp连接服务地址
31 35
    private static final String HOST = "47.105.130.83";
32 36
    private static final int PORT = 8042;
@ -34,7 +38,6 @@ public class MockProcessImpl implements MockProcess {
34 38
//    private static String kafkaServers = "47.105.160.21:9090";
35 39
    private static String kafkaServers = "10.19.90.34:9090";
36 40
37
38 41
    @Value("${kafka.producer.servers}")
39 42
    private static String servers;
40 43
@ -44,9 +47,10 @@ public class MockProcessImpl implements MockProcess {
44 47
        try {
45 48
            IpuTcpLongConnectClient.getInstance(HOST, PORT).sendMockData(sId,mockScenarioDataList, frequency);
46 49
47
            MockConstant.MACK_STATUS.remove(sId);
50
            MockManageServiceImpl.MACK_STATUS.remove(sId);
48 51
        }catch (Exception e){
49
            e.printStackTrace();
52
        	logger.error("processMock is error:"+e.getMessage());
53
            //e.printStackTrace();
50 54
        }
51 55
    }
52 56
@ -68,9 +72,10 @@ public class MockProcessImpl implements MockProcess {
68 72
            }
69 73
70 74
71
            MockConstant.MACK_STATUS.remove(sId);
75
            MockManageServiceImpl.MACK_STATUS.remove(sId);
72 76
        }catch (Exception e){
73
            e.printStackTrace();
77
        	logger.error("processMockKafka is error:"+e.getMessage());
78
            //e.printStackTrace();
74 79
        }
75 80
    }
76 81
@ -183,7 +188,8 @@ public class MockProcessImpl implements MockProcess {
183 188
//            kafkaTemplateMap.put(kafkaServers,kafkaTemplate);
184 189
//        }
185 190
186
        System.out.println(servers);
191
        //System.out.println(servers);
192
        logger.info(servers);
187 193
        try {
188 194
            for(DataPoint dataPoint:dataPointList){
189 195
//                Object result = kafkaTemplate.send(dataPoint.getPushTopic(), JSONObject.toJSONString(dataPoint)).get();
@ -194,11 +200,13 @@ public class MockProcessImpl implements MockProcess {
194 200
195 201
            }
196 202
        } catch (InterruptedException e) {
197
            e.printStackTrace();
203
        	logger.error("sendKafkamsg is error:"+e.getMessage());
204
            //e.printStackTrace();
198 205
            return false;
199 206
        } catch (Exception e) {
200
            e.printStackTrace();
201
            log.error(e.getMessage());
207
        	logger.error("sendKafkamsg is error:"+e.getMessage());
208
            //e.printStackTrace();
209
            //log.error(e.getMessage());
202 210
            return false;
203 211
        }
204 212
@ -227,8 +235,9 @@ public class MockProcessImpl implements MockProcess {
227 235
//            e.printStackTrace();
228 236
//            return false;
229 237
        } catch (Exception e) {
230
            e.printStackTrace();
231
            log.error(e.getMessage());
238
        	logger.error("sendKafkaDataPoint is error:"+e.getMessage());
239
            //e.printStackTrace();
240
            //log.error(e.getMessage());
232 241
            return false;
233 242
        }
234 243

+ 14 - 5
ebc-mock-service/src/main/java/com/ai/bss/mock/utils/makedata/MakeBeidouData.java

@ -1,13 +1,19 @@
1 1
package com.ai.bss.mock.utils.makedata;
2 2
3
import com.ai.bss.mock.utils.HexStringUtil;
4
5 3
import java.math.BigDecimal;
6 4
import java.text.SimpleDateFormat;
7 5
import java.util.Calendar;
8 6
7
import org.slf4j.Logger;
8
import org.slf4j.LoggerFactory;
9
10
import com.ai.bss.mock.utils.HexStringUtil;
11
9 12
10 13
public class MakeBeidouData {
14
	private static Logger logger = LoggerFactory.getLogger(MakeBeidouData.class);
15
16
	
11 17
	/**
12 18
	 * 
13 19
	 * @param deviceId 设备ID
@ -88,7 +94,8 @@ public class MakeBeidouData {
88 94
		        + getHex(date.get(Calendar.MINUTE)) + getHex(date.get(Calendar.SECOND));
89 95
		     return time;
90 96
		} catch (Exception e) {
91
			System.out.println(e.getMessage());
97
			logger.error("getHexDate is error:"+e.getMessage());
98
			//System.out.println(e.getMessage());
92 99
		}
93 100
		return "";
94 101
	}
@ -141,7 +148,7 @@ public class MakeBeidouData {
141 148
		return result;
142 149
	}
143 150
	
144
	
151
	/*
145 152
	public void test1111() {
146 153
		int deviceId = 318414; // 设备id
147 154
		int type = 4; // 0 定位;1 自动报警;2手动报警;4离线
@ -191,7 +198,9 @@ public class MakeBeidouData {
191 198
		sb.append("00");
192 199
		sb.append(xorCheck(sb.toString()));
193 200
194
		System.out.println(sb.toString());
201
		logger.info(sb.toString());
202
		//System.out.println(sb.toString());
195 203
	}
204
	*/
196 205
	
197 206
}

+ 14 - 4
ebc-mock-service/src/main/java/com/ai/bss/mock/utils/tcp/IpuTcpLongConnectClient.java

@ -1,10 +1,13 @@
1 1
package com.ai.bss.mock.utils.tcp;
2 2
3
import java.util.List;
4
5
import org.slf4j.Logger;
6
import org.slf4j.LoggerFactory;
7
3 8
import com.ai.bss.mock.model.MockScenarioData;
4 9
import com.ai.bss.mock.utils.tcp.message.MessageGenerationManager;
5 10
6
import java.util.List;
7
8 11
/**
9 12
 * Ipu Tcp长连接测试
10 13
 *
@ -13,6 +16,9 @@ import java.util.List;
13 16
 **/
14 17
@SuppressWarnings("unused")
15 18
public class IpuTcpLongConnectClient {
19
	private Logger logger = LoggerFactory.getLogger(IpuTcpLongConnectClient.class);
20
21
	
16 22
    private static IpuTcpLongConnectClient ipuClient;
17 23
    private TcpLongConnectClient nettyClient;
18 24
@ -33,14 +39,18 @@ public class IpuTcpLongConnectClient {
33 39
     * @throws Exception 
34 40
     */
35 41
    public void test() throws Exception {
36
        nettyClient.test();
42
        //nettyClient.test();
43
    	logger.info("test");
37 44
    }
45
    
38 46
39 47
    /**
40 48
     * Tcp长连接方式发送消息
41 49
     * @throws Exception
42 50
     */
43 51
    public void sendMockData(Long sId,List<MockScenarioData> mockScenarioDataList,Long frequency) throws Exception {
44
        nettyClient.sendMockData(sId,mockScenarioDataList,frequency);
52
        //nettyClient.sendMockData(sId,mockScenarioDataList,frequency);
53
    	logger.info("sendMockData");
45 54
    }
55
    
46 56
}

+ 8 - 4
ebc-mock-service/src/main/java/com/ai/bss/mock/utils/tcp/TcpLongConnectClient.java

@ -55,6 +55,7 @@ class TcpLongConnectClient {
55 55
		channel = channelFuture.channel();
56 56
	}
57 57
58
	/*
58 59
	public void test() throws Exception {
59 60
		EventLoopGroup eventLoopGroup = new NioEventLoopGroup();
60 61
		bootstrap = new Bootstrap();
@ -86,7 +87,7 @@ class TcpLongConnectClient {
86 87
87 88
				String sendMessage = null;
88 89
				String deviceId=null;
89
				String type=null; //类型(0 定位;1 自动报警;2手动报警;4离线) 
90
				String type=""; //类型(0 定位;1 自动报警;2手动报警;4离线) 
90 91
				String longitudeDouble=null;
91 92
				String latitudeDouble=null; 
92 93
				String dateString=null;
@ -191,8 +192,10 @@ class TcpLongConnectClient {
191 192
			}
192 193
		}
193 194
		log.info("发送成功,共发送"+count+"条数据");
194
	}
195
	public void sendMockData(Long sId,List<MockScenarioData> mockScenarioDataList,Long frequency) throws Exception {
195
	}*/
196
197
	
198
	/*public void sendMockData(Long sId,List<MockScenarioData> mockScenarioDataList,Long frequency) throws Exception {
196 199
		EventLoopGroup eventLoopGroup = new NioEventLoopGroup();
197 200
		bootstrap = new Bootstrap();
198 201
		bootstrap.group(eventLoopGroup);
@ -267,7 +270,7 @@ class TcpLongConnectClient {
267 270
268 271
						TimeUnit.MILLISECONDS.sleep(frequency*1000);
269 272
					}catch (Exception e) {
270
						e.printStackTrace();
273
						//e.printStackTrace();
271 274
						log.error("数据错误,请重新输入");
272 275
					}
273 276
				}
@ -283,4 +286,5 @@ class TcpLongConnectClient {
283 286
		}
284 287
		log.info("发送成功,共发送"+count+"条数据");
285 288
	}
289
	*/
286 290
}

+ 2 - 2
ebc-mock-service/src/main/java/com/ai/bss/mock/utils/tcp/TcpLongConnectClientHandler.java

@ -30,8 +30,8 @@ class TcpLongConnectClientHandler extends ChannelInboundHandlerAdapter {
30 30
31 31
    @Override
32 32
    public void channelInactive(ChannelHandlerContext ctx) {
33
    	log.debug("连接断开");
34
    	System.out.println("连接断开");
33
    	log.info("连接断开");
34
    	//System.out.println("连接断开");
35 35
		/*LOGGER.debug("连接断开,10s之后尝试重新连接服务器。");
36 36
		try {
37 37
		    TimeUnit.MILLISECONDS.sleep(SLEEP_TIME);

+ 2 - 4
ebc-sea-platform/src/main/java/com/ai/bss/location_rescuers/server/dao/impl/AreaInOutRecordDaoImpl.java

@ -28,12 +28,10 @@ public class AreaInOutRecordDaoImpl extends AbstractBizDao implements AreaInOutR
28 28
	}
29 29
30 30
	@Override
31
	public PageInfo queryPageDayAreaInOutRecord(JMap params, int pageNum, int pageSize) throws Exception {
31
	public List<Map<String, Object>> queryPageDayAreaInOutRecord(JMap params, int pageNum, int pageSize) throws Exception {
32 32
		PageHelper.startPage(pageNum,pageSize);
33 33
		ISqlMgmtDao dao1 = SqlMgmtDaoFactory.createFileSqlMgmtDao(connName);
34
		List<Map<String, Object>> equipmentList= dao1.executeSelect("ipu.AreaInOutRecordDao", "queryPageDayAreaInOutRecord", params);
35
		PageInfo pageInfo = new PageInfo(equipmentList);
36
		return pageInfo;
34
		return dao1.executeSelect("ipu.AreaInOutRecordDao", "queryPageDayAreaInOutRecord", params);
37 35
	}
38 36
39 37
	@Override

+ 14 - 9
ebc-sea-platform/src/main/java/com/ai/bss/location_rescuers/server/dao/impl/UserManageDaoImpl.java

@ -1,26 +1,30 @@
1 1
package com.ai.bss.location_rescuers.server.dao.impl;
2 2
3
import java.util.ArrayList;
4
import java.util.HashMap;
5
import java.util.List;
6
import java.util.Map;
7
8
import org.slf4j.Logger;
9
import org.slf4j.LoggerFactory;
10
import org.springframework.stereotype.Component;
11
12
import com.ai.bss.location_rescuers.server.dao.interfaces.UserManageDao;
3 13
import com.ai.ipu.data.JList;
4 14
import com.ai.ipu.data.JMap;
5 15
import com.ai.ipu.data.impl.JsonList;
6 16
import com.ai.ipu.data.impl.JsonMap;
7
import com.ai.bss.location_rescuers.server.dao.interfaces.UserManageDao;
8 17
import com.ai.ipu.sql.mgmt.ISqlMgmtDao;
9 18
import com.ai.ipu.sql.mgmt.SqlMgmtDaoFactory;
10 19
import com.alibaba.fastjson.JSON;
11 20
import com.alibaba.fastjson.JSONObject;
12 21
import com.github.pagehelper.PageHelper;
13 22
import com.github.pagehelper.PageInfo;
14
import org.springframework.stereotype.Component;
15
16
import java.util.ArrayList;
17
import java.util.HashMap;
18
import java.util.List;
19
import java.util.Map;
20 23
21 24
@Component
22 25
public class UserManageDaoImpl implements UserManageDao {
23
26
	private static Logger logger = LoggerFactory.getLogger(UserManageDaoImpl.class);
27
    
24 28
    private String connName = "ebc";
25 29
26 30
    @Override
@ -38,7 +42,8 @@ public class UserManageDaoImpl implements UserManageDao {
38 42
            mapTagXyList.forEach((mapTagXy)->{
39 43
                if(mapTag.get("MAP_TAG_ID")==mapTagXy.get("MAP_TAG_ID")){
40 44
                    arrayList.add(mapTagXy);
41
                    System.out.println(arrayList.toString());
45
                    //System.out.println(arrayList.toString());
46
                    logger.info(arrayList.toString());
42 47
                }
43 48
            });
44 49
            mapTag.put("EBC_MAP_TAG_XY",arrayList);

+ 1 - 1
ebc-sea-platform/src/main/java/com/ai/bss/location_rescuers/server/dao/interfaces/AreaInOutRecordDao.java

@ -43,7 +43,7 @@ public interface AreaInOutRecordDao {
43 43
	 * @return
44 44
	 * @throws Exception
45 45
	 */
46
	PageInfo queryPageDayAreaInOutRecord(JMap params, int pageNum, int pageSize) throws Exception;
46
	List<Map<String, Object>> queryPageDayAreaInOutRecord(JMap params, int pageNum, int pageSize) throws Exception;
47 47
48 48
	/**
49 49
	 * 分页查询日进出围栏日志

+ 9 - 13
ebc-sea-platform/src/main/java/com/ai/bss/location_rescuers/server/service/impl/AreaInOutRecordServiceImpl.java

@ -1,6 +1,7 @@
1 1
package com.ai.bss.location_rescuers.server.service.impl;
2 2
3 3
import java.text.SimpleDateFormat;
4
import java.util.ArrayList;
4 5
import java.util.Date;
5 6
import java.util.List;
6 7
import java.util.Map;
@ -9,7 +10,6 @@ import org.springframework.beans.factory.annotation.Autowired;
9 10
import org.springframework.stereotype.Service;
10 11
11 12
import com.ai.bss.location_rescuers.server.dao.interfaces.AreaInOutRecordDao;
12
import com.ai.bss.location_rescuers.server.dao.interfaces.MapTagManageDao;
13 13
import com.ai.bss.location_rescuers.server.enums.UserEnums;
14 14
import com.ai.bss.location_rescuers.server.service.interfaces.AreaInOutRecordService;
15 15
import com.ai.bss.location_rescuers.server.util.DateUtil;
@ -21,28 +21,24 @@ import com.github.pagehelper.PageInfo;
21 21
public class AreaInOutRecordServiceImpl implements AreaInOutRecordService {
22 22
23 23
	@Autowired
24
	AreaInOutRecordDao areaInOutRecordDao;
25
26
	@Autowired
27
	MapTagManageDao mapTagManageDao;
24
	private AreaInOutRecordDao areaInOutRecordDao;
28 25
29 26
	@Override
30 27
	public PageInfo queryPageAreaInOutRecord(JMap params, int pageNum, int pageSize) throws Exception {
31 28
		//调用uspa接口分页模糊查询姓名、职务 现在暂用枚举
32 29
		List<Map<String, Object>> userList = UserEnums.getAllUserList();
33
		PageInfo pageInfo=null;
30
		List<Map<String, Object>> areaInOutRecordList =null;
34 31
		if(EbcConstant.AREA_IN_OUT_RECORD_DAY.equals(params.get("mark"))){
35
			 pageInfo = areaInOutRecordDao.queryPageDayAreaInOutRecord(params, pageNum, pageSize);
32
			areaInOutRecordList = areaInOutRecordDao.queryPageDayAreaInOutRecord(params, pageNum, pageSize);
36 33
		}else if(EbcConstant.AREA_IN_OUT_RECORD_WEEK.equals(params.get("mark"))){
37
			areaInOutRecordDao.queryPageWeekAreaInOutRecord(params, pageNum, pageSize);
34
			areaInOutRecordList = areaInOutRecordDao.queryPageWeekAreaInOutRecord(params, pageNum, pageSize);
38 35
		}else if(EbcConstant.AREA_IN_OUT_RECORD_MONTH.equals(params.get("mark"))){
39
			areaInOutRecordDao.queryPageMonthAreaInOutRecord(params, pageNum, pageSize);
36
			areaInOutRecordList = areaInOutRecordDao.queryPageMonthAreaInOutRecord(params, pageNum, pageSize);
40 37
		}else {
41
			return null;
38
			areaInOutRecordList = new ArrayList<Map<String,Object>>();
42 39
		}
43 40
44
		List<Map<String,Object>> pageInfoList = pageInfo.getList();
45
		for(Map<String,Object> areaInOutRecord:pageInfoList ){
41
		for(Map<String,Object> areaInOutRecord:areaInOutRecordList ){
46 42
			for(Map<String,Object> userMap: userList){
47 43
				if((int)areaInOutRecord.get("EMPLOYEE_ID")==(int)userMap.get("id")){
48 44
					areaInOutRecord.put("userName",userMap.get("userName"));
@ -51,7 +47,7 @@ public class AreaInOutRecordServiceImpl implements AreaInOutRecordService {
51 47
			}
52 48
		}
53 49
54
50
		PageInfo pageInfo = new PageInfo(areaInOutRecordList);
55 51
		return pageInfo;
56 52
	}
57 53

+ 17 - 14
ebc-sea-platform/src/main/java/com/ai/bss/location_rescuers/server/service/impl/ExportToExcelServiceImpl.java

@ -21,18 +21,16 @@ import com.ai.bss.location_rescuers.server.service.interfaces.ExportService;
21 21
import com.ai.bss.location_rescuers.server.service.interfaces.MapTagManageService;
22 22
import com.ai.bss.location_rescuers.server.util.ExcelFormatUtil;
23 23
import com.ai.ipu.data.JMap;
24
import com.github.pagehelper.PageInfo;
25 24
26 25
@Service
27 26
public class ExportToExcelServiceImpl implements ExportService {
28
29
    @Autowired
30
    MapTagManageService mapTagManageService;
31
    /**
32
     * slf4j 日志 logger
33
     */
27
	/**
28
	 * slf4j 日志 logger
29
	 */
34 30
	private Logger logger = LoggerFactory.getLogger(ExportToExcelServiceImpl.class);
35 31
32
    @Autowired
33
    private MapTagManageService mapTagManageService;
36 34
37 35
    /**
38 36
     * 导出地图管理信息到excel
@ -48,8 +46,10 @@ public class ExportToExcelServiceImpl implements ExportService {
48 46
            params1.put("pageSize",0 );
49 47
            // 查询数据
50 48
            //PageInfo pageInfo = mapTagManageService.queryMapTagInfo(object1);
51
            PageInfo pageInfo =null;
52
            List<JMap> mapTagList = pageInfo.getList();
49
            //PageInfo pageInfo =null;
50
            //List<JMap> mapTagList = pageInfo.getList();
51
            List<Object> mapTagList = mapTagManageService.queryPageMapTagInfo(object1,1,100).getJList("dataList");
52
            
53 53
            //设置表格名字
54 54
            String strName="地图标记导出表.xls";
55 55
@ -75,7 +75,7 @@ public class ExportToExcelServiceImpl implements ExportService {
75 75
                logger.info(">>>>>>>>>>>>>>>>>>>>开始遍历数据组装单元格内容>>>>>>>>>>");
76 76
77 77
                for (int i = 0; i < mapTagList.size(); i++) {
78
                    Map mapTagJMap = mapTagList.get(i);
78
                    Map mapTagJMap = (Map)mapTagList.get(i);
79 79
                    SXSSFRow row = sheet.createRow(i + 1);
80 80
                    int j = 0;
81 81
@ -113,10 +113,13 @@ public class ExportToExcelServiceImpl implements ExportService {
113 113
114 114
            params1.put("pageNum",0 );
115 115
            params1.put("pageSize",0 );
116
            
116 117
            // 查询数据
117
            //PageInfo pageInfo = mapTagManageService.queryMapTagInfo(object1);
118
            PageInfo pageInfo=null;
119
            List<JMap> mapTagList = pageInfo.getList();
118
            //PageInfo pageInfo = mapTagManageService.queryPageMapTagInfo(object1);
119
            //PageInfo pageInfo=null;
120
            //List<JMap> mapTagList = pageInfo.getList();
121
            List<Object> mapTagList = mapTagManageService.queryPageMapTagInfo(object1,1,100).getJList("dataList");
122
            
120 123
            //设置表格名字
121 124
            String strName="地图标记导出表.xls";
122 125
@ -142,7 +145,7 @@ public class ExportToExcelServiceImpl implements ExportService {
142 145
                logger.info(">>>>>>>>>>>>>>>>>>>>开始遍历数据组装单元格内容>>>>>>>>>>");
143 146
144 147
                for (int i = 0; i < mapTagList.size(); i++) {
145
                    Map mapTagJMap = mapTagList.get(i);
148
                    Map mapTagJMap = (Map)mapTagList.get(i);
146 149
                    SXSSFRow row = sheet.createRow(i + 1);
147 150
                    int j = 0;
148 151

+ 11 - 10
ebc-sea-platform/src/main/java/com/ai/bss/location_rescuers/server/util/DateUtil.java

@ -162,20 +162,21 @@ public class DateUtil {
162 162
	 */
163 163
	public static int compareDate(String dateStr0, String dateStr1) throws ParseException {
164 164
		if (dateStr0 == null || "".equals(dateStr0)) {
165
			if (dateStr1 == null || "".equals(dateStr1)) {
166
				return 0;
167
			} else {
168
				return -1;
169
			}
165
			return (dateStr1 == null || "".equals(dateStr1))?0:-1;
166
		}else if (dateStr1 == null || "".equals(dateStr1)) {
167
			return 1;
170 168
		}
171 169
172
		if (dateStr1 == null || "".equals(dateStr1)) {
170
		Date date0 = convertDate(dateStr0);
171
		Date date1 = convertDate(dateStr1);
172
		
173
		if (date0 == null) {
174
			return date1 == null?0:-1;
175
		}else if (date1 == null) {
173 176
			return 1;
174 177
		}
175
176
		Date date1 = convertDate(dateStr0);
177
		Date date2 = convertDate(dateStr1);
178
		int result = date1.compareTo(date2);
178
		
179
		int result = date0.compareTo(date1);
179 180
		return result;
180 181
	}
181 182

+ 2 - 1
ebc-sea-platform/src/main/java/com/ai/bss/location_rescuers/server/util/ExcelFormatUtil.java

@ -5,6 +5,7 @@ import java.io.ByteArrayOutputStream;
5 5
import java.io.IOException;
6 6
import java.io.InputStream;
7 7
import java.net.URLEncoder;
8
import java.nio.charset.Charset;
8 9
import java.util.HashMap;
9 10
import java.util.Map;
10 11
@ -156,7 +157,7 @@ public class ExcelFormatUtil {
156 157
            header.add("Content-Disposition", "attachment;filename*=utf-8'zh_cn'" + URLEncoder.encode(fileName, "UTF-8"));
157 158
            logger.info(">>>>>>>>>>>>>>>>>>>>结束下载文件-无记录>>>>>>>>>>");
158 159
            logger.info(">>>>>>>>>>结束导出excel>>>>>>>>>>");
159
            return new ResponseEntity<>(string.getBytes(), header, HttpStatus.OK);
160
            return new ResponseEntity<>(string.getBytes(Charset.forName("UTF-8")), header, HttpStatus.OK);
160 161
        }
161 162
    }
162 163

+ 13 - 18
ebc-sea-platform/src/main/java/com/ai/bss/security_protection/server/service/impl/AreaInRecordServiceImpl.java

@ -1,38 +1,33 @@
1 1
package com.ai.bss.security_protection.server.service.impl;
2 2
3
import com.ai.bss.location_rescuers.server.util.DateUtil;
4
import com.ai.bss.security_protection.server.service.interfaces.AreaInRecordService;
3
import java.text.SimpleDateFormat;
4
import java.util.Date;
5
import java.util.List;
6
import java.util.Map;
5 7
8
import org.springframework.beans.factory.annotation.Autowired;
9
import org.springframework.stereotype.Service;
10
11
import com.ai.bss.location_rescuers.server.util.DateUtil;
6 12
import com.ai.bss.security_protection.server.dao.interfaces.AreaInOutRecordDao;
7 13
import com.ai.bss.security_protection.server.enums.UserEnums;
14
import com.ai.bss.security_protection.server.service.interfaces.AreaInRecordService;
8 15
import com.ai.ipu.data.JMap;
9 16
import com.github.pagehelper.PageInfo;
10
import org.springframework.beans.factory.annotation.Autowired;
11
import org.springframework.stereotype.Service;
12
13
import java.text.SimpleDateFormat;
14
import java.util.Date;
15
import java.util.List;
16
import java.util.Map;
17 17
18 18
@Service
19 19
public class AreaInRecordServiceImpl implements AreaInRecordService {
20 20
21 21
	@Autowired
22
    AreaInOutRecordDao areaInOutRecordDao;
23
22
    private AreaInOutRecordDao areaInOutRecordDao;
24 23
25 24
	@Override
26 25
	public PageInfo queryPageAreaInOutRecord(JMap params, int pageNum, int pageSize) throws Exception {
27 26
		//调用uspa接口分页模糊查询姓名、职务 现在暂用枚举
28 27
		List<Map<String, Object>> userList = UserEnums.getAllUserList();
29
		PageInfo pageInfo=null;
30
31
			areaInOutRecordDao.queryPageMonthAreaInOutRecord(params, pageNum, pageSize);
32
28
		List<Map<String, Object>> dataList=areaInOutRecordDao.queryPageMonthAreaInOutRecord(params, pageNum, pageSize);
33 29
34
		List<Map<String,Object>> pageInfoList = pageInfo.getList();
35
		for(Map<String,Object> areaInOutRecord:pageInfoList ){
30
		for(Map<String,Object> areaInOutRecord:dataList ){
36 31
			for(Map<String,Object> userMap: userList){
37 32
				if((int)areaInOutRecord.get("EMPLOYEE_ID")==(int)userMap.get("id")){
38 33
					areaInOutRecord.put("userName",userMap.get("userName"));
@ -42,7 +37,7 @@ public class AreaInRecordServiceImpl implements AreaInRecordService {
42 37
		}
43 38
44 39
45
		return pageInfo;
40
		return new PageInfo(dataList);
46 41
	}
47 42
48 43
	@Override

+ 2 - 2
location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/TrackManagementController.java

@ -70,7 +70,7 @@ public class TrackManagementController {
70 70
	public CommonResponse<Map<String, Object>> querySingleEmployeeTrace(@RequestBody Map<String, String> request)
71 71
			throws Exception {
72 72
		if (request == null || request.get("entityId") == null || request.get("timeType") == null) {
73
			CommonResponse.fail("502", "查询失败");
73
			return CommonResponse.fail("502", "查询失败");
74 74
		}
75 75
76 76
		// 当前页码
@ -130,7 +130,7 @@ public class TrackManagementController {
130 130
	public CommonResponse<List<Map<String, Object>>> queryMoreEmployeeTrace(@RequestBody Map<String, String> request)
131 131
			throws Exception {
132 132
		if (request == null || request.get("entityId") == null || request.get("timeType") == null) {
133
			CommonResponse.fail("502", "查询失败");
133
			return CommonResponse.fail("502", "查询失败");
134 134
		}
135 135
136 136
		// 当前页码

+ 0 - 4
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/AlarmManagementServiceImpl.java

@ -5,8 +5,6 @@ import java.util.HashMap;
5 5
import java.util.List;
6 6
import java.util.Map;
7 7
8
import org.slf4j.Logger;
9
import org.slf4j.LoggerFactory;
10 8
import org.springframework.beans.factory.annotation.Autowired;
11 9
import org.springframework.stereotype.Service;
12 10
import org.springframework.util.CollectionUtils;
@ -34,8 +32,6 @@ import com.alibaba.fastjson.JSONObject;
34 32
35 33
@Service
36 34
public class AlarmManagementServiceImpl implements AlarmManagementService {
37
    private Logger logger = LoggerFactory.getLogger(AlarmManagementServiceImpl.class);
38
39 35
	@Autowired
40 36
	private RescueCommand rescueCommand;
41 37

+ 2 - 4
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/AttendanceManageServiceImpl.java

@ -25,12 +25,10 @@ import com.ai.bss.worker.service.api.AttendanceStatusQuery;
25 25
@Service
26 26
public class AttendanceManageServiceImpl implements AttendanceManageService {
27 27
    @Autowired
28
    CharSpecService charSpecService;
28
    private CharSpecService charSpecService;
29 29
30 30
    @Autowired
31
    AttendanceStatusQuery attendanceStatusQuery;
32
33
31
    private AttendanceStatusQuery attendanceStatusQuery;
34 32
35 33
    @Override
36 34
    public CommonResponse<PageBean<Map<String, Object>>> queryAttendanceInfo(CommonRequest<HashMap<String, Object>> conditionMap) {

+ 1 - 1
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/task/AlarmMirrorTask.java

@ -33,7 +33,7 @@ public class AlarmMirrorTask implements EntityAlarmHandle {
33 33
	 */
34 34
	@Override
35 35
	public CommonResponse<Map<String, Object>> alarmHandle(CommonRequest<WorkTask> workTask) {
36
		logger.debug("实时报警接收镜屏数据: " + JSON.toJSONString(workTask));
36
		logger.debug("====================实时报警接收镜屏数据: " + JSON.toJSONString(workTask));
37 37
		try {
38 38
			String charValueSet = workTask.getData().getCharValueSet();
39 39
			JSONObject alarmJsonObj = JSONObject.parseObject(charValueSet);

+ 7 - 3
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/task/LocationMirrorTask.java

@ -23,7 +23,7 @@ public class LocationMirrorTask implements EntityPositionChangeHandle {
23 23
	private Logger logger = LoggerFactory.getLogger(LocationMirrorTask.class);
24 24
25 25
	@Autowired
26
	LocationManagementService locationManagementService;
26
	private LocationManagementService locationManagementService;
27 27
28 28
	/**
29 29
	 * 镜屏推送实体位置变动信息
@ -33,21 +33,25 @@ public class LocationMirrorTask implements EntityPositionChangeHandle {
33 33
	 */
34 34
	@Override
35 35
	public CommonResponse<Map<String, Object>> entityPositionChange(CommonRequest<LoadMapViewParam> commonRequest) {
36
		logger.debug("人员定位接收镜屏数据: " + JSON.toJSONString(commonRequest));
36
		logger.debug("====================人员定位接收镜屏数据");
37 37
38 38
		try {
39 39
			Map<String, Object> resultMap = new HashMap<String, Object>();
40 40
			if (commonRequest != null && commonRequest.getData() != null) {
41
				logger.info("人员定位接收镜屏数据: " + JSON.toJSONString(commonRequest));
41 42
				resultMap.put("aggregatedMapAreaList", locationManagementService
42 43
						.getMapAreaAllStatus(commonRequest.getData().getAggregatedMapAreaList()));
43 44
				resultMap.put("unaggregatedEntityPositionList", locationManagementService
44 45
						.getEmployeeAllStatus(commonRequest.getData().getUnaggregatedEntityPositionList()));
46
				resultMap.put("currentEntityPosition",commonRequest.getData().getCurrentEntityPosition());
47
				
45 48
			} else {
49
				logger.error("人员定位接收镜屏数据为空: " + JSON.toJSONString(commonRequest));
46 50
				resultMap.put("aggregatedMapAreaList", new ArrayList<MapArea>());
47 51
				resultMap.put("unaggregatedEntityPositionList", new ArrayList<EntityPosition>());
52
				resultMap.put("currentEntityPosition",new EntityPosition());
48 53
			}
49 54
50
			resultMap.put("currentEntityPosition",commonRequest.getData().getCurrentEntityPosition());
51 55
			resultMap.put("countMap", locationManagementService.loadEmployeeStatusCount());
52 56
53 57
			String msg = JSON.toJSONString(CommonResponse.ok(resultMap));

+ 12 - 4
monitor-manage-service/src/main/java/com/ai/bss/monitorManage/controller/MonitorManageController.java

@ -46,14 +46,22 @@ public class MonitorManageController {
46 46
//    }
47 47
48 48
    /**
49
     * 监听图片
49
     * 开启监听图片
50 50
     */
51 51
    @ResponseBody
52 52
    @RequestMapping("/loadPicture")
53 53
    public Object loadPicture() throws InterruptedException {
54
         monitorManageService.loadPictureFromDirectory();
55
         return "OK";
54
        String result = monitorManageService.loadPictureFromDirectory();
55
         return result;
56 56
    }
57 57
58
58
    /**
59
     * 关闭监听图片
60
     */
61
    @ResponseBody
62
    @RequestMapping("/closeListening")
63
    public Object closeListening() {
64
    	String result = monitorManageService.closeListeningPicture();
65
        return result;
66
    }
59 67
}

+ 17 - 13
monitor-manage-service/src/main/java/com/ai/bss/monitorManage/service/impl/KafkaProcessImpl.java

@ -6,9 +6,10 @@ import java.util.HashMap;
6 6
import java.util.List;
7 7
import java.util.Map;
8 8
9
import com.ai.bss.monitorManage.model.FaceResultDto;
10 9
import org.apache.commons.lang.StringUtils;
11 10
import org.apache.logging.log4j.util.Strings;
11
import org.slf4j.Logger;
12
import org.slf4j.LoggerFactory;
12 13
import org.springframework.beans.factory.annotation.Autowired;
13 14
import org.springframework.beans.factory.annotation.Value;
14 15
import org.springframework.kafka.core.KafkaTemplate;
@ -22,6 +23,7 @@ import com.ai.bss.components.common.util.ImageBase64Converter;
22 23
import com.ai.bss.components.ebcai.service.EbcAiService;
23 24
import com.ai.bss.monitorManage.constant.MonitorManageConsts;
24 25
import com.ai.bss.monitorManage.model.AiIdenLogDto;
26
import com.ai.bss.monitorManage.model.FaceResultDto;
25 27
import com.ai.bss.monitorManage.model.IdenResultDto;
26 28
import com.ai.bss.monitorManage.model.MonitorVideoLogDto;
27 29
import com.ai.bss.monitorManage.service.interfaces.FileManageService;
@ -37,11 +39,11 @@ import com.alibaba.fastjson.JSONObject;
37 39
38 40
import lombok.extern.slf4j.Slf4j;
39 41
40
import javax.sound.sampled.Line;
41
42 42
@Slf4j
43 43
@Service
44 44
public class KafkaProcessImpl implements KafkaProcess {
45
	private Logger logger = LoggerFactory.getLogger(KafkaProcessImpl.class);
46
	
45 47
//    EBC设备tcp连接服务地址
46 48
	private static final String HOST = "47.105.130.83";
47 49
	private static final int PORT = 8042;
@ -82,7 +84,8 @@ public class KafkaProcessImpl implements KafkaProcess {
82 84
				sendKafkaDataPoint(topic, msg);
83 85
			}
84 86
		} catch (Exception e) {
85
			e.printStackTrace();
87
			logger.error("processKafka1 is error:"+e.getMessage());
88
			//e.printStackTrace();
86 89
		}
87 90
	}
88 91
@ -92,7 +95,8 @@ public class KafkaProcessImpl implements KafkaProcess {
92 95
		try {
93 96
			sendKafkaDataPoint(topic, msg);
94 97
		} catch (Exception e) {
95
			e.printStackTrace();
98
			logger.error("processKafka2 is error:"+e.getMessage());
99
			//e.printStackTrace();
96 100
		}
97 101
	}
98 102
@ -343,7 +347,7 @@ public class KafkaProcessImpl implements KafkaProcess {
343 347
			// AI模型
344 348
//			aiIdenLogDto.setAiIdenModel(MonitorManageConsts.AI_MODEL_CLOTHING_CODE);
345 349
		} catch (Exception e) {
346
			log.error("AI处理异常,帽子识别");
350
			log.error("帽子识别AI处理异常:"+e.getMessage());
347 351
		}
348 352
		return aiIdenLogDto;
349 353
	}
@ -385,7 +389,7 @@ public class KafkaProcessImpl implements KafkaProcess {
385 389
				log.info("AI人数识别结果:没有人");
386 390
			}
387 391
		} catch (Exception e) {
388
			log.error("AI处理异常,人数识别");
392
			log.error("人数识别AI处理异常:"+e.getMessage());
389 393
		}
390 394
		return isHuman;
391 395
	}
@ -445,7 +449,7 @@ public class KafkaProcessImpl implements KafkaProcess {
445 449
			}
446 450
447 451
		} catch (Exception e) {
448
			log.error("AI处理异常,人脸识别");
452
			log.error("人脸识别AI处理异常:"+e.getMessage());
449 453
		}
450 454
		return aiIdenLogDto;
451 455
	}
@ -508,7 +512,7 @@ public class KafkaProcessImpl implements KafkaProcess {
508 512
			log.info("消息推送完成");
509 513
510 514
		} catch (Exception e) {
511
			log.error("AI处理异常,陌生人识别");
515
			log.error("陌生人识别AI处理异常:"+e.getMessage());
512 516
		}
513 517
		return aiIdenLogDto;
514 518
	}
@ -561,7 +565,7 @@ public class KafkaProcessImpl implements KafkaProcess {
561 565
            	log.error("吸烟识别异常");
562 566
			}
563 567
        }catch(Exception e){
564
        log.error("AI处理异常,吸烟识别");
568
        log.error("吸烟识别AI处理异常:"+e.getMessage());
565 569
        }
566 570
        return aiIdenLogDto;
567 571
    }
@ -618,7 +622,7 @@ private AiIdenLogDto workClothesDetect(AiIdenLogDto aiIdenLogDto, String aifileP
618 622
		}
619 623
620 624
	}catch(Exception e){
621
	log.error("AI处理异常,工作服识别");
625
	log.error("工作服识别AI处理异常:"+e.getMessage());
622 626
	}
623 627
	return aiIdenLogDto;
624 628
}
@ -651,7 +655,7 @@ private AiIdenLogDto instrumentDetect(AiIdenLogDto aiIdenLogDto, String aifilePa
651 655
			log.info("异常返回,异常原因为:"+jsonObjectpredictions.getString("Errors"));
652 656
		}
653 657
	}catch(Exception e){
654
		log.error("AI处理异常,仪表识别");
658
		log.error("仪表识别AI处理异常:"+e.getMessage());
655 659
	}
656 660
	return aiIdenLogDto;
657 661
}
@ -675,7 +679,7 @@ private AiIdenLogDto instrumentDetect(AiIdenLogDto aiIdenLogDto, String aifilePa
675 679
			resourceToolInfoList = JSON.parseArray(resultData.getString("data"), Map.class);
676 680
			log.debug("getResourceToolAllInfo method return result: " + resultData.getString("data"));
677 681
		} catch (Exception e) {
678
			log.error("getResourceToolAllInfo is error");
682
			log.error("getResourceToolAllInfo is error:"+e.getMessage());
679 683
		}
680 684
681 685
		return resourceToolInfoList;

+ 65 - 28
monitor-manage-service/src/main/java/com/ai/bss/monitorManage/service/impl/ListeningFileDirectoryServiceImpl.java

@ -1,50 +1,70 @@
1 1
package com.ai.bss.monitorManage.service.impl;
2 2
3 3
4
import com.ai.bss.monitorManage.constant.MonitorManageConsts;
5
import com.ai.bss.monitorManage.service.interfaces.FileManageService;
6
import com.ai.bss.monitorManage.service.interfaces.KafkaProcess;
7
import com.ai.bss.monitorManage.service.interfaces.ListeningFileDirectoryService;
8
import com.ai.bss.monitorManage.utils.FileUtils;
9
import com.mzlion.core.lang.StringUtils;
4
import java.io.File;
5
import java.io.FileInputStream;
6
import java.io.IOException;
7
import java.io.OutputStream;
8
import java.nio.file.FileSystems;
9
import java.nio.file.Paths;
10
import java.nio.file.StandardWatchEventKinds;
11
import java.nio.file.WatchEvent;
12
import java.nio.file.WatchKey;
13
import java.nio.file.WatchService;
14
import java.util.ArrayList;
15
import java.util.HashMap;
16
import java.util.List;
17
import java.util.Map;
18
import java.util.Timer;
19
import java.util.TimerTask;
20
10 21
import org.apache.commons.fileupload.FileItem;
11 22
import org.apache.commons.fileupload.FileItemFactory;
12 23
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
13 24
import org.springframework.beans.factory.annotation.Autowired;
14 25
import org.springframework.beans.factory.annotation.Value;
15 26
import org.springframework.stereotype.Service;
16
import org.springframework.web.multipart.MultipartFile;
17
import org.springframework.web.multipart.commons.CommonsMultipartFile;
18 27
19
import java.io.*;
20
import java.nio.file.*;
21
import java.util.*;
28
import com.ai.bss.monitorManage.constant.MonitorManageConsts;
29
import com.ai.bss.monitorManage.service.interfaces.KafkaProcess;
30
import com.ai.bss.monitorManage.service.interfaces.ListeningFileDirectoryService;
31
import com.ai.bss.monitorManage.utils.FileUtils;
32
import com.mzlion.core.lang.StringUtils;
33
34
import lombok.extern.slf4j.Slf4j;
22 35
36
@Slf4j
23 37
@Service
24 38
public class ListeningFileDirectoryServiceImpl  implements ListeningFileDirectoryService {
25 39
26
27 40
    @Value("${camera.filePath}")
28 41
    private String baseFilePath;
29 42
30
31
32
    @Autowired
33
    private FileManageService fileManageService;
43
    //@Autowired
44
    //private FileManageService fileManageService;
34 45
35 46
    @Autowired
36 47
    private KafkaProcess kafkaProcess;
48
    
49
    private static Map<String,Timer> timerMap=new HashMap<String,Timer>();
50
    
51
    private String taskName="pictureTask";
37 52
38 53
    @Override
39 54
    public void getFile(String filePath)  {
40 55
//        if(){
41
        System.out.println("filePath:   " + filePath);
56
        //System.out.println("filePath:   " + filePath);
57
    	log.info("filePath:   " + filePath);
42 58
//        final Timer timer = new Timer();
43
        new Timer().schedule(new TimerTask() {
59
    	
60
    	timerMap.put(taskName,new Timer());
61
    	
62
    	timerMap.get(taskName).schedule(new TimerTask() {
44 63
            @Override
45 64
            public void run() {
46 65
                WatchKey key;
47
                System.out.println("filePath:   " + filePath);
66
                //System.out.println("filePath:   " + filePath);
67
                log.info("filePath:   " + filePath);
48 68
                String mapKey = "";
49 69
                try {
50 70
                    if(!StringUtils.isEmpty(filePath )){
@ -53,14 +73,17 @@ public class ListeningFileDirectoryServiceImpl  implements ListeningFileDirector
53 73
                        List fileList = new ArrayList();
54 74
                        while (true) {
55 75
                            File file = new File(filePath);//path为监听文件夹
56
                            System.out.println("等待图片加载!");
76
                            //System.out.println("等待图片加载!");
77
                            log.info("等待图片加载!");
57 78
                            key = watchService.take();//没有文件增加时,阻塞在这里
58 79
                            int i = 0;
59 80
                            String[] fileContent = new String[3600];
60 81
                            for (WatchEvent<?> event : key.pollEvents()) {
61 82
                                String fileName = filePath+MonitorManageConsts.getSystemSeparator()+event.context();
62
                                System.out.println("增加文件的文件夹路径== :"+fileName);
63
                                System.out.println("增加文件的名称== :"+event.context());
83
                                //System.out.println("增加文件的文件夹路径== :"+fileName);
84
                                //System.out.println("增加文件的名称== :"+event.context());
85
                                log.info("增加文件的文件夹路径== :"+fileName);
86
                                log.info("增加文件的名称== :"+event.context());
64 87
//                                mapKey = filePath.replace(baseFilePath+ MonitorManageConsts.getSystemSeparator(),"");
65 88
                                mapKey = filePath.replace(baseFilePath+ MonitorManageConsts.getSystemSeparator(),"");
66 89
                                mapKey = mapKey.replace(MonitorManageConsts.getSystemSeparator(),"~!@");
@ -89,7 +112,6 @@ public class ListeningFileDirectoryServiceImpl  implements ListeningFileDirector
89 112
                                }
90 113
91 114
92
93 115
//                                Path filePath = (Path) event.context();
94 116
////                                //输出新增文件名
95 117
//
@ -105,14 +127,14 @@ public class ListeningFileDirectoryServiceImpl  implements ListeningFileDirector
105 127
                        }
106 128
                    }
107 129
                }catch (Exception e) {
108
                    // TODO Auto-generated catch block
109
                    e.printStackTrace();
130
                	log.error("getFile is error :"+e.getMessage());    
131
                    //e.printStackTrace();
110 132
                }
111 133
            }
112
        }, 2000 , 3000);//第一个数字2000表示,2000ms以后开启定时器,第二个数字3000,表示3000ms后运行一次run
134
        //}, 2000 , 3000);//第一个数字2000表示,2000ms以后开启定时器,第二个数字3000,表示3000ms后运行一次run
135
        }, 500 , 500); //1秒钟扫描一次
113 136
    }
114 137
115
116 138
    /*
117 139
    创建FileItem
118 140
     */
@ -130,8 +152,23 @@ public class ListeningFileDirectoryServiceImpl  implements ListeningFileDirector
130 152
            os.close();
131 153
            fis.close();
132 154
        } catch (IOException e) {
133
            e.printStackTrace();
155
        	log.error("createFileItem is error :"+e.getMessage());       
134 156
        }
135 157
        return item;
136 158
    }
159
    
160
    /**
161
     * 移除定时器
162
     * @param taskName
163
     */
164
    @Override
165
    public void removeTimer(){
166
        try{
167
        	timerMap.get(taskName).cancel();
168
        	timerMap.remove(taskName);           
169
        }catch(Exception e){
170
           log.error("removeTimer is error :"+e.getMessage());       
171
        }
172
    }
173
137 174
}

+ 41 - 48
monitor-manage-service/src/main/java/com/ai/bss/monitorManage/service/impl/MonitorManageServiceImpl.java

@ -1,59 +1,34 @@
1 1
package com.ai.bss.monitorManage.service.impl;
2 2
3
import cn.hutool.json.JSONUtil;
4
import com.ai.bss.components.common.util.ImageBase64Converter;
5
import com.ai.bss.components.ebcai.service.EbcAiService;
6
import com.ai.bss.monitorManage.constant.MonitorManageConsts;
7
import com.ai.bss.monitorManage.model.AiIdenLogDto;
8
import com.ai.bss.monitorManage.model.IdenResultDto;
9
import com.ai.bss.monitorManage.model.MonitorVideoLogDto;
10
import com.ai.bss.monitorManage.service.interfaces.FileManageService;
11
import com.ai.bss.monitorManage.service.interfaces.KafkaProcess;
12
import com.ai.bss.monitorManage.service.interfaces.ListeningFileDirectoryService;
13
import com.ai.bss.monitorManage.service.interfaces.MonitorManageService;
14
import com.ai.bss.monitorManage.utils.DateUtils;
15
import com.ai.bss.monitorManage.utils.FileUtils;
16
import com.ai.bss.monitorManage.utils.SecurityProtectionMinioConfig;
17
import com.alibaba.druid.sql.visitor.functions.Lcase;
18
import com.alibaba.fastjson.JSON;
19
import com.alibaba.fastjson.JSONArray;
20
import com.alibaba.fastjson.JSONObject;
21
import lombok.SneakyThrows;
22
import lombok.extern.slf4j.Slf4j;
23
import org.apache.commons.fileupload.FileItem;
24
import org.apache.commons.fileupload.FileItemFactory;
25
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
26
import org.apache.logging.log4j.util.Strings;
3
import java.io.File;
4
27 5
import org.springframework.beans.factory.annotation.Autowired;
28 6
import org.springframework.beans.factory.annotation.Value;
29 7
import org.springframework.stereotype.Service;
30
import org.springframework.web.multipart.MultipartFile;
31
import org.springframework.web.multipart.commons.CommonsMultipartFile;
32 8
33
import java.io.File;
34
import java.io.FileInputStream;
35
import java.io.IOException;
36
import java.io.OutputStream;
37
import java.util.*;
9
import com.ai.bss.monitorManage.service.interfaces.ListeningFileDirectoryService;
10
import com.ai.bss.monitorManage.service.interfaces.MonitorManageService;
11
12
import lombok.extern.slf4j.Slf4j;
38 13
39 14
@Slf4j
40 15
@Service
41 16
public class MonitorManageServiceImpl implements MonitorManageService {
42
43
	private final static String SPLIT_CHAR = "_";
17
	
18
	//private final static String SPLIT_CHAR = "_";
44 19
//	private static String bucketName =  "";
45 20
46
	@Autowired
47
	private FileManageService fileManageService;
21
	//@Autowired
22
	//private FileManageService fileManageService;
48 23
49 24
	@Autowired
50 25
	private ListeningFileDirectoryService listeningFileDirectoryService;
51 26
52
	@Autowired
53
	private KafkaProcess kafkaProcess;
27
	//@Autowired
28
	//private KafkaProcess kafkaProcess;
54 29
55
	@Autowired
56
	private EbcAiService ebcAiService;
30
	//@Autowired
31
	//private EbcAiService ebcAiService;
57 32
58 33
	@Value("${camera.filePath}")
59 34
	private String baseFilePath;
@ -64,17 +39,23 @@ public class MonitorManageServiceImpl implements MonitorManageService {
64 39
	@Value("${kafka.topic.aivideo}")
65 40
	private String topicAiVideo;
66 41
67
	@Autowired
68
	private SecurityProtectionMinioConfig minioConfig;
69
42
	//@Autowired
43
	//private SecurityProtectionMinioConfig minioConfig;
70 44
45
	private static boolean isBeginFlag=false;
71 46
72 47
	@Override
73
	public void loadPictureFromDirectory() throws InterruptedException {
74
75
		//监听文件目录,加载文件
76
		loadFileList();
77
48
	public String loadPictureFromDirectory() throws InterruptedException {
49
		if (!isBeginFlag) {
50
			//监听文件目录,加载文件
51
			loadFileList();
52
			isBeginFlag=true;
53
			log.info("图片监听开启成功");
54
			return "开启成功";
55
		}
56
		
57
		log.info("图片监听无法重复开启");
58
		return "无法重复开启";
78 59
	}
79 60
80 61
	private void loadFileList(){
@ -96,10 +77,22 @@ public class MonitorManageServiceImpl implements MonitorManageService {
96 77
					break;
97 78
				}
98 79
				File[] camerafiles = deviceFile.listFiles();
99
				System.out.println("deviceFilePath()   " + deviceFile.getPath());
80
				//System.out.println("deviceFilePath()   " + deviceFile.getPath());
81
				log.info("deviceFilePath()  " + deviceFile.getPath());
100 82
				listeningFileDirectoryService.getFile(deviceFile.getPath());
101 83
			}
102 84
		}
103 85
	}
86
	
87
	/**
88
	 * 关闭监听
89
	 */
90
	public String closeListeningPicture() {
91
		listeningFileDirectoryService.removeTimer();
92
		
93
		isBeginFlag=false;
94
		log.info("图片监听关闭成功");
95
		return "关闭成功";
96
	}
104 97
105 98
}

+ 2 - 0
monitor-manage-service/src/main/java/com/ai/bss/monitorManage/service/interfaces/ListeningFileDirectoryService.java

@ -4,4 +4,6 @@ package com.ai.bss.monitorManage.service.interfaces;
4 4
public interface ListeningFileDirectoryService {
5 5
6 6
    void getFile(String filePath) ;
7
    
8
    void removeTimer();
7 9
}

+ 12 - 1
monitor-manage-service/src/main/java/com/ai/bss/monitorManage/service/interfaces/MonitorManageService.java

@ -2,5 +2,16 @@ package com.ai.bss.monitorManage.service.interfaces;
2 2
3 3
public interface MonitorManageService {
4 4
5
    void loadPictureFromDirectory() throws InterruptedException;
5
	/**
6
	 * 开启监听
7
	 * @return
8
	 * @throws InterruptedException
9
	 */
10
    String loadPictureFromDirectory() throws InterruptedException;
11
    
12
    /**
13
     * 关闭监听
14
     * @return
15
     */
16
    String closeListeningPicture();
6 17
}

+ 6 - 3
security-protection-service/src/main/java/com/ai/bss/security/protection/service/impl/UploadFileServiceImpl.java

@ -52,7 +52,8 @@ public class UploadFileServiceImpl implements UploadFileService {
52 52
			minioService.putObject(bucketName, meFile, minioFileName);
53 53
		} catch (Exception e) {
54 54
			log.error("文件上传异常");
55
			e.printStackTrace();
55
			//e.printStackTrace();
56
			return "";
56 57
		}
57 58
58 59
		log.info("文件上传结束,minioFileName: " + minioFileName);
@ -84,7 +85,8 @@ public class UploadFileServiceImpl implements UploadFileService {
84 85
			fileUrl = minioService.getObjectUrl(bucketName, minioFileName);
85 86
		} catch (Exception e) {
86 87
			log.error("获取到文件的url路径异常,minioFileName: " + minioFileName);
87
			e.printStackTrace();
88
			//e.printStackTrace();
89
			return "";
88 90
		}
89 91
90 92
		if (StringUtils.isEmpty(fileUrl)) {
@ -238,7 +240,8 @@ public class UploadFileServiceImpl implements UploadFileService {
238 240
			result = minioService.removeObject(bucketName, minioFileName);
239 241
		} catch (Exception e) {
240 242
			log.error("删除上传异常");
241
			e.printStackTrace();
243
			//e.printStackTrace();
244
			return false;
242 245
		}
243 246
244 247
		log.info("删除文件,minioFileName: " + minioFileName);

+ 2 - 1
security-protection-service/src/main/java/com/ai/bss/security/protection/service/impl/WorkOrderManagementServiceImpl.java

@ -278,7 +278,8 @@ public class WorkOrderManagementServiceImpl implements WorkOrderManagementServic
278 278
				|| CollectionUtils.isEmpty(resultResponse.getData().getData().get(0))
279 279
				|| resultResponse.getData().getData().get(0).get("id") == null) {
280 280
			log.error("员工不存在");
281
			new BaseException("员工不存在");
281
			//new BaseException("员工不存在");
282
			return CommonResponse.fail("504","员工不存在");
282 283
		}
283 284
		String employOrgId = String.valueOf(resultResponse.getData().getData().get(0).get("id"));
284 285
		log.info("输出参数:{}", JSON.toJSONString(resultResponse, SerializerFeature.PrettyFormat));