替换保存在数据库的模型中的图片的url前缀和token值,页面回显模型时,再替换回去。(因为url前缀和token是随环境变换的值,不能存在数据库中)
5个文件已修改
98 ■■■■ 已修改文件
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ModelLineController.java 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/ModelRbd.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/taskReliability/ModelRbd.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/taskReliability/RBD-edit-img.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ModelLineController.java
@@ -12,6 +12,7 @@
import com.zt.common.validator.group.AddGroup;
import com.zt.common.validator.group.DefaultGroup;
import com.zt.common.validator.group.UpdateGroup;
import com.zt.life.modules.mainPart.async.PythonLib;
import com.zt.life.modules.mainPart.taskReliability.model.ModelLine;
import com.zt.life.modules.mainPart.taskReliability.model.ModelRbd;
import com.zt.life.modules.mainPart.taskReliability.service.ModelLineService;
@@ -19,40 +20,56 @@
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.scheduling.annotation.Async;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
 * model_line
 *
 * @author zt generator
 * @author zt generator
 * @since 1.0.0 2024-02-28
 */
@RestController
@RequestMapping("/taskReliability/ModelLine/")
@Api(tags="model_line")
@Api(tags = "model_line")
public class ModelLineController {
    private static final String URL_REPLACE_STR = "URL_PREFIX_URL";
    private static final String TOKEN_REPLACE_STR = "MY_TOKEN_MY";
    private static final String TOKEN_REPLACE_REGEX = "token=[0-9a-zA-Z]+&";
    @Autowired
    private ModelLineService modelLineService;
    @Autowired
//    private PythonLib pythonLib;
    @GetMapping("page")
    @ApiOperation("分页")
    @ApiImplicitParams({
        @ApiImplicitParam(name = Constant.Q.PAGE, value = Constant.QV.PAGE, required = true, dataType = Constant.QT.INT),
        @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT),
        @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING),
        @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING),
            @ApiImplicitParam(name = Constant.Q.PAGE, value = Constant.QV.PAGE, required = true, dataType = Constant.QT.INT),
            @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT),
            @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING),
            @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING),
    })
    public PageResult<ModelLine> page(@ApiIgnore @QueryParam QueryFilter queryFilter){
    public PageResult<ModelLine> page(@ApiIgnore @QueryParam QueryFilter queryFilter) {
        return PageResult.ok(modelLineService.page(queryFilter));
    }
    @GetMapping("{id}")
    @ApiOperation("信息")
    public Result<ModelLine> get(@PathVariable("id") Long id){
    public Result<ModelLine> get(@PathVariable("id") Long id) {
        ModelLine data = modelLineService.get(id);
        return Result.ok(data);
@@ -60,18 +77,41 @@
    @GetMapping("getDiagram")
    @ApiOperation("信息")
    public Result<ModelRbd> getDiagram(Long modelId){
    public Result<ModelRbd> getDiagram(Long modelId, String urlPref, String token) {
        ModelRbd data = modelLineService.getDiagram(modelId);
        if (data.getContent() != null) {
            data.setContent(data.getContent().replace(URL_REPLACE_STR, urlPref));
            data.setContent(data.getContent().replace(TOKEN_REPLACE_STR, "token="+token+"&"));
        }
        return Result.ok(data);
    }
/*
    @GetMapping("callPythonCalc")
    @ApiOperation("信息")
    public Result callPythonCalc() {
        pythonLib.callPython();
        return Result.ok();
    }
    @GetMapping("getPythonCalcResult")
    @ApiOperation("信息")
    public Result<String> getPythonCalcResult() {
        String result = pythonLib.getPythonCalcResult();
        return Result.ok(result);
    }
*/
    @PostMapping
    @ApiOperation("新增")
    @LogOperation("新增")
    public Result insert(@RequestBody ModelRbd modelRbd){
    public Result insert(@RequestBody ModelRbd modelRbd) {
        //效验数据
        ValidatorUtils.validateEntity(modelRbd, AddGroup.class, DefaultGroup.class);
        modelRbd.setContent(modelRbd.getContent().replace(modelRbd.getUrlPref(), URL_REPLACE_STR));
        modelRbd.setContent(modelRbd.getContent().replaceAll(TOKEN_REPLACE_REGEX, TOKEN_REPLACE_STR));
        modelLineService.insert(modelRbd);
        return Result.ok();
@@ -80,9 +120,11 @@
    @PutMapping
    @ApiOperation("修改")
    @LogOperation("修改")
    public Result update(@RequestBody ModelRbd modelRbd){
    public Result update(@RequestBody ModelRbd modelRbd) {
        //效验数据
        ValidatorUtils.validateEntity(modelRbd, UpdateGroup.class, DefaultGroup.class);
        modelRbd.setContent(modelRbd.getContent().replace(modelRbd.getUrlPref(), URL_REPLACE_STR));
        modelRbd.setContent(modelRbd.getContent().replaceAll(TOKEN_REPLACE_REGEX, TOKEN_REPLACE_STR));
        modelLineService.update(modelRbd);
        return Result.ok();
@@ -91,7 +133,7 @@
    @DeleteMapping
    @ApiOperation("删除")
    @LogOperation("删除")
    public Result delete(@RequestBody Long[] ids){
    public Result delete(@RequestBody Long[] ids) {
        //效验数据
        AssertUtils.isArrayEmpty(ids, "id");
        modelLineService.delete(ids);
@@ -102,7 +144,7 @@
    @PostMapping("analyze")
    @ApiOperation("解析")
    @LogOperation("解析")
    public Result analyze(@RequestBody ModelRbd modelRbd){
    public Result analyze(@RequestBody ModelRbd modelRbd) {
        modelLineService.update(modelRbd);
        boolean result = modelLineService.analyze(modelRbd);
        return result ? Result.ok() : Result.error("解析失败");
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/ModelRbd.java
@@ -38,7 +38,10 @@
    private String content;
    @ApiModelProperty(value = "")
    private String ifXml;
    private String publishedContent;
    @ApiModelProperty(value = "")
    private String publishedXml;
    @ApiModelProperty(value = "备注")
    private String remark;
@@ -47,4 +50,8 @@
    @ApiModelProperty(value = "模型状态")
    private String modelState;
    @TableField(exist = false)
    @ApiModelProperty(value = "访问后端网站前缀")
    private String urlPref;
}
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java
@@ -189,7 +189,7 @@
                StringWriter writer = new StringWriter();
                xmlWriter = new XMLWriter(writer, format);
                xmlWriter.write(document);
                modelRbd.setIfXml(writer.toString());
                modelRbd.setPublishedXml(writer.toString());
            } finally {
                if (xmlWriter!=null) xmlWriter.close();
            }
@@ -1177,6 +1177,7 @@
        }
        // 更新RBD数据
        modelRbd.setPublishedContent(modelRbd.getContent());
        modelRbdDao.updateById(modelRbd);
    }
web/src/views/modules/taskReliability/ModelRbd.vue
@@ -9,7 +9,7 @@
      <el-col :span="19">
        <div class="mod-taskReliability-modelRbd}">
          <zt-table-wraper ref="tableObj" defaultNotQuery="true" query-url="/taskReliability/ModelRbd/page"
                           delete-url="/taskReliability/ModelRbd"
                           delete-url="/taskReliability/ModelRbd/"
                           :paging='false'
                           v-slot="{ table }">
            <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
web/src/views/modules/taskReliability/RBD-edit-img.vue
@@ -157,6 +157,7 @@
          content: null,
          publishContent: null,
          hasPublish: 0,
          urlPref: '',
        },
        // emptyJson: {
        //   // 节点
@@ -185,7 +186,7 @@
        graph: null,
        globalGridAttr: {
          productType:'',
          voteNum: null,
          voteNum: '',
          repairMttcr: '',
          repairMttcrOther: '',
          repairDistribType: '',
@@ -336,7 +337,9 @@
      },
      async getDiagram(modelId) {
        let params = {
          modelId: modelId
          modelId: modelId,
          urlPref: window.SITE_CONFIG['apiURL'],
          token: Cookies.get('token'),
        }
        let res = await this.$http.get(`/taskReliability/ModelLine/getDiagram`, {params: params})
        console.log(res, 'async getDiagram( res')
@@ -547,7 +550,7 @@
              dataId: '',
              nodeType: item.nodeType,
              nodeTypeExt: '',
              voteNum:null
              voteNum:''
            },
            attrs: {
              text: {
@@ -594,7 +597,7 @@
              taskMtbcfOther: item.taskMtbcfOther,
              imgHeight: item.imgHeight,
              imgWidth: item.imgWidth,
              voteNum:null,
              voteNum:'',
            },
            attrs: {
              text: {
@@ -901,6 +904,7 @@
      async saveDiagram() {
        console.log(JSON.stringify(this.graph.toJSON()), 'graph.toJSON()')
        this.dataForm.content = JSON.stringify(this.graph.toJSON())
        this.dataForm.urlPref = window.SITE_CONFIG['apiURL']
        console.log(this.dataForm, 'dataFrom')
        await this.$http[this.dataForm.id === null ? 'post' : 'put'](`/taskReliability/ModelLine/`, this.dataForm).then(async res => {
          if (res.msg === 'success') {
@@ -913,7 +917,7 @@
      async analyzeDiagram() {
        console.log(JSON.stringify(this.graph.toJSON()), 'graph.toJSON()')
        this.dataForm.content = JSON.stringify(this.graph.toJSON())
        console.log(this.dataForm, 'dataFrom')
        this.dataForm.urlPref = window.SITE_CONFIG['apiURL']
        await this.$http['post'](`/taskReliability/ModelLine/analyze`, this.dataForm).then(async res => {
          if (res.msg === 'success') {
            this.$alert('解析成功', '提示', {