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 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 83 * @param lineCode
... ...
src/main/java/com/bsth/data/line_version/thread/FixedEnableVerionsThread.java
... ... @@ -43,6 +43,16 @@ public class FixedEnableVerionsThread extends Thread{
43 43  
44 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 56 }catch (Exception e){
47 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 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 286 tran.commit(status);
283 287  
284 288 //返回更新之后的数据
... ... @@ -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 775 tran.commit(status);
769 776  
770 777 //返回更新之后的数据
... ... @@ -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 887 tran.commit(status);
878 888  
879 889 //返回更新之后的数据
... ... @@ -897,6 +907,9 @@ public class GeoDataServiceImpl implements GeoDataService {
897 907 String sql = "update bsth_c_ls_sectionroute set destroy=1 where id=?";
898 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 914 List<GeoRoad> list = findRoadByUpdown(road.getLineCode(), road.getDirections(), road.getVersions());
902 915 rs.put("list", list);
... ...