Sfoglia il codice sorgente

jar包读取文件处理

wuxw 7 anni fa
parent
commit
6c2047fad5

+ 22 - 0
CommunityService/src/main/java/com/java110/community/listener/room/SaveRoomInfoListener.java

@@ -91,6 +91,7 @@ public class SaveRoomInfoListener extends AbstractRoomBusinessServiceDataFlowLis
         //小区房屋信息
         List<Map> businessRoomInfo = roomServiceDaoImpl.getBusinessRoomInfo(info);
         if (businessRoomInfo != null && businessRoomInfo.size() > 0) {
+            reFresh(info, businessRoomInfo.get(0));
             roomServiceDaoImpl.saveRoomInfoInstance(info);
             if (businessRoomInfo.size() == 1) {
                 dataFlowContext.addParamOut("roomId", businessRoomInfo.get(0).get("room_id"));
@@ -98,6 +99,26 @@ public class SaveRoomInfoListener extends AbstractRoomBusinessServiceDataFlowLis
         }
     }
 
+
+    /**
+     * 刷 roomId
+     *
+     * @param info         查询对象
+     * @param businessInfo 小区ID
+     */
+    private void reFresh(Map info, Map businessInfo) {
+
+        if (info.containsKey("roomId")) {
+            return;
+        }
+
+        if (!businessInfo.containsKey("room_id")) {
+            return;
+        }
+
+        info.put("roomId", businessInfo.get("room_id"));
+    }
+
     /**
      * 撤单
      *
@@ -117,6 +138,7 @@ public class SaveRoomInfoListener extends AbstractRoomBusinessServiceDataFlowLis
         //小区房屋信息
         List<Map> roomInfo = roomServiceDaoImpl.getRoomInfo(info);
         if (roomInfo != null && roomInfo.size() > 0) {
+            reFresh(paramIn, roomInfo.get(0));
             roomServiceDaoImpl.updateRoomInfoInstance(paramIn);
         }
     }

+ 15 - 3
java110-code-generator/src/main/java/com/java110/UnitGeneratorApplication.java

@@ -1,14 +1,22 @@
 package com.java110;
 
 
-import com.java110.code.*;
+
+
+import com.java110.code.Data;
+import com.java110.code.GeneratorAbstractBussiness;
+import com.java110.code.GeneratorDeleteInfoListener;
+import com.java110.code.GeneratorIServiceDaoListener;
+import com.java110.code.GeneratorSaveInfoListener;
+import com.java110.code.GeneratorServiceDaoImplListener;
+import com.java110.code.GeneratorServiceDaoImplMapperListener;
+import com.java110.code.GeneratorUpdateInfoListener;
 
 import java.util.HashMap;
 import java.util.Map;
 
 /**
  * Hello world!
- *
  */
 public class UnitGeneratorApplication {
 
@@ -16,8 +24,10 @@ public class UnitGeneratorApplication {
         // prevents calls from subclass
         throw new UnsupportedOperationException();
     }
+
     /**
-     *  代码生成器 入口方法
+     * 代码生成器 入口方法
+     *
      * @param args 参数
      */
     public static void main(String[] args) {
@@ -25,6 +35,8 @@ public class UnitGeneratorApplication {
         data.setId("unitId");
         data.setName("unit");
         data.setDesc("小区单元");
+        data.setShareParam("unitId");
+        data.setShareColumn("unit_id");
         data.setNewBusinessTypeCd("BUSINESS_TYPE_SAVE_UNIT_INFO");
         data.setUpdateBusinessTypeCd("BUSINESS_TYPE_UPDATE_UNIT_INFO");
         data.setDeleteBusinessTypeCd("BUSINESS_TYPE_DELETE_UNIT_INFO");

+ 20 - 0
java110-code-generator/src/main/java/com/java110/code/Data.java

@@ -28,6 +28,10 @@ public class Data {
     private String businessTableName;
 
     private String tableName;
+    //分片数据库字段 如community_id
+    private String shareColumn;
+    //分片传入参数 如communityId
+    private String shareParam;
 
     private Map params;
 
@@ -135,4 +139,20 @@ public class Data {
     public void setDeleteBusinessTypeCdValue(String deleteBusinessTypeCdValue) {
         this.deleteBusinessTypeCdValue = deleteBusinessTypeCdValue;
     }
+
+    public String getShareColumn() {
+        return shareColumn;
+    }
+
+    public void setShareColumn(String shareColumn) {
+        this.shareColumn = shareColumn;
+    }
+
+    public String getShareParam() {
+        return shareParam;
+    }
+
+    public void setShareParam(String shareParam) {
+        this.shareParam = shareParam;
+    }
 }

+ 12 - 1
java110-code-generator/src/main/java/com/java110/code/GeneratorSaveInfoListener.java

@@ -1,5 +1,7 @@
 package com.java110.code;
 
+import org.springframework.util.StringUtils;
+
 import java.util.Map;
 
 public class GeneratorSaveInfoListener extends BaseGenerator {
@@ -13,10 +15,19 @@ public class GeneratorSaveInfoListener extends BaseGenerator {
     public void generator(Data data) {
         StringBuffer sb = readFile(this.getClass().getResource("/template/SaveListener.txt").getFile());
         String fileContext = sb.toString();
+        if(StringUtils.isEmpty(data.getShareParam())){
+            data.setShareParam(data.getId());
+        }
+
+        if(StringUtils.isEmpty(data.getShareColumn())){
+           data.setShareColumn(data.getParams().get(data.getShareColumn()).toString());
+        }
         fileContext = fileContext.replace("store", toLowerCaseFirstOne(data.getName()))
                 .replace("Store", toUpperCaseFirstOne(data.getName()))
                 .replace("商户", data.getDesc())
-                .replace("BUSINESS_TYPE_SAVE_STORE_INFO", data.getNewBusinessTypeCd());
+                .replace("BUSINESS_TYPE_SAVE_STORE_INFO", data.getNewBusinessTypeCd())
+                .replace("stare_id", data.getShareColumn())
+                .replace("shareId", data.getShareParam());
         System.out.println(this.getClass().getResource("/listener").getPath());
         String writePath = this.getClass().getResource("/listener").getPath() + "/Save" + toUpperCaseFirstOne(data.getName()) + "InfoListener.java";
         writeFile(writePath,

+ 21 - 0
java110-code-generator/src/main/resources/template/SaveListener.txt

@@ -89,6 +89,7 @@ public class SaveStoreInfoListener extends AbstractStoreBusinessServiceDataFlowL
         //商户信息
         List<Map> businessStoreInfo = storeServiceDaoImpl.getBusinessStoreInfo(info);
         if( businessStoreInfo != null && businessStoreInfo.size() >0) {
+            reFresh(info, businessStoreInfo.get(0));
             storeServiceDaoImpl.saveStoreInfoInstance(info);
             if(businessStoreInfo.size() == 1) {
                 dataFlowContext.addParamOut("storeId", businessStoreInfo.get(0).get("store_id"));
@@ -96,6 +97,25 @@ public class SaveStoreInfoListener extends AbstractStoreBusinessServiceDataFlowL
         }
     }
 
+
+    /**
+     * 刷 分片字段
+     *
+     * @param info         查询对象
+     * @param businessInfo 小区ID
+     */
+    private void reFreshShareColumn(Map info, Map businessInfo) {
+
+        if (info.containsKey("shareId")) {
+            return;
+        }
+
+        if (!businessInfo.containsKey("stare_id")) {
+            return;
+        }
+
+        info.put("shareId", businessInfo.get("stare_id"));
+    }
     /**
      * 撤单
      * @param dataFlowContext 数据对象
@@ -114,6 +134,7 @@ public class SaveStoreInfoListener extends AbstractStoreBusinessServiceDataFlowL
         //商户信息
         List<Map> storeInfo = storeServiceDaoImpl.getStoreInfo(info);
         if(storeInfo != null && storeInfo.size() > 0){
+            reFreshShareColumn(paramIn, roomInfo.get(0));
             storeServiceDaoImpl.updateStoreInfoInstance(paramIn);
         }
     }

+ 27 - 6
java110-db/src/main/java/com/java110/db/DataSourceConfig.java

@@ -1,8 +1,6 @@
 package com.java110.db;
 
-import org.apache.shardingsphere.shardingjdbc.api.yaml.YamlMasterSlaveDataSourceFactory;
 import org.apache.shardingsphere.shardingjdbc.api.yaml.YamlShardingDataSourceFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.core.io.ClassPathResource;
@@ -10,9 +8,11 @@ import org.springframework.core.io.Resource;
 
 import javax.servlet.Filter;
 import javax.sql.DataSource;
-import java.io.File;
+import java.io.ByteArrayOutputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
 import java.io.UnsupportedEncodingException;
 import java.sql.SQLException;
 
@@ -59,8 +59,29 @@ public class DataSourceConfig {
      * @throws FileNotFoundException        文件未发现异常
      * @throws UnsupportedEncodingException 不支持编码异常
      */
-    private File getYmlFile() throws IOException {
-        Resource certResource = new ClassPathResource(SHARDING_YML_PATH);
-        return certResource.getFile();
+    private byte[] getYmlFile() throws IOException {
+        Reader reader = null;
+        InputStream inputStream = null;
+        ByteArrayOutputStream swapStream = null;
+        try {
+            Resource resource = new ClassPathResource(SHARDING_YML_PATH);
+
+            inputStream = resource.getInputStream();
+            swapStream = new ByteArrayOutputStream();
+            byte[] buff = new byte[100];
+            int rc = 0;
+            while ((rc = inputStream.read(buff, 0, 100)) > 0) {
+                swapStream.write(buff, 0, rc);
+            }
+            byte[] in2b = swapStream.toByteArray();
+            return in2b;
+        } finally {
+            if (inputStream != null) {
+                inputStream.close();
+            }
+            if (swapStream != null) {
+                swapStream.close();
+            }
+        }
     }
 }