Commit 3778312c by 陶光胜

自助指标解密

parent 93450e78
......@@ -22,7 +22,7 @@ public interface IFlatQueryResultService {
* @return
*/
public FlatQueryResult getFlatQueryResult(String tableId, List<String> enterpriseIds, List<FlatQueryCondition> queryConditions, String orderField, String orderDir,
Boolean execDistinct, Integer queryDataType, Integer limitRange);
Boolean execDistinct, Integer queryDataType, Integer limitRange, int dataPermission);
/** 评估自助指标查询下载任务数据量
* @param tableId
......
......@@ -159,7 +159,7 @@ public class FlatQueryResultServiceImpl implements IFlatQueryResultService {
@Override
public FlatQueryResult getFlatQueryResult(String tableId, List<String> enterpriseIds, List<FlatQueryCondition> queryConditions, String orderField, String orderDir,
Boolean execDistinct, Integer queryDataType, Integer limitRange) {
Boolean execDistinct, Integer queryDataType, Integer limitRange, int dataPermission) {
log.debug("getFlatQueryResult", "自助指标查询来自 " + enterpriseIds.get(0));
// 定义返回值
FlatQueryResult result = new FlatQueryResult();
......@@ -231,7 +231,7 @@ public class FlatQueryResultServiceImpl implements IFlatQueryResultService {
// } else fieldResult = "";
// } else fieldResult = rs.getObject(fieldColumnIndex);
//fieldResult = rs.getObject(fieldColumnIndex);
if (condition.getEnableEncrypt()) { // 如果需要进行解密
/**if (condition.getEnableEncrypt()) { // 如果需要进行解密
String preResult = rs.getString(fieldColumnIndex);
//fieldResult = DecryptUtils.getInstance().decrypt(preResult);
if (queryDataType == QueryDataType.FULL) {
......@@ -239,7 +239,17 @@ public class FlatQueryResultServiceImpl implements IFlatQueryResultService {
fieldResult = DecryptUtils.decrypt(preResult);
} else fieldResult = "";
} else fieldResult = "******";
} else fieldResult = rs.getObject(fieldColumnIndex);
} else fieldResult = rs.getObject(fieldColumnIndex);**/
if (queryDataType == QueryDataType.FULL) {
String preResult = rs.getString(fieldColumnIndex);
if(dataPermission == 1 && "phone_number".equals(fieldName)){
fieldResult = DecryptUtils.decrypt(preResult);
}else if(dataPermission == 2 && ("phone_number".equals(fieldName) || "card_num".equals(fieldName))){
fieldResult = DecryptUtils.decrypt(preResult);
}else {
fieldResult = rs.getObject(fieldColumnIndex);
}
}
} // SWITCH OVER
result.add(fieldName, fieldResult);
// } // IF ELSE OVER
......@@ -307,7 +317,9 @@ public class FlatQueryResultServiceImpl implements IFlatQueryResultService {
* @param execDistinct
* @return
*/
public Integer estimateFlatQueryDownloadTask(String tableId, List<String> enterpriseIds, List<FlatQueryCondition> queryConditions, String orderField, String orderDir, Boolean execDistinct) {
public Integer estimateFlatQueryDownloadTask(String tableId, List<String> enterpriseIds,
List<FlatQueryCondition> queryConditions, String orderField,
String orderDir, Boolean execDistinct) {
Integer result = -1;
// 生成正式查询
String preQuery = this.buildFlatQuerySQL(
......
......@@ -48,6 +48,11 @@
<artifactId>gic-enterprise-api</artifactId>
<version>${gic-enterprise-api}</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-webapp-common</artifactId>
<version>${gic-webapp-common}</version>
</dependency>
<!--<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-cloud-web-service-api</artifactId>
......
......@@ -9,6 +9,9 @@ import com.gic.cloud.data.hook.api.entity.Global;
import com.gic.cloud.data.hook.api.service.IFlatQueryResultService;
import com.gic.cloud.data.hook.api.service.IFlatQueryTableService;
import com.gic.cloud.data.hook.api.service.IMyFlatQueryService;
import com.gic.enterprise.api.dto.EnterpriseSettingDTO;
import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.web.common.utils.SessionContextUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.CollectionUtils;
......@@ -42,6 +45,8 @@ public class FlatQueryController {
@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
@Autowired
private IMyFlatQueryService myFlatQueryService;
@Autowired
private EnterpriseService enterpriseService;
/** 查询表定义及下载量等信息
......@@ -101,6 +106,12 @@ public class FlatQueryController {
public FlatQueryResult doFlatQuery(@RequestBody FlatQueryExecuteRequest executeRequest, HttpServletRequest request, HttpServletResponse response) {
System.out.println("doFlatQuery:" + executeRequest.getTableId());
System.out.println("doFlatQuery:" + executeRequest.getQueryConditions().size());
String enterpriseId = SessionContextUtils.getLoginUserEnterpriseId();
EnterpriseSettingDTO setting = this.enterpriseService.getEnterpriseSettingByEnterpriseId(enterpriseId);
int dataPermission = 0;
if(setting.getDataPermission() != null){
dataPermission = setting.getDataPermission();
}
for (FlatQueryCondition condition : executeRequest.getQueryConditions()) {
System.out.println(condition.getFieldName() + " " + condition.getFieldType());
}
......@@ -112,7 +123,8 @@ public class FlatQueryController {
executeRequest.getOrderDir(),
executeRequest.getExecDistinct(),
executeRequest.getQueryDataType(),
1000); // 强制 1000 限制
1000,
dataPermission); // 强制 1000 限制
}
/** 获取自助查询下载量评估
......
......@@ -21,6 +21,7 @@
<dubbo:reference interface="com.gic.cloud.data.hook.api.service.IFreeQueryService" id="freeQueryService" timeout="120000" retries="0" />
<dubbo:reference interface="com.gic.cloud.data.hook.api.service.IDownloadTaskService" id="downloadTaskService" timeout="120000" retries="0" />
<dubbo:reference interface="com.gic.cloud.data.hook.api.service.IMyFlatQueryService" id="myFlatQueryService" timeout="120000" retries="0" />
<dubbo:reference interface="com.gic.enterprise.api.service.EnterpriseService" id="enterpriseService" timeout="6000" retries="0" />
<!--<dubbo:reference interface="com.gic.enterprise.api.service.EnterPerformanceService" id="enterPerformanceService" timeout="10000" retries="0" />
<dubbo:reference interface="com.gic.cloud.communicate.api.service.performance.CloudPerformanceService" id="cloudPerformanceService" timeout="10000" retries="0" />
......
......@@ -10,6 +10,7 @@
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<import resource="classpath:web-common-spring.xml"/>
<!-- 扫描注解包路径,多个包用逗号分隔,不填pacakge表示扫描当前ApplicationContext中所有的类 -->
<context:component-scan base-package="com.gic.cloud.data.hook" />
......
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