Commit a922654e by yuwei

2.0.0项目初始化

parent a8ee3197
......@@ -10,7 +10,8 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.GrantedAuthority;
......@@ -30,6 +31,9 @@ public class DataUserDetailService implements UserDetailsService {
@Autowired
private UserServiceFeign userServiceFeign;
@Autowired
private ObjectMapper objectMapper;
@Override
public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException {
//远程获取用户
......@@ -37,7 +41,12 @@ public class DataUserDetailService implements UserDetailsService {
if(result == null || !result.isSuccess() || ObjectUtil.isEmpty(result.getData())){
throw new UsernameNotFoundException(StrUtil.format("{}用户不存在", s));
}
UserInfo userInfo = JSON.parseObject(JSON.toJSONString(result.getData()), UserInfo.class);
UserInfo userInfo;
try {
userInfo = objectMapper.readValue(objectMapper.writeValueAsString(result.getData()), UserInfo.class);
} catch (JsonProcessingException e) {
throw new UsernameNotFoundException(StrUtil.format("{}用户解析出错", s));
}
// 可用性 :true:可用 false:不可用
boolean enabled = true;
// 过期性 :true:没过期 false:过期
......
......@@ -49,11 +49,6 @@
<version>${hutool.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>${mybatis-plus.version}</version>
......
package cn.datax.common.utils;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.databind.ObjectMapper;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
......@@ -20,7 +20,8 @@ public class ResponseUtil {
int status, Object value) throws IOException {
response.setContentType(contentType);
response.setStatus(status);
response.getOutputStream().write(JSON.toJSONString(value).getBytes());
ObjectMapper objectMapper = new ObjectMapper();
response.getOutputStream().write(objectMapper.writeValueAsBytes(value));
}
}
......@@ -15,7 +15,8 @@ import cn.datax.service.data.market.api.feign.DataApiServiceFeign;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
......@@ -44,6 +45,9 @@ public class ApiInterceptor implements HandlerInterceptor {
@Autowired
private ApiLogService apiLogService;
@Autowired
private ObjectMapper objectMapper;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("************ApiInterceptor preHandle executed**********");
......@@ -67,7 +71,11 @@ public class ApiInterceptor implements HandlerInterceptor {
HttpServletResponse.SC_FORBIDDEN, R.error("查询API{" + apiId + "}出错"));
return false;
}
DataApiEntity dataApiEntity = JSON.parseObject(JSON.toJSONString(apiResult.getData()), DataApiEntity.class);
DataApiEntity dataApiEntity = null;
try {
dataApiEntity = objectMapper.readValue(objectMapper.writeValueAsString(apiResult.getData()), DataApiEntity.class);
} catch (JsonProcessingException e) {
}
if (dataApiEntity == null) {
ResponseUtil.makeResponse(response, MediaType.APPLICATION_JSON_VALUE,
HttpServletResponse.SC_FORBIDDEN, R.error("API不存在"));
......@@ -92,12 +100,17 @@ public class ApiInterceptor implements HandlerInterceptor {
}
// 接收参数
String bodyString = HttpUtil.getBodyString(request);
Map<String, Object> params = JSON.parseObject(bodyString);
Map<String, Object> params = null;
try {
params = objectMapper.readValue(bodyString, Map.class);
} catch (JsonProcessingException e) {
}
Map<String, Object> finalParams = params;
dataApiEntity.getReqParams().stream().forEach(param -> {
if (params.containsKey(param.getParamName())) {
if (finalParams.containsKey(param.getParamName())) {
Integer dataType = param.getDataType();
// 数据类型是否正确
DataType.parse(DataType.getDataType(dataType), params.get(param.getParamName()));
DataType.parse(DataType.getDataType(dataType), finalParams.get(param.getParamName()));
}
});
String apiName = dataApiEntity.getApiName();
......
......@@ -24,7 +24,8 @@ import cn.datax.service.data.market.api.feign.ApiMaskServiceFeign;
import cn.datax.service.data.market.api.feign.DataApiServiceFeign;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -49,6 +50,9 @@ public class ApiCallServiceImpl implements ApiCallService {
@Autowired
private ApiMaskServiceFeign apiMaskServiceFeign;
@Autowired
private ObjectMapper objectMapper;
@Override
public PageResult<Map<String, Object>> v1() {
R apiResult = dataApiServiceFeign.getDataApiById(ThreadUtil.getInstance().get().getApiId());
......@@ -57,20 +61,32 @@ public class ApiCallServiceImpl implements ApiCallService {
ThreadUtil.getInstance().get().setMsg("API调用查询数据API{" + ThreadUtil.getInstance().get().getApiId() + "}出错");
throw new DataException("API调用查询数据API出错");
}
DataApiEntity dataApiEntity = JSON.parseObject(JSON.toJSONString(apiResult.getData()), DataApiEntity.class);
DataApiEntity dataApiEntity = null;
try {
dataApiEntity = objectMapper.readValue(objectMapper.writeValueAsString(apiResult.getData()), DataApiEntity.class);
} catch (JsonProcessingException e) {
}
R sourceResult = dataSourceServiceFeign.getDataSourceById(dataApiEntity.getExecuteConfig().getSourceId());
if(sourceResult == null || !sourceResult.isSuccess() || ObjectUtil.isEmpty(sourceResult.getData())){
ThreadUtil.getInstance().get().setStatus(0);
ThreadUtil.getInstance().get().setMsg("API调用查询数据源{"+dataApiEntity.getExecuteConfig().getSourceId()+"}出错");
throw new DataException("API调用查询数据源出错");
}
DataSourceEntity dataSource = JSON.parseObject(JSON.toJSONString(sourceResult.getData()), DataSourceEntity.class);
DataSourceEntity dataSource = null;
try {
dataSource = objectMapper.readValue(objectMapper.writeValueAsString(sourceResult.getData()), DataSourceEntity.class);
} catch (JsonProcessingException e) {
}
DbSchema dbSchema = dataSource.getDbSchema();
DbQueryProperty dbQueryProperty = new DbQueryProperty(dataSource.getDbType(), dbSchema.getHost(),
dbSchema.getUsername(), dbSchema.getPassword(), dbSchema.getPort(), dbSchema.getDbName());
DbQuery dbQuery = dataSourceFactory.createDbQuery(dbQueryProperty);
// 接收参数
Map<String, Object> params = JSON.parseObject(ThreadUtil.getInstance().get().getCallerParams());
Map<String, Object> params = null;
try {
params = objectMapper.readValue(ThreadUtil.getInstance().get().getCallerParams(), Map.class);
} catch (JsonProcessingException e) {
}
// 分页参数
Integer pageNum = (Integer) Optional.ofNullable(params.get("pageNum")).orElse(1);
Integer pageSize = (Integer) Optional.ofNullable(params.get("pageSize")).orElse(20);
......@@ -90,7 +106,11 @@ public class ApiCallServiceImpl implements ApiCallService {
List<FieldRule> rules = null;
R maskResult = apiMaskServiceFeign.getApiMaskByApiId(ThreadUtil.getInstance().get().getApiId());
if(maskResult != null && maskResult.isSuccess() && ObjectUtil.isNotEmpty(maskResult.getData())){
ApiMaskEntity apiMask = JSON.parseObject(JSON.toJSONString(maskResult.getData()), ApiMaskEntity.class);
ApiMaskEntity apiMask = null;
try {
apiMask = objectMapper.readValue(objectMapper.writeValueAsString(maskResult.getData()), ApiMaskEntity.class);
} catch (JsonProcessingException e) {
}
rules = apiMask.getRules();
}
PageResult<Map<String, Object>> pageResult;
......
package cn.datax.service.data.market.config;
import cn.datax.common.redis.serializer.DataRedisSerializer;
import com.alibaba.fastjson.support.spring.GenericFastJsonRedisSerializer;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.cache.annotation.EnableCaching;
......
......@@ -23,7 +23,6 @@
<spring-cloud.version>Hoxton.SR3</spring-cloud.version>
<spring-boot-admin.version>2.2.1</spring-boot-admin.version>
<fastjson.version>1.2.66</fastjson.version>
<hutool.version>5.2.3</hutool.version>
<mybatis-plus.version>3.3.1</mybatis-plus.version>
<dynamic-datasource.version>2.5.7</dynamic-datasource.version>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment