|
|
|
@ -24,17 +24,22 @@ import io.netty.buffer.ByteBuf; |
|
|
|
import io.netty.buffer.Unpooled; |
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
import java.nio.charset.StandardCharsets; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.Iterator; |
|
|
|
import java.util.List; |
|
|
|
import javax.annotation.Resource; |
|
|
|
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
|
|
|
@Slf4j |
|
|
|
@Component("basedataMont-modelup-1024") |
|
|
|
public class BasedataMontPatrolPointConsumerHandle implements IBasedataMontDataHandleService { |
|
|
|
|
|
|
|
@Value("${test-mode:false}") |
|
|
|
private boolean testMode; |
|
|
|
@Resource |
|
|
|
private IBasedataPatrolPointService basedataPatrolPointService; |
|
|
|
@Resource |
|
|
|
@ -71,9 +76,11 @@ public class BasedataMontPatrolPointConsumerHandle implements IBasedataMontDataH |
|
|
|
String Type = jsonObject.getString("Type"); |
|
|
|
String convertFlag = "0"; |
|
|
|
String SendCode = jsonObject.getString("SendCode"); |
|
|
|
// log.info(Color.BLUE + "[METADATA] 模型同步SendCode:{},旧数据清除Start..." + Color.END, SendCode); |
|
|
|
// this.deletePatrolPointPresetBySendCode(SendCode); |
|
|
|
// log.info(Color.BLUE + "[METADATA] 模型同步SendCode:{},旧数据清除End..." + Color.END, SendCode); |
|
|
|
// if(testMode) { |
|
|
|
// log.info(Color.BLUE + "HANDLE_MONT_DATA MODEL SYNC SendCode: {}, delete old data Start" + Color.END, SendCode); |
|
|
|
// deletePatrolPointPresetBySendCode(SendCode); |
|
|
|
// log.info(Color.BLUE + "HANDLE_MONT_DATA MODEL SYNC SendCode: {}, delete old data End" + Color.END, SendCode); |
|
|
|
// } |
|
|
|
BasedataBdConfigMainSystem mainSystem = basedataBdconfigMainsystemMapper.selectBasedataBdConfigMainSystemByMainSystemCode(SendCode); |
|
|
|
if (null != mainSystem) { |
|
|
|
String flag = mainSystem.getConvertFlag(); |
|
|
|
@ -90,11 +97,10 @@ public class BasedataMontPatrolPointConsumerHandle implements IBasedataMontDataH |
|
|
|
for (Iterator<ModelFileItem> iterator = list.iterator(); iterator.hasNext(); basedataMontPatrolPointHandleComponent.handPointModelData(SendCode, modelString)) { |
|
|
|
ModelFileItem item = iterator.next(); |
|
|
|
String deviceFilePath = item.getDevice_file_path(); |
|
|
|
String source = deviceFilePath; |
|
|
|
log.info("MODEL_SYNC filePath: {}", deviceFilePath); |
|
|
|
ByteBuf byteBuf = Unpooled.buffer(); |
|
|
|
try { |
|
|
|
sftpClient.downLoad(source, (inputStream) -> { |
|
|
|
sftpClient.downLoad(deviceFilePath, (inputStream) -> { |
|
|
|
byte[] bytes = new byte[1024]; |
|
|
|
int index; |
|
|
|
while ((index = inputStream.read(bytes)) > -1) { |
|
|
|
@ -120,6 +126,51 @@ public class BasedataMontPatrolPointConsumerHandle implements IBasedataMontDataH |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void handleMontDataEx(JSONObject jsonObject) { |
|
|
|
log.info(Color.CYAN + "MODEL_SYNC_EX model_up_1024: {}" + Color.END, jsonObject.toString()); |
|
|
|
String SendCode = jsonObject.getString(("SendCode")); |
|
|
|
JSONArray jsonObjectItems = jsonObject.getJSONArray(("Items")); |
|
|
|
List<ModelFileItem> list = jsonObjectItems.toJavaList(ModelFileItem.class); |
|
|
|
log.info("MODEL_SYNC_EX list: {}, jsonObject: {}", list, jsonObject); |
|
|
|
if (list != null && !list.isEmpty()) { |
|
|
|
String modelString; |
|
|
|
for (Iterator<ModelFileItem> iterator = list.iterator(); iterator.hasNext(); basedataMontPatrolPointHandleComponent.handPointModelData(SendCode, modelString)) { |
|
|
|
ModelFileItem item = iterator.next(); |
|
|
|
String deviceFilePath = item.getDevice_file_path(); |
|
|
|
log.info("MODEL_SYNC_EX filePath: {}", deviceFilePath); |
|
|
|
ByteBuf byteBuf = Unpooled.buffer(); |
|
|
|
try { |
|
|
|
sftpClient.downLoad(deviceFilePath, (inputStream) -> { |
|
|
|
byte[] bytes = new byte[1024]; |
|
|
|
int index; |
|
|
|
while ((index = inputStream.read(bytes)) > -1) { |
|
|
|
byteBuf.writeBytes(Arrays.copyOfRange(bytes, 0, index)); |
|
|
|
} |
|
|
|
}); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
|
|
|
|
byte[] bytes = new byte[byteBuf.readableBytes()]; |
|
|
|
byteBuf.readBytes(bytes); |
|
|
|
|
|
|
|
modelString = new String(bytes, StandardCharsets.UTF_8); |
|
|
|
} |
|
|
|
|
|
|
|
log.info("MODEL_SYNC_EX modelFile: {}, jsonObject: {}", list, jsonObject); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void delMontData(JSONObject jsonObject) { |
|
|
|
log.info(Color.CYAN + "delMontData-modelup-1024: {}" + Color.END, jsonObject.toString()); |
|
|
|
String SendCode = jsonObject.getString("SendCode"); |
|
|
|
if (testMode) { |
|
|
|
log.info(Color.BLUE + "DEL_MONT_DATA MODEL SYNC SendCode: {}, delete old data Start" + Color.END, SendCode); |
|
|
|
deletePatrolPointPresetBySendCode(SendCode); |
|
|
|
log.info(Color.BLUE + "DEL_MONT_DATA MODEL SYNC SendCode: {}, delete old data End" + Color.END, SendCode); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void deletePatrolPointPresetBySendCode(String sendCode) { |
|
|
|
// basedata_area 区域删除 |
|
|
|
int areaNum = baseDataAreaMapper.deleteAreaBySendCode(sendCode); |
|
|
|
|