diff --git a/src/main/java/com/zhgd/xmgl/modules/bimface/controller/BimfaceController.java b/src/main/java/com/zhgd/xmgl/modules/bimface/controller/BimfaceController.java index a1f011c66..29d6bf89f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bimface/controller/BimfaceController.java +++ b/src/main/java/com/zhgd/xmgl/modules/bimface/controller/BimfaceController.java @@ -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.service.IBimfaceConfigService; import com.zhgd.xmgl.modules.bimface.service.IProjectBimfaceService; +import com.zhgd.xmgl.modules.stablewater.entity.StableWaterMixStationData; import com.zhgd.xmgl.util.MessageUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -21,10 +22,12 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.util.HashMap; /** @@ -236,4 +239,27 @@ public class BimfaceController { result.successMsg(MessageUtil.get("optSucess")); 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 getDetailsByFileIdAndProjectSn(@ApiIgnore @RequestParam HashMap paramMap) { + return Result.success(projectBimfaceService.getDetailsByFileIdAndProjectSn(paramMap)); + } + + /** + * 编辑 + * + * @param stableWaterMixStationData + * @return + */ + @ApiOperation(value = "编辑项目bimface关联信息", notes = "编辑项目bimface关联信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody ProjectBimface stableWaterMixStationData) { + projectBimfaceService.updateById(stableWaterMixStationData); + return Result.ok(); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/bimface/entity/ProjectBimface.java b/src/main/java/com/zhgd/xmgl/modules/bimface/entity/ProjectBimface.java index afeb00a86..3deab3c1e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bimface/entity/ProjectBimface.java +++ b/src/main/java/com/zhgd/xmgl/modules/bimface/entity/ProjectBimface.java @@ -87,6 +87,13 @@ public class ProjectBimface { @TableField(value = "is_enable") @ApiModelProperty(value = "启用状态 0 未启用,1 已启用 ") 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) { this.projectId = projectId; @@ -95,4 +102,4 @@ public class ProjectBimface { this.modelUrl = modelUrl; this.fileId = fileId; } -} \ No newline at end of file +} diff --git a/src/main/java/com/zhgd/xmgl/modules/bimface/service/IProjectBimfaceService.java b/src/main/java/com/zhgd/xmgl/modules/bimface/service/IProjectBimfaceService.java index c3aa2008c..d7e2a4a58 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bimface/service/IProjectBimfaceService.java +++ b/src/main/java/com/zhgd/xmgl/modules/bimface/service/IProjectBimfaceService.java @@ -9,6 +9,7 @@ import com.zhgd.xmgl.modules.bimface.entity.ProjectBimface; import com.zhgd.xmgl.modules.bimface.entity.vo.ProjectBimfaceListVO; import java.io.IOException; +import java.util.HashMap; /** * @author 邱平毅 @@ -63,4 +64,7 @@ public interface IProjectBimfaceService extends IService { * @return */ IPage getProjectBimfacePageByPageInfo(String projectSn, Integer pageNo, Integer pageSize); + + ProjectBimface getDetailsByFileIdAndProjectSn(HashMap paramMap); + } diff --git a/src/main/java/com/zhgd/xmgl/modules/bimface/service/impl/ProjectBimfaceServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/bimface/service/impl/ProjectBimfaceServiceImpl.java index 16fbeb568..19f69e977 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bimface/service/impl/ProjectBimfaceServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/bimface/service/impl/ProjectBimfaceServiceImpl.java @@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.bimface.service.impl; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; 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.toolkit.Wrappers; 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.sdk.BimfaceClient; 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.entity.BimfaceConfig; 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.IProjectBimfaceService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -31,6 +34,7 @@ import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.Date; +import java.util.HashMap; /** * @author 邱平毅 @@ -154,6 +158,28 @@ public class ProjectBimfaceServiceImpl extends ServiceImpl paramMap) { + String fileId = MapUtils.getString(paramMap, "fileId"); + String projectSn = MapUtils.getString(paramMap, "projectSn"); + ProjectBimface projectBimface = projectBimfaceMapper.selectOne(new LambdaQueryWrapper() + .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 public String getFileStatus(BimfaceClient bimfaceClient, Long fileId) { String status = null; diff --git a/src/main/java/com/zhgd/xmgl/security/WebSecurityConfig.java b/src/main/java/com/zhgd/xmgl/security/WebSecurityConfig.java index f8eb6d16d..fa22a4679 100644 --- a/src/main/java/com/zhgd/xmgl/security/WebSecurityConfig.java +++ b/src/main/java/com/zhgd/xmgl/security/WebSecurityConfig.java @@ -252,6 +252,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { .antMatchers("/xmgl/vehiclePositionDayRecord/add").permitAll() .antMatchers("/xmgl/smartTensionData/add").permitAll() .antMatchers("/xmgl/smartGroutData/add").permitAll() + .antMatchers("/xmgl/bimface/getDetailsByFileIdAndProjectSn").permitAll() .antMatchers(HttpMethod.OPTIONS, "/**").anonymous() .anyRequest().authenticated() // 剩下所有的验证都需要验证 .and()