Merge branch 'dev_xd' of http://62.234.3.186:3000/jiangyq/YZProjectCloud into dev_xd
commit
4e5c54a732
|
@ -23,6 +23,7 @@ import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/bim/modelInfo")
|
@RequestMapping("/bim/modelInfo")
|
||||||
|
@ -115,7 +116,7 @@ public class BimModelController {
|
||||||
for (int i = 0; i < glids.size(); i++) {
|
for (int i = 0; i < glids.size(); i++) {
|
||||||
stringBuilder.append("?,");
|
stringBuilder.append("?,");
|
||||||
}
|
}
|
||||||
String key="BimModelController.getModelFeatureInfos."+name+"."+stringBuilder.toString();
|
String key="BimModelController.getModelFeatureInfos.V2"+name+"."+String.join(",",glids.stream().map(d->""+d).collect(Collectors.toList()));
|
||||||
if(redisService.hasKey(key)){
|
if(redisService.hasKey(key)){
|
||||||
Object list=redisService.getCacheObject(key);
|
Object list=redisService.getCacheObject(key);
|
||||||
return AjaxResult.success(list);
|
return AjaxResult.success(list);
|
||||||
|
@ -246,6 +247,72 @@ public class BimModelController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 叶子节点的model_tree查询
|
||||||
|
* @param name
|
||||||
|
* @param pid
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/modelTreeAllLeafChildByGlids/{name}")
|
||||||
|
public AjaxResult getModelTreeAllLeafChildByGlids(@PathVariable("name") String name,@RequestBody List<String> glids) {
|
||||||
|
if(StringUtils.isEmpty(name)){
|
||||||
|
return AjaxResult.error("name is null");
|
||||||
|
}
|
||||||
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
|
||||||
|
for (int i = 0; i < glids.size(); i++) {
|
||||||
|
stringBuilder.append("?,");
|
||||||
|
}
|
||||||
|
|
||||||
|
String key="BimModelController.getModelTreeAllLeafChildByGlids.V2"+name+"."+String.join(",",glids);
|
||||||
|
if(redisService.hasKey(key)){
|
||||||
|
Object list=redisService.getCacheObject(key);
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
|
String placeHolders = stringBuilder.deleteCharAt(stringBuilder.length() - 1)
|
||||||
|
.toString();
|
||||||
|
String sql="";
|
||||||
|
if(StringUtils.isEmpty(glids)){
|
||||||
|
sql="select * from model_tree ";
|
||||||
|
}else{
|
||||||
|
sql="with recursive\n" +
|
||||||
|
" cao as (\n" +
|
||||||
|
" select * from model_tree where glid in ( "+placeHolders+" ) \n" +
|
||||||
|
" union all\n" +
|
||||||
|
" select model_tree.* from cao join model_tree on cao.glid = model_tree.pGlid\n" +
|
||||||
|
" )\n" +
|
||||||
|
"select * from cao where externalid<>0";
|
||||||
|
}
|
||||||
|
String path=bimDataSource.getDbPath(name);
|
||||||
|
if(!new File(path).exists()){
|
||||||
|
return AjaxResult.error("file not found!");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
DataSource ds = bimDataSource.getDataSource(name);
|
||||||
|
PreparedStatement pss= ds.getConnection().prepareStatement(sql);
|
||||||
|
for (int i = 1; i <= glids.size(); i++) {
|
||||||
|
pss.setString(i, glids.get(i - 1));
|
||||||
|
}
|
||||||
|
ResultSet rs = pss.executeQuery();
|
||||||
|
List<ModelTreeVo> list = new ArrayList<>();
|
||||||
|
while (rs.next()) {
|
||||||
|
ModelTreeVo modelTreeVo = new ModelTreeVo();
|
||||||
|
//modelTreeVo.setId(rs.getLong("id"));
|
||||||
|
modelTreeVo.setGlid(rs.getString("glid"));
|
||||||
|
modelTreeVo.setName(rs.getString("name"));
|
||||||
|
//modelTreeVo.setLevel(rs.getInt("level"));
|
||||||
|
modelTreeVo.setGroupname(rs.getString("groupname"));
|
||||||
|
modelTreeVo.setExternalId(rs.getString("externalId"));
|
||||||
|
//modelTreeVo.setPGlid(rs.getString("pGlid"));
|
||||||
|
list.add(modelTreeVo);
|
||||||
|
}
|
||||||
|
redisService.setCacheObject(key,list,60*60*24L, TimeUnit.SECONDS);
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return AjaxResult.error(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 不带子节点的Model_Tree查询
|
* 不带子节点的Model_Tree查询
|
||||||
* @param name
|
* @param name
|
||||||
|
@ -463,7 +530,7 @@ public class BimModelController {
|
||||||
for (int i = 0; i < glids.size(); i++) {
|
for (int i = 0; i < glids.size(); i++) {
|
||||||
stringBuilder.append("?,");
|
stringBuilder.append("?,");
|
||||||
}
|
}
|
||||||
String key="BimModelController.getModelProperty."+name+"."+stringBuilder.toString();
|
String key="BimModelController.getModelProperty.V2"+name+"."+String.join(",",glids.stream().map(d->""+d).collect(Collectors.toList()));
|
||||||
if(redisService.hasKey(key)){
|
if(redisService.hasKey(key)){
|
||||||
Object list=redisService.getCacheObject(key);
|
Object list=redisService.getCacheObject(key);
|
||||||
return AjaxResult.success(list);
|
return AjaxResult.success(list);
|
||||||
|
|
Loading…
Reference in New Issue