Commit 3778312c by 陶光胜

自助指标解密

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