Commit f9431508 by 陶光胜

取数平台日志

parent 8646ce66
package com.gic.cloud.data.hook.api.dto;
import java.io.Serializable;
import java.util.Date;
/**
* dh_search_log
*/
public class DhSearchLogDTO implements Serializable {
/**
*
*/
private Integer logId;
/**
*
*/
private String enterpriseId;
/**
*
*/
private String enterpriseName;
/**
*
*/
private String userId;
/**
*
*/
private String userName;
/**
* 1自助指标 2自定义指标 3开发自定义查询
*/
private Integer model;
/**
*
*/
private Integer count;
/**
*
*/
private Date startTime;
/**
*
*/
private Date endTime;
/**
*
*/
private Date createTime;
public Integer getLogId() {
return logId;
}
public void setLogId(Integer logId) {
this.logId = logId;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getEnterpriseName() {
return enterpriseName;
}
public void setEnterpriseName(String enterpriseName) {
this.enterpriseName = enterpriseName;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Integer getModel() {
return model;
}
public void setModel(Integer model) {
this.model = model;
}
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
public Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
}
\ No newline at end of file
......@@ -282,6 +282,23 @@ public class FlatQueryExecuteRequest implements Serializable {
this.realSql = realSql;
}
private Integer model = 1;
public Integer getModel() {
return model;
}
public void setModel(Integer model) {
this.model = model;
}
private Integer count = 0;
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
}
package com.gic.cloud.data.hook.api.service;
import com.gic.cloud.data.hook.api.dto.DhSearchLogDTO;
public interface SearchLogService {
void saveLog(DhSearchLogDTO dhSearchLogDTO);
}
package com.gic.cloud.data.hook.service.impl;
import com.gic.cloud.data.hook.api.dto.DhSearchLogDTO;
import com.gic.cloud.data.hook.api.service.SearchLogService;
import com.gic.cloud.data.hook.service.dao.DhSearchLogMapper;
import com.gic.cloud.data.hook.service.entity.DhSearchLog;
import com.gic.commons.util.EntityUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
@Service("searchLogService")
public class SearchLogServiceImpl implements SearchLogService {
@Autowired
private DhSearchLogMapper dhSearchLogMapper;
@Override
public void saveLog(DhSearchLogDTO dhSearchLogDTO) {
dhSearchLogDTO.setCreateTime(new Date());
this.dhSearchLogMapper.insert(EntityUtil.changeEntityByJSON(DhSearchLog.class, dhSearchLogDTO));
}
}
......@@ -31,6 +31,8 @@
<bean class="com.gic.cloud.data.hook.service.impl.MyFlatQueryServiceImpl" id="myFlatQueryService" />
<dubbo:service interface="com.gic.cloud.data.hook.api.service.IMyFlatQueryService" ref="myFlatQueryService" timeout="120000" />
<dubbo:service interface="com.gic.cloud.data.hook.api.service.SearchLogService" ref="searchLogService" timeout="120000" />
<!-- 引用的 Dubbo 服务 -->
<!--<dubbo:reference interface="com.gic.dict.api.service.ManagerDictService" id="managerDictService" timeout="10000" />
<dubbo:reference interface="com.gic.cloud.communicate.api.service.member.MemberTagFieldService" id="memberTagFieldService" timeout="10000" />
......
......@@ -145,7 +145,16 @@ public class FlatQueryController {
for (FlatQueryCondition condition : executeRequest.getQueryConditions()) {
System.out.println(condition.getFieldName() + " " + condition.getFieldType());
}
return this.flatQueryResultService.getFlatQueryResult(
AuthorizedUser loginUser = SessionContextUtils.getLoginUser();
DhSearchLogDTO dto = new DhSearchLogDTO();
dto.setEnterpriseId(loginUser.getEnterpriseId());
dto.setEnterpriseName(loginUser.getEnterpriseDTO().getEnterpriseName());
dto.setUserId(loginUser.getUserId());
dto.setUserName(loginUser.getLoginName());
dto.setModel(executeRequest.getModel());
dto.setCount(executeRequest.getCount());
dto.setStartTime(new Date());
FlatQueryResult flatQueryResult = this.flatQueryResultService.getFlatQueryResult(
executeRequest.getTableId(),
executeRequest.getEnterpriseIds(),
executeRequest.getQueryConditions(),
......@@ -155,7 +164,9 @@ public class FlatQueryController {
executeRequest.getQueryDataType(),
1000,
dataPermission,
this.getAuthStoreId()); // 强制 1000 限制
this.getAuthStoreId());// 强制 1000 限制
dto.setEndTime(new Date());
return flatQueryResult;
}
/** 获取自助查询下载量评估
......
package com.gic.cloud.data.hook.web;
import com.alibaba.fastjson.JSON;
import com.gic.clerk.api.dto.AuthorizedUser;
import com.gic.cloud.common.api.base.Page;
import com.gic.cloud.data.hook.api.dto.*;
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.service.IFlatQueryResultService;
import com.gic.cloud.data.hook.api.service.IFreeQueryService;
import com.gic.cloud.data.hook.api.service.SearchLogService;
import com.gic.enterprise.api.dto.EnterpriseDTO;
import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.web.common.utils.SessionContextUtils;
......@@ -32,6 +34,8 @@ public class FreeQueryController {
private IFreeQueryService freeQueryService;
@Autowired
private EnterpriseService enterpriseService;
@Autowired
private SearchLogService searchLogService;
/** 获取所有的自定义查询表信息
* @param request
......@@ -143,10 +147,23 @@ public class FreeQueryController {
* @return
*/
@RequestMapping("/get-free-query-result")
public FreeQueryResult getFreeQueryResult(String sql, String enterpriseId, Integer queryDataType, Integer desensiType, HttpServletRequest request, HttpServletResponse response) {
public FreeQueryResult getFreeQueryResult(String sql, String enterpriseId, Integer queryDataType, Integer desensiType,
Integer model, Integer count, HttpServletRequest request, HttpServletResponse response) {
AuthorizedUser loginUser = SessionContextUtils.getLoginUser();
DhSearchLogDTO dto = new DhSearchLogDTO();
dto.setEnterpriseId(loginUser.getEnterpriseId());
dto.setEnterpriseName(loginUser.getEnterpriseDTO().getEnterpriseName());
dto.setUserId(loginUser.getUserId());
dto.setUserName(loginUser.getLoginName());
dto.setModel(model);
dto.setCount(count);
dto.setStartTime(new Date());
Integer dataPermission = this.enterpriseService.getEnterpriseSettingByEnterpriseId(SessionContextUtils.getLoginUserEnterpriseId()).getDataPermission();
System.out.println("!!!!!!!!:"+dataPermission);
return this.freeQueryService.getFreeQueryResult( "SELECT tmpTable.* FROM (" + sql + ") AS tmpTable LIMIT 1000", enterpriseId, queryDataType, dataPermission);
FreeQueryResult freeQueryResult = this.freeQueryService.getFreeQueryResult("SELECT tmpTable.* FROM (" + sql + ") AS tmpTable LIMIT 1000", enterpriseId, queryDataType, dataPermission);
dto.setEndTime(new Date());
this.searchLogService.saveLog(dto);
return freeQueryResult;
}
......
......@@ -27,6 +27,7 @@
<dubbo:reference interface="com.gic.clerk.api.service.PowerService" id="powerService" timeout="6000" retries="0" />
<dubbo:reference interface="com.gic.enterprise.api.service.StoreWidgetService" id="storeWidgetService" timeout="6000" retries="0" />
<dubbo:reference interface="com.gic.clerk.api.service.RightService" id="rightService" timeout="6000" retries="0" />
<dubbo:reference interface="com.gic.cloud.data.hook.api.service.SearchLogService" id="searchLogService" 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" />
<dubbo:reference interface="com.gic.cloud.communicate.api.service.store.AreaService" id="areaService" timeout="10000" retries="0" />-->
......
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