Browse Source

增加上传资源是key值校正的功能

cuixubin 4 years ago
parent
commit
7c471a410c

+ 1 - 2
file-move-tool.iml

@@ -5,8 +5,7 @@
     <output-test url="file://$MODULE_DIR$/target/test-classes" />
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
       <excludeFolder url="file://$MODULE_DIR$/target" />
     </content>
     <orderEntry type="inheritedJdk" />

+ 38 - 0
pom.xml

@@ -59,4 +59,42 @@
             <url>http://maven.aliyun.com/nexus/content/groups/public</url>
         </repository>
     </repositories>
+
+    <build>
+        <finalName>file-move-tool</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>2.5.1</version>
+                <inherited>true</inherited>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-shade-plugin</artifactId>
+                <version>3.1.0</version>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>shade</goal>
+                        </goals>
+                        <configuration>
+                            <transformers>
+                                <transformer
+                                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+                                    <mainClass>com.persagy.filemove.app.SagaFileMoveApp</mainClass>
+                                </transformer>
+                            </transformers>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+
+    </build>
 </project>

+ 21 - 0
src/main/java/com/persagy/filemove/app/SagaFileMoveApp.java

@@ -42,6 +42,8 @@ public class SagaFileMoveApp extends Application {
     private static String sysId_rvt = "revit";
     /** revit默认密码 */
     private static String secret_rvt = "63afbef6906c342b";
+    /** key值校正 */
+    private static String keyValueTip = "key值校正";
 
     private SagaFileMoveService service = new SagaFileMoveService();
 
@@ -90,6 +92,9 @@ public class SagaFileMoveApp extends Application {
     private TextField tfImgToSecret = new TextField(secret_dpf);
     /** 接口类型 */
     private ChoiceBox cbImgToApiType = new ChoiceBox(FXCollections.observableArrayList(apiTypes));
+    /** 是否自动去除key值前缀中的目录 */
+    ToggleButton tbKeyModify = new ToggleButton(keyValueTip+"-开");
+
 
     /** 执行校验按钮 */
     private Button btnValid = new Button("参数校验");
@@ -143,6 +148,18 @@ public class SagaFileMoveApp extends Application {
 
         progressBar_sts.setPrefWidth(appWidth * .55);
 
+        tbKeyModify.setSelected(true);
+        tbKeyModify.setStyle("-fx-base: #75bd43");
+        tbKeyModify.setOnAction((ob)->{
+            if(tbKeyModify.isSelected()) {
+                tbKeyModify.setText(keyValueTip+"-开");
+                tbKeyModify.setStyle("-fx-base: #75bd43");
+            }else {
+                tbKeyModify.setText(keyValueTip+"-关");
+                tbKeyModify.setStyle("-fx-base: #bbbbbb");
+            }
+        });
+
         // 点击验证参数按钮
         btnValid.setOnAction(e -> {
             disableSet(true);
@@ -254,6 +271,7 @@ public class SagaFileMoveApp extends Application {
         dto.objType.bind(cbObjType.valueProperty());
         dto.pjId.bind(tfPjId.textProperty());
         dto.pjSecret.bind(tfPjSecret.textProperty());
+        dto.keyModify.bind(tbKeyModify.selectedProperty());
     }
 
     @Override
@@ -385,6 +403,9 @@ public class SagaFileMoveApp extends Application {
         LinkedHashMap<String, Node> paramMap = new LinkedHashMap<>();
         paramMap.put("*systemId ", systemId);
         paramMap.put("*secret ", secret);
+        if(!isFrom) {
+            paramMap.put("", tbKeyModify);
+        }
 
         VBox contentPane = new VBox(getHBoxPane(urlAndApiTypeMap),
                 getHBoxPane(paramMap));

+ 13 - 10
src/main/java/com/persagy/filemove/dialog/FileMoveHelpDialog.java

@@ -16,22 +16,25 @@ public class FileMoveHelpDialog extends Stage {
         msg.append("和SaaS环境B(至少能保证与该环境的image-service服务通信)\n");
         msg.append("的服务器上。\n\n");
 
-        msg.append("特殊参数说明:接口类型表示用哪个接口上传下载资源文件。\n");
-        msg.append("该参数的值有三种选项,即[default, file, image]\n");
-        msg.append(" 1. default,在文件服务-From中,表示对非.jsonz文件\n");
-        msg.append(" 用image_get接口获取数据,对.jsonz文件,用file_get获取数据;\n");
-        msg.append(" 在文件服务-To中,default表示用file_upload接口上传数据。\n");
-        msg.append(" 2. file,在文件服务-From中,表示用file_get接口下载数据;\n");
-        msg.append(" 在文件服务-To中,表示用file_upload接口上传数据。\n");
-        msg.append(" 3. image,在文件服务-From中,表示用image_get接口下载数据;\n");
-        msg.append(" 在文件服务-To中,表示用image_upload接口上传数据。\n");
+        msg.append("特殊参数说明:\n【接口类型】表示用哪个接口上传下载资源文件。\n");
+        msg.append("  该参数的值有三种选项,即[default, file, image]\n");
+        msg.append("  1. default,在文件服务-From中,表示对非.jsonz文件\n");
+        msg.append("  用image_get接口获取数据,对.jsonz文件,用file_get获取数据;\n");
+        msg.append("  在文件服务-To中,default表示用file_upload接口上传数据。\n");
+        msg.append("  2. file,在文件服务-From中,表示用file_get接口下载数据;\n");
+        msg.append("  在文件服务-To中,表示用file_upload接口上传数据。\n");
+        msg.append("  3. image,在文件服务-From中,表示用image_get接口下载数据;\n");
+        msg.append("  在文件服务-To中,表示用image_upload接口上传数据。\n\n");
+        msg.append("【key值校正】表示上传资源时,若资源的key含有目录前缀,是否去掉。\n");
+        msg.append("  key值校正-开,表示自动去除掉key中含有目录前缀;\n");
+        msg.append("  key值校正-关,表示不去除掉key中含有目录前缀。\n");
         Label label = new Label(msg.toString());
         label.setLayoutX(20); label.setLayoutY(20);
 
         Pane pane = new Pane();
         pane.getChildren().addAll(label);
 
-        Scene scene = new Scene(pane, 480, 400);
+        Scene scene = new Scene(pane, 520, 480);
         setScene(scene);
         setTitle("Help");
         setResizable(false);

+ 4 - 0
src/main/java/com/persagy/filemove/dto/SagaFileMoveDTO.java

@@ -1,6 +1,7 @@
 package com.persagy.filemove.dto;
 
 import com.persagy.filemove.util.StringTools;
+import javafx.beans.property.SimpleBooleanProperty;
 import javafx.beans.property.SimpleStringProperty;
 
 public class SagaFileMoveDTO {
@@ -30,6 +31,8 @@ public class SagaFileMoveDTO {
     public SimpleStringProperty imgToSecret = new SimpleStringProperty();
     /** 文件服务To的接口类型 */
     public SimpleStringProperty imgToApiType = new SimpleStringProperty();
+    /** 是否开启key值校正 */
+    public SimpleBooleanProperty keyModify = new SimpleBooleanProperty();
 
     
     public boolean validNecessaryParam() {
@@ -58,6 +61,7 @@ public class SagaFileMoveDTO {
                 ", imgToSysId=" + imgToSysId.getValue() +
                 ", imgToSecret=" + imgToSecret.getValue() +
                 ", imgToApiType=" + imgToApiType.getValue() +
+                ", keyModify=" + keyModify.getValue() +
                 '}';
     }
 }

+ 6 - 1
src/main/java/com/persagy/filemove/dto/WorkerFactory.java

@@ -93,8 +93,13 @@ public class WorkerFactory {
                             int totalNum = obj_key.size();
 
                             int movedNum = 0;
+                            String resourceKey = null;
                             for(String objId : obj_key.keySet()) {
-                                SagaFileMoveService.fileMove(objId, obj_key.get(objId), noFileSet, nullKeySet, moveErrorSet);
+                                resourceKey = obj_key.get(objId);
+                                if(SagaFileMoveApp.dto.keyModify.getValue() && resourceKey != null && resourceKey.contains("/")) {
+                                    resourceKey = resourceKey.substring(resourceKey.lastIndexOf("/") + 1);
+                                }
+                                SagaFileMoveService.fileMove(objId, resourceKey, noFileSet, nullKeySet, moveErrorSet);
                                 System.out.println("--- " + movedNum);
                                 updateProgress(++movedNum, totalNum);
                                 updateTitle(String.format("%.1f", 100.0 * movedNum / totalNum)+"%");