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.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/bim/modelInfo")
|
||||
|
@ -115,7 +116,7 @@ public class BimModelController {
|
|||
for (int i = 0; i < glids.size(); i++) {
|
||||
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)){
|
||||
Object list=redisService.getCacheObject(key);
|
||||
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查询
|
||||
* @param name
|
||||
|
@ -463,7 +530,7 @@ public class BimModelController {
|
|||
for (int i = 0; i < glids.size(); i++) {
|
||||
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)){
|
||||
Object list=redisService.getCacheObject(key);
|
||||
return AjaxResult.success(list);
|
||||
|
|
Loading…
Reference in New Issue