18 changed files with 411 additions and 130 deletions
@ -1,31 +0,0 @@ |
|||||
package org.dromara.business.domain.enums; |
|
||||
|
|
||||
import cn.hutool.core.util.StrUtil; |
|
||||
import lombok.Getter; |
|
||||
|
|
||||
import java.util.Arrays; |
|
||||
|
|
||||
/** |
|
||||
* 预警类型枚举类 |
|
||||
*/ |
|
||||
@Getter |
|
||||
public enum AlertTypeEnum { |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
; |
|
||||
|
|
||||
|
|
||||
private String code; |
|
||||
|
|
||||
private String description; |
|
||||
|
|
||||
|
|
||||
public static AlertTypeEnum getTypeByCode(String code){ |
|
||||
if(StrUtil.isNotEmpty(code)){ |
|
||||
return Arrays.stream(values()).filter(p -> StrUtil.equals(p.name(),code.toUpperCase())).findAny().orElse(null); |
|
||||
} |
|
||||
return null; |
|
||||
} |
|
||||
} |
|
@ -0,0 +1,51 @@ |
|||||
|
package org.dromara.business.handler; |
||||
|
|
||||
|
import org.apache.commons.lang3.StringUtils; |
||||
|
import org.apache.ibatis.type.JdbcType; |
||||
|
import org.apache.ibatis.type.MappedJdbcTypes; |
||||
|
import org.apache.ibatis.type.MappedTypes; |
||||
|
import org.apache.ibatis.type.TypeHandler; |
||||
|
import org.dromara.business.utils.JsonUtil; |
||||
|
|
||||
|
import java.sql.CallableStatement; |
||||
|
import java.sql.PreparedStatement; |
||||
|
import java.sql.ResultSet; |
||||
|
import java.sql.SQLException; |
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
@MappedJdbcTypes(JdbcType.VARCHAR) // 数据库类型
|
||||
|
@MappedTypes({List.class}) // java数据类型
|
||||
|
public class AlertTypeHandler implements TypeHandler<List<String>> { |
||||
|
|
||||
|
@Override |
||||
|
public void setParameter(PreparedStatement preparedStatement, int i, List<String> alertTypeList, JdbcType jdbcType) throws SQLException { |
||||
|
preparedStatement.setString(i, JsonUtil.toJson(alertTypeList)); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<String> getResult(ResultSet resultSet, String s) throws SQLException { |
||||
|
if (StringUtils.isBlank(resultSet.getString(s))) { |
||||
|
return new ArrayList<>(); |
||||
|
} |
||||
|
return JsonUtil.jsonToList(resultSet.getString(s), String.class); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<String> getResult(ResultSet resultSet, int i) throws SQLException { |
||||
|
if (StringUtils.isBlank(resultSet.getString(i))) { |
||||
|
return new ArrayList<>(); |
||||
|
} |
||||
|
return JsonUtil.jsonToList(resultSet.getString(i), String.class); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<String> getResult(CallableStatement callableStatement, int i) throws SQLException { |
||||
|
String value = callableStatement.getString(i); |
||||
|
|
||||
|
if (StringUtils.isBlank(value)) { |
||||
|
return new ArrayList<>(); |
||||
|
} |
||||
|
return JsonUtil.jsonToList(value, String.class); |
||||
|
} |
||||
|
} |
@ -0,0 +1,126 @@ |
|||||
|
package org.dromara.business.utils; |
||||
|
|
||||
|
import cn.hutool.core.util.ObjectUtil; |
||||
|
import com.fasterxml.jackson.core.JsonProcessingException; |
||||
|
import com.fasterxml.jackson.core.type.TypeReference; |
||||
|
import com.fasterxml.jackson.databind.JavaType; |
||||
|
import com.fasterxml.jackson.databind.ObjectMapper; |
||||
|
import org.apache.commons.lang3.StringUtils; |
||||
|
|
||||
|
import java.lang.reflect.Field; |
||||
|
import java.util.HashMap; |
||||
|
import java.util.LinkedHashMap; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* 定义响应结构 |
||||
|
*/ |
||||
|
public class JsonUtil { |
||||
|
|
||||
|
private static ObjectMapper MAPPER; |
||||
|
static{ |
||||
|
MAPPER=new ObjectMapper(); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 将对象转换成json字符串。 |
||||
|
* @param data |
||||
|
* @return |
||||
|
*/ |
||||
|
public static String toJson(Object data){ |
||||
|
String string = null; |
||||
|
try { |
||||
|
string = MAPPER.writeValueAsString(data); |
||||
|
if(StringUtils.isEmpty(string)){ |
||||
|
return null; |
||||
|
} |
||||
|
return string; |
||||
|
} catch (JsonProcessingException e) { |
||||
|
e.printStackTrace(); |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 将json结果集转化为对象 |
||||
|
* |
||||
|
* @param jsonData json数据 |
||||
|
* @return |
||||
|
*/ |
||||
|
public static <T> T jsonToPojo(String jsonData, Class<T> beanType) { |
||||
|
try { |
||||
|
T t = MAPPER.readValue(jsonData, beanType); |
||||
|
return t; |
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
} |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 将json数据转换成pojo对象list |
||||
|
* <p>Title: jsonToList</p> |
||||
|
* <p>Description: </p> |
||||
|
* @param jsonData |
||||
|
* @param beanType |
||||
|
* @return |
||||
|
*/ |
||||
|
public static <T>List<T> jsonToList(String jsonData, Class<T> beanType) { |
||||
|
JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType); |
||||
|
try { |
||||
|
List<T> list = MAPPER.readValue(jsonData, javaType); |
||||
|
return list; |
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
} |
||||
|
|
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 将Object对象里面的属性和值转化成Map对象 |
||||
|
* |
||||
|
* @param obj |
||||
|
* @return |
||||
|
* @throws IllegalAccessException |
||||
|
*/ |
||||
|
public static Map<String, Object> objectToMap(Object obj){ |
||||
|
try { |
||||
|
Map<String, Object> map = new HashMap<String,Object>(); |
||||
|
Class<?> clazz = obj.getClass(); |
||||
|
for (Field field : clazz.getDeclaredFields()) { |
||||
|
field.setAccessible(true); |
||||
|
String fieldName = field.getName(); |
||||
|
if(ObjectUtil.isNotEmpty(field.get(obj))){ |
||||
|
Object value = field.get(obj); |
||||
|
map.put(fieldName, value); |
||||
|
}else{ |
||||
|
map.put(fieldName, ""); |
||||
|
} |
||||
|
} |
||||
|
return map; |
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static Map<String, Object> jsonToMap(String json){ |
||||
|
try { |
||||
|
return MAPPER.readValue(json, new TypeReference<Map<String, Object>>(){}); |
||||
|
} catch (JsonProcessingException e) { |
||||
|
e.printStackTrace(); |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static LinkedHashMap<String, String> jsonToStrMap(String json){ |
||||
|
try { |
||||
|
return MAPPER.readValue(json, new TypeReference<LinkedHashMap<String, String>>(){}); |
||||
|
} catch (JsonProcessingException e) { |
||||
|
e.printStackTrace(); |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue