Commit ed2c86da by 陶光胜

取数平台调整

parent d82a32d6
......@@ -29,34 +29,33 @@ public class FilterFieldUtils {
@PostConstruct
public void init(){
Config config = ConfigService.getConfig("application");
String phoneNumberField = config.getProperty("phoneNumberField", "");
String cardNumField = config.getProperty("cardNumField", "");
String userNameField = config.getProperty("userNameField", "");
if(StringUtils.isNotBlank(phoneNumberField)){
FILTERS_PHONE_ONLY = Arrays.asList(phoneNumberField.split(","));
FILTERS_PHONE_AND_CARD = new ArrayList<>();
for(String s : phoneNumberField.split(",")){
FILTERS_PHONE_AND_CARD.add(s);
}
}
if(StringUtils.isNotBlank(cardNumField)){
for(String s : cardNumField.split(",")){
FILTERS_PHONE_AND_CARD.add(s);
}
}
if(StringUtils.isNotBlank(userNameField)){
FILETERS_USER_NAME = Arrays.asList(userNameField.split(","));
}
//initTimer();
initTimer();
}
private void initTimer(){
timer.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
init();
Config config = ConfigService.getConfig("application");
String phoneNumberField = config.getProperty("phoneNumberField", "");
String cardNumField = config.getProperty("cardNumField", "");
String userNameField = config.getProperty("userNameField", "");
if(StringUtils.isNotBlank(phoneNumberField)){
FILTERS_PHONE_ONLY = Arrays.asList(phoneNumberField.split(","));
FILTERS_PHONE_AND_CARD = new ArrayList<>();
for(String s : phoneNumberField.split(",")){
FILTERS_PHONE_AND_CARD.add(s);
}
}
if(StringUtils.isNotBlank(cardNumField)){
for(String s : cardNumField.split(",")){
FILTERS_PHONE_AND_CARD.add(s);
}
}
if(StringUtils.isNotBlank(userNameField)){
FILETERS_USER_NAME = Arrays.asList(userNameField.split(","));
}
}
}, 5, 5, TimeUnit.MINUTES);
}, 5, 5, TimeUnit.SECONDS);
}
}
......@@ -19,9 +19,24 @@ public class TestHive {
private static org.slf4j.Logger logger= LoggerFactory.getLogger(IFlatQueryTableService.class);
public static void main(String[] args) {
String s = FileUploadUtil.simpleUploadFileFromLocal(new File("C:\\Users\\d\\Desktop\\企业\\1635737005993.csv"), "1635737005993.csv", BucketNameEnum.REPORT_50000.getName());
System.out.println("s = " + s);
String sql = "select from tab_gic_store limit 10000";
String curLimit = "";
if(sql.indexOf("limit")>0 || sql.indexOf("LIMIT")>0){
int start = 0;
if(sql.indexOf("limit")>0){
start = sql.indexOf("limit") + 6;
} else {
start = sql.indexOf("LIMIT") + 6;
}
curLimit = sql.substring(start);
if(curLimit.indexOf(",") > 0){
curLimit = curLimit.substring(curLimit.indexOf(",")+1);
}
if(Integer.valueOf(curLimit) > 1000){
curLimit = 1000+"";
}
}
System.out.println("sql = " + sql + " limit " + curLimit);
}
......
......@@ -350,6 +350,21 @@ public class FreeQueryServiceImpl implements IFreeQueryService {
}
}
@Override
public List<String> listFilterPhoneField() {
return FilterFieldUtils.FILTERS_PHONE_ONLY;
}
@Override
public List<String> listFilterPhoneAndCardNoField() {
return FilterFieldUtils.FILTERS_PHONE_AND_CARD;
}
@Override
public List<String> listFilterUserName() {
return FilterFieldUtils.FILETERS_USER_NAME;
}
private static SimpleDateFormat datetimeFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private static SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd");
......
......@@ -12,10 +12,7 @@ import com.gic.cloud.data.hook.api.entity.FlatQueryCondition;
import com.gic.cloud.data.hook.api.entity.FlatQueryExecuteRequest;
import com.gic.cloud.data.hook.api.entity.GeneralResult;
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.cloud.data.hook.api.service.SearchLogService;
import com.gic.cloud.data.hook.api.service.*;
import com.gic.enterprise.api.constant.StoreWidget;
import com.gic.enterprise.api.dto.EnterpriseSettingDTO;
import com.gic.enterprise.api.dto.StoreWidgetDTO;
......@@ -74,6 +71,8 @@ public class FlatQueryController {
private RightService rightService;
@Autowired
private SearchLogService searchLogService;
@Autowired
private IFreeQueryService freeQueryService;
/** 查询表定义及下载量等信息
......@@ -217,14 +216,14 @@ public class FlatQueryController {
if(dataPermission != null){
for(FlatQueryCondition condition : queryConditions){
if(dataPermission == 1){
if(FILTERS_PHONE_ONLY.contains(condition.getFieldName())){
if(freeQueryService.listFilterPhoneField().contains(condition.getFieldName())){
condition.setEnableEncrypt(true);
}else {
condition.setEnableEncrypt(false);
}
}
if(dataPermission == 2){
if(FILTERS_PHONE_AND_CARD.contains(condition.getFieldName())){
if(freeQueryService.listFilterPhoneAndCardNoField().contains(condition.getFieldName())){
condition.setEnableEncrypt(true);
} else {
condition.setEnableEncrypt(false);
......
......@@ -160,7 +160,23 @@ public class FreeQueryController {
dto.setStartTime(new Date());
Integer dataPermission = this.enterpriseService.getEnterpriseSettingByEnterpriseId(SessionContextUtils.getLoginUserEnterpriseId()).getDataPermission();
System.out.println("!!!!!!!!:"+dataPermission);
FreeQueryResult freeQueryResult = this.freeQueryService.getFreeQueryResult("SELECT tmpTable.* FROM (" + sql + ") AS tmpTable LIMIT 1000", enterpriseId, queryDataType, dataPermission);
String curLimit = "";
if(sql.indexOf("limit")>0 || sql.indexOf("LIMIT")>0){
int start = 0;
if(sql.indexOf("limit")>0){
start = sql.indexOf("limit") + 6;
} else {
start = sql.indexOf("LIMIT") + 6;
}
curLimit = sql.substring(start);
if(curLimit.indexOf(",") > 0){
curLimit = curLimit.substring(curLimit.indexOf(",")+1);
}
if(Integer.valueOf(curLimit) > 1000){
curLimit = 1000+"";
}
}
FreeQueryResult freeQueryResult = this.freeQueryService.getFreeQueryResult(sql + " limit " + curLimit, enterpriseId, queryDataType, dataPermission);
dto.setEndTime(new Date());
this.searchLogService.saveLog(dto);
return freeQueryResult;
......
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