bimface自定义颜色和隐藏

This commit is contained in:
guo 2023-12-02 09:26:45 +08:00
parent 8dc34ea6de
commit df60ff3880
5 changed files with 65 additions and 1 deletions

View File

@ -13,6 +13,7 @@ import com.zhgd.xmgl.modules.bimface.entity.vo.ConfigVO;
import com.zhgd.xmgl.modules.bimface.entity.vo.ProjectBimfaceListVO; import com.zhgd.xmgl.modules.bimface.entity.vo.ProjectBimfaceListVO;
import com.zhgd.xmgl.modules.bimface.service.IBimfaceConfigService; import com.zhgd.xmgl.modules.bimface.service.IBimfaceConfigService;
import com.zhgd.xmgl.modules.bimface.service.IProjectBimfaceService; import com.zhgd.xmgl.modules.bimface.service.IProjectBimfaceService;
import com.zhgd.xmgl.modules.stablewater.entity.StableWaterMixStationData;
import com.zhgd.xmgl.util.MessageUtil; import com.zhgd.xmgl.util.MessageUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
@ -21,10 +22,12 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap;
/** /**
@ -236,4 +239,27 @@ public class BimfaceController {
result.successMsg(MessageUtil.get("optSucess")); result.successMsg(MessageUtil.get("optSucess"));
return result; return result;
} }
@ApiOperation(value = "根据fileId和projectSn查所有详情", notes = "根据fileId和projectSn查所有详情")
@ApiImplicitParams({
@ApiImplicitParam(name = "fileId", value = "bimface 文件标识", paramType = "query", required = true, dataType = "string"),
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "query", required = true, dataType = "string"),
})
@GetMapping(value = "/getDetailsByFileIdAndProjectSn")
public Result<ProjectBimface> getDetailsByFileIdAndProjectSn(@ApiIgnore @RequestParam HashMap<String, Object> paramMap) {
return Result.success(projectBimfaceService.getDetailsByFileIdAndProjectSn(paramMap));
}
/**
* 编辑
*
* @param stableWaterMixStationData
* @return
*/
@ApiOperation(value = "编辑项目bimface关联信息", notes = "编辑项目bimface关联信息", httpMethod = "POST")
@PostMapping(value = "/edit")
public Result<ProjectBimface> edit(@RequestBody ProjectBimface stableWaterMixStationData) {
projectBimfaceService.updateById(stableWaterMixStationData);
return Result.ok();
}
} }

View File

@ -87,6 +87,13 @@ public class ProjectBimface {
@TableField(value = "is_enable") @TableField(value = "is_enable")
@ApiModelProperty(value = "启用状态 0 未启用1 已启用 ") @ApiModelProperty(value = "启用状态 0 未启用1 已启用 ")
private Integer isEnable; private Integer isEnable;
@ApiModelProperty(value = "隐藏的构件id多个用分割)")
private String hiddenComponentId;
@ApiModelProperty(value = "构件颜色json")
private String componentColorJson;
@TableField(exist = false)
@ApiModelProperty(value = "bim的token")
private String viewToken;
public ProjectBimface(Long projectId, String modelName, String version, String modelUrl, Long fileId) { public ProjectBimface(Long projectId, String modelName, String version, String modelUrl, Long fileId) {
this.projectId = projectId; this.projectId = projectId;

View File

@ -9,6 +9,7 @@ import com.zhgd.xmgl.modules.bimface.entity.ProjectBimface;
import com.zhgd.xmgl.modules.bimface.entity.vo.ProjectBimfaceListVO; import com.zhgd.xmgl.modules.bimface.entity.vo.ProjectBimfaceListVO;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap;
/** /**
* @author 邱平毅 * @author 邱平毅
@ -63,4 +64,7 @@ public interface IProjectBimfaceService extends IService<ProjectBimface> {
* @return * @return
*/ */
IPage<ProjectBimface> getProjectBimfacePageByPageInfo(String projectSn, Integer pageNo, Integer pageSize); IPage<ProjectBimface> getProjectBimfacePageByPageInfo(String projectSn, Integer pageNo, Integer pageSize);
ProjectBimface getDetailsByFileIdAndProjectSn(HashMap<String, Object> paramMap);
} }

View File

@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.bimface.service.impl;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
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;
@ -11,6 +12,7 @@ import com.bimface.api.enums.TranslateStatus;
import com.bimface.exception.BimfaceException; import com.bimface.exception.BimfaceException;
import com.bimface.sdk.BimfaceClient; import com.bimface.sdk.BimfaceClient;
import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.xmgl.modules.bimface.client.BimClient; import com.zhgd.xmgl.modules.bimface.client.BimClient;
import com.zhgd.xmgl.modules.bimface.entity.BimfaceConfig; import com.zhgd.xmgl.modules.bimface.entity.BimfaceConfig;
import com.zhgd.xmgl.modules.bimface.entity.ProjectBimface; import com.zhgd.xmgl.modules.bimface.entity.ProjectBimface;
@ -20,6 +22,7 @@ import com.zhgd.xmgl.modules.bimface.mapper.ProjectBimfaceMapper;
import com.zhgd.xmgl.modules.bimface.service.IBimfaceConfigService; import com.zhgd.xmgl.modules.bimface.service.IBimfaceConfigService;
import com.zhgd.xmgl.modules.bimface.service.IProjectBimfaceService; import com.zhgd.xmgl.modules.bimface.service.IProjectBimfaceService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -31,6 +34,7 @@ import java.io.InputStream;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
/** /**
* @author 邱平毅 * @author 邱平毅
@ -154,6 +158,28 @@ public class ProjectBimfaceServiceImpl extends ServiceImpl<ProjectBimfaceMapper,
return page; return page;
} }
@Override
public ProjectBimface getDetailsByFileIdAndProjectSn(HashMap<String, Object> paramMap) {
String fileId = MapUtils.getString(paramMap, "fileId");
String projectSn = MapUtils.getString(paramMap, "projectSn");
ProjectBimface projectBimface = projectBimfaceMapper.selectOne(new LambdaQueryWrapper<ProjectBimface>()
.eq(ProjectBimface::getProjectSn, projectSn)
.eq(ProjectBimface::getFileId, fileId)
);
BimfaceClient bimfaceClient = getBimfaceClientByProjectSn(projectSn);
// 获取文件当前状态
String fileStatus = getFileStatus(bimfaceClient, Long.valueOf(fileId));
if (fileStatus != null) {
throw new OpenAlertException(fileStatus);
}
try {
projectBimface.setViewToken(bimfaceClient.getViewTokenByFileId(Long.valueOf(fileId)));
} catch (BimfaceException e) {
log.error("err:", e);
}
return projectBimface;
}
@Override @Override
public String getFileStatus(BimfaceClient bimfaceClient, Long fileId) { public String getFileStatus(BimfaceClient bimfaceClient, Long fileId) {
String status = null; String status = null;

View File

@ -252,6 +252,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers("/xmgl/vehiclePositionDayRecord/add").permitAll() .antMatchers("/xmgl/vehiclePositionDayRecord/add").permitAll()
.antMatchers("/xmgl/smartTensionData/add").permitAll() .antMatchers("/xmgl/smartTensionData/add").permitAll()
.antMatchers("/xmgl/smartGroutData/add").permitAll() .antMatchers("/xmgl/smartGroutData/add").permitAll()
.antMatchers("/xmgl/bimface/getDetailsByFileIdAndProjectSn").permitAll()
.antMatchers(HttpMethod.OPTIONS, "/**").anonymous() .antMatchers(HttpMethod.OPTIONS, "/**").anonymous()
.anyRequest().authenticated() // 剩下所有的验证都需要验证 .anyRequest().authenticated() // 剩下所有的验证都需要验证
.and() .and()