main
gaoshuguang 1 year ago
parent 92507f4e99
commit a21472dd37

@ -19,6 +19,7 @@ public class Constant {
public static final String STR_ZERO = "0";
public static final Integer ZERO = 0;
public static final String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
public static final String MMDDHHMMSSSSS = "MMddHHmmssSss";
public static final String YYYYMMDD = "yyyyMMdd";
public static final String YYMMDD = "yyMMdd";
public static final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";

@ -208,9 +208,12 @@ public class FileUtil {
if (null != array && array.length > 0) {
for (File value : array) {
//如果是文件
if (value.isFile() && value.getName().contains(str)) {
fileName = value.getName();
break;
if (value.isFile() && value.getName().contains(str) && value.getName().toLowerCase().endsWith(".zlib")) {
if(value.getName().contains(MD5Util.getMd5ByFile(value))){
fileName = value.getName();
break;
}
}
}
}
@ -334,56 +337,12 @@ public class FileUtil {
public static void main(String[] args) throws IOException {
String s = zlibFileName("D:\\software\\apache-tomcat-9.0.68\\uploadfiles\\ParamDownload\\dbf\\WriteDbf\\CardBlack",
"TB_CARDBLACKALL_20230223021109_230205103");
String s = zlibFileName("D:\\桌面",
"ALLROADMINFEE_20240823001_604");
System.out.println(s);
//List<Long> stringList = folderNames("D:\\桌面\\123test");
//System.out.println(stringList);
//stringList.sort(Comparator.naturalOrder());
//System.out.println(Collections.max(stringList));
//System.out.println((stringList).get(stringList.size() - 2));
//fileCopyReName("D:\\桌面\\DbfTest\\testdbf.txt", "D:\\桌面\\DbfTest\\testdbf222.txt");
//
//String s = "D:\\桌面\\zlibTest\\新建文件夹";
//List<FileInfo> fileInfos = new ArrayList<>();
//obtainFileInfo(s, fileInfos);
//System.out.println(fileInfos);
//deleteOverdueFile(fileInfos,10);
//File file = new File("E:\\ftp文件");
//File[] files = file.listFiles();
//int days = 1;
//for (File file1 : files) {
// if (!file1.isDirectory()) {
// String file1Name = file1.getName();
// // 根据文件的绝对路径获取Path
// Path path = Paths.get(file1.getAbsolutePath());
// // 根据path获取文件的基本属性类
// BasicFileAttributes attrs = Files.readAttributes(path, BasicFileAttributes.class);
// // 从基本属性类中获取文件创建时间
// FileTime fileTime = attrs.creationTime();
// // 将文件创建时间转成毫秒
// long millis = fileTime.toMillis();
// //获取当前时间毫秒值
// Date date = new Date();
// long nowMillis = date.getTime();
// long l = (nowMillis - millis) / (1000L * 60 * 60 * 24);
// System.out.println(l);
// if (l > days&&file1Name.contains(".doc")) {
// System.out.println("超期");
// file1.delete();
// } else {
// System.out.println("没有超期或不是.doc文件");
//
// }
// }
//
//}
}
@ -918,4 +877,5 @@ public class FileUtil {
}
}

@ -133,9 +133,9 @@ public class DbSwitchServiceImpl implements DbSwitchService {
log.info("[uuid:{}]-开始执行CMS_USERPRMIS_TABLE表SQL", uuid);
String impSql="";
if(Constant.STR_ONE.equals(targetDbType)){
impSql= "update CMS_USERPRMIS_TABLE set MENUTYPE=(select convert(varchar,(PRMISFLAG+1))+'-' from CMS_PRMIS_TABLE where PRMISID=CMS_USERPRMIS_TABLE.PRMISID),ORGTYPE=1";
impSql= "update CMS_USERPRMIS_TABLE set MENUTYPE=(select convert(varchar,(ISNULL(PRMISFLAG, 1)+1))+'-' from CMS_PRMIS_TABLE where PRMISID=CMS_USERPRMIS_TABLE.PRMISID),ORGTYPE=1 where MENUTYPE is null or MENUTYPE=''";
}else {
impSql="UPDATE CMS_USERPRMIS_TABLE SET MENUTYPE = ( SELECT CONCAT( PRMISFLAG + 1, '-') FROM CMS_PRMIS_TABLE WHERE PRMISID = CMS_USERPRMIS_TABLE.PRMISID ),ORGTYPE = 1";
impSql="UPDATE CMS_USERPRMIS_TABLE SET MENUTYPE = ( SELECT CONCAT( ifnull(PRMISFLAG,1) + 1, '-') FROM CMS_PRMIS_TABLE WHERE PRMISID = CMS_USERPRMIS_TABLE.PRMISID ),ORGTYPE = 1 where MENUTYPE is null or MENUTYPE=''";
}
DatabaseUtil.updateSql(targetDriver,targetUrl, logName, logPw, impSql);
String publicSql = "UPDATE CMS_USERPRMIS_TABLE SET MENUTYPE = '2-' WHERE MENUTYPE IS NULL";

@ -38,8 +38,8 @@ public class CmsDataSynchro {
private String selcells;
@TableField("NEXTDT")
private Date nextDt;
@TableField("INTERVAL")
private Integer interval;
//@TableField("INTERVAL")
//private Integer interval;
@TableField("DOWNTYPE")
private Integer downType;
@TableField("TRIGGERFLAG")

@ -17,6 +17,7 @@ import com.nm.gsgl.common.utils.HttpSendUtil;
import com.nm.gsgl.common.utils.MD5Util;
import com.nm.gsgl.common.utils.NetUtils;
import com.nm.gsgl.common.utils.PathUtil;
import com.nm.gsgl.common.utils.PropertiesUtil;
import com.nm.gsgl.common.utils.UuidUtil;
import com.nm.gsgl.common.utils.ZLibUtils;
import com.nm.gsgl.entity.CmsDataSynchro;
@ -314,12 +315,21 @@ public class ManualIssueServiceImpl implements ManualIssueService {
log.info("[uuid:{}]-开始手动下发最小费额文件", uuid);
CmsParameter cmsParameter = cmsParameterMapper.selectById(Constant.INT_59);
Integer paraId = cmsParameter.getParaId();
//文件类型
String paraName = cmsParameter.getParaName();
//查询当前最新版本号
String verNo = cmsParameter.getQgCsVerNo();
String isDocker = PropertiesUtil.getValue("isDocker");
//分中心WEB地址
String ip;
if (Constant.STR_ONE.equals(isDocker)) {
ip = PropertiesUtil.getValue("server.ip");
} else {
ip = PathUtil.hostAddress;
}
if (list != null && list.size() > 0) {
for (SetUpTable setUpTable : list) {
//文件类型
String paraName = cmsParameter.getParaName();
if (StringUtils.isNotBlank(setUpTable.getPORTIP())) {
//路段号
Integer roadNo = setUpTable.getROADNO();
@ -337,8 +347,8 @@ public class ManualIssueServiceImpl implements ManualIssueService {
if (FileUtil.fileExists(DownloadPath + File.separator + fileName)) {
//是否压缩
int isZlib = 1;
//分中心WEB地址
String ip = PathUtil.hostAddress;
////分中心WEB地址
//String ip = PathUtil.hostAddress;
//String ip = "8.142.95.188";
log.info("[uuid:{}]-下发程序ip{},端口号:{}", uuid, ip, tomcatPort);
//ALLROADMINFEE#站编码.SQB0.280.29需要,普通的车道应该还是不带站编码
@ -348,7 +358,7 @@ public class ManualIssueServiceImpl implements ManualIssueService {
if (paraName.contains("#")) {
paraName = paraName.split("#")[0] + "#" + roadNo + "#" + staNo + Constant.STR_SQB;
} else {
paraName = paraName.replace(Constant.STR_SQB, "#" + roadNo + "#" + staNo + Constant.STR_SQB);
paraName = paraName.replace(Constant.STR_SQB, "_" + roadNo + "_" + staNo + Constant.STR_SQB);
}
//下载文件地址
@ -431,6 +441,14 @@ public class ManualIssueServiceImpl implements ManualIssueService {
} else {
String isDocker = PropertiesUtil.getValue("isDocker");
//分中心WEB地址
String ip;
if (Constant.STR_ONE.equals(isDocker)) {
ip = PropertiesUtil.getValue("server.ip");
} else {
ip = PathUtil.hostAddress;
}
if (list != null && list.size() > 0) {
for (SetUpTable setUpTable : list) {
if (StringUtils.isNotBlank(setUpTable.getPORTIP())) {
@ -444,8 +462,8 @@ public class ManualIssueServiceImpl implements ManualIssueService {
if (FileUtil.fileExists(DownloadPath + File.separator + fileName)) {
//是否压缩
int isZlib = 1;
//分中心WEB地址
String ip = PathUtil.hostAddress;
////分中心WEB地址
//String ip = PathUtil.hostAddress;
//String ip = "8.142.95.188";
//String ip = "192.168.10.219";
log.info("[uuid:{}]-下发程序ip{},端口号:{}", uuid, ip, tomcatPort);
@ -509,8 +527,14 @@ public class ManualIssueServiceImpl implements ManualIssueService {
//是否压缩
int isZlib = 1;
Date now = new Date();
String isDocker = PropertiesUtil.getValue("isDocker");
//分中心WEB地址
String ip = PathUtil.hostAddress;
String ip;
if (Constant.STR_ONE.equals(isDocker)) {
ip = PropertiesUtil.getValue("server.ip");
} else {
ip = PathUtil.hostAddress;
}
//String ip = "8.142.95.188";
//版本号
String version = DateTimeUtil.getFormateString(now, Constant.YYYYMMDDHHMMSS);
@ -529,6 +553,8 @@ public class ManualIssueServiceImpl implements ManualIssueService {
sqlStr = cmsParameter.getSqlStr();
} else if (Constant.STR_TWO.equals(DBType)) {
sqlStr = cmsParameter.getOraStr();
} else if (Constant.STR_FOUR.equals(DBType)) {
sqlStr = cmsParameter.getOraStr();
}
String newName = fileName.replace(Constant.STR_DBF, Constant.STR_) + version + Constant.STR_ZLIB;
if (StringUtils.isNotBlank(sqlStr) && paraId != 2) {
@ -560,6 +586,10 @@ public class ManualIssueServiceImpl implements ManualIssueService {
Integer staNo = setUpTable.getSTANO();
//paraId=2需要路段号和站编号下发时根据路段号和站编号做替换
if (paraId == 2) {
Date now2 = new Date();
version = DateTimeUtil.getFormateString(now2, Constant.MMDDHHMMSSSSS);
newName = fileName.replace(Constant.STR_DBF, Constant.STR_) + version + Constant.STR_ZLIB;
String newFileName = fileName.replace(Constant.STR_DBF, Constant.STR_) + version + Constant.STR_DBF;
sqlStr = sqlStr.replace("%ROADNO%", String.valueOf(roadNo)).replace("%STANO%", String.valueOf(staNo));
List<Map<String, Object>> mapList = sysMapper.selectList(sqlStr);
CreateDbfUtil.createDbfFile(uuid, paraId, fileName, mapList, DownloadPath);
@ -633,15 +663,15 @@ public class ManualIssueServiceImpl implements ManualIssueService {
});
Optional<ServerInfo> serverInfoOptional = serverInfos.stream().filter(item -> item.getNAME().equals(PathUtil.webName)).findFirst();
//获取分中心/收费站程序的IP
String fzxOrSfzIp="";
String fzxOrSfzIp = ip;
//获取分中心/收费站应用程序端口
String fzxOrSfzPort="0";
String fzxOrSfzPort = tomcatPort;
if (serverInfoOptional.isPresent()) {
fzxOrSfzIp = serverInfoOptional.get().getIP();
fzxOrSfzPort = serverInfoOptional.get().getPORT();
//} else {
// log.error("[uuid:{}]-在NAME_TABLE_DCOM表字段SERVERINFO中未找到程序{}的IP和端口号", uuid, PathUtil.webName);
// throw new PPException(MessageEnum.获取NAME_TABLE_DCOM程序IP端口号失败.getCode(), MessageEnum.获取NAME_TABLE_DCOM程序IP端口号失败.getMessage());
//} else {
// log.error("[uuid:{}]-在NAME_TABLE_DCOM表字段SERVERINFO中未找到程序{}的IP和端口号", uuid, PathUtil.webName);
// throw new PPException(MessageEnum.获取NAME_TABLE_DCOM程序IP端口号失败.getCode(), MessageEnum.获取NAME_TABLE_DCOM程序IP端口号失败.getMessage());
}
// 分中心/收费站文件地址
String staUrl = Constant.HTTP + fzxOrSfzIp + Constant.STR_COLON + fzxOrSfzPort + Constant.STR_SLASH + PathUtil.webName

@ -1,5 +1,10 @@
package com.nm.gsgl.test;
import com.nm.gsgl.common.Constant;
import com.nm.gsgl.common.utils.DateTimeUtil;
import java.util.Date;
/**
* @author: shuguang
* @date: 20230421 16:53
@ -8,16 +13,11 @@ package com.nm.gsgl.test;
public class Test01 {
public static void main(String[] args) {
String s = "user_table";
switch (s.toUpperCase()) {
case "user_table":
System.out.println(s);
break;
case "USER_TABLE":
System.out.println("============");
System.out.println(s);
break;
Date now = new Date();
String version ="4028"+ DateTimeUtil.getFormateString(now, Constant.MMDDHHMMSSSSS);
System.out.println(version);
System.out.println(version.length());
}
}
}

@ -12,3 +12,6 @@
7 2024年06月14日 1.0.6 优化黑名单版本号查询
8 2024年06月19日 1.0.7 优化武俊涛下发的生成的ROADCODE.SQB语句
9 2024年08月02日 1.0.8 token时长读取配置文件tokenOutTime
10 2024年08月08日 1.0.9 将手动下发参数生成的语句兼容MySQL使用CMS_PARAMETER_JAVA原来的ORASTR的字段改成MySQL的查询语句
11 2024年08月22日 1.1.0 下发最小费额文件时增加文件的MD5校验
12 2024年09月05日 1.1.1 修复下发操作人员名单时出现下发的非本站的文件
Loading…
Cancel
Save