|
|
|
@ -153,26 +153,6 @@ public class ZipToSqbServiceImpl implements ZipToSqbService {
|
|
|
|
qlSqbName = "SQB_GREENALL";
|
|
|
|
qlSqbName = "SQB_GREENALL";
|
|
|
|
bfSqbName = "SQB_GREENINC";
|
|
|
|
bfSqbName = "SQB_GREENINC";
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
//追缴名单-全量
|
|
|
|
|
|
|
|
case Constant.STR_3501:
|
|
|
|
|
|
|
|
//case "35"://追缴名单-全量
|
|
|
|
|
|
|
|
dbName = "SNBLACKLISTALL.DBF";
|
|
|
|
|
|
|
|
type = 3;
|
|
|
|
|
|
|
|
etcType = 7;
|
|
|
|
|
|
|
|
dbfDir = "SNVEHICLE";
|
|
|
|
|
|
|
|
qlSqbName = "SQB_SNBLACKALL";
|
|
|
|
|
|
|
|
bfSqbName = "SQB_SNBLACKALL";
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
//追缴名单-增量
|
|
|
|
|
|
|
|
case Constant.STR_3601:
|
|
|
|
|
|
|
|
//case "36"://追缴名单-增量
|
|
|
|
|
|
|
|
dbName = "SNBLACKLISTINC.DBF";
|
|
|
|
|
|
|
|
type = 4;
|
|
|
|
|
|
|
|
etcType = 7;
|
|
|
|
|
|
|
|
dbfDir = "SNVEHICLE";
|
|
|
|
|
|
|
|
qlSqbName = "SQB_SNBLACKALL";
|
|
|
|
|
|
|
|
bfSqbName = "SQB_SNBLACKINC";
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case Constant.STR_919://追缴名单-全量
|
|
|
|
case Constant.STR_919://追缴名单-全量
|
|
|
|
dbName = "EMERCARALL.DBF";
|
|
|
|
dbName = "EMERCARALL.DBF";
|
|
|
|
@ -383,23 +363,275 @@ public class ZipToSqbServiceImpl implements ZipToSqbService {
|
|
|
|
//更新自动下发分中心相应状态
|
|
|
|
//更新自动下发分中心相应状态
|
|
|
|
nameTableAutoMapper.update(null, updateWrapper);
|
|
|
|
nameTableAutoMapper.update(null, updateWrapper);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case Constant.STR_3501:
|
|
|
|
case Constant.STR_919:
|
|
|
|
updateWrapper.set("BLACKFLAG", Integer.parseInt(protocolType));
|
|
|
|
updateWrapper.set("EMERCARFLAG", Integer.parseInt(protocolType));
|
|
|
|
//更新自动下发分中心相应状态
|
|
|
|
//更新自动下发分中心相应状态
|
|
|
|
nameTableAutoMapper.update(null, updateWrapper);
|
|
|
|
nameTableAutoMapper.update(null, updateWrapper);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case Constant.STR_3601:
|
|
|
|
case Constant.STR_920:
|
|
|
|
updateWrapper.set("BLACKINCFLAG", Integer.parseInt(protocolType));
|
|
|
|
updateWrapper.set("EMERCARINCFLAG", Integer.parseInt(protocolType));
|
|
|
|
//更新自动下发分中心相应状态
|
|
|
|
//更新自动下发分中心相应状态
|
|
|
|
nameTableAutoMapper.update(null, updateWrapper);
|
|
|
|
nameTableAutoMapper.update(null, updateWrapper);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case Constant.STR_919:
|
|
|
|
default:
|
|
|
|
updateWrapper.set("EMERCARFLAG", Integer.parseInt(protocolType));
|
|
|
|
log.error("[uuid:{}]-未找到相应的更新自动下发分中心相应状态方法", uuid);
|
|
|
|
|
|
|
|
throw new PPException(MessageEnum.未找到相应的处理程序.getCode(), MessageEnum.未找到相应的处理程序.getMessage());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//入库新文件的信息表
|
|
|
|
|
|
|
|
intoNewFileInfo(protocolType, zlibFileNameMd5Sqb, dbfDir, version, basicType, dayBackPath, fileName);
|
|
|
|
|
|
|
|
String nowString = DateTimeUtil.getFormateString(new Date(), Constant.YYYY_MM_DD_HH_MM_SS);
|
|
|
|
|
|
|
|
String sqlParam = Constant.UPDATE_BUSINESS_HANDLER + nowString + Constant.PUBLISH_TIME + nowString + Constant.WHERE_ID + businessTask.getId();
|
|
|
|
|
|
|
|
if (DatabaseUtil.insertSqlite(sqliteDriverName, sqliteUrl, sqlParam) > 0) {
|
|
|
|
|
|
|
|
log.info("[uuid:{}]更新business_tasks_info调用动态库任务列表成功,id为:{}", uuid, businessTask.getId());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
log.info("[uuid:{}]调用动态库生成SQB任务,下载协议类型:{},zip文件名为:{}执行成功", uuid, protocolType, fileName);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
//更新sqlite任务表的任务状态为2-报错(等待下次轮询)
|
|
|
|
|
|
|
|
DatabaseUtil.insertSqlite(sqliteDriverName, sqliteUrl, Constant.ERROR_UPDATE_BUSINESS_HANDLER + businessTask.getId());
|
|
|
|
|
|
|
|
throw new PPException(MessageEnum.调用动态库生成SQB操作失败.getCode(), MessageEnum.调用动态库生成SQB操作失败.getMessage()
|
|
|
|
|
|
|
|
+ ",SQB动态库返回值为" + countSqb);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
log.info("[uuid:{}]该时间点{}已下发/或者该点不下发", uuid, protocolType);
|
|
|
|
|
|
|
|
//更新sqlite任务表的任务状态为3-不下发
|
|
|
|
|
|
|
|
DatabaseUtil.insertSqlite(sqliteDriverName, sqliteUrl,
|
|
|
|
|
|
|
|
Constant.NOT_DIS_UPDATE_BUSINESS_HANDLER + DateTimeUtil.getFormateString(new Date(), Constant.YYYY_MM_DD_HH_MM_SS) + Constant.WHERE_ID + businessTask.getId());
|
|
|
|
|
|
|
|
log.info("[uuid:{}]更新business_tasks_info任务表的下发状态为3-不下发,id为:{}", uuid, businessTask.getId());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
|
|
log.error("[uuid:{}]调用动态库生成SQB失败{}", uuid, e.getMessage(), e);
|
|
|
|
|
|
|
|
//更新sqlite任务表的任务状态为2-报错
|
|
|
|
|
|
|
|
DatabaseUtil.insertSqlite(sqliteDriverName, sqliteUrl, Constant.ERROR_UPDATE_BUSINESS_HANDLER + businessTask.getId());
|
|
|
|
|
|
|
|
throw new PPException(MessageEnum.调用动态库生成SQB操作失败.getCode(), MessageEnum.调用动态库生成SQB操作失败.getMessage()
|
|
|
|
|
|
|
|
+ ",SQB动态库返回值为" + countSqb);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 通过动态库生成迈道SQB
|
|
|
|
|
|
|
|
*
|
|
|
|
|
|
|
|
* @author shuguang
|
|
|
|
|
|
|
|
* @date 2023-02-06 14:41
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void createMDSqbByDll(String uuid, BusinessTasks businessTask) {
|
|
|
|
|
|
|
|
String localPath = NFSFilePath + PathUtil.downFile;
|
|
|
|
|
|
|
|
String sqbPath = NFSFilePath + PathUtil.sqbPath;
|
|
|
|
|
|
|
|
//1-全量DBF,2-增量DBF,3-全量SQB,4-增量SQB
|
|
|
|
|
|
|
|
int type;
|
|
|
|
|
|
|
|
//各类黑名单存放目录
|
|
|
|
|
|
|
|
String dbfDir;
|
|
|
|
|
|
|
|
//SQB全量文件名称
|
|
|
|
|
|
|
|
String qlSqbName;
|
|
|
|
|
|
|
|
//SQB备份文件名所需关键字
|
|
|
|
|
|
|
|
String bfSqbName;
|
|
|
|
|
|
|
|
int etcType;
|
|
|
|
|
|
|
|
int countSqb = 0;
|
|
|
|
|
|
|
|
byte[] bytMd5 = new byte[256];
|
|
|
|
|
|
|
|
String protocolType = businessTask.getProtocolType();
|
|
|
|
|
|
|
|
String fileName = businessTask.getFileName();
|
|
|
|
|
|
|
|
String version = businessTask.getNewVersion();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//压缩文件存放-会被删除
|
|
|
|
|
|
|
|
if (!FileUtil.fileExists(localPath + fileName)) {
|
|
|
|
|
|
|
|
log.info("[uuid:{}]下载的zip文件{}不存在", uuid, localPath + fileName);
|
|
|
|
|
|
|
|
throw new PPException(MessageEnum.下载的zip文件不存在.getCode(), MessageEnum.下载的zip文件不存在.getMessage());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//调用动态库生成DBF文件
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
//dbf文件名称
|
|
|
|
|
|
|
|
String dbName;
|
|
|
|
|
|
|
|
switch (protocolType) {
|
|
|
|
|
|
|
|
//追缴名单-全量
|
|
|
|
|
|
|
|
case Constant.STR_3501:
|
|
|
|
|
|
|
|
//case "35"://追缴名单-全量
|
|
|
|
|
|
|
|
dbName = "SNBLACKLISTALL.DBF";
|
|
|
|
|
|
|
|
type = 3;
|
|
|
|
|
|
|
|
etcType = 7;
|
|
|
|
|
|
|
|
dbfDir = "SNVEHICLE";
|
|
|
|
|
|
|
|
qlSqbName = "SQB_SNBLACKALL";
|
|
|
|
|
|
|
|
bfSqbName = "SQB_SNBLACKALL";
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
//追缴名单-增量
|
|
|
|
|
|
|
|
case Constant.STR_3601:
|
|
|
|
|
|
|
|
//case "36"://追缴名单-增量
|
|
|
|
|
|
|
|
dbName = "SNBLACKLISTINC.DBF";
|
|
|
|
|
|
|
|
type = 4;
|
|
|
|
|
|
|
|
etcType = 7;
|
|
|
|
|
|
|
|
dbfDir = "SNVEHICLE";
|
|
|
|
|
|
|
|
qlSqbName = "SQB_SNBLACKALL";
|
|
|
|
|
|
|
|
bfSqbName = "SQB_SNBLACKINC";
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
|
|
|
log.error("[uuid:{}]-未找到相应的参数处理方法", uuid);
|
|
|
|
|
|
|
|
throw new PPException(MessageEnum.未找到相应的处理程序.getCode(), MessageEnum.未找到相应的处理程序.getMessage());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
FileUtil.fileCreat(sqbPath + dbfDir);
|
|
|
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
|
|
|
String formateString = DateTimeUtil.getFormateString(date, Constant.YYYYMMDDHHMMSS);
|
|
|
|
|
|
|
|
String format = DateTimeUtil.getFormateString(date, Constant.YYYY_MM_DD_HH_MM_SS);
|
|
|
|
|
|
|
|
String zlibSqbName = bfSqbName + Constant.STR_ + formateString + Constant.STR_ + version + Constant.STR_ZLIB;
|
|
|
|
|
|
|
|
String dateTime = fileName.substring(fileName.lastIndexOf(Constant.STR_) + 1).replace(Constant.STR_ZIP, Constant.NULL_STRING).substring(0, 8);
|
|
|
|
|
|
|
|
//生成SQB文件名
|
|
|
|
|
|
|
|
String sqbPathName = sqbPath + dbfDir + File.separator + formateString + Constant.STR_ + dbName.replace(Constant.STR_DBF, Constant.STR_SQB);
|
|
|
|
|
|
|
|
String sqbZlibPathName = sqbPath + dbfDir + File.separator + zlibSqbName;
|
|
|
|
|
|
|
|
String dayBackPath;
|
|
|
|
|
|
|
|
if (type == 3) {
|
|
|
|
|
|
|
|
zlibSqbName = bfSqbName + Constant.STR_ + formateString + Constant.STR_ + version + Constant.STR_ZLIB;
|
|
|
|
|
|
|
|
dayBackPath = NFSFilePath + PathUtil.downFileBackup + dbfDir + File.separator;
|
|
|
|
|
|
|
|
FileUtil.fileCreat(dayBackPath);
|
|
|
|
|
|
|
|
FileUtil.copyFile(localPath + fileName, dayBackPath + fileName);
|
|
|
|
|
|
|
|
log.info("[uuid:{}]调用动态库生成全量SQB文件中,协议类型为:{},zip文件名为:{}", uuid, protocolType, fileName);
|
|
|
|
|
|
|
|
countSqb = CMinFeeCreator.INSTANCE.MakeBlackAllSQB(etcType, version, format,
|
|
|
|
|
|
|
|
(localPath + fileName).replace("\\", "/"), sqbPathName.replace("\\", "/"),
|
|
|
|
|
|
|
|
sqbZlibPathName.replace("\\", "/"), bytMd5);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log.info("[uuid:{}]调用动态库生成全量SQB文件完成,返回值为:{}", uuid, countSqb);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
log.info("[uuid:{}]调用动态库生成增量SQB文件中,协议类型为:{},zip文件名为:{}", uuid, protocolType, fileName);
|
|
|
|
|
|
|
|
//每天生成一个备份zip文件夹存放增量下载的zip文件
|
|
|
|
|
|
|
|
dayBackPath = NFSFilePath + PathUtil.downFileBackup + dbfDir + File.separator + dateTime + File.separator;
|
|
|
|
|
|
|
|
FileUtil.fileCreat(dayBackPath);
|
|
|
|
|
|
|
|
FileUtil.copyFile(localPath + fileName, dayBackPath + fileName);
|
|
|
|
|
|
|
|
//将下载的增量文件复制到入库文件夹下
|
|
|
|
|
|
|
|
String insertDbPath = NFSFilePath + File.separator + "ParamInsertDb" + File.separator + "zipFilePath" + File.separator;
|
|
|
|
|
|
|
|
FileUtil.fileCreat(insertDbPath);
|
|
|
|
|
|
|
|
FileUtil.copyFile(localPath + fileName, insertDbPath + fileName);
|
|
|
|
|
|
|
|
//当前时段是否生成新版本增量
|
|
|
|
|
|
|
|
boolean isGenerate = false;
|
|
|
|
|
|
|
|
//根据主键protocolType查询DIS_NEWFILEINFO_JAVA表中上次的生成时间
|
|
|
|
|
|
|
|
NewFileInfo newFileInfo = newFileInfoMapper.selectById(protocolType);
|
|
|
|
|
|
|
|
if(newFileInfo != null ){
|
|
|
|
|
|
|
|
Date updateTime = newFileInfo.getUpdateTime();
|
|
|
|
|
|
|
|
log.info("[uuid:{}]根据主键protocolType={}查询DIS_NEWFILEINFO_JAVA表中上次的生成时间为:{}", uuid, protocolType, updateTime);
|
|
|
|
|
|
|
|
int hours = DateTimeUtil.getHour(date);
|
|
|
|
|
|
|
|
if (updateTime != null) {
|
|
|
|
|
|
|
|
if (hours != DateTimeUtil.getHour(updateTime)) {
|
|
|
|
|
|
|
|
isGenerate = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
isGenerate = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
isGenerate = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (isGenerate) {
|
|
|
|
|
|
|
|
//如果是增量先查询上一版本的版本号
|
|
|
|
|
|
|
|
if (Constant.ONE_HOUR_ISSUED.contains(protocolType)) {
|
|
|
|
|
|
|
|
version = getVersion(protocolType, date, uuid);
|
|
|
|
|
|
|
|
log.info("[uuid:{}]最终增量本次版本号为{}", uuid, version);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//增量目录名称
|
|
|
|
|
|
|
|
StringBuilder incDirLst = new StringBuilder();
|
|
|
|
|
|
|
|
boolean fDir = false;
|
|
|
|
|
|
|
|
for (int i = 0; i < Integer.parseInt(incDays); i++) {
|
|
|
|
|
|
|
|
if (fDir) {
|
|
|
|
|
|
|
|
incDirLst.append("|");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
incDirLst.append(NFSFilePath).append(PathUtil.downFileBackup).append(dbfDir).append(File.separator).append(DateTimeUtil.getFormateString(DateTimeUtil.addDateDays(date, -i), Constant.YYYYMMDD));
|
|
|
|
|
|
|
|
fDir = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
zlibSqbName = bfSqbName + Constant.STR_ + formateString + Constant.STR_ + version + Constant.STR_ZLIB;
|
|
|
|
|
|
|
|
sqbZlibPathName = sqbPath + dbfDir + File.separator + zlibSqbName;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log.info("[uuid:{}]调用动态库生成增量SQB文件中,协议类型为:{},zip文件名为:{}", uuid, protocolType, fileName);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//获取最新的全量sqb文件全路径
|
|
|
|
|
|
|
|
//全量文件
|
|
|
|
|
|
|
|
String sqbQlFileDir = NFSFilePath + PathUtil.sqbBackPath + dbfDir;
|
|
|
|
|
|
|
|
String pblackAllFileName = "";
|
|
|
|
|
|
|
|
List<FileInfo> fileInfos2 = new ArrayList<>();
|
|
|
|
|
|
|
|
File[] files2 = new File(sqbQlFileDir).listFiles();
|
|
|
|
|
|
|
|
if (null != files2 && files2.length > 0) {
|
|
|
|
|
|
|
|
for (File file : files2) {
|
|
|
|
|
|
|
|
if (file.isFile() && file.getName().endsWith(Constant.STR_SQB) && file.getName().contains(qlSqbName)) {
|
|
|
|
|
|
|
|
FileInfo fileInfo = new FileInfo();
|
|
|
|
|
|
|
|
fileInfo.setFileName(file.getName());
|
|
|
|
|
|
|
|
fileInfo.setLastModified(new Date(file.lastModified()));
|
|
|
|
|
|
|
|
fileInfo.setFilePath(file.getPath());
|
|
|
|
|
|
|
|
fileInfos2.add(fileInfo);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//获取当前时间加载增量时间之前的全量文件名
|
|
|
|
|
|
|
|
Date tenDaysAgo = DateTimeUtil.addDateDays(new Date(), -(Integer.parseInt(incDays)));
|
|
|
|
|
|
|
|
String tenDaysVersion = DateTimeUtil.getFormateString(tenDaysAgo, Constant.YYMMDD) + "103";
|
|
|
|
|
|
|
|
log.info("[uuid:{}]获取{}天前全量SQB,修改时间为{}", uuid, incDays,tenDaysAgo);
|
|
|
|
|
|
|
|
if (fileInfos2.size() > 0) {
|
|
|
|
|
|
|
|
log.info("[uuid:{}]获取全量SQB为{}", uuid, fileInfos2);
|
|
|
|
|
|
|
|
//对文件的最后修改时间进行排序
|
|
|
|
|
|
|
|
fileInfos2.sort(Comparator.comparing(FileInfo::getLastModified).reversed());
|
|
|
|
|
|
|
|
for (FileInfo fileInfo2 : fileInfos2) {
|
|
|
|
|
|
|
|
if(DateUtils.isSameDay(tenDaysAgo, fileInfo2.getLastModified()) || fileInfo2.getFileName().contains(tenDaysVersion)){
|
|
|
|
|
|
|
|
pblackAllFileName = fileInfo2.getFileName();
|
|
|
|
|
|
|
|
//log.info("[uuid:{}]==================={}", uuid, pblackAllFileName);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if(StringUtils.isBlank(pblackAllFileName)){
|
|
|
|
|
|
|
|
pblackAllFileName = fileInfos2.get(0).getFileName();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
log.error("[uuid:{}]获取获取{}天前全量SQB文件失败", uuid,incDays);
|
|
|
|
|
|
|
|
//更新sqlite任务表的任务状态为2-报错
|
|
|
|
|
|
|
|
DatabaseUtil.insertSqlite(sqliteDriverName, sqliteUrl, Constant.ERROR_UPDATE_BUSINESS_HANDLER + businessTask.getId());
|
|
|
|
|
|
|
|
throw new PPException(MessageEnum.获取加载增量天数之前全量文件失败.getCode(), MessageEnum.获取加载增量天数之前全量文件失败.getMessage());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
log.info("[uuid:{}]获取获取{}天前全量SQB名称:{}", uuid, incDays, pblackAllFileName);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//如果没有最新的全量SQB文件时,不生成增量文件
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(pblackAllFileName)) {
|
|
|
|
|
|
|
|
log.info("[uuid:{}]调用动态库生成增量入参,全量SQB文件全路径:{}", uuid, (sqbQlFileDir + File.separator + pblackAllFileName).replace("\\", "/"));
|
|
|
|
|
|
|
|
log.info("[uuid:{}]调用动态库生成增量入参, 生成SQB文件全路径:{}", uuid, sqbPathName.replace("\\", "/"));
|
|
|
|
|
|
|
|
log.info("[uuid:{}]调用动态库生成增量入参, 生成SQBZLIB文件全路径:{}", uuid, sqbZlibPathName.replace("\\", "/"));
|
|
|
|
|
|
|
|
countSqb = CMinFeeCreator.INSTANCE.MakeBlackIncSQB(etcType, version, format, incDirLst.toString(),
|
|
|
|
|
|
|
|
(sqbQlFileDir + File.separator + pblackAllFileName).replace("\\", "/"),
|
|
|
|
|
|
|
|
sqbPathName.replace("\\", "/"), sqbZlibPathName.replace("\\", "/"), bytMd5);
|
|
|
|
|
|
|
|
log.info("[uuid:{}]调用动态库生成增量SQB文件完成,返回值为:{}", uuid, countSqb);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
log.info("[uuid:{}]该时间点{}已下发/或者该点不下发", uuid, protocolType);
|
|
|
|
|
|
|
|
//更新sqlite任务表的任务状态为3-不下发
|
|
|
|
|
|
|
|
DatabaseUtil.insertSqlite(sqliteDriverName, sqliteUrl,
|
|
|
|
|
|
|
|
Constant.NOT_DIS_UPDATE_BUSINESS_HANDLER + DateTimeUtil.getFormateString(new Date(), Constant.YYYY_MM_DD_HH_MM_SS) + Constant.WHERE_ID + businessTask.getId());
|
|
|
|
|
|
|
|
log.info("[uuid:{}]更新business_tasks_info任务表的下发状态为3-不下发,id为:{}", uuid, businessTask.getId());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
log.info("[uuid:{}]调用动态库生成SQB返回值count为{}", uuid, countSqb);
|
|
|
|
|
|
|
|
if (countSqb != 0) {
|
|
|
|
|
|
|
|
if (countSqb > 0) {
|
|
|
|
|
|
|
|
String formateStr = DateTimeUtil.getFormateString(date, Constant.YYYYMMDDHHMMSS);
|
|
|
|
|
|
|
|
log.info("[uuid:{}]开始生成SQB备份文件", uuid);
|
|
|
|
|
|
|
|
//sqb备份目录
|
|
|
|
|
|
|
|
FileUtil.fileCreat(NFSFilePath + PathUtil.sqbBackPath + dbfDir);
|
|
|
|
|
|
|
|
String newSqbBackUpName = formateStr + Constant.STR_ + bfSqbName + Constant.STR_ + formateString + Constant.STR_ + version + Constant.STR_SQB;
|
|
|
|
|
|
|
|
//sqb源文件复制到备份文件夹,再重命名
|
|
|
|
|
|
|
|
FileUtil.copyFile(sqbPathName, NFSFilePath + PathUtil.sqbBackPath + dbfDir + File.separator + newSqbBackUpName);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//获取生成SQB的zlib的文件名
|
|
|
|
|
|
|
|
String zlibFileNameMd5Sqb = FileUtil.zlibFileName(NFSFilePath + PathUtil.sqbPath + dbfDir, zlibSqbName.replace(Constant.STR_ZLIB, Constant.NULL_STRING));
|
|
|
|
|
|
|
|
log.info("[uuid:{}]获取zlib的文件名称为:{}", uuid, zlibFileNameMd5Sqb);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//更新CMS_NAME_TABLE_AUTO_JAVA表中的下发类型
|
|
|
|
|
|
|
|
UpdateWrapper<NameTableAuto> updateWrapper = new UpdateWrapper<>();
|
|
|
|
|
|
|
|
//ISHIGHWAY=1,高速
|
|
|
|
|
|
|
|
updateWrapper.eq("ISHIGHWAY", 1);
|
|
|
|
|
|
|
|
String basicType = "";
|
|
|
|
|
|
|
|
switch (protocolType) {
|
|
|
|
|
|
|
|
case Constant.STR_3501:
|
|
|
|
|
|
|
|
updateWrapper.set("BLACKFLAG", Integer.parseInt(protocolType));
|
|
|
|
//更新自动下发分中心相应状态
|
|
|
|
//更新自动下发分中心相应状态
|
|
|
|
nameTableAutoMapper.update(null, updateWrapper);
|
|
|
|
nameTableAutoMapper.update(null, updateWrapper);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case Constant.STR_920:
|
|
|
|
case Constant.STR_3601:
|
|
|
|
updateWrapper.set("EMERCARINCFLAG", Integer.parseInt(protocolType));
|
|
|
|
updateWrapper.set("BLACKINCFLAG", Integer.parseInt(protocolType));
|
|
|
|
//更新自动下发分中心相应状态
|
|
|
|
//更新自动下发分中心相应状态
|
|
|
|
nameTableAutoMapper.update(null, updateWrapper);
|
|
|
|
nameTableAutoMapper.update(null, updateWrapper);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|