package com.zt.common.utils;
|
|
import cn.hutool.core.convert.Convert;
|
import com.alibaba.fastjson.JSONObject;
|
import com.zt.common.entity.MapData;
|
import org.apache.commons.lang3.StringUtils;
|
|
import java.text.NumberFormat;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
|
public class CommonUtils {
|
|
public static String getPercent(Integer diliverNum, Integer queryMailNum) {
|
String percent;
|
// 创建一个数值格式化对象
|
NumberFormat numberFormat = NumberFormat.getInstance();
|
// 设置精确到小数点后2位
|
numberFormat.setMaximumFractionDigits(2);
|
percent = numberFormat.format((float) diliverNum / (float) queryMailNum * 100);
|
return percent;
|
}
|
|
public static String replaceStringSign(String value, String sign) {
|
value = value.replace(",", sign);
|
value = value.replace(";", sign);
|
value = value.replace("、", sign);
|
value = value.replace(";", sign);
|
return value;
|
}
|
|
public static String getValueBykey(Map<String, String> map, String keys) {
|
String result = "";
|
if (StringUtils.isNotBlank(keys)) {
|
keys = replaceStringSign(keys, ",");
|
String[] keyArr = keys.split(",");
|
for (String s : keyArr) {
|
if (StringUtils.isNotBlank(s)) {
|
String name = map.get(s);
|
if (StringUtils.isNotBlank(name)) {
|
result += name + ",";
|
}
|
}
|
}
|
}
|
if (result != "") {
|
result = result.substring(0, result.length() - 1);
|
}
|
return result;
|
}
|
|
public static String getNamesByIds(List<MapData> list, String keys, Boolean multi) {
|
String result = "";
|
if (StringUtils.isNotBlank(keys)) {
|
keys = replaceStringSign(keys, ",");
|
String[] keyArr = keys.split(",");
|
for (String s : keyArr) {
|
if (StringUtils.isNotBlank(s)) {
|
List<MapData> mapData = list.stream().filter(bean -> Objects.nonNull(bean)).filter(bean -> s.equals(bean.getId())).collect(Collectors.toList());
|
if (mapData.size() > 0) {
|
if (multi)
|
result += mapData.get(0).getName() + ",";
|
else
|
return mapData.get(0).getName();
|
}
|
}
|
}
|
}
|
if (result != "") {
|
result = result.substring(0, result.length() - 1);
|
}
|
return result;
|
}
|
|
public static String getIdsByNames(List<MapData> list, String keys, Boolean multi) {
|
String result = "";
|
if (StringUtils.isNotBlank(keys)) {
|
keys = replaceStringSign(keys, ",");
|
String[] keyArr = keys.split(",");
|
for (String s : keyArr) {
|
if (StringUtils.isNotBlank(s)) {
|
List<MapData> mapData = list.stream().filter(bean -> Objects.nonNull(bean)).filter(bean -> s.equals(bean.getName())).collect(Collectors.toList());
|
if (mapData.size() > 0) {
|
if (multi)
|
result += mapData.get(0).getId() + ",";
|
else
|
return mapData.get(0).getId();
|
}
|
}
|
}
|
}
|
if (result != "") {
|
result = result.substring(0, result.length() - 1);
|
}
|
return result;
|
}
|
|
public static String padRight(String src, int len, char ch) {
|
int diff = len - src.length();
|
if (diff <= 0) {
|
return src;
|
}
|
|
char[] charr = new char[len];
|
System.arraycopy(src.toCharArray(), 0, charr, 0, src.length());
|
for (int i = src.length(); i < len; i++) {
|
charr[i] = ch;
|
}
|
return new String(charr);
|
}
|
|
/**
|
* 左补齐
|
*/
|
public static String padLeft(String src, int len, char ch) {
|
int diff = len - src.length();
|
if (diff <= 0) {
|
return src;
|
}
|
|
char[] charr = new char[len];
|
System.arraycopy(src.toCharArray(), 0, charr, diff, src.length());
|
for (int i = 0; i < diff; i++) {
|
charr[i] = ch;
|
}
|
return new String(charr);
|
}
|
|
public static boolean isJson(String content) {
|
if (StringUtils.isEmpty(content)) {
|
return false;
|
}
|
boolean isJsonObject = true;
|
boolean isJsonArray = true;
|
try {
|
JSONObject.parseObject(content);
|
} catch (Exception e) {
|
isJsonObject = false;
|
}
|
try {
|
JSONObject.parseArray(content);
|
} catch (Exception e) {
|
isJsonArray = false;
|
}
|
if (!isJsonObject && !isJsonArray) { //不是json格式
|
return false;
|
}
|
return true;
|
}
|
|
|
public static String getDatePoor(Date endDate, Date beginDate) {
|
|
long nd = 1000 * 24 * 60 * 60;
|
long nh = 1000 * 60 * 60;
|
long nm = 1000 * 60;
|
long ns = 1000;
|
// long ns = 1000;
|
// 获得两个时间的毫秒时间差异
|
long diff = endDate.getTime() - beginDate.getTime();
|
// 计算差多少天
|
long day = diff / nd;
|
// 计算差多少小时
|
long hour = diff % nd / nh;
|
// 计算差多少分钟
|
long min = diff % nd % nh / nm;
|
// 计算差多少秒//输出结果
|
long sec = diff % nd % nh % nm / ns;
|
long msec = diff % 1000;
|
return hour + "小时" + min + "分钟" + sec + "秒" + msec + "毫秒";
|
}
|
}
|