1、报表基础内容实现,service单元测试实现,移除report微服务中没用的单元测试内容;

2、DefaultDBFieldHandler自动填充处理类中request注入改为上下文获取;
This commit is contained in:
gaoqr
2024-07-08 15:48:17 +08:00
parent 4319d6d340
commit 03cce64688
37 changed files with 1817 additions and 203 deletions
@@ -8,7 +8,6 @@ import com.cf.imes.framework.web.core.util.WebFrameworkUtils;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.util.StringUtils;
@@ -30,13 +29,13 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
@Resource
private StringRedisTemplate stringRedisTemplate;
@Autowired
private HttpServletRequest request;
private static final String AUTHORIZATION_BEARER = "Bearer";
private static final String OAUTH2_ACCESS_TOKEN = "oauth2_access_token:%s";
private static final String AUTHORIZATION_HEADER_NAME = "Authorization";
private static final String TOKEN_PARAM_NAME = "token";
@Override
public void insertFill(MetaObject metaObject) {
@@ -68,7 +67,7 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
}
// 从请求中获取到 Token
String authorization = obtainAuthorization(request, "Authorization", "token");
String authorization = obtainAuthorization(AUTHORIZATION_HEADER_NAME, TOKEN_PARAM_NAME);
Long organId = null;
@@ -107,7 +106,7 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
}
// 从请求中获取到 Token
String authorization = obtainAuthorization(request, "Authorization", "token");
String authorization = obtainAuthorization(AUTHORIZATION_HEADER_NAME, TOKEN_PARAM_NAME);
Long organId = null;
@@ -132,8 +131,8 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
// 从请求中获取到 token
private static String obtainAuthorization(HttpServletRequest request,
String headerName, String parameterName) {
private static String obtainAuthorization(String headerName, String parameterName) {
HttpServletRequest request = WebFrameworkUtils.getRequest();
// 1. 获得 Token。优先级:Header > Parameter
String token = request.getHeader(headerName);
if (StrUtil.isEmpty(token)) {
@@ -0,0 +1,65 @@
package com.cf.imes.framework.mybatis.core.type;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.ibatis.type.*;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
/**
* mb自定义列表类型转换器
*
* @author Gqr
* @since 2024/7/8 11:15
*/
@MappedJdbcTypes(JdbcType.VARCHAR)
@MappedTypes(List.class)
public class ObjectListTypeHandler extends BaseTypeHandler<List<?>> {
private final ObjectMapper objectMapper = new ObjectMapper();
@Override
public void setNonNullParameter(PreparedStatement ps, int i, List<?> parameter, JdbcType jdbcType) throws SQLException {
try {
String jsonString = objectMapper.writeValueAsString(parameter);
ps.setString(i, jsonString);
} catch (JsonProcessingException e) {
throw new RuntimeException("Error serializing List<Object> to JSON", e);
}
}
@Override
public List<?> getNullableResult(ResultSet rs, String columnName) throws SQLException {
String jsonStr = rs.getString(columnName);
return parseJson(jsonStr);
}
@Override
public List<?> getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
String jsonStr = rs.getString(columnIndex);
return parseJson(jsonStr);
}
@Override
public List<?> getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
String jsonStr = cs.getString(columnIndex);
return parseJson(jsonStr);
}
private List<?> parseJson(String jsonStr) {
if (jsonStr == null || jsonStr.isEmpty()) {
return null;
}
try {
// Using JavaType to handle List<Object> deserialization
JavaType javaType = objectMapper.getTypeFactory().constructCollectionType(List.class, Object.class);
return objectMapper.readValue(jsonStr, javaType);
} catch (Exception e) {
throw new RuntimeException("Error deserializing JSON to List<Object>", e);
}
}
}