From b79c78fedb367570ca2f17a87fbc244a8dadb793 Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期三, 27 三月 2024 17:29:04 +0800
Subject: [PATCH] 替换保存在数据库的模型中的图片的url前缀和token值,页面回显模型时,再替换回去。(因为url前缀和token是随环境变换的值,不能存在数据库中)

---
 web/src/views/modules/taskReliability/RBD-edit-img.vue                                                          |   14 ++++--
 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java       |    3 +
 web/src/views/modules/taskReliability/ModelRbd.vue                                                              |    2 
 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ModelLineController.java |   70 ++++++++++++++++++++++++++++-------
 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/ModelRbd.java                 |    9 ++++
 5 files changed, 76 insertions(+), 22 deletions(-)

diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ModelLineController.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ModelLineController.java
index dd90610..850ecce 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ModelLineController.java
+++ b/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("瑙f瀽")
     @LogOperation("瑙f瀽")
-    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("瑙f瀽澶辫触");
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/ModelRbd.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/ModelRbd.java
index 1dddb30..bbcc973 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/ModelRbd.java
+++ b/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;
+
 }
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java
index 449d4fd..6f17597 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java
+++ b/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);
     }
 
diff --git a/web/src/views/modules/taskReliability/ModelRbd.vue b/web/src/views/modules/taskReliability/ModelRbd.vue
index a800c0d..78293e4 100644
--- a/web/src/views/modules/taskReliability/ModelRbd.vue
+++ b/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()">
diff --git a/web/src/views/modules/taskReliability/RBD-edit-img.vue b/web/src/views/modules/taskReliability/RBD-edit-img.vue
index b4b9bf1..7db0238 100644
--- a/web/src/views/modules/taskReliability/RBD-edit-img.vue
+++ b/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('瑙f瀽鎴愬姛', '鎻愮ず', {

--
Gitblit v1.9.1