删除无用代码

This commit is contained in:
liuchengqian 2022-07-06 11:55:00 +08:00
parent d422fc3a4a
commit 15cbce2cc2
20 changed files with 58 additions and 992 deletions

View File

@ -68,9 +68,6 @@ public class FirePointServiceImpl implements FirePointService {
@Resource
private FireTaskDao fireTaskDao;
@Resource
private JdbcUtils jdbcUtils;
@Resource
private FireTaskPhotoDao fireTaskPhotoDao;

View File

@ -1,195 +0,0 @@
package com.xkrs.utils;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.http.HttpEntity;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
public class AddressUtils {
private static final Logger log = LoggerFactory.getLogger(AddressUtils.class);
private static final String USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36";
/**
* 获取指定经纬度的地理位置
*
* @param latitude 纬度
* @param longitude 经度
* @return
*/
public static String getLocal(String latitude, String longitude) {
String ok = "ok";
String msg = "msg";
String info = getAdd(latitude, longitude);
ObjectMapper mapper = new ObjectMapper();
JsonNode node = null;
try {
node = mapper.readTree(info);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
assert node != null;
String province = null;
String city = null;
String county = null;
String road = null;
String address = null;
if (ok.equals(node.path(msg).asText())) {
province = node.path("result").path("addressComponent").path("province").asText();
city = node.path("result").path("addressComponent").path("city").asText();
county = node.path("result").path("addressComponent").path("county").asText();
road = node.path("result").path("addressComponent").path("road").asText();
address = node.path("result").path("addressComponent").path("address").asText();
}
String fireAddress = province + city + county + road + address;
return fireAddress;
}
/**
* 根据经纬度获取位置信息
*
* @param latitude 纬度
* @param longitude 经度
* @return
*/
public static String getAdd(String latitude, String longitude) {
// 读取成功标志
boolean isSuccess = false;
// 重复次数
int count = 10;
ObjectMapper mapper = new ObjectMapper();
Map<String, String> paramMap = new HashMap<>(3);
paramMap.put("lon", longitude);
paramMap.put("lat", latitude);
paramMap.put("ver", "1");
String paramStr = null;
try {
paramStr = mapper.writeValueAsString(paramMap);
} catch (JsonProcessingException e) {
log.error("转json失败,{}", (Object) e.getStackTrace());
}
String url = String.format("http://api.tianditu.gov.cn/geocoder?type=geocode&tk=5a1d34815475f88e6d8802da6be832ae&postStr=%s", paramStr);
// 创建http对象
RequestConfig defaultRequestConfig = RequestConfig.custom().setSocketTimeout(60000).setConnectTimeout(60000).setConnectionRequestTimeout(60000).build();
CloseableHttpClient client = HttpClients.custom().setDefaultRequestConfig(defaultRequestConfig).build();
// 创建并设置URI
URIBuilder uri = null;
// 创建Get请求
HttpGet get = null;
try {
URL url1 = new URL(url);
URI uri1 = new URI(url1.getProtocol(), url1.getHost(), url1.getPath(), url1.getQuery(), null);
uri = new URIBuilder(uri1);
get = new HttpGet(uri.build());
// 设置请求头
setGet(get);
} catch (URISyntaxException | MalformedURLException e) {
log.info("错误{}", (Object) e.getStackTrace());
}
//发送请求
HttpEntity entity = null;
InputStream is = null;
BufferedReader br = null;
// 创建响应对象
CloseableHttpResponse response = null;
String line;
String sLine = null;
String json = null;
while (!isSuccess && count > 0) {
try {
response = client.execute(get);
// 获取请求结果
if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
log.info("实时定位数据未请求成功");
count--;
//close(is, br, response, client);
continue;
}
entity = response.getEntity();
is = entity.getContent();
br = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8));
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line);
}
sLine = sb.toString();
sLine = sLine.substring(sLine.indexOf("{"));
//使用ObjectMapper对象对 User对象进行转换
try {
json = mapper.writeValueAsString(sLine);
} catch (JsonProcessingException e) {
log.info("json字符串转化异常{}", (Object) e.getStackTrace());
}
isSuccess = true;
} catch (ClientProtocolException e) {
log.info("请求超时等问题:{}", (Object) e.getStackTrace());
} catch (IOException e) {
log.info("I/O问题:{}", (Object) e.getStackTrace());
} finally {
close(is, br, response, client);
}
}
return sLine;
}
private static void close(InputStream is, BufferedReader br, CloseableHttpResponse response, CloseableHttpClient client) {
try {
if (null != is) {
is.close();
}
if (null != br) {
br.close();
}
if (null != response) {
response.close();
}
if (null != client) {
client.close();
}
} catch (IOException e) {
log.info("IO错误{}", (Object) e.getStackTrace());
}
}
private static HttpGet setGet(HttpGet get) {
get.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
get.setHeader("Accept-Encoding", "gzip, deflate");
get.setHeader("Accept-Language", "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6");
get.setHeader("Connection", "keep-alive");
get.setHeader("Cache-Control", "no-cache");
get.setHeader("Upgrade-Insecure-Requests", "1");
get.setHeader("User-Agent", USER_AGENT);
return get;
}
public static void main(String[] args) {
String latAndLng = getLocal("36.89", "115.90");
System.out.println(latAndLng);
}
}

View File

@ -1,73 +0,0 @@
package com.xkrs.utils;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Supplier;
/**
* @author xkrs
*/
public class BeanUtils {
/**
* 缓存BeanCopier 对象 提升性能
*/
private static final ConcurrentHashMap<String, org.springframework.cglib.beans.BeanCopier> BEAN_COPIER_MAP = new ConcurrentHashMap<>();
/**
* Bean属性复制工具方法
* @param sources 原始集合
* @param supplier: 目标类::new(eg: UserVO::new)
*/
public static <S, T> List<T> cgLibCopyList(List<S> sources, Supplier<T> supplier) {
List<T> list = new ArrayList<>(sources.size());
org.springframework.cglib.beans.BeanCopier beanCopier = null;
for (S source : sources) {
T t = supplier.get();
if (beanCopier == null) {
beanCopier = getBeanCopier(source.getClass(), t.getClass());
}
beanCopier.copy(source, t, null);
list.add(t);
}
return list;
}
/**
* Bean属性复制工具方法
* @param source 目标对象
* @param supplier: 目标类::new(eg: UserVO::new)
*/
public static <T> T cgLibCopyBean(Object source, Supplier<T> supplier) {
T t = supplier.get();
getBeanCopier(source.getClass(), t.getClass()).copy(source, t, null);
return t;
}
/**
* 获取BeanCopier对象 如果缓存中有从缓存中获取 如果没有则新创建对象并加入缓存
* @param sourceClass
* @param targetClass
* @return
*/
private static org.springframework.cglib.beans.BeanCopier getBeanCopier(Class<?> sourceClass, Class<?> targetClass) {
String key = getKey(sourceClass.getName(), targetClass.getName());
org.springframework.cglib.beans.BeanCopier beanCopier;
beanCopier = BEAN_COPIER_MAP.get(key);
if (beanCopier == null) {
beanCopier = org.springframework.cglib.beans.BeanCopier.create(sourceClass, targetClass, false);
BEAN_COPIER_MAP.put(key, beanCopier);
}
return beanCopier;
}
/**
* 生成缓存key
*/
private static String getKey(String sourceClassName, String targetClassName) {
return sourceClassName + targetClassName;
}
}

View File

@ -1,12 +0,0 @@
package com.xkrs.utils;
public class BroadcastUtils {
private BroadcastUtils() {
}
// public static void send(String firePointStreetCode, String firePointAddress) {
//
// }
}

View File

@ -5,172 +5,6 @@ package com.xkrs.utils;
*/
public interface CommonConstant {
/**
* 正常状态
*/
public static final String STATUS_NORMAL = "0";
/**
* 禁用状态
*/
public static final String STATUS_DISABLE = "1";
/**
* 删除标志
*/
public static final String DEL_FLAG_1 = "1";
/**
* 未删除
*/
public static final String DEL_FLAG_0 = "0";
/**
* 系统日志类型 登录
*/
public static final int LOG_TYPE_1 = 1;
/**
* 系统日志类型 操作
*/
public static final int LOG_TYPE_2 = 2;
/**
* 操作日志类型 查询
*/
public static final int OPERATE_TYPE_1 = 1;
/**
* 操作日志类型 添加
*/
public static final int OPERATE_TYPE_2 = 2;
/**
* 操作日志类型 更新
*/
public static final int OPERATE_TYPE_3 = 3;
/**
* 操作日志类型 删除
*/
public static final int OPERATE_TYPE_4 = 4;
/**
* 操作日志类型 倒入
*/
public static final int OPERATE_TYPE_5 = 5;
/**
* 操作日志类型 导出
*/
public static final int OPERATE_TYPE_6 = 6;
/** {@code 500 Server Error} (HTTP/1.0 - RFC 1945) */
public static final Integer SC_INTERNAL_SERVER_ERROR_500 = 500;
public static final Integer SC_INTERNAL_SERVER_ERROR_501 = 501;
public static final Integer SC_INTERNAL_SERVER_ERROR_502 = 502;
/** {@code 200 OK} (HTTP/1.0 - RFC 1945) */
public static final Integer SC_OK_200 = 200;
public static final Integer SC_OK_201 = 201;
public static final Integer SC_OK_202 = 202;
public static final Integer SC_OK_300 = 300;
public static final Integer SC_OK_301 = 301;
/**访问权限认证未通过 510*/
public static final Integer SC_JEECG_NO_AUTHZ=510;
/** 登录用户Shiro权限缓存KEY前缀 */
public static String PREFIX_USER_SHIRO_CACHE = "shiro:cache:org.jeecg.modules.shiro.authc.ShiroRealm.authorizationCache:";
/** 登录用户Token令牌缓存KEY前缀 */
public static final String PREFIX_USER_TOKEN = "prefix_user_token_";
/** Token缓存时间3600秒即一小时 */
public static final int TOKEN_EXPIRE_TIME = 3600;
/**
* 0一级菜单
*/
public static final Integer MENU_TYPE_0 = 0;
/**
* 1子菜单
*/
public static final Integer MENU_TYPE_1 = 1;
/**
* 2按钮权限
*/
public static final Integer MENU_TYPE_2 = 2;
/**通告对象类型USER:指定用户ALL:全体用户)*/
public static final String MSG_TYPE_UESR = "USER";
public static final String MSG_TYPE_ALL = "ALL";
/**发布状态0未发布1已发布2已撤销*/
public static final String NO_SEND = "0";
public static final String HAS_SEND = "1";
public static final String HAS_CANCLE = "2";
/**阅读状态0未读1已读*/
public static final String HAS_READ_FLAG = "1";
public static final String NO_READ_FLAG = "0";
/**优先级L低M中H高*/
public static final String PRIORITY_L = "L";
public static final String PRIORITY_M = "M";
public static final String PRIORITY_H = "H";
/**
* 短信模板方式 0 .登录模板1.注册模板2.忘记密码模板
* 3 信息变更
*/
public static final String SMS_TPL_TYPE_0 = "0";
public static final String SMS_TPL_TYPE_1 = "1";
public static final String SMS_TPL_TYPE_2 = "2";
public static final String SMS_TPL_TYPE_3 = "3";
/**
* 状态(0无效1有效)
*/
public static final String STATUS_0 = "0";
public static final String STATUS_1 = "1";
/**
* 同步工作流引擎1同步0不同步
*/
public static final Integer ACT_SYNC_1 = 1;
public static final Integer ACT_SYNC_0 = 0;
/**
* 消息类型1:通知公告2:系统消息
*/
public static final String MSG_CATEGORY_1 = "1";
public static final String MSG_CATEGORY_2 = "2";
/**
* 是否配置菜单的数据权限 1是0否
*/
public static final Integer RULE_FLAG_0 = 0;
public static final Integer RULE_FLAG_1 = 1;
/**
* 是否用户已被冻结 1正常(解冻) 2冻结
*/
public static final String USER_UNFREEZE = "1";
public static final String USER_FREEZE = "2";
/**
* 文件上传类型本地localMiniominio阿里云alioss
*/
public static final String UPLOAD_TYPE_LOCAL = "local";
public static final String UPLOAD_TYPE_MINIO = "minio";
public static final String UPLOAD_TYPE_OSS = "alioss";
/**
* 收入明细 1:收入 2:支出
*/
public static final Integer USER_IDENTITY_1 = 1;
public static final Integer USER_IDENTITY_2 = 2;
/**
* 高德天气URLkey
*/

View File

@ -1,54 +0,0 @@
package com.xkrs.utils;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
/**
* 复制源对象的属性值
* @Author tajochen
*/
public class CopyPropertiesUtil {
/**
* 复制源对象和目标对象的属性值
* @param source 源对象
* @param target 目标对象
* @throws SecurityException
* @throws IllegalArgumentException
*/
public static void copy(Object source, Object target) {
//得到对象的Class
Class sourceClass = source.getClass();
Class targetClass = target.getClass();
//得到Class对象的所有属性
Field[] sourceFields = sourceClass.getDeclaredFields();
Field[] targetFields = targetClass.getDeclaredFields();
for(Field sourceField : sourceFields){
//属性名
String name = sourceField.getName();
//属性类型
Class type = sourceField.getType();
String methodName = name.substring(0, 1).toUpperCase() + name.substring(1);
try{
//得到属性对应get方法
Method getMethod = sourceClass.getMethod("get" + methodName);
//执行源对象的get方法得到属性值
Object value = getMethod.invoke(source);
//目标对象的属性名
for(Field targetField : targetFields){
String targetName = targetField.getName();
if(targetName.equals(name)){
//属性对应的set方法
Method setMethod = targetClass.getMethod("set" + methodName, type);
//执行目标对象的set方法
setMethod.invoke(target, value);
}
}
}
catch (Exception e){
e.printStackTrace();
}
}
}
}

View File

@ -9,7 +9,6 @@ public class DateTimeUtils {
public final static DateTimeFormatter DATE_TIME_FORMATTER_1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
public final static DateTimeFormatter DATE_TIME_FORMATTER_2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
public static String localDateTimeToString(LocalDateTime localDateTime) {
return DATE_TIME_FORMATTER_1.format(localDateTime);
}

View File

@ -1,36 +0,0 @@
package com.xkrs.utils;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.List;
/**
* @author XinYi Song
*/
public class EntityManagerUtil {
/**
* 把List<Object[]>转换成List<T>
*/
public static <T> List<T> objectToBean(List<Object[]> objList, Class<T> clz) throws Exception{
if (objList==null || objList.size()==0) {
return null;
}
Class<?>[] cz = null;
Constructor<?>[] cons = clz.getConstructors();
for (Constructor<?> ct : cons) {
Class<?>[] clazz = ct.getParameterTypes();
if (objList.get(0).length == clazz.length) {
cz = clazz;
break;
}
}
List<T> list = new ArrayList<T>();
for (Object[] obj : objList) {
Constructor<T> cr = clz.getConstructor(cz);
list.add(cr.newInstance(obj));
}
return list;
}
}

View File

@ -37,12 +37,6 @@ public class FileFastDfs {
@Value("${dfs.port}")
public String port;
// @Value("${dfs.upload}")
// public String upload;
//
// @Value("${dfs.delete}")
// public String delete;
@Resource
private KafkaTemplate<String, Object> kafkaTemplate;
private static final Logger log = LoggerFactory.getLogger(FileFastDfs.class);
@ -52,6 +46,7 @@ public class FileFastDfs {
/**
* 文件上传到dfs服务器
*
* @param file
* @param dir
* @return
@ -61,8 +56,7 @@ public class FileFastDfs {
InputStreamResource isr = null;
try {
file1 = multipartFileToFile(file);
isr=new InputStreamResource(file.getInputStream(),
file.getOriginalFilename());
isr = new InputStreamResource(file.getInputStream(), file.getOriginalFilename());
} catch (IOException e) {
log.info("IO错误{}", (Object) e.getStackTrace());
} catch (Exception e) {
@ -84,9 +78,7 @@ public class FileFastDfs {
String name = file1.getName();
System.err.println("file:" + file1.getName());
paramMap.put("scene", name.substring(name.lastIndexOf(".") + 1));
paramMap.put("fileName", System.currentTimeMillis() + ""
+ Objects.requireNonNull(file.getOriginalFilename())
.substring(file.getOriginalFilename().lastIndexOf(".")));
paramMap.put("fileName", System.currentTimeMillis() + "" + Objects.requireNonNull(file.getOriginalFilename()).substring(file.getOriginalFilename().lastIndexOf(".")));
System.err.println(paramMap);
//
String result = HttpUtil.post("http://" + ip + ":" + port + "/group1/upload", paramMap);
@ -392,6 +384,7 @@ public class FileFastDfs {
/**
* 删除文件 path
*
* @param filePath 文件路径 上传返回的path
* @return
*/
@ -429,6 +422,7 @@ public class FileFastDfs {
/**
* 删除文件 path
*
* @param md5 上传返回的md5
* @return
*/
@ -465,9 +459,6 @@ public class FileFastDfs {
}
public static void main(String[] args) {
File file = new File("C:\\Users\\dong\\Desktop\\遥感影像\\遥感影像\\GF1\\GF1_PMS1_E116.8_N36.6_20190528_L1A0004026837-MSS1_ORTHO_MS.tif");
FileFastDfs fileFastDfs = new FileFastDfs();

View File

@ -20,6 +20,7 @@ import static com.xkrs.utils.HttpClientUtils.sendHttpsGet;
* @description
*/
public class GaoDeApiUtil {
private static final Logger log = LoggerFactory.getLogger(GaoDeApiUtil.class);
/**

View File

@ -1,40 +0,0 @@
package com.xkrs.utils;
import java.security.MessageDigest;
/**
* md5加密解密工具
* @author tajochen
*/
public class HashUtil {
/**
* MD5加密
*
* @param password
* @return
*/
public static String md5Encode(String password) {
MessageDigest md5 = null;
try {
md5 = MessageDigest.getInstance("MD5");
} catch (Exception e) {
throw new RuntimeException(e);
}
char[] charArray = password.toCharArray();
byte[] byteArray = new byte[charArray.length];
for (int i = 0; i < charArray.length; i++){
byteArray[i] = (byte) charArray[i];
}
byte[] md5Bytes = md5.digest(byteArray);
StringBuilder hexValue = new StringBuilder();
for (byte md5Byte : md5Bytes) {
int val = ((int) md5Byte) & 0xff;
if (val < 16) {
hexValue.append("0");
}
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
}

View File

@ -37,6 +37,7 @@ public class HttpClientUtils {
/**
* 发送http+get请求
*
* @param url
* @return 返回结果
* @throws Exception
@ -48,6 +49,7 @@ public class HttpClientUtils {
/**
* 发送https+get请求绕过证书
*
* @param url 请求地址
* @return 返回结果
* @throws Exception
@ -55,18 +57,14 @@ public class HttpClientUtils {
public static String sendHttpsGet(String url) throws Exception {
// CloseableHttpClient httpClient = createIgnoreVerifyHttpClient();
//CloseableHttpClient httpClient = HttpClients.createDefault();
SSLConnectionSocketFactory scsf = new SSLConnectionSocketFactory(
SSLContexts.custom()
.loadTrustMaterial(null, new TrustSelfSignedStrategy())
.build(),
NoopHostnameVerifier.INSTANCE
);
SSLConnectionSocketFactory scsf = new SSLConnectionSocketFactory(SSLContexts.custom().loadTrustMaterial(null, new TrustSelfSignedStrategy()).build(), NoopHostnameVerifier.INSTANCE);
CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(scsf).build();
return doGet(url, httpClient);
}
/**
* 发送http+post请求
*
* @param url 请求地址
* @param params 请求参数 json字符串
* @return 返回结果
@ -79,6 +77,7 @@ public class HttpClientUtils {
/**
* 发送https+post请求
*
* @param url 请求地址
* @param params 请求参数 json字符串
* @return 返回结果
@ -87,12 +86,7 @@ public class HttpClientUtils {
public static String sendHttpsPost(String url, String params) throws Exception {
// CloseableHttpClient httpClient = createIgnoreVerifyHttpClient();
// CloseableHttpClient httpClient = null;
SSLConnectionSocketFactory scsf = new SSLConnectionSocketFactory(
SSLContexts.custom()
.loadTrustMaterial(null, new TrustSelfSignedStrategy())
.build(),
NoopHostnameVerifier.INSTANCE
);
SSLConnectionSocketFactory scsf = new SSLConnectionSocketFactory(SSLContexts.custom().loadTrustMaterial(null, new TrustSelfSignedStrategy()).build(), NoopHostnameVerifier.INSTANCE);
CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(scsf).build();
// CloseableHttpClient httpClient = HttpClients.createDefault();
return doPost(httpClient, url, params);
@ -162,15 +156,11 @@ public class HttpClientUtils {
// 实现一个X509TrustManager接口
X509TrustManager trustManager = new X509TrustManager() {
@Override
public void checkClientTrusted(
X509Certificate[] paramArrayOfX509Certificate,
String paramString) throws CertificateException {
public void checkClientTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString) throws CertificateException {
}
@Override
public void checkServerTrusted(
X509Certificate[] paramArrayOfX509Certificate,
String paramString) throws CertificateException {
public void checkServerTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString) throws CertificateException {
}
@Override
@ -179,10 +169,7 @@ public class HttpClientUtils {
}
};
sslContext.init(null, new TrustManager[]{trustManager}, null);
Registry<ConnectionSocketFactory> socketFactoryRegistry =
RegistryBuilder.<ConnectionSocketFactory>create()
.register("http", PlainConnectionSocketFactory.INSTANCE)
.register("https", new SSLConnectionSocketFactory(sslContext)).build();
Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create().register("http", PlainConnectionSocketFactory.INSTANCE).register("https", new SSLConnectionSocketFactory(sslContext)).build();
PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry);
CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(connManager).build();
return httpClient;

View File

@ -4,6 +4,7 @@ import javax.servlet.http.HttpServletRequest;
/**
* IP地址处理工具
*
* @author tajochen
*/
public class IpUtil {

View File

@ -1,40 +0,0 @@
package com.xkrs.utils;
import com.xkrs.model.entity.FireTaskPhoto;
import org.springframework.jdbc.core.BatchPreparedStatementSetter;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
/**
* @author XinYi Song
*/
@Component
public class JdbcUtils {
@Resource
private JdbcTemplate jdbcTemplate;
/**
* jdbcTemplatebatchUpdate增加需自己定义sql需要配置
* @param list
*/
public List<FireTaskPhoto> batchWithJdbcTemplate(List<FireTaskPhoto> list){
String sql = "Insert into fire_task_photo(photo_fire_code,task_photo) values(?,?)";
jdbcTemplate.batchUpdate(sql,new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int i) throws SQLException {
ps.setString(1,list.get(i).getPhotoFireCode());
ps.setString(2,list.get(i).getTaskPhoto());
}
@Override
public int getBatchSize() {
return list.size();
}
});
return list;
}
}

View File

@ -1,21 +0,0 @@
package com.xkrs.utils;
/**
* 数字工具
* @author tajochen
*/
public class NumberUtil {
public static boolean isStrNumeric(String str) {
if(str==null||str.length()==0){
return false;
}
for (int i = 0; i < str.length(); i++) {
System.out.println(str.charAt(i));
if (!Character.isDigit(str.charAt(i))) {
return false;
}
}
return true;
}
}

View File

@ -45,70 +45,6 @@ public class ObjectToBeanUtils {
return list;
}
public static <T> List<T> objectToBeans(List<Object[]> objList, Class<T> clz) throws Exception{
if (objList==null || objList.size()==0) {
return null;
}
int length = objList.get(0).length;
log.info("*************>"+length);
Class<?>[] cz = null;
Constructor<?>[] cons = clz.getConstructors();
for (Constructor<?> ct : cons) {
Class<?>[] clazz = ct.getParameterTypes();
if (objList.get(0).length == clazz.length) {
cz = clazz;
break;
}
}
List<T> list = new ArrayList<T>();
log.info("---------->"+objList.get(0));
Constructor<T> cr = clz.getConstructor(cz);
T newInstance = cr.newInstance((Object) objList.get(0));
list.add(newInstance);
return list;
}
public static <T> List<T> castEntity(List<Object[]> list, Class<T> clazz, Object model) {
List<T> returnList = new ArrayList<T>();
if (list.isEmpty()) {
return returnList;
}
//获取每个数组集合的元素个数
Object[] co = list.get(0);
//获取当前实体类的属性名属性值属性类别
List<Map> attributeInfoList = getFiledsInfo(model);
//创建属性类别数组
Class[] c2 = new Class[attributeInfoList.size()];
//如果数组集合元素个数与实体类属性个数不一致则发生错误
if (attributeInfoList.size() != co.length) {
return returnList;
}
//确定构造方法
for (int i = 0; i < attributeInfoList.size(); i++) {
c2[i] = (Class) attributeInfoList.get(i).get("type");
}
try {
for (Object[] o : list) {
Constructor<T> constructor = clazz.getConstructor(c2);
returnList.add(constructor.newInstance(o));
}
} catch (Exception ex) {
log.info("实体数据转化为实体类发生异常:异常信息:{}", ex.getMessage());
return returnList;
}
return returnList;
}
/**
* 根据属性名获取属性值
*

View File

@ -1,37 +0,0 @@
package com.xkrs.utils;
import org.geolatte.geom.Geometry;
import org.geolatte.geom.Point;
import org.geolatte.geom.codec.Wkt;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 开源Gis工具集
* @author tajochen
*/
public class OpenGeoUtil {
Logger logger = LoggerFactory.getLogger(OpenGeoUtil.class);
/**
* wkt文本转为点数据
* @param wkt
* @return
*/
public static Point wktStrToPoint(String wkt) {
Point point = (Point) Wkt.fromWkt(wkt);
return point;
}
/**
* wkt文本转geometry
* @param wkt
* @return
*/
public static Geometry wktStrToGeom(String wkt) {
Geometry geom = Wkt.fromWkt(wkt);
return geom;
}
}

View File

@ -24,6 +24,7 @@ public class PhotoUtil {
/**
* 上传单张图片
*
* @param imgFile
* @return
* @throws IOException
@ -59,6 +60,7 @@ public class PhotoUtil {
/**
* 以文件形式批量上传图片
*
* @param files
* @return
* @throws IOException
@ -99,9 +101,9 @@ public class PhotoUtil {
}
/**
* 删除本地或服务器储存的图片
*
* @param path
* @return
*/
@ -127,6 +129,7 @@ public class PhotoUtil {
/**
* 通过图片路径解析 上传保存
*
* @param listImgSrc
* @return
*/
@ -171,6 +174,7 @@ public class PhotoUtil {
/**
* 删除本地文件夹图片
*
* @param url
*/
public static void deleteImage(String url) {

View File

@ -1,68 +1,16 @@
package com.xkrs.utils;
import java.util.Random;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 随机字符串产生工具
*
* @author tajochen
*/
public class RandomUtil {
/**
* 获取随机字母数字组合
* @param length
* 字符串长度
* @return
*/
public static String getRandomCharAndNumr(Integer length) {
String str = "";
StringBuilder strBuffer = new StringBuilder();
Random random = new Random();
for (int i = 0; i < length; i++) {
boolean b = random.nextBoolean();
// 字符串
if (b) {
//取得65大写字母还是97小写字母
int choice = random.nextBoolean() ? 65 : 97;
strBuffer.append((char) (choice + random.nextInt(26)));
} else {
// 数字
strBuffer.append(random.nextInt(10));
}
}
str = strBuffer.toString();
return str;
}
/**
* 验证随机字母数字组合是否纯数字与纯字母
* @param str
* @return true false
*/
public static boolean isRandomUsable(String str) {
// String regExp =
// "^[A-Za-z]+(([0-9]+[A-Za-z0-9]+)|([A-Za-z0-9]+[0-9]+))|[0-9]+(([A-Za-z]+[A-Za-z0-9]+)|([A-Za-z0-9]+[A-Za-z]+))$";
String regExp = "^([0-9]+)|([A-Za-z]+)$";
Pattern pat = Pattern.compile(regExp);
Matcher mat = pat.matcher(str);
return mat.matches();
}
/**
* 生成UUID
* @return
*/
public static String getUuid32(){
String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase();
return uuid;
//  return UUID.randomUUID().toString().replace("-", "").toLowerCase();
}
/**
* 随机生成六位数
* @return
*/
public static int returnCode() {
Random rand = new Random();

View File

@ -1,124 +0,0 @@
package com.xkrs.utils;
/**
* 基于Twitter开源的分布式ID生成算法snowflake
* @author tajochen
**/
public class SnowFlakeUtil {
/**
* 起始时间戳
* 2018-01-01 00:00:00
*/
private final static long START_STMP = 1514736000L;
/**
* 序列在id中占用的位数
*/
private final static long SEQUENCE_BIT = 12L;
/**
* 机器标识占用的位数
*/
private final static long MACHINE_BIT = 5L;
/**
* 数据中心占用的位数
*/
private final static long DATACENTER_BIT = 5L;
/**
* 每一部分的最大值
*/
private final static long MAX_DATACENTER_NUM = -1L ^ (-1L << DATACENTER_BIT);
private final static long MAX_MACHINE_NUM = -1L ^ (-1L << MACHINE_BIT);
private final static long MAX_SEQUENCE = -1L ^ (-1L << SEQUENCE_BIT);
/**
* 每一部分向左的位移
*/
private final static long MACHINE_LEFT = SEQUENCE_BIT;
private final static long DATACENTER_LEFT = SEQUENCE_BIT + MACHINE_BIT;
private final static long TIMESTMP_LEFT = DATACENTER_LEFT + DATACENTER_BIT;
/**
* 数据中心
*/
private long datacenterId;
/**
* 机器标识
*/
private long machineId;
/**
* 序列号
*/
private long sequence = 0L;
/**
* 上一次时间戳
*/
private long lastStmp = -1L;
public SnowFlakeUtil(long datacenterId, long machineId) {
if (datacenterId > MAX_DATACENTER_NUM || datacenterId < 0) {
throw new IllegalArgumentException("data center id can't be greater than MAX_DATACENTER_NUM or less than 0");
}
if (machineId > MAX_MACHINE_NUM || machineId < 0) {
throw new IllegalArgumentException("machine id can't be greater than MAX_MACHINE_NUM or less than 0");
}
this.datacenterId = datacenterId;
this.machineId = machineId;
}
/**
* 产生下一个ID
* @return
*/
public synchronized long nextId() {
long currStmp = getNewstmp();
if (currStmp < lastStmp) {
throw new RuntimeException("Clock moved backwards. Refusing to generate id");
}
if (currStmp == lastStmp) {
//相同毫秒内序列号自增
sequence = (sequence + 1) & MAX_SEQUENCE;
//同一毫秒的序列数已经达到最大
if (sequence == 0L) {
currStmp = getNextMill();
}
} else {
//不同毫秒内序列号置为0
sequence = 0L;
}
lastStmp = currStmp;
//时间戳部分
return (currStmp - START_STMP) << TIMESTMP_LEFT
//数据中心部分
| datacenterId << DATACENTER_LEFT
//机器标识部分
| machineId << MACHINE_LEFT
//序列号部分
| sequence;
}
private long getNextMill() {
long mill = getNewstmp();
while (mill <= lastStmp) {
mill = getNewstmp();
}
return mill;
}
private long getNewstmp() {
return System.currentTimeMillis();
}
public static void main(String[] args) {
SnowFlakeUtil snowFlake = new SnowFlakeUtil(5, 5);
//测试次数
int testTimes = 10000;
long start = System.currentTimeMillis();
for (int i = 0; i < testTimes; i++) {
System.out.println(snowFlake.nextId());
}
System.out.println(System.currentTimeMillis() - start);
}
}