Commit 62e04b61 by fudahua

feat: 取数平台过滤项

parent e7679764
......@@ -4,12 +4,12 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.gic</groupId>
<artifactId>gic-cloud-data-hook-api</artifactId>
<version>3.0-SNAPSHOT</version>
<version>2.44</version>
<dependencies>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-cloud-web-service-api</artifactId>
<version>3.0-SNAPSHOT</version>
<version>3.80</version>
<scope>compile</scope>
<exclusions>
<exclusion>
......@@ -25,7 +25,7 @@
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-cloud-commons</artifactId>
<version>3.0-SNAPSHOT</version>
<version>3.64</version>
<scope>compile</scope>
<exclusions>
<exclusion>
......@@ -41,7 +41,7 @@
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-platform-config</artifactId>
<version>3.0-SNAPSHOT</version>
<version>2.29</version>
<scope>compile</scope>
</dependency>
<dependency>
......
......@@ -99,6 +99,12 @@
<artifactId>guava</artifactId>
<version>20.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
......
package com.gic.cloud.data.hook.api.dto;
import lombok.Data;
import java.io.Serializable;
@Data
public class FilterQueryDataDTO implements Serializable {
/**
* 显示名称 如果为空 显示名称就是item_value
*/
private String showName;
/**
* 显示名称 说明项
*/
private String subShowName;
/**
* 实际值 选中的实际值
*/
private String itemValue;
}
......@@ -146,4 +146,14 @@ public class FlatQueryField implements Serializable {
public void setEnableEncrypt(Boolean enableEncrypt) {
this.enableEncrypt = enableEncrypt;
}
protected String filterCode;
public String getFilterCode() {
return filterCode;
}
public void setFilterCode(String filterCode) {
this.filterCode = filterCode;
}
}
package com.gic.cloud.data.hook.api.enums;
public enum QueryFilterCodeEnum {
CLERK_CODE("clerkCode","导购编号筛选"),
CLERK_NAME("clerkName","导购名称筛选"),
STORE_CODE("storeCode","门店编号筛选"),
STORE_NAME("storeName","门店名称筛选"),
STORE_GROUP_NAME("storeGroupName","门店分组筛选"),
;
private String code;
private String name;
QueryFilterCodeEnum(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.gic.cloud.data.hook.api.service;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.cloud.data.hook.api.dto.DownloadTask;
import com.gic.cloud.data.hook.api.dto.FilterQueryDataDTO;
import com.gic.cloud.data.hook.api.dto.FlatQueryResult;
import com.gic.cloud.data.hook.api.entity.FlatQueryCondition;
......@@ -68,6 +71,14 @@ public interface IFlatQueryResultService {
*/
public List<Object> getFlatQueryFilterData(String tableId, List<String>enterpriseIds, String fieldName);
/**
* 获取过滤条件数据
* @param enterpriseId
* @param filterCode
* @return
*/
public Page<FilterQueryDataDTO> pageFlatQueryFilterNew(String enterpriseId, String filterCode, String search, BasePageInfo pageInfo);
public void initTask();
......
......@@ -203,6 +203,17 @@
<artifactId>gic-redis-data</artifactId>
<version>${gic-redis-data}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-clerk-api</artifactId>
<version>${gic-clerk-api}</version>
</dependency>
</dependencies>
<build>
......
package com.gic.cloud.data.hook.service.dao;
import com.gic.cloud.data.hook.service.entity.DhFlatQueryFilterItem;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author hua
* @description 针对表【dh_flat_query_filter_item(过滤项)】的数据库操作Mapper
* @createDate 2023-04-19 14:46:16
* @Entity com.gic.cloud.data.hook.service.entity.DhFlatQueryFilterItem
*/
@Mapper
public interface DhFlatQueryFilterItemMapper {
int deleteByPrimaryKey(Long id);
int insert(DhFlatQueryFilterItem record);
int insertSelective(DhFlatQueryFilterItem record);
DhFlatQueryFilterItem selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(DhFlatQueryFilterItem record);
int updateByPrimaryKey(DhFlatQueryFilterItem record);
List<DhFlatQueryFilterItem> listQueryFilterItems(@Param("filterId") String filterId);
}
package com.gic.cloud.data.hook.service.dao;
import com.gic.cloud.data.hook.service.entity.DhFlatQueryFilter;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @author hua
* @description 针对表【dh_flat_query_filter(过滤项)】的数据库操作Mapper
* @createDate 2023-04-19 14:37:43
* @Entity com.gic.cloud.data.hook.service.entity.DhFlatQueryFilter
*/
@Mapper
public interface DhFlatQueryFilterMapper {
int deleteByPrimaryKey(Long id);
int insert(DhFlatQueryFilter record);
int insertSelective(DhFlatQueryFilter record);
DhFlatQueryFilter selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(DhFlatQueryFilter record);
int updateByPrimaryKey(DhFlatQueryFilter record);
DhFlatQueryFilter getFilterByCode(@Param("filterCode") String filterCode);
}
package com.gic.cloud.data.hook.service.deal;
import com.gic.api.base.commons.Page;
import com.gic.cloud.data.hook.api.dto.FilterQueryDataDTO;
public interface BaseQueryFilter {
/**
* 获取名称
* @return
*/
boolean checkFilter(QueryFilterContext context);
/**
* 获取信息
* @return
*/
Page<FilterQueryDataDTO> pageQueryData(QueryFilterContext context);
}
package com.gic.cloud.data.hook.service.deal;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.cloud.data.hook.service.entity.QueryFilterInfo;
import lombok.Data;
@Data
public class QueryFilterContext extends BasePageInfo {
/**
* 过滤项信息
*/
private QueryFilterInfo queryFilterInfo;
/**
* 企业id
*/
private String enterpriseId;
/**
* 搜索名称
*/
private String search;
}
package com.gic.cloud.data.hook.service.deal;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Component
public class QueryFilterFactory {
@Autowired
private List<BaseQueryFilter> queryFilters= new ArrayList<>();
public BaseQueryFilter getInstance(QueryFilterContext context) {
for (BaseQueryFilter queryFilter : queryFilters) {
if (queryFilter.checkFilter(context)){
return queryFilter;
}
}
return null;
}
}
package com.gic.cloud.data.hook.service.deal.queryfilter;
import com.gic.api.base.commons.Page;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
import com.gic.cloud.data.hook.api.dto.FilterQueryDataDTO;
import com.gic.cloud.data.hook.api.enums.QueryFilterCodeEnum;
import com.gic.cloud.data.hook.service.deal.BaseQueryFilter;
import com.gic.cloud.data.hook.service.deal.QueryFilterContext;
import com.gic.cloud.data.hook.service.entity.QueryFilterInfo;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class ClerkCodeQueryFilter implements BaseQueryFilter {
@Autowired
private ClerkService clerkService;
@Override
public boolean checkFilter(QueryFilterContext context) {
QueryFilterInfo queryFilterInfo = context.getQueryFilterInfo();
if (null == queryFilterInfo||queryFilterInfo.getFilterCode()==null) {
return false;
}
return queryFilterInfo.getFilterCode().equals(QueryFilterCodeEnum.CLERK_CODE.getCode());
}
@Override
public Page<FilterQueryDataDTO> pageQueryData(QueryFilterContext context) {
Page<ClerkDTO> clerkDTOPage = clerkService.pageUserBySearchName(context.getEnterpriseId(), context.getSearch(), context.getPageNum(), context.getPageSize());
Page<FilterQueryDataDTO> ret =new Page<>();
ret.setPageSize(context.getPageSize());
ret.setCurrentPage(context.getPageNum());
ret.setTotalCount(clerkDTOPage.getTotalCount());
List<ClerkDTO> result = clerkDTOPage.getResult();
if (CollectionUtils.isEmpty(result)) {
return ret;
}
List<FilterQueryDataDTO> retList = result.stream().map(mid -> {
FilterQueryDataDTO filterQueryDataDTO = new FilterQueryDataDTO();
filterQueryDataDTO.setShowName(mid.getClerkCode());
filterQueryDataDTO.setItemValue(mid.getClerkCode());
filterQueryDataDTO.setSubShowName(mid.getClerkName());
return filterQueryDataDTO;
}).collect(Collectors.toList());
ret.setResult(retList);
return ret;
}
}
package com.gic.cloud.data.hook.service.deal.queryfilter;
import com.gic.api.base.commons.Page;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
import com.gic.cloud.data.hook.api.dto.FilterQueryDataDTO;
import com.gic.cloud.data.hook.api.enums.QueryFilterCodeEnum;
import com.gic.cloud.data.hook.service.deal.BaseQueryFilter;
import com.gic.cloud.data.hook.service.deal.QueryFilterContext;
import com.gic.cloud.data.hook.service.entity.QueryFilterInfo;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class ClerkNameQueryFilter implements BaseQueryFilter {
@Autowired
private ClerkService clerkService;
@Override
public boolean checkFilter(QueryFilterContext context) {
QueryFilterInfo queryFilterInfo = context.getQueryFilterInfo();
if (null == queryFilterInfo||queryFilterInfo.getFilterCode()==null) {
return false;
}
return queryFilterInfo.getFilterCode().equals(QueryFilterCodeEnum.CLERK_NAME.getCode());
}
@Override
public Page<FilterQueryDataDTO> pageQueryData(QueryFilterContext context) {
Page<ClerkDTO> clerkDTOPage = clerkService.pageUserBySearchName(context.getEnterpriseId(), context.getSearch(), context.getPageNum(), context.getPageSize());
Page<FilterQueryDataDTO> ret =new Page<>();
ret.setPageSize(context.getPageSize());
ret.setCurrentPage(context.getPageNum());
ret.setTotalCount(clerkDTOPage.getTotalCount());
List<ClerkDTO> result = clerkDTOPage.getResult();
if (CollectionUtils.isEmpty(result)) {
return ret;
}
List<FilterQueryDataDTO> retList = result.stream().map(mid -> {
FilterQueryDataDTO filterQueryDataDTO = new FilterQueryDataDTO();
filterQueryDataDTO.setShowName(mid.getClerkName());
filterQueryDataDTO.setItemValue(mid.getClerkName());
filterQueryDataDTO.setSubShowName(mid.getClerkCode());
return filterQueryDataDTO;
}).collect(Collectors.toList());
ret.setResult(retList);
return ret;
}
}
package com.gic.cloud.data.hook.service.deal.queryfilter;
import com.gic.api.base.commons.Page;
import com.gic.cloud.data.hook.api.dto.FilterQueryDataDTO;
import com.gic.cloud.data.hook.service.dao.DhFlatQueryFilterItemMapper;
import com.gic.cloud.data.hook.service.dao.DhFlatQueryFilterMapper;
import com.gic.cloud.data.hook.service.deal.BaseQueryFilter;
import com.gic.cloud.data.hook.service.deal.QueryFilterContext;
import com.gic.cloud.data.hook.service.entity.DhFlatQueryFilterItem;
import com.gic.cloud.data.hook.service.entity.QueryFilterInfo;
import com.gic.commons.util.PageHelperUtils;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class EnumQueryFilter implements BaseQueryFilter {
@Autowired
private DhFlatQueryFilterItemMapper dhFlatQueryFilterItemMapper;
@Override
public boolean checkFilter(QueryFilterContext context) {
QueryFilterInfo queryFilterInfo = context.getQueryFilterInfo();
if (queryFilterInfo.getFilterType().intValue() == 0) {
return true;
}
return false;
}
@Override
public Page<FilterQueryDataDTO> pageQueryData(QueryFilterContext context) {
PageHelper.startPage(context);
List<DhFlatQueryFilterItem> list = dhFlatQueryFilterItemMapper.listQueryFilterItems(context.getQueryFilterInfo().getFilterId());
Page<FilterQueryDataDTO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list, FilterQueryDataDTO.class);
return retPage;
}
}
package com.gic.cloud.data.hook.service.deal.queryfilter;
import com.gic.api.base.commons.Page;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
import com.gic.cloud.data.hook.api.dto.FilterQueryDataDTO;
import com.gic.cloud.data.hook.api.enums.QueryFilterCodeEnum;
import com.gic.cloud.data.hook.service.deal.BaseQueryFilter;
import com.gic.cloud.data.hook.service.deal.QueryFilterContext;
import com.gic.cloud.data.hook.service.entity.QueryFilterInfo;
import com.gic.commons.util.PageHelperUtils;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.dto.StoreSearchDTO;
import com.gic.enterprise.api.service.StoreService;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class StoreCodeQueryFilter implements BaseQueryFilter {
@Autowired
private StoreService storeService;
@Override
public boolean checkFilter(QueryFilterContext context) {
QueryFilterInfo queryFilterInfo = context.getQueryFilterInfo();
if (null == queryFilterInfo||queryFilterInfo.getFilterCode()==null) {
return false;
}
return queryFilterInfo.getFilterCode().equals(QueryFilterCodeEnum.STORE_CODE.getCode());
}
@Override
public Page<FilterQueryDataDTO> pageQueryData(QueryFilterContext context) {
Page<StoreDTO> page = new Page<>();
page.setPageSize(context.getPageSize());
page.setCurrentPage(context.getPageNum());
StoreSearchDTO storeSearchDTO = new StoreSearchDTO();
storeSearchDTO.setEnterpriseId(context.getEnterpriseId());
storeSearchDTO.setSearchName(context.getSearch());
Page retPage = storeService.storeListPage(page, storeSearchDTO);
Page<StoreDTO> storeDTOPage = PageHelperUtils.changePageToCurrentPage(retPage, StoreDTO.class);
// Page<ClerkDTO> clerkDTOPage = clerkService.pageUserBySearchName(context.getEnterpriseId(), context.getSearch(), context.getPageNum(), context.getPageSize());
Page<FilterQueryDataDTO> ret =new Page<>();
ret.setPageSize(context.getPageSize());
ret.setCurrentPage(context.getPageNum());
ret.setTotalCount(storeDTOPage.getTotalCount());
List<StoreDTO> result = storeDTOPage.getResult();
if (CollectionUtils.isEmpty(result)) {
return ret;
}
List<FilterQueryDataDTO> retList = result.stream().map(mid -> {
FilterQueryDataDTO filterQueryDataDTO = new FilterQueryDataDTO();
filterQueryDataDTO.setShowName(mid.getStoreCode());
filterQueryDataDTO.setItemValue(mid.getStoreCode());
filterQueryDataDTO.setSubShowName(mid.getStoreName());
return filterQueryDataDTO;
}).collect(Collectors.toList());
ret.setResult(retList);
return ret;
}
}
package com.gic.cloud.data.hook.service.deal.queryfilter;
import com.gic.api.base.commons.Page;
import com.gic.cloud.data.hook.api.dto.FilterQueryDataDTO;
import com.gic.cloud.data.hook.api.enums.QueryFilterCodeEnum;
import com.gic.cloud.data.hook.service.deal.BaseQueryFilter;
import com.gic.cloud.data.hook.service.deal.QueryFilterContext;
import com.gic.cloud.data.hook.service.entity.QueryFilterInfo;
import com.gic.commons.util.PageHelperUtils;
import com.gic.enterprise.api.dto.PowerStoreGroupDTO;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.dto.StoreSearchDTO;
import com.gic.enterprise.api.service.StoreGroupService;
import com.gic.enterprise.api.service.StoreService;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class StoreGroupNameQueryFilter implements BaseQueryFilter {
@Autowired
private StoreGroupService storeGroupService;
@Override
public boolean checkFilter(QueryFilterContext context) {
QueryFilterInfo queryFilterInfo = context.getQueryFilterInfo();
if (null == queryFilterInfo||queryFilterInfo.getFilterCode()==null) {
return false;
}
return queryFilterInfo.getFilterCode().equals(QueryFilterCodeEnum.STORE_GROUP_NAME.getCode());
}
@Override
public Page<FilterQueryDataDTO> pageQueryData(QueryFilterContext context) {
List<PowerStoreGroupDTO> storeGroupList = storeGroupService.getStoreGroupList(context.getEnterpriseId());
Map<String, PowerStoreGroupDTO> storeGroupMap = storeGroupList.stream().collect(Collectors.toMap(mid -> mid.getStoreGroupId(), mid -> mid));
List<FilterQueryDataDTO> retList = storeGroupList.stream().map(mid -> {
String storeGroupChainName = getStoreGroupChainName(storeGroupMap, mid);
FilterQueryDataDTO filterQueryDataDTO = new FilterQueryDataDTO();
filterQueryDataDTO.setShowName(storeGroupChainName);
filterQueryDataDTO.setItemValue(storeGroupChainName);
return filterQueryDataDTO;
}).collect(Collectors.toList());
Page<FilterQueryDataDTO> page = new Page<>();
page.setTotalCount(retList.size());
page.setPageSize(retList.size());
page.setCurrentPage(1);
page.setResult(retList);
return page;
}
/**
* 组装链路名称
* @param storeGroupDTOMap
* @param current
* @return
*/
private String getStoreGroupChainName(Map<String, PowerStoreGroupDTO> storeGroupDTOMap,PowerStoreGroupDTO current) {
if (current == null) {
return null;
}
String ret=current.getStoreGroupName();
String parentGroupId = current.getParentGroupId();
if (parentGroupId.equals("0")) {
return ret;
}
PowerStoreGroupDTO powerStoreGroupDTO = storeGroupDTOMap.get(parentGroupId);
if (powerStoreGroupDTO== null) {
return ret;
}
String subChain = getStoreGroupChainName(storeGroupDTOMap, powerStoreGroupDTO);
return subChain+"/"+ret;
}
}
package com.gic.cloud.data.hook.service.deal.queryfilter;
import com.gic.api.base.commons.Page;
import com.gic.cloud.data.hook.api.dto.FilterQueryDataDTO;
import com.gic.cloud.data.hook.api.enums.QueryFilterCodeEnum;
import com.gic.cloud.data.hook.service.deal.BaseQueryFilter;
import com.gic.cloud.data.hook.service.deal.QueryFilterContext;
import com.gic.cloud.data.hook.service.entity.QueryFilterInfo;
import com.gic.commons.util.PageHelperUtils;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.dto.StoreSearchDTO;
import com.gic.enterprise.api.service.StoreService;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class StoreNameQueryFilter implements BaseQueryFilter {
@Autowired
private StoreService storeService;
@Override
public boolean checkFilter(QueryFilterContext context) {
QueryFilterInfo queryFilterInfo = context.getQueryFilterInfo();
if (null == queryFilterInfo||queryFilterInfo.getFilterCode()==null) {
return false;
}
return queryFilterInfo.getFilterCode().equals(QueryFilterCodeEnum.STORE_NAME.getCode());
}
@Override
public Page<FilterQueryDataDTO> pageQueryData(QueryFilterContext context) {
Page<StoreDTO> page = new Page<>();
page.setPageSize(context.getPageSize());
page.setCurrentPage(context.getPageNum());
StoreSearchDTO storeSearchDTO = new StoreSearchDTO();
storeSearchDTO.setEnterpriseId(context.getEnterpriseId());
storeSearchDTO.setSearchName(context.getSearch());
Page retPage = storeService.storeListPage(page, storeSearchDTO);
Page<StoreDTO> storeDTOPage = PageHelperUtils.changePageToCurrentPage(retPage, StoreDTO.class);
// Page<ClerkDTO> clerkDTOPage = clerkService.pageUserBySearchName(context.getEnterpriseId(), context.getSearch(), context.getPageNum(), context.getPageSize());
Page<FilterQueryDataDTO> ret =new Page<>();
ret.setPageSize(context.getPageSize());
ret.setCurrentPage(context.getPageNum());
ret.setTotalCount(storeDTOPage.getTotalCount());
List<StoreDTO> result = storeDTOPage.getResult();
if (CollectionUtils.isEmpty(result)) {
return ret;
}
List<FilterQueryDataDTO> retList = result.stream().map(mid -> {
FilterQueryDataDTO filterQueryDataDTO = new FilterQueryDataDTO();
filterQueryDataDTO.setShowName(mid.getStoreName());
filterQueryDataDTO.setItemValue(mid.getStoreName());
filterQueryDataDTO.setSubShowName(mid.getStoreCode());
return filterQueryDataDTO;
}).collect(Collectors.toList());
ret.setResult(retList);
return ret;
}
}
package com.gic.cloud.data.hook.service.entity;
import java.io.Serializable;
import java.util.Date;
/**
* 过滤项
* @TableName dh_flat_query_filter
*/
public class DhFlatQueryFilter implements Serializable {
/**
*
*/
private Integer filterId;
/**
* 过滤编号
*/
private String filterCode;
/**
* 过滤名称
*/
private String filterName;
/**
* 搜索描述
*/
private String filterSearchTip;
/**
* 过滤类型 0 枚举 1调用接口
*/
private Integer filterType;
/**
* 是否删除
*/
private Integer delFlag;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
private static final long serialVersionUID = 1L;
/**
*
*/
public Integer getFilterId() {
return filterId;
}
/**
*
*/
public void setFilterId(Integer filterId) {
this.filterId = filterId;
}
/**
* 过滤编号
*/
public String getFilterCode() {
return filterCode;
}
/**
* 过滤编号
*/
public void setFilterCode(String filterCode) {
this.filterCode = filterCode;
}
/**
* 过滤名称
*/
public String getFilterName() {
return filterName;
}
/**
* 过滤名称
*/
public void setFilterName(String filterName) {
this.filterName = filterName;
}
/**
* 搜索描述
*/
public String getFilterSearchTip() {
return filterSearchTip;
}
/**
* 搜索描述
*/
public void setFilterSearchTip(String filterSearchTip) {
this.filterSearchTip = filterSearchTip;
}
/**
* 过滤类型 0 枚举 1调用接口
*/
public Integer getFilterType() {
return filterType;
}
/**
* 过滤类型 0 枚举 1调用接口
*/
public void setFilterType(Integer filterType) {
this.filterType = filterType;
}
/**
* 是否删除
*/
public Integer getDelFlag() {
return delFlag;
}
/**
* 是否删除
*/
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
/**
*
*/
public Date getCreateTime() {
return createTime;
}
/**
*
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
*
*/
public Date getUpdateTime() {
return updateTime;
}
/**
*
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
DhFlatQueryFilter other = (DhFlatQueryFilter) that;
return (this.getFilterId() == null ? other.getFilterId() == null : this.getFilterId().equals(other.getFilterId()))
&& (this.getFilterCode() == null ? other.getFilterCode() == null : this.getFilterCode().equals(other.getFilterCode()))
&& (this.getFilterName() == null ? other.getFilterName() == null : this.getFilterName().equals(other.getFilterName()))
&& (this.getFilterSearchTip() == null ? other.getFilterSearchTip() == null : this.getFilterSearchTip().equals(other.getFilterSearchTip()))
&& (this.getFilterType() == null ? other.getFilterType() == null : this.getFilterType().equals(other.getFilterType()))
&& (this.getDelFlag() == null ? other.getDelFlag() == null : this.getDelFlag().equals(other.getDelFlag()))
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()));
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getFilterId() == null) ? 0 : getFilterId().hashCode());
result = prime * result + ((getFilterCode() == null) ? 0 : getFilterCode().hashCode());
result = prime * result + ((getFilterName() == null) ? 0 : getFilterName().hashCode());
result = prime * result + ((getFilterSearchTip() == null) ? 0 : getFilterSearchTip().hashCode());
result = prime * result + ((getFilterType() == null) ? 0 : getFilterType().hashCode());
result = prime * result + ((getDelFlag() == null) ? 0 : getDelFlag().hashCode());
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
return result;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", filterId=").append(filterId);
sb.append(", filterCode=").append(filterCode);
sb.append(", filterName=").append(filterName);
sb.append(", filterSearchTip=").append(filterSearchTip);
sb.append(", filterType=").append(filterType);
sb.append(", delFlag=").append(delFlag);
sb.append(", createTime=").append(createTime);
sb.append(", updateTime=").append(updateTime);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
}
\ No newline at end of file
package com.gic.cloud.data.hook.service.entity;
import java.io.Serializable;
import java.util.Date;
/**
* 过滤项
* @TableName dh_flat_query_filter_item
*/
public class DhFlatQueryFilterItem implements Serializable {
/**
*
*/
private Integer filterItemId;
/**
* 过滤id
*/
private Integer filterId;
/**
* 显示名称 如果为空 显示名称就是item_value
*/
private String showName;
/**
* 实际值 选中的实际值
*/
private String itemValue;
/**
* 是否删除
*/
private Integer delFlag;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
private static final long serialVersionUID = 1L;
/**
*
*/
public Integer getFilterItemId() {
return filterItemId;
}
/**
*
*/
public void setFilterItemId(Integer filterItemId) {
this.filterItemId = filterItemId;
}
/**
* 过滤id
*/
public Integer getFilterId() {
return filterId;
}
/**
* 过滤id
*/
public void setFilterId(Integer filterId) {
this.filterId = filterId;
}
/**
* 显示名称 如果为空 显示名称就是item_value
*/
public String getShowName() {
return showName;
}
/**
* 显示名称 如果为空 显示名称就是item_value
*/
public void setShowName(String showName) {
this.showName = showName;
}
/**
* 实际值 选中的实际值
*/
public String getItemValue() {
return itemValue;
}
/**
* 实际值 选中的实际值
*/
public void setItemValue(String itemValue) {
this.itemValue = itemValue;
}
/**
* 是否删除
*/
public Integer getDelFlag() {
return delFlag;
}
/**
* 是否删除
*/
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
/**
*
*/
public Date getCreateTime() {
return createTime;
}
/**
*
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
*
*/
public Date getUpdateTime() {
return updateTime;
}
/**
*
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
DhFlatQueryFilterItem other = (DhFlatQueryFilterItem) that;
return (this.getFilterItemId() == null ? other.getFilterItemId() == null : this.getFilterItemId().equals(other.getFilterItemId()))
&& (this.getFilterId() == null ? other.getFilterId() == null : this.getFilterId().equals(other.getFilterId()))
&& (this.getShowName() == null ? other.getShowName() == null : this.getShowName().equals(other.getShowName()))
&& (this.getItemValue() == null ? other.getItemValue() == null : this.getItemValue().equals(other.getItemValue()))
&& (this.getDelFlag() == null ? other.getDelFlag() == null : this.getDelFlag().equals(other.getDelFlag()))
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()));
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getFilterItemId() == null) ? 0 : getFilterItemId().hashCode());
result = prime * result + ((getFilterId() == null) ? 0 : getFilterId().hashCode());
result = prime * result + ((getShowName() == null) ? 0 : getShowName().hashCode());
result = prime * result + ((getItemValue() == null) ? 0 : getItemValue().hashCode());
result = prime * result + ((getDelFlag() == null) ? 0 : getDelFlag().hashCode());
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
return result;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", filterItemId=").append(filterItemId);
sb.append(", filterId=").append(filterId);
sb.append(", showName=").append(showName);
sb.append(", itemValue=").append(itemValue);
sb.append(", delFlag=").append(delFlag);
sb.append(", createTime=").append(createTime);
sb.append(", updateTime=").append(updateTime);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
}
\ No newline at end of file
package com.gic.cloud.data.hook.service.entity;
import lombok.Data;
import java.io.Serializable;
@Data
public class QueryFilterInfo implements Serializable {
private String filterId;
private String filterCode;
private String filterName;
private Integer filterType;
}
......@@ -6,17 +6,22 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ctrip.framework.apollo.Config;
import com.ctrip.framework.apollo.ConfigService;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.cloud.data.hook.api.dto.*;
import com.gic.cloud.data.hook.api.entity.*;
import com.gic.cloud.data.hook.api.service.DecryptKeyService;
import com.gic.cloud.data.hook.api.service.IDownloadTaskService;
import com.gic.cloud.data.hook.api.service.IFlatQueryResultService;
import com.gic.cloud.data.hook.service.*;
import com.gic.cloud.data.hook.service.dao.DhFlatQueryFilterMapper;
import com.gic.cloud.data.hook.service.dao.FlatQueryFieldDao;
import com.gic.cloud.data.hook.service.dao.FlatQueryTableDao;
import com.gic.cloud.data.hook.service.entity.ColumnInfo;
import com.gic.cloud.data.hook.service.entity.CsvDataFilterMode;
import com.gic.cloud.data.hook.service.entity.CsvResultSetHelper;
import com.gic.cloud.data.hook.service.deal.BaseQueryFilter;
import com.gic.cloud.data.hook.service.deal.QueryFilterContext;
import com.gic.cloud.data.hook.service.deal.QueryFilterFactory;
import com.gic.cloud.data.hook.service.entity.*;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.GICMQClientUtil;
import com.gic.dubbo.entity.ProviderLocalTag;
import com.gic.enterprise.api.dto.EnterpriseDTO;
......@@ -104,6 +109,12 @@ public class FlatQueryResultServiceImpl implements IFlatQueryResultService {
@Autowired
private EnterpriseService enterpriseService;
@Autowired
private QueryFilterFactory queryFilterFactory;
@Autowired
private DhFlatQueryFilterMapper flatQueryFilterMapper;
/** 自助指标查询关联的下载条件列表 */
protected List<FlatQueryTaskCondition> taskConditions = Lists.newArrayList();
protected List<FlatQueryTaskCondition> bigTaskConditions = Lists.newArrayList();
......@@ -1515,7 +1526,7 @@ public class FlatQueryResultServiceImpl implements IFlatQueryResultService {
/* *//** 运行下载申请任务
* @param interval
* @param
*//*
private void runApplyTask(Integer interval) {
this.applyTimer.schedule(new TimerTask() {
......@@ -1526,5 +1537,21 @@ public class FlatQueryResultServiceImpl implements IFlatQueryResultService {
}, interval * 1000, interval * 1000);// 配置中的值为毫秒
}*/
@Override
public Page<FilterQueryDataDTO> pageFlatQueryFilterNew(String enterpriseId, String filterCode,String search, BasePageInfo pageInfo) {
DhFlatQueryFilter queryFilter = flatQueryFilterMapper.getFilterByCode(filterCode);
if (queryFilter == null) {
logger.info("不存在搜索code:{}",filterCode);
return new Page<>();
}
QueryFilterInfo queryFilterInfo = EntityUtil.changeEntityByJSON(QueryFilterInfo.class, queryFilter);
QueryFilterContext queryFilterContext = new QueryFilterContext();
queryFilterContext.setEnterpriseId(enterpriseId);
queryFilterContext.setQueryFilterInfo(queryFilterInfo);
queryFilterContext.setSearch(search);
queryFilterContext.setPageNum(pageInfo.getPageNum());
queryFilterContext.setPageSize(pageInfo.getPageSize());
BaseQueryFilter instance = queryFilterFactory.getInstance(queryFilterContext);
return instance.pageQueryData(queryFilterContext);
}
}
......@@ -37,6 +37,10 @@
<dubbo:reference interface="com.gic.enterprise.api.service.EnterpriseService" id="enterpriseService" timeout="10000" />
<dubbo:reference interface="com.gic.clerk.api.service.ClerkService" id="clerkService" timeout="10000" />
<dubbo:reference interface="com.gic.enterprise.api.service.StoreService" id="storeService" timeout="10000" />
<dubbo:reference interface="com.gic.enterprise.api.service.StoreGroupService" id="storeGroupService" timeout="10000" />
<!-- 引用的 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" />
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gic.cloud.data.hook.service.dao.DhFlatQueryFilterItemMapper">
<resultMap id="BaseResultMap" type="com.gic.cloud.data.hook.service.entity.DhFlatQueryFilterItem">
<id property="filterItemId" column="filter_item_id" jdbcType="INTEGER"/>
<result property="filterId" column="filter_id" jdbcType="INTEGER"/>
<result property="showName" column="show_name" jdbcType="VARCHAR"/>
<result property="itemValue" column="item_value" jdbcType="VARCHAR"/>
<result property="delFlag" column="del_flag" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
filter_item_id,filter_id,show_name,
item_value,del_flag,create_time,
update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from dh_flat_query_filter_item
where filter_item_id = #{filterItemId,jdbcType=INTEGER}
</select>
<select id="listQueryFilterItems" resultType="com.gic.cloud.data.hook.service.entity.DhFlatQueryFilterItem"
parameterType="java.lang.String">
select
<include refid="Base_Column_List" />
from dh_flat_query_filter_item
where
filter_id = #{filterId}
and del_flag=0
order by create_time asc
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from dh_flat_query_filter_item
where filter_item_id = #{filterItemId,jdbcType=INTEGER}
</delete>
<insert id="insert" keyColumn="filter_item_id" keyProperty="filterItemId" parameterType="com.gic.cloud.data.hook.service.entity.DhFlatQueryFilterItem" useGeneratedKeys="true">
insert into dh_flat_query_filter_item
( filter_item_id,filter_id,show_name
,item_value,del_flag,create_time
,update_time)
values (#{filterItemId,jdbcType=INTEGER},#{filterId,jdbcType=INTEGER},#{showName,jdbcType=VARCHAR}
,#{itemValue,jdbcType=VARCHAR},#{delFlag,jdbcType=INTEGER},#{createTime,jdbcType=TIMESTAMP}
,#{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" keyColumn="filter_item_id" keyProperty="filterItemId" parameterType="com.gic.cloud.data.hook.service.entity.DhFlatQueryFilterItem" useGeneratedKeys="true">
insert into dh_flat_query_filter_item
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="filterItemId != null">filter_item_id,</if>
<if test="filterId != null">filter_id,</if>
<if test="showName != null">show_name,</if>
<if test="itemValue != null">item_value,</if>
<if test="delFlag != null">del_flag,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="filterItemId != null">#{filterItemId,jdbcType=INTEGER},</if>
<if test="filterId != null">#{filterId,jdbcType=INTEGER},</if>
<if test="showName != null">#{showName,jdbcType=VARCHAR},</if>
<if test="itemValue != null">#{itemValue,jdbcType=VARCHAR},</if>
<if test="delFlag != null">#{delFlag,jdbcType=INTEGER},</if>
<if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if>
<if test="updateTime != null">#{updateTime,jdbcType=TIMESTAMP},</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.cloud.data.hook.service.entity.DhFlatQueryFilterItem">
update dh_flat_query_filter_item
<set>
<if test="filterId != null">
filter_id = #{filterId,jdbcType=INTEGER},
</if>
<if test="showName != null">
show_name = #{showName,jdbcType=VARCHAR},
</if>
<if test="itemValue != null">
item_value = #{itemValue,jdbcType=VARCHAR},
</if>
<if test="delFlag != null">
del_flag = #{delFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where filter_item_id = #{filterItemId,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.cloud.data.hook.service.entity.DhFlatQueryFilterItem">
update dh_flat_query_filter_item
set
filter_id = #{filterId,jdbcType=INTEGER},
show_name = #{showName,jdbcType=VARCHAR},
item_value = #{itemValue,jdbcType=VARCHAR},
del_flag = #{delFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where filter_item_id = #{filterItemId,jdbcType=INTEGER}
</update>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gic.cloud.data.hook.service.dao.DhFlatQueryFilterMapper">
<resultMap id="BaseResultMap" type="com.gic.cloud.data.hook.service.entity.DhFlatQueryFilter">
<id property="filterId" column="filter_id" jdbcType="INTEGER"/>
<result property="filterCode" column="filter_code" jdbcType="VARCHAR"/>
<result property="filterName" column="filter_name" jdbcType="VARCHAR"/>
<result property="filterSearchTip" column="filter_search_tip" jdbcType="VARCHAR"/>
<result property="filterType" column="filter_type" jdbcType="INTEGER"/>
<result property="delFlag" column="del_flag" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
filter_id,filter_code,filter_name,
filter_search_tip,filter_type,del_flag,
create_time,update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from dh_flat_query_filter
where filter_id = #{filterId,jdbcType=INTEGER}
</select>
<select id="getFilterByCode" resultType="com.gic.cloud.data.hook.service.entity.DhFlatQueryFilter"
parameterType="java.lang.String">
select
<include refid="Base_Column_List" />
from
dh_flat_query_filter
where filter_code = #{filterCode} and del_flag=0
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from dh_flat_query_filter
where filter_id = #{filterId,jdbcType=INTEGER}
</delete>
<insert id="insert" keyColumn="filter_id" keyProperty="filterId" parameterType="com.gic.cloud.data.hook.service.entity.DhFlatQueryFilter" useGeneratedKeys="true">
insert into dh_flat_query_filter
( filter_id,filter_code,filter_name
,filter_search_tip,filter_type,del_flag
,create_time,update_time)
values (#{filterId,jdbcType=INTEGER},#{filterCode,jdbcType=VARCHAR},#{filterName,jdbcType=VARCHAR}
,#{filterSearchTip,jdbcType=VARCHAR},#{filterType,jdbcType=INTEGER},#{delFlag,jdbcType=INTEGER}
,#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" keyColumn="filter_id" keyProperty="filterId" parameterType="com.gic.cloud.data.hook.service.entity.DhFlatQueryFilter" useGeneratedKeys="true">
insert into dh_flat_query_filter
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="filterId != null">filter_id,</if>
<if test="filterCode != null">filter_code,</if>
<if test="filterName != null">filter_name,</if>
<if test="filterSearchTip != null">filter_search_tip,</if>
<if test="filterType != null">filter_type,</if>
<if test="delFlag != null">del_flag,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="filterId != null">#{filterId,jdbcType=INTEGER},</if>
<if test="filterCode != null">#{filterCode,jdbcType=VARCHAR},</if>
<if test="filterName != null">#{filterName,jdbcType=VARCHAR},</if>
<if test="filterSearchTip != null">#{filterSearchTip,jdbcType=VARCHAR},</if>
<if test="filterType != null">#{filterType,jdbcType=INTEGER},</if>
<if test="delFlag != null">#{delFlag,jdbcType=INTEGER},</if>
<if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if>
<if test="updateTime != null">#{updateTime,jdbcType=TIMESTAMP},</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.cloud.data.hook.service.entity.DhFlatQueryFilter">
update dh_flat_query_filter
<set>
<if test="filterCode != null">
filter_code = #{filterCode,jdbcType=VARCHAR},
</if>
<if test="filterName != null">
filter_name = #{filterName,jdbcType=VARCHAR},
</if>
<if test="filterSearchTip != null">
filter_search_tip = #{filterSearchTip,jdbcType=VARCHAR},
</if>
<if test="filterType != null">
filter_type = #{filterType,jdbcType=INTEGER},
</if>
<if test="delFlag != null">
del_flag = #{delFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where filter_id = #{filterId,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.cloud.data.hook.service.entity.DhFlatQueryFilter">
update dh_flat_query_filter
set
filter_code = #{filterCode,jdbcType=VARCHAR},
filter_name = #{filterName,jdbcType=VARCHAR},
filter_search_tip = #{filterSearchTip,jdbcType=VARCHAR},
filter_type = #{filterType,jdbcType=INTEGER},
del_flag = #{delFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where filter_id = #{filterId,jdbcType=INTEGER}
</update>
</mapper>
......@@ -19,7 +19,8 @@
q.field_type,
q.enable_filter,
q.enable_order,
q.enable_encrypt
q.enable_encrypt,
q.filter_code
</sql>
......
package com.gic;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.cloud.data.hook.api.dto.FilterQueryDataDTO;
import com.gic.cloud.data.hook.service.dao.DhFlatQueryFilterMapper;
import com.gic.cloud.data.hook.service.deal.BaseQueryFilter;
import com.gic.cloud.data.hook.service.deal.QueryFilterContext;
import com.gic.cloud.data.hook.service.deal.QueryFilterFactory;
import com.gic.cloud.data.hook.service.entity.DhFlatQueryFilter;
import com.gic.cloud.data.hook.service.entity.QueryFilterInfo;
import com.gic.commons.util.EntityUtil;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath*:applicationContext-conf.xml"})
public class QueryFilterTest {
@Autowired
private QueryFilterFactory queryFilterFactory;
@Autowired
private DhFlatQueryFilterMapper dhFlatQueryFilterMapper;
@Test
public void test(){
QueryFilterContext queryFilterContext = new QueryFilterContext();
DhFlatQueryFilter dhFlatQueryFilter = dhFlatQueryFilterMapper.selectByPrimaryKey(2L);
if (null == dhFlatQueryFilter) {
return;
}
QueryFilterInfo queryFilterInfo = EntityUtil.changeEntityByJSON(QueryFilterInfo.class, dhFlatQueryFilter);
queryFilterContext.setQueryFilterInfo(queryFilterInfo);
queryFilterContext.setEnterpriseId("ff8080815dacd3a2015dacd3ef5c0000");
queryFilterContext.setSearch("测试");
BaseQueryFilter instance = queryFilterFactory.getInstance(queryFilterContext);
Page<FilterQueryDataDTO> filterQueryDataDTOPage = instance.pageQueryData(queryFilterContext);
System.out.println(JSONObject.toJSONString(filterQueryDataDTOPage));
}
}
package com.gic.cloud.data.hook.qo;
import com.gic.commons.web.qo.PageQo;
import java.io.Serializable;
public class FilterInfoQO extends PageQo {
private String filterCode;
private String search;
public String getFilterCode() {
return filterCode;
}
public void setFilterCode(String filterCode) {
this.filterCode = filterCode;
}
public String getSearch() {
return search;
}
public void setSearch(String search) {
this.search = search;
}
}
......@@ -16,6 +16,8 @@ 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.*;
import com.gic.cloud.data.hook.qo.FilterInfoQO;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.api.constant.StoreWidget;
import com.gic.enterprise.api.dto.EnterpriseSettingDTO;
import com.gic.enterprise.api.dto.StoreWidgetDTO;
......@@ -147,6 +149,19 @@ public class FlatQueryController {
return this.flatQueryTableService.queryFlatQueryTableDetailByTableId(userId, tableId);
}
/** 根据filterCode 查询列表数据
* @return
*/
@RequestMapping("/flat-query-filter-info")
public RestResponse flatQueryFilterInfo(@RequestBody FilterInfoQO filterInfoQO) {
String enterpriseId = SessionContextUtils.getLoginUserEnterpriseId();
if (StringUtils.isEmpty(enterpriseId)) {
return RestResponse.failure("4","企业不存在");
}
com.gic.api.base.commons.Page<FilterQueryDataDTO> retPage = this.flatQueryResultService.pageFlatQueryFilterNew(enterpriseId, filterInfoQO.getFilterCode(), filterInfoQO.getSearch(), filterInfoQO.getBasePageInfo());
return RestResponse.successResult(retPage);
}
/** 执行自助查询
* @param executeRequest
* @param request
......
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