Commit 548753674084a41ce45c832f310712ec1dbd1719
1 parent
2143ef3a
update...
Showing
3 changed files
with
42 additions
and
0 deletions
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); | ... | ... |