|
@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.fasterxml.jackson.databind.node.ArrayNode;
|
|
|
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
|
|
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
@@ -29,7 +30,10 @@ import com.persagy.proxy.adm.utils.AdmQueryCriteriaHelper;
|
|
|
import com.persagy.proxy.adm.utils.ObjectNameUtil;
|
|
|
import com.persagy.proxy.common.entity.RelationDTO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.web.bind.annotation.*;
|
|
|
+import org.springframework.web.bind.annotation.PostMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import javax.ws.rs.QueryParam;
|
|
|
import java.util.*;
|
|
@@ -52,6 +56,8 @@ public class AdmShaftController {
|
|
|
private IAdmBuildingService buildingService;
|
|
|
@Autowired
|
|
|
private IAdmSpaceService spaceService;
|
|
|
+ @Autowired
|
|
|
+ private ObjectMapper objectMapper;
|
|
|
|
|
|
/**
|
|
|
* 统计
|
|
@@ -146,7 +152,23 @@ public class AdmShaftController {
|
|
|
@PostMapping("/query")
|
|
|
public AdmResponse query(@RequestBody AdmQueryCriteria request) throws Exception {
|
|
|
request.setName(AdmShaft.OBJ_TYPE);
|
|
|
- return service.doQuery(AdmContextUtil.toDmpContext(), request, AdmShaft.class);
|
|
|
+ QueryCriteria queryCriteria = AdmQueryCriteriaHelper.toDmpCriteria(request);
|
|
|
+ ObjectNode criteria = queryCriteria.getCriteria();
|
|
|
+ if(!JSONUtil.isNull(criteria)){
|
|
|
+ Map<String, String> criteriaMap = objectMapper.convertValue(criteria, Map.class);
|
|
|
+ if(CollUtil.isNotEmpty(criteriaMap)){
|
|
|
+ ObjectNode criteriaNew = JsonNodeFactory.instance.objectNode();
|
|
|
+ criteriaMap.keySet().stream().forEach(key -> {
|
|
|
+ if(key.startsWith("infos.")){
|
|
|
+ criteriaNew.put(key.substring(6), criteriaMap.get(key));
|
|
|
+ }else{
|
|
|
+ criteriaNew.put(key, criteriaMap.get(key));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ queryCriteria.setCriteria(criteriaNew);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return service.doQuery(AdmContextUtil.toDmpContext(), queryCriteria, AdmShaft.class);
|
|
|
}
|
|
|
|
|
|
/**
|