Browse Source

完善筛选

dev
wangqing 4 years ago
parent
commit
f055d5e3a1
  1. 2
      tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java
  2. 2
      tduck-project/src/main/java/com/tduck/cloud/project/request/QueryProjectResultRequest.java
  3. 18
      tduck-project/src/main/java/com/tduck/cloud/project/service/impl/UserProjectResultServiceImpl.java

2
tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java

@ -277,7 +277,7 @@ public class UserProjectController {
*/ */
private UserProjectItemEntity formatProjectItem(OperateProjectItemRequest request) { private UserProjectItemEntity formatProjectItem(OperateProjectItemRequest request) {
//把Map转换成Bean 在转换成Map 去除不在bean字段列表的多字段 //把Map转换成Bean 在转换成Map 去除不在bean字段列表的多字段
Object bean = BeanUtil.fillBeanWithMap(request.getExpand(), request.getType().getExpandClass(),false); Object bean = BeanUtil.toBeanIgnoreCase(request.getExpand(), request.getType().getExpandClass(),false);
UserProjectItemEntity entity = new UserProjectItemEntity(); UserProjectItemEntity entity = new UserProjectItemEntity();
BeanUtil.copyProperties(request, entity, UserProjectItemEntity.Fields.defaultValue); BeanUtil.copyProperties(request, entity, UserProjectItemEntity.Fields.defaultValue);
entity.setExpand(BeanUtil.beanToMap(bean)); entity.setExpand(BeanUtil.beanToMap(bean));

2
tduck-project/src/main/java/com/tduck/cloud/project/request/QueryProjectResultRequest.java

@ -6,6 +6,7 @@ import com.tduck.cloud.common.entity.PageRequest;
import com.tduck.cloud.common.util.JsonUtils; import com.tduck.cloud.common.util.JsonUtils;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.FieldNameConstants; import lombok.experimental.FieldNameConstants;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@ -60,6 +61,7 @@ public class QueryProjectResultRequest extends PageRequest {
return null; return null;
} }
@Getter
@AllArgsConstructor @AllArgsConstructor
public enum QueryComparison { public enum QueryComparison {
EQ("eq", "="), EQ("eq", "="),

18
tduck-project/src/main/java/com/tduck/cloud/project/service/impl/UserProjectResultServiceImpl.java

@ -6,6 +6,7 @@ import cn.hutool.core.map.MapUtil;
import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.*; import cn.hutool.core.util.*;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -73,12 +74,23 @@ public class UserProjectResultServiceImpl extends ServiceImpl<UserProjectResultM
@Override @Override
public Page listByQueryConditions(QueryProjectResultRequest request) { public Page listByQueryConditions(QueryProjectResultRequest request) {
return this.page(request.toMybatisPage(), Wrappers.<UserProjectResultEntity>lambdaQuery() LambdaQueryWrapper<UserProjectResultEntity> lambdaQueryWrapper = Wrappers.<UserProjectResultEntity>lambdaQuery()
.eq(UserProjectResultEntity::getProjectKey, request.getProjectKey()) .eq(UserProjectResultEntity::getProjectKey, request.getProjectKey())
.le(ObjectUtil.isNotNull(request.getEndDateTime()), UserProjectResultEntity::getCreateTime, request.getEndDateTime()) .le(ObjectUtil.isNotNull(request.getEndDateTime()), UserProjectResultEntity::getCreateTime, request.getEndDateTime())
.ge(ObjectUtil.isNotNull(request.getBeginDateTime()), UserProjectResultEntity::getCreateTime, request.getBeginDateTime()) .ge(ObjectUtil.isNotNull(request.getBeginDateTime()), UserProjectResultEntity::getCreateTime, request.getBeginDateTime())
.orderByDesc(BaseEntity::getCreateTime);
.orderByDesc(BaseEntity::getCreateTime)); if (ObjectUtil.isNotNull(request.getExtParamsMap())) {
request.getExtParamsMap().keySet().forEach(item -> {
String comparison = MapUtil.getStr(request.getExtComparisonsMap(), item);
QueryProjectResultRequest.QueryComparison queryComparison = QueryProjectResultRequest.QueryComparison.get(comparison);
Object value = request.getExtParamsMap().get(item);
if (queryComparison == QueryProjectResultRequest.QueryComparison.LIKE) {
value = "'%" + value + "%'";
}
lambdaQueryWrapper.apply(StrUtil.format("original_data ->'$.{}' {} {} ", item, queryComparison.getKey(), value));
});
}
return this.page(request.toMybatisPage(), lambdaQueryWrapper);
} }
@Override @Override

Loading…
Cancel
Save