Commit 548753674084a41ce45c832f310712ec1dbd1719

Authored by 潘钊
1 parent 2143ef3a

update...

src/main/java/com/bsth/data/line_version/EnableRouteVersionHandler.java
@@ -59,6 +59,25 @@ public class EnableRouteVersionHandler { @@ -59,6 +59,25 @@ public class EnableRouteVersionHandler {
59 } 59 }
60 } 60 }
61 61
  62 + public void sync(String lineCode, int version){
  63 + //编程式事务
  64 + DataSourceTransactionManager tran = new DataSourceTransactionManager(jdbcTemplate.getDataSource());
  65 + DefaultTransactionDefinition def = new DefaultTransactionDefinition();
  66 + def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
  67 + TransactionStatus status = tran.getTransaction(def);
  68 +
  69 +
  70 + try{
  71 + enableStation(lineCode, version);
  72 + enableRoad(lineCode, version);
  73 +
  74 + tran.commit(status);
  75 + }catch (Exception e){
  76 + tran.rollback(status);
  77 + logger.error("", e);
  78 + }
  79 + }
  80 +
62 /** 81 /**
63 * 启用新版本站点 82 * 启用新版本站点
64 * @param lineCode 83 * @param lineCode
src/main/java/com/bsth/data/line_version/thread/FixedEnableVerionsThread.java
@@ -43,6 +43,16 @@ public class FixedEnableVerionsThread extends Thread{ @@ -43,6 +43,16 @@ public class FixedEnableVerionsThread extends Thread{
43 43
44 enableRouteVersionHandler.enable(lineCode, version); 44 enableRouteVersionHandler.enable(lineCode, version);
45 } 45 }
  46 +
  47 + //要从历史表同步当前表的变更(当前版本)
  48 + List<String> syncs = jdbcTemplate.queryForList("SELECT CONCAT(line_code,'_',versions) FROM bsth_c_line_versions WHERE STATUS = 1 AND CONCAT(line_code, '_', versions) IN (SELECT CONCAT(line_code, '_', version) FROM logger_route_synchro)", String.class);
  49 +
  50 + String[] ks;
  51 + for(String keys : syncs){
  52 + ks = keys.split("_");
  53 +
  54 + enableRouteVersionHandler.sync(ks[0], Integer.parseInt(ks[1]));
  55 + }
46 }catch (Exception e){ 56 }catch (Exception e){
47 logger.error("", e); 57 logger.error("", e);
48 } 58 }
src/main/java/com/bsth/service/geo_data/impl/GeoDataServiceImpl.java
@@ -279,6 +279,10 @@ public class GeoDataServiceImpl implements GeoDataService { @@ -279,6 +279,10 @@ public class GeoDataServiceImpl implements GeoDataService {
279 } 279 }
280 }); 280 });
281 281
  282 +
  283 + //写一条走向变更记录
  284 + jdbcTemplate.update("insert into logger_route_synchro(t, line_code, version) values(?, ?, ?)", System.currentTimeMillis(), lineCode, versions);
  285 +
282 tran.commit(status); 286 tran.commit(status);
283 287
284 //返回更新之后的数据 288 //返回更新之后的数据
@@ -765,6 +769,9 @@ public class GeoDataServiceImpl implements GeoDataService { @@ -765,6 +769,9 @@ public class GeoDataServiceImpl implements GeoDataService {
765 } 769 }
766 }); 770 });
767 771
  772 + //写一条走向变更记录
  773 + jdbcTemplate.update("insert into logger_route_synchro(t, line_code, version) values(?, ?, ?)", System.currentTimeMillis(), lineCode, versions);
  774 +
768 tran.commit(status); 775 tran.commit(status);
769 776
770 //返回更新之后的数据 777 //返回更新之后的数据
@@ -874,6 +881,9 @@ public class GeoDataServiceImpl implements GeoDataService { @@ -874,6 +881,9 @@ public class GeoDataServiceImpl implements GeoDataService {
874 } 881 }
875 }); 882 });
876 883
  884 + //写一条走向变更记录
  885 + jdbcTemplate.update("insert into logger_route_synchro(t, line_code, version) values(?, ?, ?)", System.currentTimeMillis(), station.getLineCode(), station.getVersions());
  886 +
877 tran.commit(status); 887 tran.commit(status);
878 888
879 //返回更新之后的数据 889 //返回更新之后的数据
@@ -897,6 +907,9 @@ public class GeoDataServiceImpl implements GeoDataService { @@ -897,6 +907,9 @@ public class GeoDataServiceImpl implements GeoDataService {
897 String sql = "update bsth_c_ls_sectionroute set destroy=1 where id=?"; 907 String sql = "update bsth_c_ls_sectionroute set destroy=1 where id=?";
898 jdbcTemplate.update(sql, road.getId()); 908 jdbcTemplate.update(sql, road.getId());
899 909
  910 + //写一条走向变更记录
  911 + jdbcTemplate.update("insert into logger_route_synchro(t, line_code, version) values(?, ?, ?)", System.currentTimeMillis(), road.getLineCode(), road.getVersions());
  912 +
900 //返回更新之后的数据 913 //返回更新之后的数据
901 List<GeoRoad> list = findRoadByUpdown(road.getLineCode(), road.getDirections(), road.getVersions()); 914 List<GeoRoad> list = findRoadByUpdown(road.getLineCode(), road.getDirections(), road.getVersions());
902 rs.put("list", list); 915 rs.put("list", list);